Merge remote-tracking branch 'adafruit/main' into simplify_status_led

This commit is contained in:
Scott Shawcroft 2021-05-20 08:35:15 -07:00
commit 5643355e90
No known key found for this signature in database
GPG Key ID: 0DFD512649C052DA
102 changed files with 1668 additions and 766 deletions

View File

@ -176,6 +176,7 @@ jobs:
- "TG-Watch" - "TG-Watch"
- "adafruit_feather_rp2040" - "adafruit_feather_rp2040"
- "adafruit_itsybitsy_rp2040" - "adafruit_itsybitsy_rp2040"
- "adafruit_macropad_rp2040"
- "adafruit_neokey_trinkey_m0" - "adafruit_neokey_trinkey_m0"
- "adafruit_proxlight_trinkey_m0" - "adafruit_proxlight_trinkey_m0"
- "adafruit_qt2040_trinkey" - "adafruit_qt2040_trinkey"

View File

@ -645,7 +645,7 @@ STATIC void check_data_fit(size_t data_len, bool connectable) {
// return true; // return true;
// } // }
uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len) { uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len, mp_int_t tx_power) {
check_enabled(self); check_enabled(self);
if (self->now_advertising) { if (self->now_advertising) {
@ -769,7 +769,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
return 0; return 0;
} }
void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo) { void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo, mp_int_t tx_power) {
check_enabled(self); check_enabled(self);
// interval value has already been validated. // interval value has already been validated.
@ -793,12 +793,17 @@ void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool
} }
} }
if (tx_power != 0) {
mp_raise_NotImplementedError(translate("Only tx_power=0 supported"));
}
const uint32_t result = _common_hal_bleio_adapter_start_advertising( const uint32_t result = _common_hal_bleio_adapter_start_advertising(
self, connectable, anonymous, timeout, interval, self, connectable, anonymous, timeout, interval,
advertising_data_bufinfo->buf, advertising_data_bufinfo->buf,
advertising_data_bufinfo->len, advertising_data_bufinfo->len,
scan_response_data_bufinfo->buf, scan_response_data_bufinfo->buf,
scan_response_data_bufinfo->len); scan_response_data_bufinfo->len,
tx_power);
if (result) { if (result) {
mp_raise_bleio_BluetoothError(translate("Already advertising")); mp_raise_bleio_BluetoothError(translate("Already advertising"));

View File

@ -332,6 +332,32 @@ To add different types outside CircuitPython you need to include them in the int
The intersphinx_mapping above includes references to Python, BusDevice and CircuitPython The intersphinx_mapping above includes references to Python, BusDevice and CircuitPython
Documentation Documentation
When the parameter have two different types, you should reference them as follows::
class Character_LCD:
"""Base class for character LCD
:param ~digitalio.DigitalInOut rs: The reset data line
:param ~pwmio.PWMOut,~digitalio.DigitalInOut blue: Blue RGB Anode
"""
def __init__(self, rs, blue):
self._rc = rs
self.blue = blue
Renders as:
.. py:class:: Character_LCD(rs, blue)
:noindex:
Base class for character LCD
:param ~digitalio.DigitalInOut rs: The reset data line
:param ~pwmio.PWMOut,~digitalio.DigitalInOut blue: Blue RGB Anode
param_name param_name
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@ -1 +1 @@
Subproject commit 8bb1210eebed4846dae7e76ff1db86a010b132bc Subproject commit df40a241841918d6c0a984d427e61ca831b7b431

@ -1 +1 @@
Subproject commit 6a034887e370caa61fee5f51db8dd393d3e72542 Subproject commit a8f3cbc1a94b8a5d25f80101f519025a162dbb80

@ -1 +1 @@
Subproject commit eb4b21e216efd8ec0c4862a938e81b56be961724 Subproject commit 5aceeae814effae4eb950f1078c194b11401faa7

@ -1 +1 @@
Subproject commit 3c540329b63163e45f108df4bfebc387d5352c4f Subproject commit d2bdacf878a4bde3009370705b9b49eb1441428b

@ -1 +1 @@
Subproject commit 809646ba11366b5aedbc8a90be1da1829304bf62 Subproject commit 66adc454f5c9cc66b9e38777a61c58bc82a04090

@ -1 +1 @@
Subproject commit ce30b04a3c8e557d48a0607ddcb25272b196a433 Subproject commit c8483fe4909fba9b4ecfce7092918a038cc087a0

@ -1 +1 @@
Subproject commit 4f5dc66d50e43ca8d413ab0d86c125a7a13d394f Subproject commit 5b017df35b6a4cb4b7a30d0ac5d4595583ea461d

@ -1 +1 @@
Subproject commit 07435f53ee60e373042d6a3c8261218edd7c4e88 Subproject commit d68bb9e0e7a28d38d9f36627c35b6949595b2f7e

@ -1 +1 @@
Subproject commit 92733f5103eb81e1c1f0b0e2cdd9009f3bae344a Subproject commit 11bf02c3a850d390802f944a693ff4e0d531727f

@ -1 +1 @@
Subproject commit f4f66fa03990428c239eac68d37f79a7245b4cd3 Subproject commit 8ece81d95a62c2aa84a7f4d5ebaef362bbbabc45

@ -1 +1 @@
Subproject commit fce466bd2bb70ca86b79e5cb36bbaca00afacfd1 Subproject commit d3e7a587a2f974251f44254fae88c14a52229979

@ -1 +1 @@
Subproject commit 0cfa671b0c38386ba4da59119d61d399faa9b358 Subproject commit 27b6d39384249cc9050d5d87982e88f1323e3098

@ -1 +1 @@
Subproject commit fc3a7b479874a1ea315ddb3bf6c5e281e16ef097 Subproject commit d8260f2fe2a8b3e874320483060756dce4c2a9ec

@ -1 +1 @@
Subproject commit 9945e1da2bca561995c6dea387d47877e89cf571 Subproject commit 06ec55ec5acc56ff98db8b4b203be3092cf44c94

@ -1 +1 @@
Subproject commit bea5d4a347aeece71a421ee292551264e3bf7ae2 Subproject commit cf564ad0defb0bc98a41f195c5b20d1aa88641ed

@ -1 +1 @@
Subproject commit fee951908cc5f1ba7db5edd2537fade09d626730 Subproject commit fa2cb2c7770f67fa16053fe5375b1a9ad3a3d0a5

@ -1 +1 @@
Subproject commit 669ab7b752d6c863577312560faf505656e5e603 Subproject commit 54cc3311b979dcd52bb870456d612f39e8bfd226

@ -1 +1 @@
Subproject commit 608291801ce7112b280d32518de79993cc80963a Subproject commit a9ef35bae580b6a0d99a425856fcc863ad58a54d

@ -1 +1 @@
Subproject commit 59add970cc66f9b0f2d45082e86b25650843a159 Subproject commit bdef506ca48a50607ad6a3e5a9c7cc2c9ace0e42

@ -1 +1 @@
Subproject commit f8206d40e9375bfa5ffc8ace2948751c742c8f8f Subproject commit 7b617d33ee5746140aa38edec001f4f5c31167ce

@ -1 +1 @@
Subproject commit c0b9bdf22997552396abb514a6304d33460c2912 Subproject commit 161b39148ebd79f051630737e34e0cbd6d838a59

@ -1 +1 @@
Subproject commit 4696e07638eff28392b57162d2a70e20473e97b7 Subproject commit 378616f160bbcbc85f0acd960b4eb181b9c2fd0b

@ -1 +1 @@
Subproject commit 5fee6e0c3878110844bc51e16063eeae7d94c457 Subproject commit a0892d1822937fe89146dec68604b3e924d5c51e

@ -1 +1 @@
Subproject commit c070f6e8dbc37757cbcb444269c6cd6a4b676647 Subproject commit c55425e17842cce3ec0b34489133436c3e1a3898

@ -1 +1 @@
Subproject commit 96ee9954a3099ee9c9d7d7b7747f30ab3c6a45bf Subproject commit 63f795518c79821fa1f60c4978b59c8bbd16ad1c

@ -1 +1 @@
Subproject commit e0225d3f7c4e137846cb2ceed4915559d4ba9daf Subproject commit f1841618d2690bb54dabd98fd8650af30bc2c9bf

@ -1 +1 @@
Subproject commit fb773e0ed1891cda2ace6271fafc5312e167d275 Subproject commit da67fd3046c85eae0a3e417074bc681befa39218

@ -1 +1 @@
Subproject commit 9d91ec849efb5fbc3d26d350a75a61f15d19bc48 Subproject commit 6467edbed535484ebdd7492d885adf3433fb8280

@ -1 +1 @@
Subproject commit 88b8be84b5dce7660f58c02a63263f1d2ff0709f Subproject commit a14da2e1ced1010a0da65f758199ff08eedd0bd5

View File

@ -727,15 +727,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "Kode inti CircuitPython mengalami crash. Aduh!\n" msgstr "Kode inti CircuitPython mengalami crash. Aduh!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython dalam mode aman karena Anda menekan tombol reset saat boot. "
"Tekan lagi untuk keluar dari mode aman.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -866,6 +858,10 @@ msgstr "Potongan data harus mengikuti fmt chunk"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Data terlalu besar untuk paket advertisment" msgstr "Data terlalu besar untuk paket advertisment"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Kapasitas tujuan lebih kecil dari destination_length." msgstr "Kapasitas tujuan lebih kecil dari destination_length."
@ -1656,10 +1652,6 @@ msgstr "Tidak terhubung"
msgid "Not playing" msgid "Not playing"
msgstr "Tidak berfungsi" msgstr "Tidak berfungsi"
#: main.c
msgid "Not running saved code.\n"
msgstr "Tidak menjalankan kode yang disimpan.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1695,6 +1687,10 @@ msgstr ""
"Hanya format Windows, mendukung BMP tidak dikompresi: ukuran header yang " "Hanya format Windows, mendukung BMP tidak dikompresi: ukuran header yang "
"diberikan adalah %d" "diberikan adalah %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1710,6 +1706,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1787,6 +1784,10 @@ msgstr "Periferal sedang digunakan"
msgid "Permission denied" msgid "Permission denied"
msgstr "Izin ditolak" msgstr "Izin ditolak"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1805,6 +1806,11 @@ msgstr "Jumlah pin terlalu besar"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)" msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1818,10 +1824,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pin harus mendukung interupsi perangkat keras" msgstr "Pin harus mendukung interupsi perangkat keras"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Nomor pin sudah dipesan oleh EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1984,8 +1986,10 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Entri baris harus digitalio.DigitalInOut" msgstr "Entri baris harus digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
"Berjalan di mode aman(safe mode)! Tidak menjalankan kode yang disimpan.\n"
"Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2047,6 +2051,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Potongan dan nilai panjangnya berbeda." msgstr "Potongan dan nilai panjangnya berbeda."
@ -2105,18 +2113,14 @@ msgstr "Waktu baca suhu habis"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"heap dari CircuitPython rusak karena stack terlalu kecil.\n"
"Harap tambah ukuran stack jika Anda tahu caranya, atau jika tidak:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"Modul `microcontroller` digunakan untukboot ke mode aman. Tekan reset untuk "
"keluar dari mode aman.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2126,11 +2130,8 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"Kekuatan mikrokontroler menurun. Pastikan catu daya Anda menyediakan\n"
"daya yang cukup untuk seluruh rangkaian dan tekan reset (setelah "
"mengeluarkan CIRCUITPY).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2194,6 +2195,10 @@ msgstr "Terlalu banyak tampilan"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (bagian terakhir dari panggilan terkini):\n" msgstr "Traceback (bagian terakhir dari panggilan terkini):\n"
@ -2431,8 +2436,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Menulis tidak didukung pada Karakteristik" msgstr "Menulis tidak didukung pada Karakteristik"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Anda berada dalam mode aman: sesuatu yang tidak terduga terjadi.\n" msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4381,6 +4391,45 @@ msgstr "zi harus berjenis float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython dalam mode aman karena Anda menekan tombol reset saat boot. "
#~ "Tekan lagi untuk keluar dari mode aman.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Tidak menjalankan kode yang disimpan.\n"
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "heap dari CircuitPython rusak karena stack terlalu kecil.\n"
#~ "Harap tambah ukuran stack jika Anda tahu caranya, atau jika tidak:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "Modul `microcontroller` digunakan untukboot ke mode aman. Tekan reset "
#~ "untuk keluar dari mode aman.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "Kekuatan mikrokontroler menurun. Pastikan catu daya Anda menyediakan\n"
#~ "daya yang cukup untuk seluruh rangkaian dan tekan reset (setelah "
#~ "mengeluarkan CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Anda berada dalam mode aman: sesuatu yang tidak terduga terjadi.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Nomor pin sudah dipesan oleh EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB Sibuk" #~ msgstr "USB Sibuk"
@ -4555,10 +4604,6 @@ msgstr ""
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n" #~ msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' atau 'async with' di luar fungsi async" #~ msgstr "'async for' atau 'async with' di luar fungsi async"

View File

@ -710,13 +710,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -1217,6 +1211,10 @@ msgstr ""
msgid "Invalid AuthMode" msgid "Invalid AuthMode"
msgstr "" msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Invalid BLE parameter"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
msgid "Invalid BMP file" msgid "Invalid BMP file"
msgstr "" msgstr ""
@ -1638,10 +1636,6 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1964,7 +1958,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -2089,13 +2083,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2106,7 +2100,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2326,7 +2320,7 @@ msgstr ""
msgid "Unsupported format" msgid "Unsupported format"
msgstr "" msgstr ""
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c #: py/moduerrno.c
msgid "Unsupported operation" msgid "Unsupported operation"
msgstr "" msgstr ""
@ -2404,7 +2398,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c

View File

@ -713,13 +713,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -849,6 +843,10 @@ msgstr ""
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "" msgstr ""
@ -1637,10 +1635,6 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1673,6 +1667,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1686,6 +1684,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1761,6 +1760,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1779,6 +1782,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1792,10 +1800,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1953,7 +1957,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -2016,6 +2020,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
@ -2074,13 +2082,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2091,7 +2099,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2156,6 +2164,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "" msgstr ""
@ -2385,7 +2397,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c

View File

@ -723,17 +723,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "Der CircuitPython-Kerncode ist hart abgestürzt. Hoppla!\n" msgstr "Der CircuitPython-Kerncode ist hart abgestürzt. Hoppla!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython war es nicht möglich heap-Speicher zu allozieren."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython befindet sich im abgesicherten Modus, da Sie beim Booten die "
"Reset-Taste gedrückt haben. Drücken Sie erneut, um den abgesicherten Modus "
"zu verlassen.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython war es nicht möglich heap-Speicher zu allozieren.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -864,6 +855,10 @@ msgstr "Dem fmt Block muss ein Datenblock folgen"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Zu vielen Daten für das advertisement packet" msgstr "Zu vielen Daten für das advertisement packet"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Die Zielkapazität ist kleiner als destination_length." msgstr "Die Zielkapazität ist kleiner als destination_length."
@ -1658,10 +1653,6 @@ msgstr "Nicht verbunden"
msgid "Not playing" msgid "Not playing"
msgstr "Spielt nicht ab" msgstr "Spielt nicht ab"
#: main.c
msgid "Not running saved code.\n"
msgstr "Gespeicherter Code wird nicht ausgeführt.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1698,6 +1689,10 @@ msgstr ""
"Nur Windows-Format, unkomprimiertes BMP unterstützt: die gegebene Header-" "Nur Windows-Format, unkomprimiertes BMP unterstützt: die gegebene Header-"
"Größe ist %d" "Größe ist %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1713,6 +1708,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1788,6 +1784,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "Zugang verweigert" msgstr "Zugang verweigert"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1806,6 +1806,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin hat keine ADC Funktionalität" msgstr "Pin hat keine ADC Funktionalität"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1819,10 +1824,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pin muss Hardware-Interrupts unterstützen" msgstr "Pin muss Hardware-Interrupts unterstützen"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "PIN-Nummer bereits von EXTI reserviert"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1985,8 +1986,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Zeileneintrag muss ein digitalio.DigitalInOut sein" msgstr "Zeileneintrag muss ein digitalio.DigitalInOut sein"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2048,6 +2049,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice und Wert (value) haben unterschiedliche Längen." msgstr "Slice und Wert (value) haben unterschiedliche Längen."
@ -2106,18 +2111,14 @@ msgstr "Zeitüberschreitung beim Auslesen der Temperatur"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"Der CircuitPython-Heap wurde beschädigt, weil der Stapel zu klein war.\n"
"Bitte erhöhen Sie die Stapelgröße, wenn Sie wissen wie oder wenn nicht:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"Das `Mikrocontroller` Modul wurde benutzt, um in den Sicherheitsmodus zu "
"starten. Drücke Reset um den Sicherheitsmodus zu verlassen.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2127,13 +2128,8 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"Die Spannungsversorgung des Mikrocontrollers hat den minimal Wert "
"unterschritten.\n"
"Stellen Sie sicher, dass Ihr Netzteil genug Strom bereitstellt für den "
"gesamten Stromkreis und drücken Sie Reset (nach dem Auswerfen von "
"CIRCUITPY).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2200,6 +2196,10 @@ msgstr "Zu viele displays"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n" msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n"
@ -2442,10 +2442,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Schreiben nicht unterstüzt für diese Charakteristik" msgstr "Schreiben nicht unterstüzt für diese Charakteristik"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
"Sie befinden sich im abgesicherten Modus: Es ist etwas Unerwartetes "
"passiert.\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4424,6 +4427,50 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython befindet sich im abgesicherten Modus, da Sie beim Booten "
#~ "die Reset-Taste gedrückt haben. Drücken Sie erneut, um den abgesicherten "
#~ "Modus zu verlassen.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Gespeicherter Code wird nicht ausgeführt.\n"
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "Der CircuitPython-Heap wurde beschädigt, weil der Stapel zu klein war.\n"
#~ "Bitte erhöhen Sie die Stapelgröße, wenn Sie wissen wie oder wenn nicht:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "Das `Mikrocontroller` Modul wurde benutzt, um in den Sicherheitsmodus zu "
#~ "starten. Drücke Reset um den Sicherheitsmodus zu verlassen.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "Die Spannungsversorgung des Mikrocontrollers hat den minimal Wert "
#~ "unterschritten.\n"
#~ "Stellen Sie sicher, dass Ihr Netzteil genug Strom bereitstellt für den "
#~ "gesamten Stromkreis und drücken Sie Reset (nach dem Auswerfen von "
#~ "CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr ""
#~ "Sie befinden sich im abgesicherten Modus: Es ist etwas Unerwartetes "
#~ "passiert.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "PIN-Nummer bereits von EXTI reserviert"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB beschäftigt" #~ msgstr "USB beschäftigt"
@ -4717,9 +4764,6 @@ msgstr ""
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" #~ msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() sollte None zurückgeben, nicht '%s'" #~ msgstr "__init__() sollte None zurückgeben, nicht '%s'"

View File

@ -710,13 +710,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -846,6 +840,10 @@ msgstr ""
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "" msgstr ""
@ -1634,10 +1632,6 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1670,6 +1664,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1683,6 +1681,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1758,6 +1757,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1776,6 +1779,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1789,10 +1797,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1950,7 +1954,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -2013,6 +2017,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
@ -2071,13 +2079,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2088,7 +2096,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2153,6 +2161,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "" msgstr ""
@ -2382,7 +2394,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c

View File

@ -721,16 +721,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "CircuitPython core code crashed hard. Crikey!\n" msgstr "CircuitPython core code crashed hard. Crikey!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython was unable to allocate the heap."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython was unable to allocate the heap.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -861,6 +853,10 @@ msgstr "Data chunk must follow fmt chunk"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Data too large for advertisement packet" msgstr "Data too large for advertisement packet"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Destination capacity is smaller than destination_length." msgstr "Destination capacity is smaller than destination_length."
@ -1651,10 +1647,6 @@ msgstr "Not connected"
msgid "Not playing" msgid "Not playing"
msgstr "Not playing" msgstr "Not playing"
#: main.c
msgid "Not running saved code.\n"
msgstr "Not running saved code.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "Not settable" msgstr "Not settable"
@ -1689,6 +1681,10 @@ msgid ""
msgstr "" msgstr ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1704,6 +1700,7 @@ msgstr "Only one TouchAlarm can be set in deep sleep."
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Only one alarm.time alarm can be set." msgstr "Only one alarm.time alarm can be set."
@ -1781,6 +1778,10 @@ msgstr "Peripheral in use"
msgid "Permission denied" msgid "Permission denied"
msgstr "Permission denied" msgstr "Permission denied"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "Pin count must be at least 1" msgstr "Pin count must be at least 1"
@ -1799,6 +1800,11 @@ msgstr "Pin count too large"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin does not have ADC capabilities" msgstr "Pin does not have ADC capabilities"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1812,10 +1818,6 @@ msgstr "Pin must be on PWM Channel B"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pin must support hardware interrupts" msgstr "Pin must support hardware interrupts"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Pin number already reserved by EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1980,8 +1982,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Row entry must be digitalio. DigitalInOut" msgstr "Row entry must be digitalio. DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Running in safe mode! " msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2043,6 +2045,10 @@ msgstr "Side set pin count must be between 1 and 5"
msgid "Size not supported" msgid "Size not supported"
msgstr "Size not supported" msgstr "Size not supported"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice and value different lengths." msgstr "Slice and value different lengths."
@ -2101,18 +2107,14 @@ msgstr "Temperature read timed out"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2122,11 +2124,8 @@ msgstr "The length of rgb_pins must be 6, 12, 18, 24, or 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2190,6 +2189,10 @@ msgstr "Too many displays"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (most recent call last):\n" msgstr "Traceback (most recent call last):\n"
@ -2426,8 +2429,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Writes not supported on Characteristic" msgstr "Writes not supported on Characteristic"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "You are in safe mode: something unanticipated happened.\n" msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4381,6 +4389,48 @@ msgstr "zi must be of float type"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi must be of shape (n_section, 2)" msgstr "zi must be of shape (n_section, 2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Not running saved code.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Running in safe mode! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "You are in safe mode: something unanticipated happened.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Pin number already reserved by EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB busy" #~ msgstr "USB busy"

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-05-12 14:07+0000\n" "PO-Revision-Date: 2021-05-15 15:52+0000\n"
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n" "Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
@ -730,16 +730,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "El código central de CircuitPython se estrelló con fuerza. ¡Whoops!\n" msgstr "El código central de CircuitPython se estrelló con fuerza. ¡Whoops!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython no puedo encontrar el montículo."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython está en modo seguro porque presionó el botón de reinicio "
"durante el arranque. Presione nuevamente para salir del modo seguro.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython no puedo encontrar el montículo.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -870,6 +862,10 @@ msgstr "Trozo de datos debe seguir fmt chunk"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Data es muy grande para el paquete de anuncio" msgstr "Data es muy grande para el paquete de anuncio"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr "Pines de sueño profundo deben usar eje de subida con jalado hacia abajo"
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Capacidad de destino es mas pequeña que destination_length." msgstr "Capacidad de destino es mas pequeña que destination_length."
@ -1672,10 +1668,6 @@ msgstr "No conectado"
msgid "Not playing" msgid "Not playing"
msgstr "No reproduciendo" msgstr "No reproduciendo"
#: main.c
msgid "Not running saved code.\n"
msgstr "No ejecutando el código almacenado.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "No configurable" msgstr "No configurable"
@ -1712,6 +1704,10 @@ msgstr ""
"Solo formato de Windows, sin comprimir BMP soportado: tamaño de encabezado " "Solo formato de Windows, sin comprimir BMP soportado: tamaño de encabezado "
"dado es %d" "dado es %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr "Este hardware solo tiene capacidad para detección de borde"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1727,6 +1723,7 @@ msgstr "Solamente una TouchAlarm puede ser configurada durante deep sleep."
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Solamente una alarm.time puede ser configurada." msgstr "Solamente una alarm.time puede ser configurada."
@ -1804,6 +1801,10 @@ msgstr "Periférico en uso"
msgid "Permission denied" msgid "Permission denied"
msgstr "Permiso denegado" msgstr "Permiso denegado"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr "El Pin no se puede despertar de un sueño profundo"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "El total de pines debe ser por lo menos 1" msgstr "El total de pines debe ser por lo menos 1"
@ -1822,6 +1823,11 @@ msgstr "Total de pines demasiado grande"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin no tiene capacidad ADC" msgstr "Pin no tiene capacidad ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr "Interrupción de Pin ya está en uso"
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1835,10 +1841,6 @@ msgstr "El pin debe estar en el PWM canal B"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "El pin debe admitir interrupciones de hardware" msgstr "El pin debe admitir interrupciones de hardware"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Número de pin ya reservado por EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -2006,8 +2008,9 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "La entrada de la fila debe ser digitalio.DigitalInOut" msgstr "La entrada de la fila debe ser digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "¡Corriendo en modo seguro! " msgstr ""
"¡Ejecutando en modo seguro! No se esta ejecutando el código almacenado.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2069,6 +2072,10 @@ msgstr "El conteo de pines de Side set debe estar entre 1 y 5"
msgid "Size not supported" msgid "Size not supported"
msgstr "Sin capacidades para el tamaño" msgstr "Sin capacidades para el tamaño"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr "Memoria de sueño no disponible"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice y value tienen tamaños diferentes." msgstr "Slice y value tienen tamaños diferentes."
@ -2127,18 +2134,18 @@ msgstr "Lectura de temperatura expirada"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"El heap de CircuitPython se dañó porque la pila era demasiado pequeña.\n" "El montículo de CircuitPython está corrupto porque la pila era muy pequeña.\n"
"Aumente el tamaño de la pila si sabe cómo, o si no:" "Aumente el tamaño de pila si sabe como. De lo contrario:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"El módulo de `microcontroller` fue utilizado para arrancar en modo seguro. " "El módulo de `microcontroller` se usó para un arranque en modo seguro. "
"Presiona reset para salir del modo seguro.\n" "Presione reset para salir del modo seguro."
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2148,12 +2155,12 @@ msgstr "La longitud de rgb_pins debe ser 6, 12, 18, 24, o 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"La alimentación del microntrolador bajó. Asegúrate que tu fuente de " "La corriente eléctrica de la microcontroladora bajó. Asegúrate que tu fuente "
"alimentación\n" "de poder provee\n"
"pueda aportar suficiente energía para todo el circuito y presiona reset " "suficiente corriente para todo el circuito y presiones reset (luego de "
"(luego de expulsar CIRCUITPY)\n" "expulsar CIRCUITPY)."
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2219,6 +2226,10 @@ msgstr "Muchos displays"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "La cantidad total de datos es mas grande que %q" msgstr "La cantidad total de datos es mas grande que %q"
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr "Alarmas táctiles no disponibles"
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (ultima llamada reciente):\n" msgstr "Traceback (ultima llamada reciente):\n"
@ -2459,8 +2470,15 @@ msgid "Writes not supported on Characteristic"
msgstr "Escrituras no admitidas en Characteristic" msgstr "Escrituras no admitidas en Characteristic"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Estás en modo seguro: algo inesperado ha sucedido.\n" msgstr "Estás en modo seguro por la razón:\n"
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
"Has presionado el botón de reset durante el arranque. Presiones de nuevo "
"para salir del modo seguro."
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4425,6 +4443,49 @@ msgstr "zi debe ser de tipo flotante"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (n_section,2)" msgstr "zi debe ser una forma (n_section,2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython está en modo seguro porque presionó el botón de reinicio "
#~ "durante el arranque. Presione nuevamente para salir del modo seguro.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "No ejecutando el código almacenado.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "¡Corriendo en modo seguro! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "El heap de CircuitPython se dañó porque la pila era demasiado pequeña.\n"
#~ "Aumente el tamaño de la pila si sabe cómo, o si no:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "El módulo de `microcontroller` fue utilizado para arrancar en modo "
#~ "seguro. Presiona reset para salir del modo seguro.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "La alimentación del microntrolador bajó. Asegúrate que tu fuente de "
#~ "alimentación\n"
#~ "pueda aportar suficiente energía para todo el circuito y presiona reset "
#~ "(luego de expulsar CIRCUITPY)\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Estás en modo seguro: algo inesperado ha sucedido.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Número de pin ya reservado por EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB ocupado" #~ msgstr "USB ocupado"
@ -4794,10 +4855,6 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n" #~ msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() deberia devolver None, no '%s'" #~ msgstr "__init__() deberia devolver None, no '%s'"

View File

@ -717,13 +717,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -856,6 +850,10 @@ msgstr "Dapat sunurin ng Data chunk ang fmt chunk"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Hindi makasya ang data sa loob ng advertisement packet" msgstr "Hindi makasya ang data sa loob ng advertisement packet"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "" msgstr ""
@ -1650,10 +1648,6 @@ msgstr "Hindi maka connect sa AP"
msgid "Not playing" msgid "Not playing"
msgstr "Hindi playing" msgstr "Hindi playing"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1688,6 +1682,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1701,6 +1699,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1777,6 +1776,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "Walang pahintulot" msgstr "Walang pahintulot"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1795,6 +1798,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Ang pin ay walang kakayahan sa ADC" msgstr "Ang pin ay walang kakayahan sa ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1808,10 +1816,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1970,8 +1974,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2033,6 +2037,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice at value iba't ibang haba." msgstr "Slice at value iba't ibang haba."
@ -2091,13 +2099,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2108,7 +2116,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2173,6 +2181,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (pinakahuling huling tawag): \n" msgstr "Traceback (pinakahuling huling tawag): \n"
@ -2410,7 +2422,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
@ -4499,9 +4516,6 @@ msgstr ""
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n" #~ msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() dapat magbalink na None, hindi '%s'" #~ msgstr "__init__() dapat magbalink na None, hindi '%s'"

View File

@ -736,17 +736,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "Le code principal de CircuitPython s'est écrasé durement. Oups !\n" msgstr "Le code principal de CircuitPython s'est écrasé durement. Oups !\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython n'as pu faire l'allocation de la pile."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython est en mode sans échec car vous avez appuyé sur le bouton de "
"réinitialisation pendant le démarrage. Appuyez à nouveau pour quitter le "
"mode sans échec.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython n'as pu faire l'allocation de la pile.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -877,6 +868,10 @@ msgstr "Un bloc de données doit suivre un bloc fmt"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Données trop volumineuses pour un paquet d'avertissement" msgstr "Données trop volumineuses pour un paquet d'avertissement"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "La capacité de destination est plus petite que 'destination_length'." msgstr "La capacité de destination est plus petite que 'destination_length'."
@ -1682,10 +1677,6 @@ msgstr "Non connecté"
msgid "Not playing" msgid "Not playing"
msgstr "Ne joue pas" msgstr "Ne joue pas"
#: main.c
msgid "Not running saved code.\n"
msgstr "N'exécute pas le code sauvegardé.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "Non réglable" msgstr "Non réglable"
@ -1722,6 +1713,10 @@ msgstr ""
"Seulement le format BMP Windows, non compressé est supporté : la taille de " "Seulement le format BMP Windows, non compressé est supporté : la taille de "
"l'entête fournie est %d" "l'entête fournie est %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1737,6 +1732,7 @@ msgstr "Seulement une TouchAlarm peu être réglée en someil profond."
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Seulement une alarme alarm.time peut être réglée." msgstr "Seulement une alarme alarm.time peut être réglée."
@ -1816,6 +1812,10 @@ msgstr "Périphérique en utilisation"
msgid "Permission denied" msgid "Permission denied"
msgstr "Permission refusée" msgstr "Permission refusée"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "Nombre de broches doit être au moins 1" msgstr "Nombre de broches doit être au moins 1"
@ -1834,6 +1834,11 @@ msgstr "Nombre de broches trop élevé"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "La broche 'pin' ne supporte pas les capacitées ADC" msgstr "La broche 'pin' ne supporte pas les capacitées ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1847,10 +1852,6 @@ msgstr "La broche doit être sur le canal B du PWM"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "La broche doit supporter les interruptions matérielles" msgstr "La broche doit supporter les interruptions matérielles"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Numéro de broche 'pin' déjà réservé par EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -2018,8 +2019,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "L'entrée de ligne 'Row' doit être un digitalio.DigitalInOut" msgstr "L'entrée de ligne 'Row' doit être un digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Exécution en mode sécurisé! " msgstr "Mode sans-échec ! Le code sauvegardé n'est pas éxecuté.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2081,6 +2082,10 @@ msgstr "Nombre de broches Side configurées doit être entre 1 et 5"
msgid "Size not supported" msgid "Size not supported"
msgstr "Taille n'est pas supportée" msgstr "Taille n'est pas supportée"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Tranche et valeur de tailles différentes." msgstr "Tranche et valeur de tailles différentes."
@ -2139,18 +2144,14 @@ msgstr "Délais de lecture de température dépassée"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"Le tas CircuitPython a été corrompu car la pile était trop petite.\n"
"Veuillez augmenter la taille de la pile si vous savez comment, ou sinon :"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"Le module `microcontroller` a été utilisé pour démarrer en mode sans échec. "
"Appuyez sur reset pour quitter le mode sans échec.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2160,12 +2161,8 @@ msgstr "La taille de rgb_pins doit être 6, 12, 18, 24 ou 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"La puissance du microcontrôleur a baissé. Assurez-vous que votre "
"alimentation fournit\n"
"assez de puissance pour tout le circuit et appuyez sur reset (après avoir "
"éjecté CIRCUITPY).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2230,6 +2227,10 @@ msgstr "Trop d'affichages"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "Quantité de données à écrire est plus que %q" msgstr "Quantité de données à écrire est plus que %q"
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (appels les plus récents en dernier) :\n" msgstr "Traceback (appels les plus récents en dernier) :\n"
@ -2474,8 +2475,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Écritures non supporté vers les Characteristic" msgstr "Écritures non supporté vers les Characteristic"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Vous êtes en mode sans échec : quelque chose d'imprévu s'est passé.\n" msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4449,6 +4455,51 @@ msgstr "zi doit être de type float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi doit être de forme (n_section, 2)" msgstr "zi doit être de forme (n_section, 2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython est en mode sans échec car vous avez appuyé sur le bouton "
#~ "de réinitialisation pendant le démarrage. Appuyez à nouveau pour quitter "
#~ "le mode sans échec.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "N'exécute pas le code sauvegardé.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Exécution en mode sécurisé! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "Le tas CircuitPython a été corrompu car la pile était trop petite.\n"
#~ "Veuillez augmenter la taille de la pile si vous savez comment, ou sinon :"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "Le module `microcontroller` a été utilisé pour démarrer en mode sans "
#~ "échec. Appuyez sur reset pour quitter le mode sans échec.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "La puissance du microcontrôleur a baissé. Assurez-vous que votre "
#~ "alimentation fournit\n"
#~ "assez de puissance pour tout le circuit et appuyez sur reset (après avoir "
#~ "éjecté CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr ""
#~ "Vous êtes en mode sans échec : quelque chose d'imprévu s'est passé.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Numéro de broche 'pin' déjà réservé par EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB occupé" #~ msgstr "USB occupé"
@ -4824,9 +4875,6 @@ msgstr "zi doit être de forme (n_section, 2)"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Mode sans-échec ! Auto-chargement désactivé.\n" #~ msgstr "Mode sans-échec ! Auto-chargement désactivé.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Mode sans-échec ! Le code sauvegardé n'est pas éxecuté.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() doit retourner None, pas '%s'" #~ msgstr "__init__() doit retourner None, pas '%s'"

View File

@ -710,13 +710,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -846,6 +840,10 @@ msgstr ""
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "" msgstr ""
@ -1634,10 +1632,6 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1670,6 +1664,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1683,6 +1681,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1758,6 +1757,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1776,6 +1779,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1789,10 +1797,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1950,7 +1954,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -2013,6 +2017,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
@ -2071,13 +2079,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2088,7 +2096,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2153,6 +2161,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "" msgstr ""
@ -2382,7 +2394,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c

View File

@ -727,13 +727,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -866,6 +860,10 @@ msgstr ""
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Impossibile inserire dati nel pacchetto di advertisement." msgstr "Impossibile inserire dati nel pacchetto di advertisement."
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "La capacità di destinazione è più piccola di destination_length." msgstr "La capacità di destinazione è più piccola di destination_length."
@ -1663,10 +1661,6 @@ msgstr "Impossible connettersi all'AP"
msgid "Not playing" msgid "Not playing"
msgstr "In pausa" msgstr "In pausa"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1702,6 +1696,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1715,6 +1713,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1795,6 +1794,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "Permesso negato" msgstr "Permesso negato"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1813,6 +1816,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Il pin non ha capacità di ADC" msgstr "Il pin non ha capacità di ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1826,10 +1834,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1989,8 +1993,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2054,6 +2058,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
@ -2112,13 +2120,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2129,7 +2137,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2194,6 +2202,10 @@ msgstr "Troppi schermi"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (chiamata più recente per ultima):\n" msgstr "Traceback (chiamata più recente per ultima):\n"
@ -2425,7 +2437,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
@ -4516,9 +4533,6 @@ msgstr ""
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n" #~ msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() deve ritornare None, non '%s'" #~ msgstr "__init__() deve ritornare None, non '%s'"

View File

@ -719,16 +719,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "CircuitPythonのコアコードが激しくクラッシュしました。おっと\n" msgstr "CircuitPythonのコアコードが激しくクラッシュしました。おっと\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPythonはヒープを確保できませんでした"
"boot. Press again to exit safe mode.\n"
msgstr ""
"起動中にリセットボタンを押したためCircuitPythonはセーフモードにいます。もう一"
"度押すとセーフモードを終了します。\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPythonはヒープを確保できませんでした\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -857,6 +849,10 @@ msgstr "fmtチャンクの後にdataチャンクが続かなければなりま
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "データが、アドバタイズメントパケットには大きすぎます" msgstr "データが、アドバタイズメントパケットには大きすぎます"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "宛先バッファがdestination_lengthより小さい" msgstr "宛先バッファがdestination_lengthより小さい"
@ -1647,10 +1643,6 @@ msgstr "接続されていません"
msgid "Not playing" msgid "Not playing"
msgstr "再生していません" msgstr "再生していません"
#: main.c
msgid "Not running saved code.\n"
msgstr "保存されたコードは実行していません。\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1685,6 +1677,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1698,6 +1694,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1774,6 +1771,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "パーミッション拒否" msgstr "パーミッション拒否"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1792,6 +1793,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "ピンにADCの能力がありません" msgstr "ピンにADCの能力がありません"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1805,10 +1811,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "ピンはハードウェア割り込みに対応していなければなりません" msgstr "ピンはハードウェア割り込みに対応していなければなりません"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "ピン番号はすでにEXTIによって予約されています"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1966,8 +1968,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Rowの各要素は digitalio.DigitalInOut でなければなりません" msgstr "Rowの各要素は digitalio.DigitalInOut でなければなりません"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "セーフモードで実行中! " msgstr "セーフモードで実行中! 保存されたコードは実行していません。\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2029,6 +2031,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "サイズは対応していません" msgstr "サイズは対応していません"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "スライスと値の長さが一致しません" msgstr "スライスと値の長さが一致しません"
@ -2087,18 +2093,14 @@ msgstr "温度読み取りがタイムアウトしました"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"スタックが小さすぎたためCircuitPythonのヒープが壊れました。\n"
"スタックサイズを上げるか、その方法が分からなければ:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"`microcontroller` モジュールが使われてセーフモードで起動しました。セーフモー"
"ドを抜けるにはリセットを押します。\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2108,10 +2110,8 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"マイコンの電力が降下しました。使っている電源が十分な電力を回路に供給すること"
"を確認し (CIRCUITPYを取り出してから) リセットを押してください。\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2175,6 +2175,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "トレースバック(最新の呼び出しが末尾):\n" msgstr "トレースバック(最新の呼び出しが末尾):\n"
@ -2405,7 +2409,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
@ -4362,6 +4371,41 @@ msgstr "ziはfloat値でなければなりません"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "起動中にリセットボタンを押したためCircuitPythonはセーフモードにいます。も"
#~ "う一度押すとセーフモードを終了します。\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "保存されたコードは実行していません。\n"
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "スタックが小さすぎたためCircuitPythonのヒープが壊れました。\n"
#~ "スタックサイズを上げるか、その方法が分からなければ:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "`microcontroller` モジュールが使われてセーフモードで起動しました。セーフ"
#~ "モードを抜けるにはリセットを押します。\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "マイコンの電力が降下しました。使っている電源が十分な電力を回路に供給するこ"
#~ "とを確認し (CIRCUITPYを取り出してから) リセットを押してください。\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "ピン番号はすでにEXTIによって予約されています"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USBビジー" #~ msgstr "USBビジー"

View File

@ -713,13 +713,7 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during "
"boot. Press again to exit safe mode.\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "" msgstr ""
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
@ -849,6 +843,10 @@ msgstr ""
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "" msgstr ""
@ -1637,10 +1635,6 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1673,6 +1667,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1686,6 +1684,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1761,6 +1760,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1779,6 +1782,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1792,10 +1800,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "" msgstr ""
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1953,7 +1957,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -2016,6 +2020,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
@ -2074,13 +2082,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2091,7 +2099,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2156,6 +2164,10 @@ msgstr ""
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "" msgstr ""
@ -2386,7 +2398,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c

View File

@ -717,16 +717,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "CircuitPython core code is hard gecrashed. Ojee!\n" msgstr "CircuitPython core code is hard gecrashed. Ojee!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython kon het heap geheugen niet toewijzen."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython is in veilige modus omdat de rest knop werd ingedrukt tijdens "
"het opstarten. Druk nogmaals om veilige modus te verlaten\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython kon het heap geheugen niet toewijzen.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -857,6 +849,10 @@ msgstr "Data chunk moet gevolgd worden door fmt chunk"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Data te groot voor advertisement pakket" msgstr "Data te groot voor advertisement pakket"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Bestemming grootte is kleiner dan destination_length." msgstr "Bestemming grootte is kleiner dan destination_length."
@ -1648,10 +1644,6 @@ msgstr "Niet verbonden"
msgid "Not playing" msgid "Not playing"
msgstr "Wordt niet afgespeeld" msgstr "Wordt niet afgespeeld"
#: main.c
msgid "Not running saved code.\n"
msgstr "Opgeslagen code wordt niet uitgevoerd.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "Niet instelbaar" msgstr "Niet instelbaar"
@ -1688,6 +1680,10 @@ msgstr ""
"Alleen Windows formaat en ongecomprimeerd BMP ondersteund: gegeven header " "Alleen Windows formaat en ongecomprimeerd BMP ondersteund: gegeven header "
"grootte is %d" "grootte is %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1703,6 +1699,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Slechts één alarm.time alarm kan worden ingesteld." msgstr "Slechts één alarm.time alarm kan worden ingesteld."
@ -1781,6 +1778,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "Toegang geweigerd" msgstr "Toegang geweigerd"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1799,6 +1800,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin heeft geen ADC mogelijkheden" msgstr "Pin heeft geen ADC mogelijkheden"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1812,10 +1818,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pin moet hardware interrupts ondersteunen" msgstr "Pin moet hardware interrupts ondersteunen"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Pin nummer al gereserveerd door EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1982,8 +1984,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Rij invoeging moet digitalio.DigitalInOut zijn" msgstr "Rij invoeging moet digitalio.DigitalInOut zijn"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Veilige modus wordt uitgevoerd! " msgstr "Draaiende in veilige modus! Opgeslagen code wordt niet uitgevoerd.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2045,6 +2047,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "Afmeting niet ondersteund" msgstr "Afmeting niet ondersteund"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice en waarde hebben verschillende lengtes." msgstr "Slice en waarde hebben verschillende lengtes."
@ -2103,18 +2109,14 @@ msgstr "Temperatuur lees time-out"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"De CircuitPyton heap is corrupt omdat de stack te klein was.\n"
"Vergroot de stack grootte als je weet hoe, zo niet:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"De `microcontroller` module is gebruikt om in veilige modus op te starten. "
"Druk reset om de veilige modus te verlaten.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2124,12 +2126,8 @@ msgstr "De lengte van rgb_pins moet 6, 12, 18, 24 of 30 zijn"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"Het vermogen van de microcontroller zakte. Zorg ervoor dat de "
"stroomvoorziening \n"
"voldoende vermogen heeft voor het hele systeem en druk reset (na uitwerpen "
"van CIRCUITPY).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2193,6 +2191,10 @@ msgstr "Teveel beeldschermen"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (meest recente call laatst):\n" msgstr "Traceback (meest recente call laatst):\n"
@ -2433,8 +2435,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Schrijven niet ondersteund op Characteristic" msgstr "Schrijven niet ondersteund op Characteristic"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Je bent in de veilige modus: er is iets onverwachts gebeurd.\n" msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4393,6 +4400,49 @@ msgstr "zi moet van type float zijn"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi moet vorm (n_section, 2) hebben" msgstr "zi moet vorm (n_section, 2) hebben"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython is in veilige modus omdat de rest knop werd ingedrukt "
#~ "tijdens het opstarten. Druk nogmaals om veilige modus te verlaten\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Opgeslagen code wordt niet uitgevoerd.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Veilige modus wordt uitgevoerd! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "De CircuitPyton heap is corrupt omdat de stack te klein was.\n"
#~ "Vergroot de stack grootte als je weet hoe, zo niet:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "De `microcontroller` module is gebruikt om in veilige modus op te "
#~ "starten. Druk reset om de veilige modus te verlaten.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "Het vermogen van de microcontroller zakte. Zorg ervoor dat de "
#~ "stroomvoorziening \n"
#~ "voldoende vermogen heeft voor het hele systeem en druk reset (na "
#~ "uitwerpen van CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Je bent in de veilige modus: er is iets onverwachts gebeurd.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Pin nummer al gereserveerd door EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB Bezet" #~ msgstr "USB Bezet"
@ -4725,10 +4775,6 @@ msgstr "zi moet vorm (n_section, 2) hebben"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Draaiende in veilige modus! Auto-herlaad is uit.\n" #~ msgstr "Draaiende in veilige modus! Auto-herlaad is uit.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Draaiende in veilige modus! Opgeslagen code wordt niet uitgevoerd.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init __ () zou None moeten retouneren, niet '%s'" #~ msgstr "__init __ () zou None moeten retouneren, niet '%s'"

View File

@ -717,16 +717,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython nie mógł przydzielić sterty."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython jest w trybie awaryjnym, ponieważ podczas rozruchu naciśnięto "
"przycisk resetowania. Naciśnij ponownie, aby wyjść z trybu awaryjnego.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython nie mógł przydzielić sterty.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -857,6 +849,10 @@ msgstr "Fragment danych musi następować po fragmencie fmt"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Zbyt dużo danych pakietu rozgłoszeniowego" msgstr "Zbyt dużo danych pakietu rozgłoszeniowego"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Pojemność celu mniejsza od destination_length." msgstr "Pojemność celu mniejsza od destination_length."
@ -1647,10 +1643,6 @@ msgstr "Nie podłączono"
msgid "Not playing" msgid "Not playing"
msgstr "Nic nie jest odtwarzane" msgstr "Nic nie jest odtwarzane"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "" msgstr ""
@ -1683,6 +1675,10 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "Wspierane są tylko nieskompresowane pliki BMP: wielkość nagłówka %d" msgstr "Wspierane są tylko nieskompresowane pliki BMP: wielkość nagłówka %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1696,6 +1692,7 @@ msgstr ""
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "" msgstr ""
@ -1771,6 +1768,10 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "Odmowa dostępu" msgstr "Odmowa dostępu"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "" msgstr ""
@ -1789,6 +1790,11 @@ msgstr ""
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Nóżka nie obsługuje ADC" msgstr "Nóżka nie obsługuje ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1802,10 +1808,6 @@ msgstr ""
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pin musi obsługiwać przerwania sprzętowe" msgstr "Pin musi obsługiwać przerwania sprzętowe"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1963,8 +1965,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Rzędy muszą być digitalio.DigitalInOut" msgstr "Rzędy muszą być digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2026,6 +2028,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Fragment i wartość są różnych długości." msgstr "Fragment i wartość są różnych długości."
@ -2084,13 +2090,13 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
@ -2101,7 +2107,7 @@ msgstr ""
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
@ -2166,6 +2172,10 @@ msgstr "Zbyt wiele wyświetlaczy"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "" msgstr ""
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Ślad wyjątku (najnowsze wywołanie na końcu):\n" msgstr "Ślad wyjątku (najnowsze wywołanie na końcu):\n"
@ -2401,7 +2411,12 @@ msgid "Writes not supported on Characteristic"
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
@ -4353,6 +4368,14 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython jest w trybie awaryjnym, ponieważ podczas rozruchu "
#~ "naciśnięto przycisk resetowania. Naciśnij ponownie, aby wyjść z trybu "
#~ "awaryjnego.\n"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB Zajęte" #~ msgstr "USB Zajęte"
@ -4544,10 +4567,6 @@ msgstr ""
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n" #~ msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() powinien zwracać None, nie '%s'" #~ msgstr "__init__() powinien zwracać None, nie '%s'"

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-05-12 21:48+0000\n" "PO-Revision-Date: 2021-05-15 15:52+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n" "Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -734,17 +734,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "O núcleo principal do CircuitPython falhou feio. Ops!\n" msgstr "O núcleo principal do CircuitPython falhou feio. Ops!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "O CircuitPython não conseguiu alocar o heap."
"boot. Press again to exit safe mode.\n"
msgstr ""
"O CircuitPython está no modo de segurança porque você pressionou o botão de "
"redefinição durante a inicialização. Pressione novamente para sair do modo "
"de segurança.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "O CircuitPython não conseguiu alocar o heap.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -874,6 +865,10 @@ msgstr "Pedaço de dados deve seguir o pedaço de cortes"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Os dados são grandes demais para o pacote de publicidade" msgstr "Os dados são grandes demais para o pacote de publicidade"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr "Os pinos deep sleep devem usar uma borda ascendente com pulldown"
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "A capacidade do destino é menor que destination_length." msgstr "A capacidade do destino é menor que destination_length."
@ -1673,10 +1668,6 @@ msgstr "Não Conectado"
msgid "Not playing" msgid "Not playing"
msgstr "Não está jogando" msgstr "Não está jogando"
#: main.c
msgid "Not running saved code.\n"
msgstr "O código salvo não está em execução.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "Não configurável" msgstr "Não configurável"
@ -1712,6 +1703,10 @@ msgstr ""
"O BMP descompactado é compatível apenas no formato Windows: o tamanho do " "O BMP descompactado é compatível apenas no formato Windows: o tamanho do "
"cabeçalho é %d" "cabeçalho é %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr "Apenas a detecção de borda está disponível neste hardware"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1727,6 +1722,7 @@ msgstr "Apenas um TouchAlarm pode ser colocado em deep sleep."
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Apenas um alarme alarm.time pode ser definido." msgstr "Apenas um alarme alarm.time pode ser definido."
@ -1806,6 +1802,10 @@ msgstr "O periférico está em uso"
msgid "Permission denied" msgid "Permission denied"
msgstr "Permissão negada" msgstr "Permissão negada"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr "O pinto não pode acordar do deep sleep"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "A contagem dos pinos deve ser com pelo menos 1" msgstr "A contagem dos pinos deve ser com pelo menos 1"
@ -1824,6 +1824,11 @@ msgstr "A contagem dos pinos é muito grande"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "O pino não tem recursos de ADC" msgstr "O pino não tem recursos de ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr "A interrupção do pino já está em uso"
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1837,10 +1842,6 @@ msgstr "O pino deve estar no canal B do PWM"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "O pino deve ser compatível com as interrupções do hardware" msgstr "O pino deve ser compatível com as interrupções do hardware"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Número do PIN já está reservado através da EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -2010,8 +2011,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "A entrada da linha deve ser digitalio.DigitalInOut" msgstr "A entrada da linha deve ser digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Executando no modo de segurança! " msgstr "Rodando em modo seguro! O código salvo não está em execução.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2074,6 +2075,10 @@ msgstr ""
msgid "Size not supported" msgid "Size not supported"
msgstr "O tamanho não é suportado" msgstr "O tamanho não é suportado"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr "Sleep memory não está disponível"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Fatie e avalie os diferentes comprimentos." msgstr "Fatie e avalie os diferentes comprimentos."
@ -2132,19 +2137,19 @@ msgstr "A leitura da temperatura expirou"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"A área de alocação dinâmica de variáveis (heap) do CircuitPython foi " "A área de alocação dinâmica de variáveis (heap) do CircuitPython foi "
"corrompida porque a pilha de funções (stack) era muito pequena.\n" "corrompido pois a pilha era muito pequena.\n"
"Aumente o tamanho da pilha de funções caso saiba como, ou caso não saiba:" "Aumente o tamanho da pilha se souber como. Senão:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"O módulo `microcontrolador` foi utilizado para inicializar no modo de " "O módulo `microcontrolador` foi utilizado para iniciar em modo seguro. "
"segurança. Pressione reset para encerrar do modo de segurança.\n" "Pressione reset para encerrar do modo de segurança."
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2154,12 +2159,12 @@ msgstr "O comprimento dos rgb_pins devem ser 6, 12, 18, 24, ou 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"A força do microcontrolador caiu. Verifique se a fonte de alimentação " "O alimentação do micro controlador diminuiu. Certifique-se de que a sua "
"fornece\n" "fonte de alimentação fornece\n"
"energia suficiente para todo o circuito e pressione reset (após a ejeção " "corrente suficiente para todo o circuito e pressione reset (depois de ejetar "
"CIRCUITPY).\n" "o CIRCUITPY)."
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2225,6 +2230,10 @@ msgstr "Exibições demais"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "O total dos dados que serão escritos é maior do que %q" msgstr "O total dos dados que serão escritos é maior do que %q"
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr "Alarmes de toque não estão disponíveis"
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (a última chamada mais recente):\n" msgstr "Traceback (a última chamada mais recente):\n"
@ -2467,8 +2476,15 @@ msgid "Writes not supported on Characteristic"
msgstr "A escrita não é compatível na Característica" msgstr "A escrita não é compatível na Característica"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Você está no modo de segurança: algo inesperado aconteceu.\n" msgstr "Você está no modo de segurança pois:\n"
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
"Você pressionou o botão reset durante a inicialização. Pressione-o novamente "
"para sair do modo de segurança."
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4438,6 +4454,51 @@ msgstr "zi deve ser de um tipo float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (n_section, 2)" msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "O CircuitPython está no modo de segurança porque você pressionou o botão "
#~ "de redefinição durante a inicialização. Pressione novamente para sair do "
#~ "modo de segurança.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "O código salvo não está em execução.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Executando no modo de segurança! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "A área de alocação dinâmica de variáveis (heap) do CircuitPython foi "
#~ "corrompida porque a pilha de funções (stack) era muito pequena.\n"
#~ "Aumente o tamanho da pilha de funções caso saiba como, ou caso não saiba:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "O módulo `microcontrolador` foi utilizado para inicializar no modo de "
#~ "segurança. Pressione reset para encerrar do modo de segurança.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "A força do microcontrolador caiu. Verifique se a fonte de alimentação "
#~ "fornece\n"
#~ "energia suficiente para todo o circuito e pressione reset (após a ejeção "
#~ "CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Você está no modo de segurança: algo inesperado aconteceu.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Número do PIN já está reservado através da EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB ocupada" #~ msgstr "USB ocupada"
@ -4835,9 +4896,6 @@ msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Rodando em modo seguro! Atualização automática está desligada.\n" #~ msgstr "Rodando em modo seguro! Atualização automática está desligada.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Rodando em modo seguro! Não está executando o código salvo.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "O __init__() deve retornar Nenhum, não '%s'" #~ msgstr "O __init__() deve retornar Nenhum, não '%s'"

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-05-10 11:33+0000\n" "PO-Revision-Date: 2021-05-15 15:52+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n" "Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
@ -723,16 +723,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "CircuitPython kärnkod kraschade hårt. Hoppsan!\n" msgstr "CircuitPython kärnkod kraschade hårt. Hoppsan!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython kunde inte allokera heap."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython är i säkert läge eftersom du tryckte på återställningsknappen "
"under start. Tryck igen för att lämna säkert läge.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython kunde inte allokera heap.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -863,6 +855,10 @@ msgstr "Datasegmentet måste följa fmt-segmentet"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Data för stor för annonseringspaket" msgstr "Data för stor för annonseringspaket"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr "Deep sleep-pinnar måste använda en stigande flank med pulldown"
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Målkapaciteten är mindre än destination_length." msgstr "Målkapaciteten är mindre än destination_length."
@ -1656,10 +1652,6 @@ msgstr "Inte ansluten"
msgid "Not playing" msgid "Not playing"
msgstr "Ingen uppspelning" msgstr "Ingen uppspelning"
#: main.c
msgid "Not running saved code.\n"
msgstr "Kör inte sparad kod.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "Går inte sätta" msgstr "Går inte sätta"
@ -1695,6 +1687,10 @@ msgid ""
msgstr "" msgstr ""
"Endast Windows-format, okomprimerad BMP stöds: given headerstorlek är %d" "Endast Windows-format, okomprimerad BMP stöds: given headerstorlek är %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr "Endast kantdetektering är tillgänglig för denna hårdvara"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1710,6 +1706,7 @@ msgstr "Endast ett TouchAlarm kan ställas in för djupsömn."
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "Endast ett alarm.time kan ställas in." msgstr "Endast ett alarm.time kan ställas in."
@ -1787,6 +1784,10 @@ msgstr "Periferi i bruk"
msgid "Permission denied" msgid "Permission denied"
msgstr "Åtkomst nekad" msgstr "Åtkomst nekad"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr "Pinnen kan inte väcka från djup sömn"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "Antalet pinnar måste vara minst 1" msgstr "Antalet pinnar måste vara minst 1"
@ -1805,6 +1806,11 @@ msgstr "Antal pinnar för stort"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pinnen har inte ADC-funktionalitet" msgstr "Pinnen har inte ADC-funktionalitet"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr "Pinnavbrott används redan"
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1818,10 +1824,6 @@ msgstr "Pinne måste vara på PWM-kanal B"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Pinnen måste stödja hårdvaruavbrott" msgstr "Pinnen måste stödja hårdvaruavbrott"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "PInn-nummer redan reserverat av EXTI"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1988,8 +1990,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Radvärdet måste vara digitalio.DigitalInOut" msgstr "Radvärdet måste vara digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Kör i säkert läge! " msgstr "Kör i säkert läge! Sparad kod körs inte.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2051,6 +2053,10 @@ msgstr "Sido-setets antal pinnar måste vara mellan 1 och 5"
msgid "Size not supported" msgid "Size not supported"
msgstr "Storleken stöds inte" msgstr "Storleken stöds inte"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr "Sömnminne inte tillgängligt"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice och värde har olika längd." msgstr "Slice och värde har olika längd."
@ -2109,18 +2115,18 @@ msgstr "Temperaturavläsning tog för lång tid"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"CircuitPythons heap blev korrupt eftersom stacken var för liten.\n" "CircuitPython-heapen blev korrupt eftersom stacken är för liten.\n"
"Öka stackstorleken om du vet hur, eller om inte:" "Öka stackstorleken om du vet hur, eller om inte:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"Modulen \"microkontroller\" användes för att starta i säkert läge. Tryck på " "Modulen `microcontroller` användes för att starta upp i felsäkert läge. "
"reset för att lämna säkert läge.\n" "Tryck på reset för att avsluta felsäkert läget."
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2130,12 +2136,12 @@ msgstr "Längden på rgb_pins vara 6, 12, 18, 24 eller 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"Mikrokontrollerns matningsspänning droppade. Se till att strömförsörjningen " "Mikrokontrollerns matningsspänning sjönk. Se till att strömförsörjningen "
"ger\n" "ger\n"
"tillräckligt med ström för hela kretsen och tryck på reset (efter utmatning " "tillräckligt med ström för hela kretsen och tryck på reset (efter utmatning "
"av CIRCUITPY).\n" "av CIRCUITPY)."
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2199,6 +2205,10 @@ msgstr "För många displayer"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "Totala data att skriva är större än %q" msgstr "Totala data att skriva är större än %q"
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr "Touchalarm är inte tillgängligt"
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (senaste anrop):\n" msgstr "Traceback (senaste anrop):\n"
@ -2229,7 +2239,7 @@ msgstr "UART skrivfel"
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB busy" msgid "USB busy"
msgstr "" msgstr "USB upptaget"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "USB devices need more endpoints than are available." msgid "USB devices need more endpoints than are available."
@ -2241,7 +2251,7 @@ msgstr "USB-enheter anger för många gränssnittsnamn."
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB error" msgid "USB error"
msgstr "" msgstr "USB-fel"
#: shared-bindings/_bleio/UUID.c #: shared-bindings/_bleio/UUID.c
msgid "UUID integer value must be 0-0xffff" msgid "UUID integer value must be 0-0xffff"
@ -2436,8 +2446,15 @@ msgid "Writes not supported on Characteristic"
msgstr "Skrivning stöds inte på karaktäristik" msgstr "Skrivning stöds inte på karaktäristik"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Du är i säkert läge: något öväntat hände.\n" msgstr "Du är i felsäkert läge eftersom:\n"
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
"Du tryckte på resetknappen under uppstarten. Tryck igen för att avsluta "
"felsäkert läge."
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -3541,7 +3558,7 @@ msgstr "namn inte definierat"
#: py/asmthumb.c #: py/asmthumb.c
msgid "native method too big" msgid "native method too big"
msgstr "" msgstr "inbyggd metod för stor"
#: py/emitnative.c #: py/emitnative.c
msgid "native yield" msgid "native yield"
@ -3586,7 +3603,7 @@ msgstr "ingen standardpackare"
#: extmod/modurandom.c #: extmod/modurandom.c
msgid "no default seed" msgid "no default seed"
msgstr "" msgstr "inget standard seed"
#: py/builtinimport.c #: py/builtinimport.c
msgid "no module named '%q'" msgid "no module named '%q'"
@ -4161,7 +4178,7 @@ msgstr "för många index"
#: py/asmthumb.c #: py/asmthumb.c
msgid "too many locals for native method" msgid "too many locals for native method"
msgstr "" msgstr "för många locals för nativ metod"
#: py/runtime.c #: py/runtime.c
#, c-format #, c-format
@ -4396,6 +4413,49 @@ msgstr "zi måste vara av typ float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi måste vara i formen (n_section, 2)" msgstr "zi måste vara i formen (n_section, 2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython är i säkert läge eftersom du tryckte på "
#~ "återställningsknappen under start. Tryck igen för att lämna säkert läge.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Kör inte sparad kod.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Kör i säkert läge! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "CircuitPythons heap blev korrupt eftersom stacken var för liten.\n"
#~ "Öka stackstorleken om du vet hur, eller om inte:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "Modulen \"microkontroller\" användes för att starta i säkert läge. Tryck "
#~ "på reset för att lämna säkert läge.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "Mikrokontrollerns matningsspänning droppade. Se till att "
#~ "strömförsörjningen ger\n"
#~ "tillräckligt med ström för hela kretsen och tryck på reset (efter "
#~ "utmatning av CIRCUITPY).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Du är i säkert läge: något öväntat hände.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "PInn-nummer redan reserverat av EXTI"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB upptagen" #~ msgstr "USB upptagen"
@ -4773,9 +4833,6 @@ msgstr "zi måste vara i formen (n_section, 2)"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Kör i säkert läge! Autoladdning är avstängd.\n" #~ msgstr "Kör i säkert läge! Autoladdning är avstängd.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Kör i säkert läge! Sparad kod körs inte.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init __ () ska returnera None, inte '%s'" #~ msgstr "__init __ () ska returnera None, inte '%s'"

View File

@ -724,16 +724,8 @@ msgid "CircuitPython core code crashed hard. Whoops!\n"
msgstr "CircuitPython de héxīn chūxiàn gùzhàng. Āiyā!\n" msgstr "CircuitPython de héxīn chūxiàn gùzhàng. Āiyā!\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid "CircuitPython was unable to allocate the heap."
"CircuitPython is in safe mode because you pressed the reset button during " msgstr "CircuitPython wúfǎ fēnpèi duī."
"boot. Press again to exit safe mode.\n"
msgstr ""
"CircuitPython chǔyú ānquán móshì, yīnwèi zài yǐndǎo guòchéng zhōng àn xiàle "
"chóng zhì ànniǔ. Zài àn yīcì tuìchū ānquán móshì.\n"
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr "CircuitPython wúfǎ fēnpèi duī.\n"
#: shared-module/bitbangio/SPI.c #: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed." msgid "Clock pin init failed."
@ -862,6 +854,10 @@ msgstr "Shùjù kuài bìxū zūnxún fmt qū kuài"
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
msgstr "Guǎnggào bāo de shùjù tài dà" msgstr "Guǎnggào bāo de shùjù tài dà"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr ""
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
msgstr "Mùbiāo róngliàng xiǎoyú mùdì de_chángdù." msgstr "Mùbiāo róngliàng xiǎoyú mùdì de_chángdù."
@ -1658,10 +1654,6 @@ msgstr "Wèi liánjiē"
msgid "Not playing" msgid "Not playing"
msgstr "Wèi bòfàng" msgstr "Wèi bòfàng"
#: main.c
msgid "Not running saved code.\n"
msgstr "Méiyǒu yùnxíng yǐ bǎocún de dàimǎ.\n"
#: shared-bindings/_bleio/__init__.c #: shared-bindings/_bleio/__init__.c
msgid "Not settable" msgid "Not settable"
msgstr "bù kě shè zhì" msgstr "bù kě shè zhì"
@ -1697,6 +1689,10 @@ msgstr ""
"Jǐn zhīchí Windows géshì, zhīchí wèi yāsuō de BMP: Gěi dìng de biāo tóu " "Jǐn zhīchí Windows géshì, zhīchí wèi yāsuō de BMP: Gěi dìng de biāo tóu "
"dàxiǎo wèi %d" "dàxiǎo wèi %d"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Only edge detection is available on this hardware"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1712,6 +1708,7 @@ msgstr "zhǐ yǒu yí gè chù mō bì kě yǐ shè zhì zài shēn dù shuì mi
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c #: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
#: ports/nrf/common-hal/alarm/time/TimeAlarm.c #: ports/nrf/common-hal/alarm/time/TimeAlarm.c
#: ports/stm/common-hal/alarm/time/TimeAlarm.c
msgid "Only one alarm.time alarm can be set." msgid "Only one alarm.time alarm can be set."
msgstr "zhǐ néng shè zhì yí gè bào jǐng." msgstr "zhǐ néng shè zhì yí gè bào jǐng."
@ -1788,6 +1785,10 @@ msgstr "shǐ yòng zhōng de wài shè"
msgid "Permission denied" msgid "Permission denied"
msgstr "Quánxiàn bèi jùjué" msgstr "Quánxiàn bèi jùjué"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
msgstr "yǐn jiǎo jì shù bì xū zhì shǎo wéi 1" msgstr "yǐn jiǎo jì shù bì xū zhì shǎo wéi 1"
@ -1806,6 +1807,11 @@ msgstr "yǐn jiǎo jì shù tài dà"
msgid "Pin does not have ADC capabilities" msgid "Pin does not have ADC capabilities"
msgstr "Pin méiyǒu ADC nénglì" msgstr "Pin méiyǒu ADC nénglì"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use"
msgstr ""
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pin is input only" msgid "Pin is input only"
@ -1819,10 +1825,6 @@ msgstr "yǐn jiǎo bì xū zài Pwm pín dào B shàng"
msgid "Pin must support hardware interrupts" msgid "Pin must support hardware interrupts"
msgstr "Yǐn jiǎo bìxū zhīchí yìngjiàn zhōngduàn" msgstr "Yǐn jiǎo bìxū zhīchí yìngjiàn zhōngduàn"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr "Zhēn hào yǐ bèi EXTI bǎoliú"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "" msgid ""
@ -1986,8 +1988,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Xíng xiàng bìxū shì digitalio.DigitalInOut" msgstr "Xíng xiàng bìxū shì digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! " msgid "Running in safe mode! Not running saved code.\n"
msgstr "Zài ānquán móshì xià yùnxíng! " msgstr "Zài ānquán móshì xià yùnxíng! Bù yùnxíng yǐ bǎocún de dàimǎ.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -2049,6 +2051,10 @@ msgstr "cè miàn shè zhì yǐn jiǎo shù bì xū jiè yú 1 hé 5 zhī jiān"
msgid "Size not supported" msgid "Size not supported"
msgstr "bù zhī chí dà xiǎo" msgstr "bù zhī chí dà xiǎo"
#: ports/stm/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available"
msgstr ""
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Qiēpiàn hé zhí bùtóng chángdù." msgstr "Qiēpiàn hé zhí bùtóng chángdù."
@ -2107,18 +2113,14 @@ msgstr "Wēndù dòu qǔ chāoshí"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"Yóuyú duīzhàn tài xiǎo,CircuitPython duī yǐ sǔnhuài.\n"
"Rúguǒ nín zhīdào rúhé zēngjiā duīzhàn dàxiǎo, fǒuzé:"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n" "exit safe mode."
msgstr "" msgstr ""
"“Wēi kòngzhì qì” mókuài yòng yú qǐdòng ānquán móshì. Àn chóng zhì kě tuìchū "
"ānquán móshì.\n"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2128,11 +2130,8 @@ msgstr "Rgb_pins de chángdù bìxū wèi 6,12,18,24 huò 30"
msgid "" msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n" "The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting " "enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n" "CIRCUITPY)."
msgstr "" msgstr ""
"wēi kòng zhì qì de gōng lǜ jiàng dī. Quèbǎo nín de diànyuán wèi zhěnggè\n"
"diànlù tígōng zúgòu de diànyuán, bìng àn xià fùwèi (Dànchū CIRCUITPY "
"zhīhòu).\n"
#: shared-module/audiomixer/MixerVoice.c #: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's" msgid "The sample's bits_per_sample does not match the mixer's"
@ -2196,6 +2195,10 @@ msgstr "Xiǎnshì tài duō"
msgid "Total data to write is larger than %q" msgid "Total data to write is larger than %q"
msgstr "yào biān xiě de zǒng shù jù dà yú %q" msgstr "yào biān xiě de zǒng shù jù dà yú %q"
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
msgstr "Traceback (Zuìjìn yīcì dǎ diànhuà):\n" msgstr "Traceback (Zuìjìn yīcì dǎ diànhuà):\n"
@ -2434,8 +2437,13 @@ msgid "Writes not supported on Characteristic"
msgstr "Tèzhēng bù zhīchí xiě rù" msgstr "Tèzhēng bù zhīchí xiě rù"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n" msgid "You are in safe mode because:\n"
msgstr "Nín chǔyú ānquán móshì: Chū hū yìliào de shìqíng fāshēngle.\n" msgstr ""
#: supervisor/shared/safe_mode.c
msgid ""
"You pressed the reset button during boot. Press again to exit safe mode."
msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -4392,6 +4400,48 @@ msgstr "zi bìxū wèi fú diǎn xíng"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)" msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
#~ msgid ""
#~ "CircuitPython is in safe mode because you pressed the reset button during "
#~ "boot. Press again to exit safe mode.\n"
#~ msgstr ""
#~ "CircuitPython chǔyú ānquán móshì, yīnwèi zài yǐndǎo guòchéng zhōng àn "
#~ "xiàle chóng zhì ànniǔ. Zài àn yīcì tuìchū ānquán móshì.\n"
#~ msgid "Not running saved code.\n"
#~ msgstr "Méiyǒu yùnxíng yǐ bǎocún de dàimǎ.\n"
#~ msgid "Running in safe mode! "
#~ msgstr "Zài ānquán móshì xià yùnxíng! "
#~ msgid ""
#~ "The CircuitPython heap was corrupted because the stack was too small.\n"
#~ "Please increase the stack size if you know how, or if not:"
#~ msgstr ""
#~ "Yóuyú duīzhàn tài xiǎo,CircuitPython duī yǐ sǔnhuài.\n"
#~ "Rúguǒ nín zhīdào rúhé zēngjiā duīzhàn dàxiǎo, fǒuzé:"
#~ msgid ""
#~ "The `microcontroller` module was used to boot into safe mode. Press reset "
#~ "to exit safe mode.\n"
#~ msgstr ""
#~ "“Wēi kòngzhì qì” mókuài yòng yú qǐdòng ānquán móshì. Àn chóng zhì kě "
#~ "tuìchū ānquán móshì.\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Make sure your power supply provides\n"
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "wēi kòng zhì qì de gōng lǜ jiàng dī. Quèbǎo nín de diànyuán wèi zhěnggè\n"
#~ "diànlù tígōng zúgòu de diànyuán, bìng àn xià fùwèi (Dànchū CIRCUITPY "
#~ "zhīhòu).\n"
#~ msgid "You are in safe mode: something unanticipated happened.\n"
#~ msgstr "Nín chǔyú ānquán móshì: Chū hū yìliào de shìqíng fāshēngle.\n"
#~ msgid "Pin number already reserved by EXTI"
#~ msgstr "Zhēn hào yǐ bèi EXTI bǎoliú"
#~ msgid "USB Busy" #~ msgid "USB Busy"
#~ msgstr "USB máng" #~ msgstr "USB máng"
@ -4737,9 +4787,6 @@ msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
#~ msgid "Running in safe mode! Auto-reload is off.\n" #~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Zài ānquán móshì xià yùnxíng! Zìdòng chóngxīn jiāzài yǐ guānbì.\n" #~ msgstr "Zài ānquán móshì xià yùnxíng! Zìdòng chóngxīn jiāzài yǐ guānbì.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Zài ānquán móshì xià yùnxíng! Bù yùnxíng yǐ bǎocún de dàimǎ.\n"
#~ msgid "__init__() should return None, not '%s'" #~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__Init__() yīnggāi fǎnhuí not, ér bùshì '%s'" #~ msgstr "__Init__() yīnggāi fǎnhuí not, ér bùshì '%s'"

22
main.c
View File

@ -258,18 +258,20 @@ STATIC void print_code_py_status_message(safe_mode_t safe_mode) {
serial_write_compressed(translate("Auto-reload is off.\n")); serial_write_compressed(translate("Auto-reload is off.\n"));
} }
if (safe_mode != NO_SAFE_MODE) { if (safe_mode != NO_SAFE_MODE) {
serial_write_compressed(translate("Running in safe mode! ")); serial_write_compressed(translate("Running in safe mode! Not running saved code.\n"));
serial_write_compressed(translate("Not running saved code.\n"));
} }
} }
STATIC bool run_code_py(safe_mode_t safe_mode) { STATIC bool run_code_py(safe_mode_t safe_mode) {
bool serial_connected_at_start = serial_connected(); bool serial_connected_at_start = serial_connected();
bool printed_safe_mode_message = false;
#if CIRCUITPY_AUTORELOAD_DELAY_MS > 0 #if CIRCUITPY_AUTORELOAD_DELAY_MS > 0
serial_write("\n"); if (serial_connected_at_start) {
print_code_py_status_message(safe_mode); serial_write("\r\n");
print_safe_mode_message(safe_mode); print_code_py_status_message(safe_mode);
serial_write("\n"); print_safe_mode_message(safe_mode);
printed_safe_mode_message = true;
}
#endif #endif
pyexec_result_t result; pyexec_result_t result;
@ -405,8 +407,11 @@ STATIC bool run_code_py(safe_mode_t safe_mode) {
print_code_py_status_message(safe_mode); print_code_py_status_message(safe_mode);
} }
print_safe_mode_message(safe_mode); if (!printed_safe_mode_message) {
serial_write("\n"); print_safe_mode_message(safe_mode);
printed_safe_mode_message = true;
}
serial_write("\r\n");
serial_write_compressed(translate("Press any key to enter the REPL. Use CTRL-D to reload.\n")); serial_write_compressed(translate("Press any key to enter the REPL. Use CTRL-D to reload.\n"));
printed_press_any_key = true; printed_press_any_key = true;
} }
@ -595,7 +600,6 @@ STATIC void __attribute__ ((noinline)) run_boot_py(safe_mode_t safe_mode) {
usb_set_defaults(); usb_set_defaults();
#endif #endif
// TODO(tannewt): Re-add support for flashing boot error output.
if (ok_to_run) { if (ok_to_run) {
bool found_boot = maybe_run_list(boot_py_filenames, NULL); bool found_boot = maybe_run_list(boot_py_filenames, NULL);
(void) found_boot; (void) found_boot;

View File

@ -18,6 +18,8 @@ CIRCUITPY_PWMIO = 0
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_PIXELBUF = 1
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID

View File

@ -8,17 +8,20 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_ANALOGIO = 0 CIRCUITPY_ANALOGIO = 0
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_BUSIO_SPI = 0
CIRCUITPY_RTC = 0
CIRCUITPY_PULSEIO = 0 CIRCUITPY_PULSEIO = 0
CIRCUITPY_PWMIO = 0 CIRCUITPY_PWMIO = 0
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0
CIRCUITPY_USB_MIDI = 0
CIRCUITPY_PIXELBUF = 0 CIRCUITPY_PIXELBUF = 1
CIRCUITPY_TOUCHIO = 1
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View File

@ -10,6 +10,7 @@
#define IGNORE_PIN_PA02 1 #define IGNORE_PIN_PA02 1
#define IGNORE_PIN_PA03 1 #define IGNORE_PIN_PA03 1
#define IGNORE_PIN_PA05 1 #define IGNORE_PIN_PA05 1
#define IGNORE_PIN_PA07 1
#define IGNORE_PIN_PA08 1 #define IGNORE_PIN_PA08 1
#define IGNORE_PIN_PA09 1 #define IGNORE_PIN_PA09 1
#define IGNORE_PIN_PA10 1 #define IGNORE_PIN_PA10 1

View File

@ -16,7 +16,8 @@ CIRCUITPY_PULSEIO = 0
CIRCUITPY_PWMIO = 0 CIRCUITPY_PWMIO = 0
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_BUSIO = 0 CIRCUITPY_BUSIO = 0
CIRCUITPY_TOUCHIO = 0
CIRCUITPY_PIXELBUF = 1
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View File

@ -2,8 +2,9 @@
STATIC const mp_rom_map_elem_t board_global_dict_table[] = { STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA01) }, { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA01) },
{ MP_ROM_QSTR(MP_QSTR_ROTA), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_ROTB), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_ROTB), MP_ROM_PTR(&pin_PA00) },
{ MP_ROM_QSTR(MP_QSTR_ROTA), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_SWITCH), MP_ROM_PTR(&pin_PA27) }, { MP_ROM_QSTR(MP_QSTR_SWITCH), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH), MP_ROM_PTR(&pin_PA06) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -37,5 +37,5 @@ bool board_requests_safe_mode(void) {
} }
void reset_board(void) { void reset_board(void) {
board_reset_user_neopixels(&pin_PA06, 2); board_reset_user_neopixels(&pin_PA04, 2);
} }

View File

@ -1,7 +1,7 @@
#define MICROPY_HW_BOARD_NAME "Adafruit Slide Trinkey M0" #define MICROPY_HW_BOARD_NAME "Adafruit Slide Trinkey M0"
#define MICROPY_HW_MCU_NAME "samd21e18" #define MICROPY_HW_MCU_NAME "samd21e18"
#define MICROPY_HW_NEOPIXEL (&pin_PA06) #define MICROPY_HW_NEOPIXEL (&pin_PA04)
#define MICROPY_PORT_A (0) #define MICROPY_PORT_A (0)
#define MICROPY_PORT_B (0) #define MICROPY_PORT_B (0)
@ -9,10 +9,9 @@
#define IGNORE_PIN_PA00 1 #define IGNORE_PIN_PA00 1
#define IGNORE_PIN_PA01 1 #define IGNORE_PIN_PA01 1
#define IGNORE_PIN_PA02 1
#define IGNORE_PIN_PA03 1 #define IGNORE_PIN_PA03 1
#define IGNORE_PIN_PA04 1
#define IGNORE_PIN_PA05 1 #define IGNORE_PIN_PA05 1
#define IGNORE_PIN_PA06 1
#define IGNORE_PIN_PA08 1 #define IGNORE_PIN_PA08 1
#define IGNORE_PIN_PA09 1 #define IGNORE_PIN_PA09 1
#define IGNORE_PIN_PA10 1 #define IGNORE_PIN_PA10 1

View File

@ -18,6 +18,8 @@ CIRCUITPY_PWMIO = 0
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_BUSIO = 0 CIRCUITPY_BUSIO = 0
CIRCUITPY_PIXELBUF = 1
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SimpleMath FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SimpleMath
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View File

@ -1,8 +1,8 @@
#include "shared-bindings/board/__init__.h" #include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = { STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
// { MP_ROM_QSTR(MP_QSTR_TOUCH), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_POTENTIOMETER), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_POTENTIOMETER), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_TOUCH), MP_ROM_PTR(&pin_PA07) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -12,17 +12,15 @@ LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_ANALOGIO = 0 CIRCUITPY_ANALOGIO = 0
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0
CIRCUITPY_PULSEIO = 0
CIRCUITPY_PWMIO = 0
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_BUSIO = 0 CIRCUITPY_BUSIO = 0
CIRCUITPY_PULSEIO = 0
CIRCUITPY_PWMIO = 0
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0
CIRCUITPY_PIXELBUF = 1 CIRCUITPY_PIXELBUF = 1
CIRCUITPY_USB_MIDI = 1
CIRCUITPY_TOUCHIO = 1
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View File

@ -21,7 +21,7 @@ endif
INTERNAL_LIBM = 1 INTERNAL_LIBM = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 8 USB_NUM_ENDPOINT_PAIRS = 8
CIRCUITPY_ROTARYIO_SOFTENCODER = 1 CIRCUITPY_ROTARYIO_SOFTENCODER = 1
@ -60,14 +60,19 @@ CIRCUITPY_VECTORIO = 0
MICROPY_PY_ASYNC_AWAIT = 0 MICROPY_PY_ASYNC_AWAIT = 0
# We don't have room for the fonts for terminalio for ja and ko
# so turn off terminalio, and if it's off and displayio is on,
# force a clean build.
# Note that we cannot test $(CIRCUITPY_DISPLAYIO) directly with an
# ifeq, because it's not set yet.
ifeq ($(TRANSLATION), ja) ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CIRCUITPY_TERMINALIO = 0 CIRCUITPY_TERMINALIO = 0
RELEASE_NEEDS_CLEAN_BUILD = $(CIRCUITPY_DISPLAYIO)
endif endif
ifeq ($(TRANSLATION), ko) ifeq ($(TRANSLATION), ko)
RELEASE_NEEDS_CLEAN_BUILD = 1
CIRCUITPY_TERMINALIO = 0 CIRCUITPY_TERMINALIO = 0
RELEASE_NEEDS_CLEAN_BUILD = $(CIRCUITPY_DISPLAYIO)
endif endif
SUPEROPT_GC = 0 SUPEROPT_GC = 0

View File

@ -37,7 +37,7 @@
// so define these before #include'ing that file. // so define these before #include'ing that file.
#define USB_CDC_EP_NUM_NOTIFICATION (3) #define USB_CDC_EP_NUM_NOTIFICATION (3)
#define USB_CDC_EP_NUM_DATA_OUT (2) #define USB_CDC_EP_NUM_DATA_OUT (2)
#define USB_CDC_EP_NUM_DATA_IN (2) #define USB_CDC_EP_NUM_DATA_IN (1)
#define USB_MSC_EP_NUM_OUT (5) #define USB_MSC_EP_NUM_OUT (5)
#define USB_MSC_EP_NUM_IN (4) #define USB_MSC_EP_NUM_IN (4)

View File

@ -1,7 +1,7 @@
USB_HIGHSPEED = 1 USB_HIGHSPEED = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 6 USB_NUM_ENDPOINT_PAIRS = 6
# Define an equivalent for MICROPY_LONGINT_IMPL, to pass to $(MPY-TOOL) in py/mkrules.mk # Define an equivalent for MICROPY_LONGINT_IMPL, to pass to $(MPY-TOOL) in py/mkrules.mk
# $(MPY-TOOL) needs to know what kind of longint to use (if any) to freeze long integers. # $(MPY-TOOL) needs to know what kind of longint to use (if any) to freeze long integers.

View File

@ -27,11 +27,6 @@ CIRCUITPY_ROTARYIO = 1
CIRCUITPY_NVM = 1 CIRCUITPY_NVM = 1
CIRCUITPY_PS2IO ?= 1 CIRCUITPY_PS2IO ?= 1
CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1 CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1
# We don't have enough endpoints to include MIDI.
CIRCUITPY_USB_MIDI ?= 0
CIRCUITPY_USB_HID ?= 1
# We have borrowed the VENDOR nomenclature from tinyusb. VENDOR AKA WEBUSB
CIRCUITPY_USB_VENDOR ?= 0
CIRCUITPY_WIFI = 1 CIRCUITPY_WIFI = 1
CIRCUITPY_WATCHDOG ?= 1 CIRCUITPY_WATCHDOG ?= 1
@ -39,4 +34,14 @@ CIRCUITPY_ESPIDF = 1
CIRCUITPY_MODULE ?= none CIRCUITPY_MODULE ?= none
USB_NUM_EP = 5 # From the ESP32-S2 datasheet:
#
# Endpoint number 0 always present (bi-directional, consisting of EP0 IN and EP0 OUT)
# Six additional endpoints (endpoint numbers 1 to 6), configurable as IN or OUT
# Maximum of five IN endpoints concurrently active at any time (including EP0 IN)
#
# Due to the limited number of endpoints, some USB devices will be off by default.
# For instance MIDI is available, but the device is turned off. It can be turned on
# only if something else is turned off, such as HID.
USB_NUM_ENDPOINT_PAIRS = 7
USB_NUM_IN_ENDPOINTS = 5

View File

@ -7,7 +7,7 @@ MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
INTERNAL_LIBM = 1 INTERNAL_LIBM = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 16 USB_NUM_ENDPOINT_PAIRS = 16
# Longints can be implemented as mpz, as longlong, or not # Longints can be implemented as mpz, as longlong, or not
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ

View File

@ -17,7 +17,7 @@ INTERNAL_LIBM = 1
USB_HIGHSPEED = 1 USB_HIGHSPEED = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 8 USB_NUM_ENDPOINT_PAIRS = 8
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1

View File

@ -619,8 +619,6 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre
return mp_const_none; return mp_const_none;
} }
// The nRF SD 6.1.0 can only do one concurrent advertisement so share the advertising handle.
uint8_t adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET;
STATIC void check_data_fit(size_t data_len, bool connectable) { STATIC void check_data_fit(size_t data_len, bool connectable) {
if (data_len > BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_MAX_SUPPORTED || if (data_len > BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_MAX_SUPPORTED ||
@ -629,6 +627,9 @@ STATIC void check_data_fit(size_t data_len, bool connectable) {
} }
} }
// The nRF SD 6.1.0 can only do one concurrent advertisement so share the advertising handle.
uint8_t adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET;
STATIC bool advertising_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { STATIC bool advertising_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
bleio_adapter_obj_t *self = (bleio_adapter_obj_t *)self_in; bleio_adapter_obj_t *self = (bleio_adapter_obj_t *)self_in;
@ -647,7 +648,10 @@ STATIC bool advertising_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
return true; return true;
} }
uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len) { uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable,
bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data,
uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len,
mp_int_t tx_power) {
if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) { if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) {
return NRF_ERROR_BUSY; return NRF_ERROR_BUSY;
} }
@ -725,7 +729,10 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
} }
ble_drv_add_event_handler(advertising_on_ble_evt, self); ble_drv_add_event_handler(advertising_on_ble_evt, self);
err_code = sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV, adv_handle, tx_power);
if (err_code != NRF_SUCCESS) {
return err_code;
}
vm_used_ble = true; vm_used_ble = true;
err_code = sd_ble_gap_adv_start(adv_handle, BLE_CONN_CFG_TAG_CUSTOM); err_code = sd_ble_gap_adv_start(adv_handle, BLE_CONN_CFG_TAG_CUSTOM);
if (err_code != NRF_SUCCESS) { if (err_code != NRF_SUCCESS) {
@ -736,7 +743,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
} }
void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo) { void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo, mp_int_t tx_power) {
if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) { if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) {
mp_raise_bleio_BluetoothError(translate("Already advertising.")); mp_raise_bleio_BluetoothError(translate("Already advertising."));
} }
@ -784,7 +791,8 @@ void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool
self->advertising_data, self->advertising_data,
advertising_data_bufinfo->len, advertising_data_bufinfo->len,
self->scan_response_data, self->scan_response_data,
scan_response_data_bufinfo->len)); scan_response_data_bufinfo->len,
tx_power));
} }
void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) { void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {

View File

@ -52,6 +52,9 @@ void check_nrf_error(uint32_t err_code) {
case NRF_ERROR_TIMEOUT: case NRF_ERROR_TIMEOUT:
mp_raise_msg(&mp_type_TimeoutError, NULL); mp_raise_msg(&mp_type_TimeoutError, NULL);
return; return;
case NRF_ERROR_INVALID_PARAM:
mp_raise_ValueError(translate("Invalid BLE parameter"));
return;
case BLE_ERROR_INVALID_CONN_HANDLE: case BLE_ERROR_INVALID_CONN_HANDLE:
mp_raise_ConnectionError(translate("Not connected")); mp_raise_ConnectionError(translate("Not connected"));
return; return;

View File

@ -10,7 +10,7 @@ MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
INTERNAL_LIBM = 1 INTERNAL_LIBM = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 8 USB_NUM_ENDPOINT_PAIRS = 8
# All nRF ports have longints. # All nRF ports have longints.
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ

View File

@ -106,7 +106,7 @@ INC += -I. \
-I$(BUILD) -I$(BUILD)
# Pico specific configuration # Pico specific configuration
CFLAGS += -DRASPBERRYPI -DPICO_ON_DEVICE=1 -DPICO_NO_BINARY_INFO=0 -DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=1 -DPICO_DIVIDER_CALL_IDIV0=0 -DPICO_DIVIDER_CALL_LDIV0=0 -DPICO_DIVIDER_HARDWARE=1 -DPICO_DOUBLE_ROM=1 -DPICO_FLOAT_ROM=1 -DPICO_MULTICORE=1 -DPICO_BITS_IN_RAM=0 -DPICO_DIVIDER_IN_RAM=0 -DPICO_DOUBLE_PROPAGATE_NANS=0 -DPICO_DOUBLE_IN_RAM=0 -DPICO_MEM_IN_RAM=0 -DPICO_FLOAT_IN_RAM=0 -DPICO_FLOAT_PROPAGATE_NANS=1 -DPICO_NO_FLASH=0 -DPICO_COPY_TO_RAM=0 -DPICO_DISABLE_SHARED_IRQ_HANDLERS=0 -DPICO_NO_BI_BOOTSEL_VIA_DOUBLE_RESET=0 CFLAGS += -DRASPBERRYPI -DPICO_ON_DEVICE=1 -DPICO_NO_BINARY_INFO=0 -DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=0 -DPICO_DIVIDER_CALL_IDIV0=0 -DPICO_DIVIDER_CALL_LDIV0=0 -DPICO_DIVIDER_HARDWARE=1 -DPICO_DOUBLE_ROM=1 -DPICO_FLOAT_ROM=1 -DPICO_MULTICORE=1 -DPICO_BITS_IN_RAM=0 -DPICO_DIVIDER_IN_RAM=0 -DPICO_DOUBLE_PROPAGATE_NANS=0 -DPICO_DOUBLE_IN_RAM=0 -DPICO_MEM_IN_RAM=0 -DPICO_FLOAT_IN_RAM=0 -DPICO_FLOAT_PROPAGATE_NANS=1 -DPICO_NO_FLASH=0 -DPICO_COPY_TO_RAM=0 -DPICO_DISABLE_SHARED_IRQ_HANDLERS=0 -DPICO_NO_BI_BOOTSEL_VIA_DOUBLE_RESET=0
OPTIMIZATION_FLAGS ?= -O3 OPTIMIZATION_FLAGS ?= -O3
# TinyUSB defines # TinyUSB defines
CFLAGS += -DTUD_OPT_RP2040_USB_DEVICE_ENUMERATION_FIX=1 -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024 CFLAGS += -DTUD_OPT_RP2040_USB_DEVICE_ENUMERATION_FIX=1 -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024

View File

@ -0,0 +1,40 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2021 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 "shared-bindings/microcontroller/Pin.h"
#include "src/rp2_common/hardware_gpio/include/hardware/gpio.h"
void board_init(void) {
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,7 @@
#define MICROPY_HW_BOARD_NAME "Adafruit Macropad RP2040"
#define MICROPY_HW_MCU_NAME "rp2040"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO16)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO25)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO24)

View File

@ -0,0 +1,9 @@
USB_VID = 0x239A
USB_PID = 0x8108
USB_PRODUCT = "Macropad RP2040"
USB_MANUFACTURER = "Adafruit"
CHIP_VARIANT = RP2040
CHIP_FAMILY = rp2
EXTERNAL_FLASH_DEVICES = "W25Q64JVxQ"

View File

@ -0,0 +1,38 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_KEY1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_KEY2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_KEY3), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_KEY4), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_KEY5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_KEY6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_KEY7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_KEY8), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_KEY9), MP_ROM_PTR(&pin_GPIO9) },
{ MP_ROM_QSTR(MP_QSTR_KEY10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_KEY11), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_KEY12), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_SPEAKER), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_ENCODER_SWITCH), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO16) },
{ MP_ROM_QSTR(MP_QSTR_ENCODER_A), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_ENCODER_B), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_OLED_RESET), MP_ROM_PTR(&pin_GPIO23) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO24) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO25) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO28) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO29) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -27,31 +27,38 @@
#include "common-hal/pulseio/PulseOut.h" #include "common-hal/pulseio/PulseOut.h"
#include <stdint.h> #include <stdint.h>
#include "src/rp2_common/hardware_gpio/include/hardware/gpio.h"
#include "mpconfigport.h" #include "mpconfigport.h"
#include "py/gc.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "shared-bindings/pulseio/PulseOut.h" #include "shared-bindings/pulseio/PulseOut.h"
#include "shared-bindings/pwmio/PWMOut.h"
#include "common-hal/pwmio/PWMOut.h"
#include "supervisor/shared/translate.h" #include "supervisor/shared/translate.h"
#include "src/rp2_common/hardware_pwm/include/hardware/pwm.h"
#include "src/common/pico_time/include/pico/time.h"
static uint8_t refcount = 0; static uint8_t refcount = 0;
static uint16_t *pulse_buffer = NULL; static uint16_t *pulse_buffer = NULL;
static volatile uint16_t pulse_index = 0; static volatile uint16_t pulse_index = 0;
static uint16_t pulse_length; static uint16_t pulse_length;
static volatile uint32_t current_compare = 0; pwmio_pwmout_obj_t *pwmout_obj;
volatile uint16_t current_duty_cycle;
void pulse_finish(void) { void pulse_finish(void) {
pulse_index++; pulse_index++;
// Turn pwm pin off by setting duty cyle to 1.
// Always turn it off. common_hal_pwmio_pwmout_set_duty_cycle(pwmout_obj,1);
if (pulse_index >= pulse_length) { if (pulse_index >= pulse_length) {
return; return;
} }
current_compare = (current_compare + pulse_buffer[pulse_index] * 3 / 4) & 0xffff; add_alarm_in_us(pulse_buffer[pulse_index], pulseout_interrupt_handler, NULL, false);
if (pulse_index % 2 == 0) {
common_hal_pwmio_pwmout_set_duty_cycle(pwmout_obj,current_duty_cycle);
}
}
int64_t pulseout_interrupt_handler(alarm_id_t id, void *user_data) {
pulse_finish();
return 0;
} }
void pulseout_reset() { void pulseout_reset() {
@ -63,12 +70,13 @@ void common_hal_pulseio_pulseout_construct(pulseio_pulseout_obj_t *self,
const mcu_pin_obj_t *pin, const mcu_pin_obj_t *pin,
uint32_t frequency, uint32_t frequency,
uint16_t duty_cycle) { uint16_t duty_cycle) {
mp_raise_NotImplementedError(translate("Unsupported operation"));
refcount++; refcount++;
pwmout_obj = (pwmio_pwmout_obj_t *)carrier;
current_duty_cycle = common_hal_pwmio_pwmout_get_duty_cycle(pwmout_obj);
self->pin = carrier->pin->number; self->pin = carrier->pin->number;
self->slice = carrier->slice;
pwm_set_enabled(pwmout_obj->slice,false);
} }
bool common_hal_pulseio_pulseout_deinited(pulseio_pulseout_obj_t *self) { bool common_hal_pulseio_pulseout_deinited(pulseio_pulseout_obj_t *self) {
@ -79,8 +87,6 @@ void common_hal_pulseio_pulseout_deinit(pulseio_pulseout_obj_t *self) {
if (common_hal_pulseio_pulseout_deinited(self)) { if (common_hal_pulseio_pulseout_deinited(self)) {
return; return;
} }
refcount--; refcount--;
self->pin = NO_PIN; self->pin = NO_PIN;
} }
@ -90,6 +96,14 @@ void common_hal_pulseio_pulseout_send(pulseio_pulseout_obj_t *self, uint16_t *pu
pulse_index = 0; pulse_index = 0;
pulse_length = length; pulse_length = length;
current_compare = pulses[0] * 3 / 4; add_alarm_in_us(pulses[0], pulseout_interrupt_handler, NULL, false);
common_hal_pwmio_pwmout_set_duty_cycle(pwmout_obj,current_duty_cycle);
pwm_set_enabled(pwmout_obj->slice,true);
while (pulse_index < length) {
// Do other things while we wait. The interrupts will handle sending the
// signal.
RUN_BACKGROUND_TASKS;
}
pwm_set_enabled(pwmout_obj->slice,false);
} }

View File

@ -28,6 +28,7 @@
#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PULSEIO_PULSEOUT_H #define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PULSEIO_PULSEOUT_H
#include "common-hal/microcontroller/Pin.h" #include "common-hal/microcontroller/Pin.h"
#include "src/common/pico_time/include/pico/time.h"
#include "py/obj.h" #include "py/obj.h"
@ -36,9 +37,10 @@
typedef struct { typedef struct {
mp_obj_base_t base; mp_obj_base_t base;
uint8_t pin; uint8_t pin;
uint8_t slice;
} pulseio_pulseout_obj_t; } pulseio_pulseout_obj_t;
void pulseout_reset(void); void pulseout_reset(void);
void pulseout_interrupt_handler(uint8_t index); int64_t pulseout_interrupt_handler(alarm_id_t id, void *user_data);
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PULSEIO_PULSEOUT_H #endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PULSEIO_PULSEOUT_H

View File

@ -49,6 +49,6 @@ CIRCUITPY_AUDIOMIXER = 1
INTERNAL_LIBM = 1 INTERNAL_LIBM = 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 8 USB_NUM_ENDPOINT_PAIRS = 8
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1

View File

@ -196,13 +196,13 @@ uint32_t *port_heap_get_top(void) {
return port_stack_get_top(); return port_stack_get_top();
} }
extern uint32_t __scratch_x_start__;
void port_set_saved_word(uint32_t value) { void port_set_saved_word(uint32_t value) {
// NOTE: This doesn't survive pressing the reset button (aka toggling RUN). __scratch_x_start__ = value;
watchdog_hw->scratch[0] = value;
} }
uint32_t port_get_saved_word(void) { uint32_t port_get_saved_word(void) {
return watchdog_hw->scratch[0]; return __scratch_x_start__;
} }
uint64_t port_get_raw_ticks(uint8_t *subticks) { uint64_t port_get_raw_ticks(uint8_t *subticks) {

View File

@ -22,6 +22,8 @@ CIRCUITPY_AUDIOPWMIO = 0
CIRCUITPY_BUSDEVICE = 0 CIRCUITPY_BUSDEVICE = 0
CIRCUITPY_BITMAPTOOLS = 0 CIRCUITPY_BITMAPTOOLS = 0
CIRCUITPY_FRAMEBUFFERIO = 0 CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_MIDI = 0
CIRCUITPY_MSGPACK = 0
CIRCUITPY_ULAB = 0 CIRCUITPY_ULAB = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0

View File

@ -16,3 +16,5 @@ LD_FILE = boards/STM32F411_fs.ld
# Too big for the flash # Too big for the flash
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_AUDIOPWMIO = 0 CIRCUITPY_AUDIOPWMIO = 0
CIRCUITPY_MIDI = 0
CIRCUITPY_MSGPACK = 0

View File

@ -15,3 +15,5 @@ LD_FILE = boards/STM32F411_fs.ld
# Too big for the flash # Too big for the flash
CIRCUITPY_AUDIOCORE = 0 CIRCUITPY_AUDIOCORE = 0
CIRCUITPY_AUDIOPWMIO = 0 CIRCUITPY_AUDIOPWMIO = 0
CIRCUITPY_MIDI = 0
CIRCUITPY_MSGPACK = 0

View File

@ -8,7 +8,7 @@ ifeq ($(MCU_VARIANT),$(filter $(MCU_VARIANT),STM32F405xx STM32F407xx))
CIRCUITPY_FRAMEBUFFERIO ?= 1 CIRCUITPY_FRAMEBUFFERIO ?= 1
CIRCUITPY_SDIOIO ?= 1 CIRCUITPY_SDIOIO ?= 1
# Number of USB endpoint pairs. # Number of USB endpoint pairs.
USB_NUM_EP = 4 USB_NUM_ENDPOINT_PAIRS = 4
endif endif
ifeq ($(MCU_SERIES),F4) ifeq ($(MCU_SERIES),F4)
@ -25,10 +25,7 @@ ifeq ($(MCU_SERIES),F4)
CIRCUITPY_NVM ?= 0 CIRCUITPY_NVM ?= 0
CIRCUITPY_ROTARYIO ?= 0 CIRCUITPY_ROTARYIO ?= 0
CIRCUITPY_RTC ?= 0 CIRCUITPY_RTC ?= 0
CIRCUITPY_USB_MIDI ?= 0 USB_NUM_ENDPOINT_PAIRS = 4
CIRCUITPY_USB_HID ?= 0
USB_NUM_EP = 4
endif endif
ifeq ($(MCU_SERIES),H7) ifeq ($(MCU_SERIES),H7)
@ -45,10 +42,8 @@ ifeq ($(MCU_SERIES),H7)
CIRCUITPY_PWMIO ?= 0 CIRCUITPY_PWMIO ?= 0
CIRCUITPY_ROTARYIO ?= 0 CIRCUITPY_ROTARYIO ?= 0
CIRCUITPY_RTC ?= 0 CIRCUITPY_RTC ?= 0
CIRCUITPY_USB_HID ?= 0
CIRCUITPY_USB_MIDI ?= 0
USB_NUM_EP = 9 USB_NUM_ENDPOINT_PAIRS = 9
endif endif
ifeq ($(MCU_SERIES),F7) ifeq ($(MCU_SERIES),F7)
@ -63,8 +58,6 @@ ifeq ($(MCU_SERIES),F7)
CIRCUITPY_NVM ?= 0 CIRCUITPY_NVM ?= 0
CIRCUITPY_ROTARYIO ?= 0 CIRCUITPY_ROTARYIO ?= 0
CIRCUITPY_RTC ?= 0 CIRCUITPY_RTC ?= 0
CIRCUITPY_USB_HID ?= 0
CIRCUITPY_USB_MIDI ?= 0
USB_NUM_EP = 6 USB_NUM_ENDPOINT_PAIRS = 6
endif endif

View File

@ -121,6 +121,9 @@ CFLAGS += -DCIRCUITPY_BUILTINS_POW3=$(CIRCUITPY_BUILTINS_POW3)
CIRCUITPY_BUSIO ?= 1 CIRCUITPY_BUSIO ?= 1
CFLAGS += -DCIRCUITPY_BUSIO=$(CIRCUITPY_BUSIO) CFLAGS += -DCIRCUITPY_BUSIO=$(CIRCUITPY_BUSIO)
CIRCUITPY_BUSIO_SPI ?= 1
CFLAGS += -DCIRCUITPY_BUSIO_SPI=$(CIRCUITPY_BUSIO_SPI)
CIRCUITPY_CAMERA ?= 0 CIRCUITPY_CAMERA ?= 0
CFLAGS += -DCIRCUITPY_CAMERA=$(CIRCUITPY_CAMERA) CFLAGS += -DCIRCUITPY_CAMERA=$(CIRCUITPY_CAMERA)
@ -338,8 +341,18 @@ CFLAGS += -DCIRCUITPY_UHEAP=$(CIRCUITPY_UHEAP)
CIRCUITPY_USB ?= 1 CIRCUITPY_USB ?= 1
CFLAGS += -DCIRCUITPY_USB=$(CIRCUITPY_USB) CFLAGS += -DCIRCUITPY_USB=$(CIRCUITPY_USB)
# Compute this value once, so the shell command is not reinvoked many times. # Compute these value once, so the shell command is not reinvoked many times.
USB_NUM_EP_8_OR_GREATER := $(shell expr $(USB_NUM_EP) '>=' 8) USB_NUM_ENDPOINT_PAIRS_5_OR_GREATER := $(shell expr $(USB_NUM_ENDPOINT_PAIRS) '>=' 5)
USB_NUM_ENDPOINT_PAIRS_8_OR_GREATER := $(shell expr $(USB_NUM_ENDPOINT_PAIRS) '>=' 8)
# Some chips may not support the same number of IN or OUT endpoints as pairs.
# For instance, the ESP32-S2 only supports 5 IN endpoints at once, even though
# it has 7 endpoint pairs.
USB_NUM_IN_ENDPOINTS ?= $(USB_NUM_ENDPOINT_PAIRS)
CFLAGS += -DUSB_NUM_IN_ENDPOINTS=$(USB_NUM_IN_ENDPOINTS)
USB_NUM_OUT_ENDPOINTS ?= $(USB_NUM_ENDPOINT_PAIRS)
CFLAGS += -DUSB_NUM_OUT_ENDPOINTS=$(USB_NUM_OUT_ENDPOINTS)
CIRCUITPY_USB_CDC ?= 1 CIRCUITPY_USB_CDC ?= 1
CFLAGS += -DCIRCUITPY_USB_CDC=$(CIRCUITPY_USB_CDC) CFLAGS += -DCIRCUITPY_USB_CDC=$(CIRCUITPY_USB_CDC)
@ -348,20 +361,21 @@ CFLAGS += -DCIRCUITPY_USB_CDC_CONSOLE_ENABLED_DEFAULT=$(CIRCUITPY_USB_CDC_CONSOL
CIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT ?= 0 CIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT ?= 0
CFLAGS += -DCIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT=$(CIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT) CFLAGS += -DCIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT=$(CIRCUITPY_USB_CDC_DATA_ENABLED_DEFAULT)
# HID is available by default, but is not turned on if there are fewer than 5 endpoints.
CIRCUITPY_USB_HID ?= 1 CIRCUITPY_USB_HID ?= 1
CFLAGS += -DCIRCUITPY_USB_HID=$(CIRCUITPY_USB_HID) CFLAGS += -DCIRCUITPY_USB_HID=$(CIRCUITPY_USB_HID)
CIRCUITPY_USB_HID_ENABLED_DEFAULT = $(CIRCUITPY_USB_HID) CIRCUITPY_USB_HID_ENABLED_DEFAULT ?= $(USB_NUM_ENDPOINT_PAIRS_5_OR_GREATER)
CFLAGS += -DCIRCUITPY_USB_HID_ENABLED_DEFAULT=$(CIRCUITPY_USB_HID_ENABLED_DEFAULT) CFLAGS += -DCIRCUITPY_USB_HID_ENABLED_DEFAULT=$(CIRCUITPY_USB_HID_ENABLED_DEFAULT)
# MIDI is usually available if there are at least 8 endpoints. # MIDI is available by default, but is not turned on if there are fewer than 8 endpoints.
CIRCUITPY_USB_MIDI ?= $(USB_NUM_EP_8_OR_GREATER) CIRCUITPY_USB_MIDI ?= 1
CFLAGS += -DCIRCUITPY_USB_MIDI=$(CIRCUITPY_USB_MIDI) CFLAGS += -DCIRCUITPY_USB_MIDI=$(CIRCUITPY_USB_MIDI)
CIRCUITPY_USB_MIDI_ENABLED_DEFAULT = $(CIRCUITPY_USB_MIDI) CIRCUITPY_USB_MIDI_ENABLED_DEFAULT ?= $(USB_NUM_ENDPOINT_PAIRS_8_OR_GREATER)
CFLAGS += -DCIRCUITPY_USB_MIDI_ENABLED_DEFAULT=$(CIRCUITPY_USB_MIDI_ENABLED_DEFAULT) CFLAGS += -DCIRCUITPY_USB_MIDI_ENABLED_DEFAULT=$(CIRCUITPY_USB_MIDI_ENABLED_DEFAULT)
CIRCUITPY_USB_MSC ?= 1 CIRCUITPY_USB_MSC ?= 1
CFLAGS += -DCIRCUITPY_USB_MSC=$(CIRCUITPY_USB_MSC) CFLAGS += -DCIRCUITPY_USB_MSC=$(CIRCUITPY_USB_MSC)
CIRCUITPY_USB_MSC_ENABLED_DEFAULT = $(CIRCUITPY_USB_MSC) CIRCUITPY_USB_MSC_ENABLED_DEFAULT ?= $(CIRCUITPY_USB_MSC)
CFLAGS += -DCIRCUITPY_USB_MSC_ENABLED_DEFAULT=$(CIRCUITPY_USB_MSC_ENABLED_DEFAULT) CFLAGS += -DCIRCUITPY_USB_MSC_ENABLED_DEFAULT=$(CIRCUITPY_USB_MSC_ENABLED_DEFAULT)
# Defaulting this to OFF initially because it has only been tested on a # Defaulting this to OFF initially because it has only been tested on a
@ -370,10 +384,10 @@ CFLAGS += -DCIRCUITPY_USB_MSC_ENABLED_DEFAULT=$(CIRCUITPY_USB_MSC_ENABLED_DEFAUL
CIRCUITPY_USB_VENDOR ?= 0 CIRCUITPY_USB_VENDOR ?= 0
CFLAGS += -DCIRCUITPY_USB_VENDOR=$(CIRCUITPY_USB_VENDOR) CFLAGS += -DCIRCUITPY_USB_VENDOR=$(CIRCUITPY_USB_VENDOR)
ifndef USB_NUM_EP ifndef USB_NUM_ENDPOINT_PAIRS
$(error "USB_NUM_EP (number of USB endpoint pairs)must be defined") $(error "USB_NUM_ENDPOINT_PAIRS (number of USB endpoint pairs)must be defined")
endif endif
CFLAGS += -DUSB_NUM_EP=$(USB_NUM_EP) CFLAGS += -DUSB_NUM_ENDPOINT_PAIRS=$(USB_NUM_ENDPOINT_PAIRS)
# For debugging. # For debugging.
CIRCUITPY_USTACK ?= 0 CIRCUITPY_USTACK ?= 0

View File

@ -190,7 +190,7 @@ const mp_obj_property_t bleio_adapter_name_obj = {
MP_ROM_NONE }, MP_ROM_NONE },
}; };
//| def start_advertising(self, data: ReadableBuffer, *, scan_response: Optional[ReadableBuffer] = None, connectable: bool = True, anonymous: bool = False, timeout: int = 0, interval: float = 0.1) -> None: //| def start_advertising(self, data: ReadableBuffer, *, scan_response: Optional[ReadableBuffer] = None, connectable: bool = True, anonymous: bool = False, timeout: int = 0, interval: float = 0.1, tx_power: int = 0) -> None:
//| """Starts advertising until `stop_advertising` is called or if connectable, another device //| """Starts advertising until `stop_advertising` is called or if connectable, another device
//| connects to us. //| connects to us.
//| //|
@ -205,13 +205,14 @@ const mp_obj_property_t bleio_adapter_name_obj = {
//| :param bool connectable: If `True` then other devices are allowed to connect to this peripheral. //| :param bool connectable: If `True` then other devices are allowed to connect to this peripheral.
//| :param bool anonymous: If `True` then this device's MAC address is randomized before advertising. //| :param bool anonymous: If `True` then this device's MAC address is randomized before advertising.
//| :param int timeout: If set, we will only advertise for this many seconds. Zero means no timeout. //| :param int timeout: If set, we will only advertise for this many seconds. Zero means no timeout.
//| :param float interval: advertising interval, in seconds""" //| :param float interval: advertising interval, in seconds
//| :param tx_power int: transmitter power while advertising in dBm"""
//| ... //| ...
//| //|
STATIC mp_obj_t bleio_adapter_start_advertising(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { STATIC mp_obj_t bleio_adapter_start_advertising(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
bleio_adapter_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]); bleio_adapter_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]);
enum { ARG_data, ARG_scan_response, ARG_connectable, ARG_anonymous, ARG_timeout, ARG_interval }; enum { ARG_data, ARG_scan_response, ARG_connectable, ARG_anonymous, ARG_timeout, ARG_interval, ARG_tx_power };
static const mp_arg_t allowed_args[] = { static const mp_arg_t allowed_args[] = {
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_scan_response, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} }, { MP_QSTR_scan_response, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} },
@ -219,6 +220,7 @@ STATIC mp_obj_t bleio_adapter_start_advertising(mp_uint_t n_args, const mp_obj_t
{ MP_QSTR_anonymous, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} }, { MP_QSTR_anonymous, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} },
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} }, { MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
{ MP_QSTR_interval, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} }, { MP_QSTR_interval, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
{ MP_QSTR_tx_power, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
}; };
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@ -251,7 +253,7 @@ STATIC mp_obj_t bleio_adapter_start_advertising(mp_uint_t n_args, const mp_obj_t
} }
common_hal_bleio_adapter_start_advertising(self, connectable, anonymous, timeout, interval, common_hal_bleio_adapter_start_advertising(self, connectable, anonymous, timeout, interval,
&data_bufinfo, &scan_response_bufinfo); &data_bufinfo, &scan_response_bufinfo, args[ARG_tx_power].u_int);
return mp_const_none; return mp_const_none;
} }

View File

@ -44,6 +44,8 @@ void common_hal_bleio_adapter_construct_hci_uart(bleio_adapter_obj_t *self, busi
extern bool common_hal_bleio_adapter_get_advertising(bleio_adapter_obj_t *self); extern bool common_hal_bleio_adapter_get_advertising(bleio_adapter_obj_t *self);
extern bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self); extern bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self);
extern void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enabled); extern void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enabled);
extern mp_int_t common_hal_bleio_adapter_get_tx_power(bleio_adapter_obj_t *self);
extern void common_hal_bleio_adapter_set_tx_power(bleio_adapter_obj_t *self, mp_int_t tx_power);
extern bool common_hal_bleio_adapter_get_connected(bleio_adapter_obj_t *self); extern bool common_hal_bleio_adapter_get_connected(bleio_adapter_obj_t *self);
extern bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *self); extern bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *self);
extern bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, bleio_address_obj_t *address); extern bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, bleio_address_obj_t *address);
@ -51,9 +53,9 @@ extern bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, blei
extern mp_obj_str_t *common_hal_bleio_adapter_get_name(bleio_adapter_obj_t *self); extern mp_obj_str_t *common_hal_bleio_adapter_get_name(bleio_adapter_obj_t *self);
extern void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char *name); extern void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char *name);
extern uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len); extern uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, float interval, uint8_t *advertising_data, uint16_t advertising_data_len, uint8_t *scan_response_data, uint16_t scan_response_data_len, mp_int_t tx_power);
extern void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo); extern void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, bool anonymous, uint32_t timeout, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo, mp_int_t tx_power);
extern void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self); extern void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self);
extern mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t *prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active); extern mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t *prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active);

View File

@ -81,6 +81,7 @@
// TODO(tannewt): Support LSB SPI. // TODO(tannewt): Support LSB SPI.
STATIC mp_obj_t busio_spi_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { STATIC mp_obj_t busio_spi_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
#if CIRCUITPY_BUSIO_SPI
busio_spi_obj_t *self = m_new_obj(busio_spi_obj_t); busio_spi_obj_t *self = m_new_obj(busio_spi_obj_t);
self->base.type = &busio_spi_type; self->base.type = &busio_spi_type;
enum { ARG_clock, ARG_MOSI, ARG_MISO }; enum { ARG_clock, ARG_MOSI, ARG_MISO };
@ -102,8 +103,12 @@ STATIC mp_obj_t busio_spi_make_new(const mp_obj_type_t *type, size_t n_args, con
common_hal_busio_spi_construct(self, clock, mosi, miso); common_hal_busio_spi_construct(self, clock, mosi, miso);
return MP_OBJ_FROM_PTR(self); return MP_OBJ_FROM_PTR(self);
#else
mp_raise_NotImplementedError(NULL);
#endif // CIRCUITPY_BUSIO_SPI
} }
#if CIRCUITPY_BUSIO_SPI
//| def deinit(self) -> None: //| def deinit(self) -> None:
//| """Turn off the SPI bus.""" //| """Turn off the SPI bus."""
//| ... //| ...
@ -399,8 +404,11 @@ const mp_obj_property_t busio_spi_frequency_obj = {
MP_ROM_NONE, MP_ROM_NONE,
MP_ROM_NONE}, MP_ROM_NONE},
}; };
#endif // CIRCUITPY_BUSIO_SPI
STATIC const mp_rom_map_elem_t busio_spi_locals_dict_table[] = { STATIC const mp_rom_map_elem_t busio_spi_locals_dict_table[] = {
#if CIRCUITPY_BUSIO_SPI
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&busio_spi_deinit_obj) }, { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&busio_spi_deinit_obj) },
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) }, { MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&busio_spi_obj___exit___obj) }, { MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&busio_spi_obj___exit___obj) },
@ -413,6 +421,7 @@ STATIC const mp_rom_map_elem_t busio_spi_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&busio_spi_write_obj) }, { MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&busio_spi_write_obj) },
{ MP_ROM_QSTR(MP_QSTR_write_readinto), MP_ROM_PTR(&busio_spi_write_readinto_obj) }, { MP_ROM_QSTR(MP_QSTR_write_readinto), MP_ROM_PTR(&busio_spi_write_readinto_obj) },
{ MP_ROM_QSTR(MP_QSTR_frequency), MP_ROM_PTR(&busio_spi_frequency_obj) } { MP_ROM_QSTR(MP_QSTR_frequency), MP_ROM_PTR(&busio_spi_frequency_obj) }
#endif // CIRCUITPY_BUSIO_SPI
}; };
STATIC MP_DEFINE_CONST_DICT(busio_spi_locals_dict, busio_spi_locals_dict_table); STATIC MP_DEFINE_CONST_DICT(busio_spi_locals_dict, busio_spi_locals_dict_table);

View File

@ -176,7 +176,13 @@ MP_DEFINE_CONST_FUN_OBJ_0(storage_disable_usb_drive_obj, storage_disable_usb_dri
//| """Enabled presenting ``CIRCUITPY`` as a USB mass storage device. //| """Enabled presenting ``CIRCUITPY`` as a USB mass storage device.
//| By default, the device is enabled and ``CIRCUITPY`` is visible, //| By default, the device is enabled and ``CIRCUITPY`` is visible,
//| so you do not normally need to call this function. //| so you do not normally need to call this function.
//| Can be called in ``boot.py``, before USB is connected.""" //| Can be called in ``boot.py``, before USB is connected.
//|
//| If you enable too many devices at once, you will run out of USB endpoints.
//| The number of available endpoints varies by microcontroller.
//| CircuitPython will go into safe mode after running boot.py to inform you if
//| not enough endpoints are available.
//| """
//| ... //| ...
//| //|
STATIC mp_obj_t storage_enable_usb_drive(void) { STATIC mp_obj_t storage_enable_usb_drive(void) {

View File

@ -82,7 +82,13 @@ MP_DEFINE_CONST_FUN_OBJ_0(usb_cdc_disable_obj, usb_cdc_disable);
//| :param console bool: Enable or disable the `console` USB serial device. //| :param console bool: Enable or disable the `console` USB serial device.
//| True to enable; False to disable. Enabled by default. //| True to enable; False to disable. Enabled by default.
//| :param data bool: Enable or disable the `data` USB serial device. //| :param data bool: Enable or disable the `data` USB serial device.
//| True to enable; False to disable. *Disabled* by default.""" //| True to enable; False to disable. *Disabled* by default.
//|
//| If you enable too many devices at once, you will run out of USB endpoints.
//| The number of available endpoints varies by microcontroller.
//| CircuitPython will go into safe mode after running boot.py to inform you if
//| not enough endpoints are available.
//| """
//| ... //| ...
//| //|
STATIC mp_obj_t usb_cdc_enable(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { STATIC mp_obj_t usb_cdc_enable(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {

View File

@ -37,12 +37,21 @@
//| //|
//| devices: Tuple[Device, ...] //| devices: Tuple[Device, ...]
//| """Tuple of all active HID device interfaces.""" //| """Tuple of all active HID device interfaces.
//| The default set of devices is ``Device.KEYBOARD, Device.MOUSE, Device.CONSUMER_CONTROL``,
//| On boards where `usb_hid` is disabled by default, `devices` is an empty tuple.
//| """
//| //|
//| def disable() -> None: //| def disable() -> None:
//| """Do not present any USB HID devices to the host computer. //| """Do not present any USB HID devices to the host computer.
//| Can be called in ``boot.py``, before USB is connected.""" //| Can be called in ``boot.py``, before USB is connected.
//| The HID composite device is normally enabled by default,
//| but on some boards with limited endpoints, including STM32F4,
//| it is disabled by default. You must turn off another USB device such
//| as `usb_cdc` or `storage` to free up endpoints for use by `usb_hid`.
//| """
//|
STATIC mp_obj_t usb_hid_disable(void) { STATIC mp_obj_t usb_hid_disable(void) {
if (!common_hal_usb_hid_disable()) { if (!common_hal_usb_hid_disable()) {
mp_raise_RuntimeError(translate("Cannot change USB devices now")); mp_raise_RuntimeError(translate("Cannot change USB devices now"));
@ -59,6 +68,11 @@ MP_DEFINE_CONST_FUN_OBJ_0(usb_hid_disable_obj, usb_hid_disable);
//| If `devices` is empty, HID is disabled. The order of the ``Devices`` //| If `devices` is empty, HID is disabled. The order of the ``Devices``
//| may matter to the host. For instance, for MacOS, put the mouse device //| may matter to the host. For instance, for MacOS, put the mouse device
//| before any Gamepad or Digitizer HID device or else it will not work. //| before any Gamepad or Digitizer HID device or else it will not work.
//|
//| If you enable too many devices at once, you will run out of USB endpoints.
//| The number of available endpoints varies by microcontroller.
//| CircuitPython will go into safe mode after running boot.py to inform you if
//| not enough endpoints are available.
//| """ //| """
//| ... //| ...
//| //|

View File

@ -45,7 +45,8 @@
//| def disable() -> None: //| def disable() -> None:
//| """Disable presenting a USB MIDI device to the host. //| """Disable presenting a USB MIDI device to the host.
//| The device is normally enabled by default. //| The device is normally enabled by default, but on some boards with limited endpoints
//| including ESP32-S2 and certain STM boards, it is disabled by default.
//| Can be called in ``boot.py``, before USB is connected.""" //| Can be called in ``boot.py``, before USB is connected."""
//| ... //| ...
//| //|
@ -60,7 +61,13 @@ MP_DEFINE_CONST_FUN_OBJ_0(usb_midi_disable_obj, usb_midi_disable);
//| def enable() -> None: //| def enable() -> None:
//| """Enable presenting a USB MIDI device to the host. //| """Enable presenting a USB MIDI device to the host.
//| The device is enabled by default, so you do not normally need to call this function. //| The device is enabled by default, so you do not normally need to call this function.
//| Can be called in ``boot.py``, before USB is connected.""" //| Can be called in ``boot.py``, before USB is connected.
//|
//| If you enable too many devices at once, you will run out of USB endpoints.
//| The number of available endpoints varies by microcontroller.
//| CircuitPython will go into safe mode after running boot.py to inform you if
//| not enough endpoints are available.
//| """
//| ... //| ...
//| //|
STATIC mp_obj_t usb_midi_enable(void) { STATIC mp_obj_t usb_midi_enable(void) {

View File

@ -63,7 +63,11 @@ static const uint8_t usb_msc_descriptor_template[] = {
0xFF, // 11 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number] 0xFF, // 11 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number]
#define MSC_IN_ENDPOINT_INDEX (11) #define MSC_IN_ENDPOINT_INDEX (11)
0x02, // 12 bmAttributes (Bulk) 0x02, // 12 bmAttributes (Bulk)
#if USB_HIGHSPEED
0x00, 0x02, // 13,14 wMaxPacketSize 512
#else
0x40, 0x00, // 13,14 wMaxPacketSize 64 0x40, 0x00, // 13,14 wMaxPacketSize 64
#endif
0x00, // 15 bInterval 0 (unit depends on device speed) 0x00, // 15 bInterval 0 (unit depends on device speed)
// MSC Endpoint OUT Descriptor // MSC Endpoint OUT Descriptor
@ -72,7 +76,11 @@ static const uint8_t usb_msc_descriptor_template[] = {
0xFF, // 18 bEndpointAddress (OUT/H2D) [SET AT RUNTIME] 0xFF, // 18 bEndpointAddress (OUT/H2D) [SET AT RUNTIME]
#define MSC_OUT_ENDPOINT_INDEX (18) #define MSC_OUT_ENDPOINT_INDEX (18)
0x02, // 19 bmAttributes (Bulk) 0x02, // 19 bmAttributes (Bulk)
#if USB_HIGHSPEED
0x00, 0x02, // 20,21 wMaxPacketSize 512
#else
0x40, 0x00, // 20,21 wMaxPacketSize 64 0x40, 0x00, // 20,21 wMaxPacketSize 64
#endif
0x00, // 22 bInterval 0 (unit depends on device speed) 0x00, // 22 bInterval 0 (unit depends on device speed)
}; };
@ -93,14 +101,18 @@ size_t storage_usb_descriptor_length(void) {
static const char storage_interface_name[] = USB_INTERFACE_NAME " Mass Storage"; static const char storage_interface_name[] = USB_INTERFACE_NAME " Mass Storage";
size_t storage_usb_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string) { size_t storage_usb_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string) {
memcpy(descriptor_buf, usb_msc_descriptor_template, sizeof(usb_msc_descriptor_template)); memcpy(descriptor_buf, usb_msc_descriptor_template, sizeof(usb_msc_descriptor_template));
descriptor_buf[MSC_INTERFACE_INDEX] = *current_interface; descriptor_buf[MSC_INTERFACE_INDEX] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
descriptor_buf[MSC_IN_ENDPOINT_INDEX] = 0x80 | (USB_MSC_EP_NUM_IN ? USB_MSC_EP_NUM_IN : *current_endpoint); descriptor_buf[MSC_IN_ENDPOINT_INDEX] =
descriptor_buf[MSC_OUT_ENDPOINT_INDEX] = USB_MSC_EP_NUM_OUT ? USB_MSC_EP_NUM_OUT : *current_endpoint; 0x80 | (USB_MSC_EP_NUM_IN ? USB_MSC_EP_NUM_IN : descriptor_counts->current_endpoint);
(*current_endpoint)++; descriptor_counts->num_in_endpoints++;
descriptor_buf[MSC_OUT_ENDPOINT_INDEX] =
USB_MSC_EP_NUM_OUT ? USB_MSC_EP_NUM_OUT : descriptor_counts->current_endpoint;
descriptor_counts->num_out_endpoints++;
descriptor_counts->current_endpoint++;
usb_add_interface_string(*current_interface_string, storage_interface_name); usb_add_interface_string(*current_interface_string, storage_interface_name);
descriptor_buf[MSC_INTERFACE_STRING_INDEX] = *current_interface_string; descriptor_buf[MSC_INTERFACE_STRING_INDEX] = *current_interface_string;

View File

@ -28,12 +28,13 @@
#define SHARED_MODULE_STORAGE___INIT___H #define SHARED_MODULE_STORAGE___INIT___H
#include "py/mpconfig.h" #include "py/mpconfig.h"
#include "supervisor/usb.h"
#if CIRCUITPY_USB #if CIRCUITPY_USB
bool storage_usb_enabled(void); bool storage_usb_enabled(void);
void storage_usb_set_defaults(void); void storage_usb_set_defaults(void);
size_t storage_usb_descriptor_length(void); size_t storage_usb_descriptor_length(void);
size_t storage_usb_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string); size_t storage_usb_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string);
#endif #endif
#endif // SHARED_MODULE_STORAGE___INIT___H #endif // SHARED_MODULE_STORAGE___INIT___H

View File

@ -121,7 +121,11 @@ static const uint8_t usb_cdc_descriptor_template[] = {
0xFF, // 54 bEndpointAddress (OUT/H2D) [SET AT RUNTIME] 0xFF, // 54 bEndpointAddress (OUT/H2D) [SET AT RUNTIME]
#define CDC_DATA_OUT_ENDPOINT_INDEX 54 #define CDC_DATA_OUT_ENDPOINT_INDEX 54
0x02, // 55 bmAttributes (Bulk) 0x02, // 55 bmAttributes (Bulk)
#if USB_HIGHSPEED
0x00, 0x02, // 56,57 wMaxPacketSize 512
#else
0x40, 0x00, // 56,57 wMaxPacketSize 64 0x40, 0x00, // 56,57 wMaxPacketSize 64
#endif
0x00, // 58 bInterval 0 (unit depends on device speed) 0x00, // 58 bInterval 0 (unit depends on device speed)
// CDC Data IN Endpoint Descriptor // CDC Data IN Endpoint Descriptor
@ -130,7 +134,11 @@ static const uint8_t usb_cdc_descriptor_template[] = {
0xFF, // 61 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number] 0xFF, // 61 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number]
#define CDC_DATA_IN_ENDPOINT_INDEX 61 #define CDC_DATA_IN_ENDPOINT_INDEX 61
0x02, // 62 bmAttributes (Bulk) 0x02, // 62 bmAttributes (Bulk)
#if USB_HIGHSPEED
0x00, 0x02, // 63,64 wMaxPacketSize 512
#else
0x40, 0x00, // 63,64 wMaxPacketSize 64 0x40, 0x00, // 63,64 wMaxPacketSize 64
#endif
0x00, // 65 bInterval 0 (unit depends on device speed) 0x00, // 65 bInterval 0 (unit depends on device speed)
}; };
@ -173,37 +181,39 @@ size_t usb_cdc_descriptor_length(void) {
return sizeof(usb_cdc_descriptor_template); return sizeof(usb_cdc_descriptor_template);
} }
size_t usb_cdc_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string, bool console) { size_t usb_cdc_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string, bool console) {
memcpy(descriptor_buf, usb_cdc_descriptor_template, sizeof(usb_cdc_descriptor_template)); memcpy(descriptor_buf, usb_cdc_descriptor_template, sizeof(usb_cdc_descriptor_template));
// Store comm interface number. // Store comm interface number.
descriptor_buf[CDC_FIRST_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_FIRST_INTERFACE_INDEX] = descriptor_counts->current_interface;
descriptor_buf[CDC_COMM_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_COMM_INTERFACE_INDEX] = descriptor_counts->current_interface;
descriptor_buf[CDC_UNION_MASTER_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_UNION_MASTER_INTERFACE_INDEX] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
// Now store data interface number. // Now store data interface number.
descriptor_buf[CDC_CALL_MANAGEMENT_DATA_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_CALL_MANAGEMENT_DATA_INTERFACE_INDEX] = descriptor_counts->current_interface;
descriptor_buf[CDC_UNION_SLAVE_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_UNION_SLAVE_INTERFACE_INDEX] = descriptor_counts->current_interface;
descriptor_buf[CDC_DATA_INTERFACE_INDEX] = *current_interface; descriptor_buf[CDC_DATA_INTERFACE_INDEX] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
descriptor_buf[CDC_CONTROL_IN_ENDPOINT_INDEX] = 0x80 | ( descriptor_buf[CDC_CONTROL_IN_ENDPOINT_INDEX] = 0x80 | (
console console
? (USB_CDC_EP_NUM_NOTIFICATION ? USB_CDC_EP_NUM_NOTIFICATION : *current_endpoint) ? (USB_CDC_EP_NUM_NOTIFICATION ? USB_CDC_EP_NUM_NOTIFICATION : descriptor_counts->current_endpoint)
: (USB_CDC2_EP_NUM_NOTIFICATION ? USB_CDC2_EP_NUM_NOTIFICATION : *current_endpoint)); : (USB_CDC2_EP_NUM_NOTIFICATION ? USB_CDC2_EP_NUM_NOTIFICATION : descriptor_counts->current_endpoint));
(*current_endpoint)++; descriptor_counts->num_in_endpoints++;
descriptor_counts->current_endpoint++;
descriptor_buf[CDC_DATA_OUT_ENDPOINT_INDEX] =
console
? (USB_CDC_EP_NUM_DATA_OUT ? USB_CDC_EP_NUM_DATA_OUT : *current_endpoint)
: (USB_CDC2_EP_NUM_DATA_OUT ? USB_CDC2_EP_NUM_DATA_OUT : *current_endpoint);
descriptor_buf[CDC_DATA_IN_ENDPOINT_INDEX] = 0x80 | ( descriptor_buf[CDC_DATA_IN_ENDPOINT_INDEX] = 0x80 | (
console console
? (USB_CDC_EP_NUM_DATA_IN ? USB_CDC_EP_NUM_DATA_IN : *current_endpoint) ? (USB_CDC_EP_NUM_DATA_IN ? USB_CDC_EP_NUM_DATA_IN : descriptor_counts->current_endpoint)
: (USB_CDC2_EP_NUM_DATA_IN ? USB_CDC2_EP_NUM_DATA_IN : *current_endpoint)); : (USB_CDC2_EP_NUM_DATA_IN ? USB_CDC2_EP_NUM_DATA_IN : descriptor_counts->current_endpoint));
(*current_endpoint)++; descriptor_counts->num_in_endpoints++;
descriptor_buf[CDC_DATA_OUT_ENDPOINT_INDEX] =
console
? (USB_CDC_EP_NUM_DATA_OUT ? USB_CDC_EP_NUM_DATA_OUT : descriptor_counts->current_endpoint)
: (USB_CDC2_EP_NUM_DATA_OUT ? USB_CDC2_EP_NUM_DATA_OUT : descriptor_counts->current_endpoint);
descriptor_counts->num_out_endpoints++;
descriptor_counts->current_endpoint++;
usb_add_interface_string(*current_interface_string, usb_add_interface_string(*current_interface_string,
console ? console_cdc_comm_interface_name : data_cdc_comm_interface_name); console ? console_cdc_comm_interface_name : data_cdc_comm_interface_name);

View File

@ -29,6 +29,7 @@
#include "py/mpconfig.h" #include "py/mpconfig.h"
#include "py/objtuple.h" #include "py/objtuple.h"
#include "supervisor/usb.h"
bool usb_cdc_console_enabled(void); bool usb_cdc_console_enabled(void);
bool usb_cdc_data_enabled(void); bool usb_cdc_data_enabled(void);
@ -36,6 +37,6 @@ bool usb_cdc_data_enabled(void);
void usb_cdc_set_defaults(void); void usb_cdc_set_defaults(void);
size_t usb_cdc_descriptor_length(void); size_t usb_cdc_descriptor_length(void);
size_t usb_cdc_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string, bool repl); size_t usb_cdc_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string, bool console);
#endif /* SHARED_MODULE_USB_CDC___INIT___H */ #endif /* SHARED_MODULE_USB_CDC___INIT___H */

View File

@ -113,11 +113,11 @@ size_t usb_hid_descriptor_length(void) {
static const char usb_hid_interface_name[] = USB_INTERFACE_NAME " HID"; static const char usb_hid_interface_name[] = USB_INTERFACE_NAME " HID";
// This is the interface descriptor, not the report descriptor. // This is the interface descriptor, not the report descriptor.
size_t usb_hid_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string, uint16_t report_descriptor_length) { size_t usb_hid_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string, uint16_t report_descriptor_length) {
memcpy(descriptor_buf, usb_hid_descriptor_template, sizeof(usb_hid_descriptor_template)); memcpy(descriptor_buf, usb_hid_descriptor_template, sizeof(usb_hid_descriptor_template));
descriptor_buf[HID_DESCRIPTOR_INTERFACE_INDEX] = *current_interface; descriptor_buf[HID_DESCRIPTOR_INTERFACE_INDEX] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
usb_add_interface_string(*current_interface_string, usb_hid_interface_name); usb_add_interface_string(*current_interface_string, usb_hid_interface_name);
descriptor_buf[HID_DESCRIPTOR_INTERFACE_STRING_INDEX] = *current_interface_string; descriptor_buf[HID_DESCRIPTOR_INTERFACE_STRING_INDEX] = *current_interface_string;
@ -126,9 +126,13 @@ size_t usb_hid_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interfac
descriptor_buf[HID_DESCRIPTOR_LENGTH_INDEX] = report_descriptor_length & 0xFF; descriptor_buf[HID_DESCRIPTOR_LENGTH_INDEX] = report_descriptor_length & 0xFF;
descriptor_buf[HID_DESCRIPTOR_LENGTH_INDEX + 1] = (report_descriptor_length >> 8); descriptor_buf[HID_DESCRIPTOR_LENGTH_INDEX + 1] = (report_descriptor_length >> 8);
descriptor_buf[HID_IN_ENDPOINT_INDEX] = 0x80 | (USB_HID_EP_NUM_IN ? USB_HID_EP_NUM_IN : *current_endpoint); descriptor_buf[HID_IN_ENDPOINT_INDEX] =
descriptor_buf[HID_OUT_ENDPOINT_INDEX] = USB_HID_EP_NUM_OUT ? USB_HID_EP_NUM_OUT : *current_endpoint; 0x80 | (USB_HID_EP_NUM_IN ? USB_HID_EP_NUM_IN : descriptor_counts->current_endpoint);
(*current_endpoint)++; descriptor_counts->num_in_endpoints++;
descriptor_buf[HID_OUT_ENDPOINT_INDEX] =
USB_HID_EP_NUM_OUT ? USB_HID_EP_NUM_OUT : descriptor_counts->current_endpoint;
descriptor_counts->num_out_endpoints++;
descriptor_counts->current_endpoint++;
return sizeof(usb_hid_descriptor_template); return sizeof(usb_hid_descriptor_template);
} }

View File

@ -28,13 +28,14 @@
#define SHARED_MODULE_USB_HID___INIT___H #define SHARED_MODULE_USB_HID___INIT___H
#include "shared-module/usb_hid/Device.h" #include "shared-module/usb_hid/Device.h"
#include "supervisor/usb.h"
extern usb_hid_device_obj_t usb_hid_devices[]; extern usb_hid_device_obj_t usb_hid_devices[];
bool usb_hid_enabled(void); bool usb_hid_enabled(void);
void usb_hid_set_defaults(void); void usb_hid_set_defaults(void);
size_t usb_hid_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string, uint16_t report_descriptor_length); size_t usb_hid_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string, uint16_t report_descriptor_length);
size_t usb_hid_descriptor_length(void); size_t usb_hid_descriptor_length(void);
size_t usb_hid_report_descriptor_length(void); size_t usb_hid_report_descriptor_length(void);

View File

@ -127,7 +127,11 @@ static const uint8_t usb_midi_descriptor_template[] = {
0xFF, // 66 bEndpointAddress (OUT/H2D) [SET AT RUNTIME] 0xFF, // 66 bEndpointAddress (OUT/H2D) [SET AT RUNTIME]
#define MIDI_STREAMING_OUT_ENDPOINT_INDEX (66) #define MIDI_STREAMING_OUT_ENDPOINT_INDEX (66)
0x02, // 67 bmAttributes (Bulk) 0x02, // 67 bmAttributes (Bulk)
#if USB_HIGHSPEED
0x00, 0x02, // 68,69 wMaxPacketSize (512)
#else
0x40, 0x00, // 68,69 wMaxPacketSize (64) 0x40, 0x00, // 68,69 wMaxPacketSize (64)
#endif
0x00, // 70 bInterval 0 (unit depends on device speed) 0x00, // 70 bInterval 0 (unit depends on device speed)
// MIDI Data Endpoint Descriptor // MIDI Data Endpoint Descriptor
@ -143,7 +147,11 @@ static const uint8_t usb_midi_descriptor_template[] = {
0xFF, // 78 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number] 0xFF, // 78 bEndpointAddress (IN/D2H) [SET AT RUNTIME: 0x80 | number]
#define MIDI_STREAMING_IN_ENDPOINT_INDEX (78) #define MIDI_STREAMING_IN_ENDPOINT_INDEX (78)
0x02, // 79 bmAttributes (Bulk) 0x02, // 79 bmAttributes (Bulk)
0x40, 0x00, // 8081 wMaxPacketSize 64 #if USB_HIGHSPEED
0x00, 0x02, // 80, 81 wMaxPacketSize (512)
#else
0x40, 0x00, // 80, 81 wMaxPacketSize (64)
#endif
0x00, // 82 bInterval 0 (unit depends on device speed) 0x00, // 82 bInterval 0 (unit depends on device speed)
// MIDI Data Endpoint Descriptor // MIDI Data Endpoint Descriptor
@ -175,36 +183,38 @@ static const char midi_audio_control_interface_name[] = USB_INTERFACE_NAME " Aud
static const char midi_in_jack_name[] = USB_INTERFACE_NAME " usb_midi.ports[0]"; static const char midi_in_jack_name[] = USB_INTERFACE_NAME " usb_midi.ports[0]";
static const char midi_out_jack_name[] = USB_INTERFACE_NAME " usb_midi.ports[0]"; static const char midi_out_jack_name[] = USB_INTERFACE_NAME " usb_midi.ports[0]";
size_t usb_midi_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string) { size_t usb_midi_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string) {
memcpy(descriptor_buf, usb_midi_descriptor_template, sizeof(usb_midi_descriptor_template)); memcpy(descriptor_buf, usb_midi_descriptor_template, sizeof(usb_midi_descriptor_template));
descriptor_buf[MIDI_AUDIO_CONTROL_INTERFACE_NUMBER_INDEX] = *current_interface; descriptor_buf[MIDI_AUDIO_CONTROL_INTERFACE_NUMBER_INDEX] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
descriptor_buf[MIDI_STREAMING_IN_ENDPOINT_INDEX] = descriptor_buf[MIDI_STREAMING_IN_ENDPOINT_INDEX] =
0x80 | (USB_MIDI_EP_NUM_IN ? USB_MIDI_EP_NUM_IN : *current_endpoint); 0x80 | (USB_MIDI_EP_NUM_IN ? USB_MIDI_EP_NUM_IN : descriptor_counts->current_endpoint);
descriptor_counts->num_in_endpoints++;
descriptor_buf[MIDI_STREAMING_OUT_ENDPOINT_INDEX] = descriptor_buf[MIDI_STREAMING_OUT_ENDPOINT_INDEX] =
USB_MIDI_EP_NUM_OUT ? USB_MIDI_EP_NUM_OUT : *current_endpoint; USB_MIDI_EP_NUM_OUT ? USB_MIDI_EP_NUM_OUT : descriptor_counts->current_endpoint;
(*current_endpoint)++; descriptor_counts->num_out_endpoints++;
descriptor_counts->current_endpoint++;
descriptor_buf[MIDI_STREAMING_INTERFACE_NUMBER_INDEX] = *current_interface; descriptor_buf[MIDI_STREAMING_INTERFACE_NUMBER_INDEX] = descriptor_counts->current_interface;
descriptor_buf[MIDI_STREAMING_INTERFACE_NUMBER_INDEX_2] = *current_interface; descriptor_buf[MIDI_STREAMING_INTERFACE_NUMBER_INDEX_2] = descriptor_counts->current_interface;
(*current_interface)++; descriptor_counts->current_interface++;
usb_add_interface_string(*current_interface_string, midi_streaming_interface_name); usb_add_interface_string(*current_interface_string, midi_streaming_interface_name);
descriptor_buf[MIDI_STREAMING_INTERFACE_STRING_INDEX] = *current_interface; descriptor_buf[MIDI_STREAMING_INTERFACE_STRING_INDEX] = *current_interface_string;
(*current_interface_string)++; (*current_interface_string)++;
usb_add_interface_string(*current_interface_string, midi_audio_control_interface_name); usb_add_interface_string(*current_interface_string, midi_audio_control_interface_name);
descriptor_buf[MIDI_AUDIO_CONTROL_INTERFACE_STRING_INDEX] = *current_interface; descriptor_buf[MIDI_AUDIO_CONTROL_INTERFACE_STRING_INDEX] = *current_interface_string;
(*current_interface_string)++; (*current_interface_string)++;
usb_add_interface_string(*current_interface_string, midi_in_jack_name); usb_add_interface_string(*current_interface_string, midi_in_jack_name);
descriptor_buf[MIDI_IN_JACK_STRING_INDEX] = *current_interface; descriptor_buf[MIDI_IN_JACK_STRING_INDEX] = *current_interface_string;
(*current_interface_string)++; (*current_interface_string)++;
usb_add_interface_string(*current_interface_string, midi_out_jack_name); usb_add_interface_string(*current_interface_string, midi_out_jack_name);
descriptor_buf[MIDI_OUT_JACK_STRING_INDEX] = *current_interface; descriptor_buf[MIDI_OUT_JACK_STRING_INDEX] = *current_interface_string;
(*current_interface_string)++; (*current_interface_string)++;
return sizeof(usb_midi_descriptor_template); return sizeof(usb_midi_descriptor_template);

View File

@ -27,11 +27,13 @@
#ifndef SHARED_MODULE_USB_MIDI___INIT___H #ifndef SHARED_MODULE_USB_MIDI___INIT___H
#define SHARED_MODULE_USB_MIDI___INIT___H #define SHARED_MODULE_USB_MIDI___INIT___H
#include "supervisor/usb.h"
bool usb_midi_enabled(void); bool usb_midi_enabled(void);
void usb_midi_set_defaults(void); void usb_midi_set_defaults(void);
void usb_midi_setup_ports(void); void usb_midi_setup_ports(void);
size_t usb_midi_descriptor_length(void); size_t usb_midi_descriptor_length(void);
size_t usb_midi_add_descriptor(uint8_t *descriptor_buf, uint8_t *current_interface, uint8_t *current_endpoint, uint8_t *current_interface_string); size_t usb_midi_add_descriptor(uint8_t *descriptor_buf, descriptor_counts_t *descriptor_counts, uint8_t *current_interface_string);
#endif /* SHARED_MODULE_USB_MIDI___INIT___H */ #endif /* SHARED_MODULE_USB_MIDI___INIT___H */

View File

@ -77,7 +77,7 @@ safe_mode_t wait_for_safe_mode_reset(void) {
uint64_t start_ticks = supervisor_ticks_ms64(); uint64_t start_ticks = supervisor_ticks_ms64();
uint64_t diff = 0; uint64_t diff = 0;
bool boot_in_safe_mode = false; bool boot_in_safe_mode = false;
while (diff < 700) { while (diff < 1000) {
#ifdef CIRCUITPY_STATUS_LED #ifdef CIRCUITPY_STATUS_LED
// Blink on for 100, off for 100, on for 100, off for 100 and on for 200 // Blink on for 100, off for 100, on for 100, off for 100 and on for 200
bool led_on = diff > 100 && diff / 100 != 2 && diff / 100 != 4; bool led_on = diff > 100 && diff / 100 != 2 && diff / 100 != 4;
@ -125,13 +125,17 @@ void __attribute__((noinline,)) reset_into_safe_mode(safe_mode_t reason) {
#define FILE_AN_ISSUE translate("\nPlease file an issue with the contents of your CIRCUITPY drive at \nhttps://github.com/adafruit/circuitpython/issues\n")
void print_safe_mode_message(safe_mode_t reason) { void print_safe_mode_message(safe_mode_t reason) {
if (reason == NO_SAFE_MODE) { if (reason == NO_SAFE_MODE) {
return; return;
} }
serial_write("\n");
serial_write("\r\n");
serial_write_compressed(translate("You are in safe mode because:\n"));
const compressed_string_t *message = NULL;
// First check for safe mode reasons that do not necessarily reflect bugs.
switch (reason) { switch (reason) {
case USER_SAFE_MODE: case USER_SAFE_MODE:
@ -141,40 +145,40 @@ void print_safe_mode_message(safe_mode_t reason) {
serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION); serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION);
serial_write_compressed(translate("To exit, please reset the board without ")); serial_write_compressed(translate("To exit, please reset the board without "));
serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION); serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION);
#else
break;
#endif #endif
return; break;
case MANUAL_SAFE_MODE: case MANUAL_SAFE_MODE:
serial_write_compressed(translate("CircuitPython is in safe mode because you pressed the reset button during boot. Press again to exit safe mode.\n")); message = translate("You pressed the reset button during boot. Press again to exit safe mode.");
return; break;
case PROGRAMMATIC_SAFE_MODE: case PROGRAMMATIC_SAFE_MODE:
serial_write_compressed(translate("The `microcontroller` module was used to boot into safe mode. Press reset to exit safe mode.\n")); message = translate("The `microcontroller` module was used to boot into safe mode. Press reset to exit safe mode.");
return; break;
case BROWNOUT:
message = translate("The microcontroller's power dipped. Make sure your power supply provides\nenough power for the whole circuit and press reset (after ejecting CIRCUITPY).");
break;
case USB_TOO_MANY_ENDPOINTS:
message = translate("USB devices need more endpoints than are available.");
break;
case USB_TOO_MANY_INTERFACE_NAMES:
message = translate("USB devices specify too many interface names.");
break;
case WATCHDOG_RESET:
message = translate("Watchdog timer expired.");
break;
default: default:
break; break;
} }
serial_write_compressed(translate("You are in safe mode: something unanticipated happened.\n")); if (message) {
switch (reason) { serial_write_compressed(message);
case BROWNOUT: serial_write("\r\n");
serial_write_compressed(translate("The microcontroller's power dipped. Make sure your power supply provides\nenough power for the whole circuit and press reset (after ejecting CIRCUITPY).\n")); return;
return;
case HEAP_OVERWRITTEN:
serial_write_compressed(translate("The CircuitPython heap was corrupted because the stack was too small.\nPlease increase the stack size if you know how, or if not:"));
serial_write_compressed(FILE_AN_ISSUE);
return;
case NO_HEAP:
serial_write_compressed(translate("CircuitPython was unable to allocate the heap.\n"));
serial_write_compressed(FILE_AN_ISSUE);
return;
default:
break;
} }
// Something worse happened.
serial_write_compressed(translate("CircuitPython core code crashed hard. Whoops!\n")); serial_write_compressed(translate("CircuitPython core code crashed hard. Whoops!\n"));
const compressed_string_t *message = NULL;
switch (reason) { switch (reason) {
case HARD_CRASH: case HARD_CRASH:
message = translate("Crash into the HardFault_Handler."); message = translate("Crash into the HardFault_Handler.");
@ -185,6 +189,12 @@ void print_safe_mode_message(safe_mode_t reason) {
case MICROPY_FATAL_ERROR: case MICROPY_FATAL_ERROR:
message = translate("Fatal error."); message = translate("Fatal error.");
break; break;
case NO_HEAP:
message = translate("CircuitPython was unable to allocate the heap.");
break;
case HEAP_OVERWRITTEN:
message = translate("The CircuitPython heap was corrupted because the stack was too small.\nIncrease the stack size if you know how. If not:");
break;
case GC_ALLOC_OUTSIDE_VM: case GC_ALLOC_OUTSIDE_VM:
message = translate("Attempted heap allocation when VM not running."); message = translate("Attempted heap allocation when VM not running.");
break; break;
@ -201,19 +211,10 @@ void print_safe_mode_message(safe_mode_t reason) {
case MEM_MANAGE: case MEM_MANAGE:
message = translate("Invalid memory access."); message = translate("Invalid memory access.");
break; break;
case WATCHDOG_RESET:
message = translate("Watchdog timer expired.");
break;
case USB_TOO_MANY_ENDPOINTS:
message = translate("USB devices need more endpoints than are available.");
break;
case USB_TOO_MANY_INTERFACE_NAMES:
message = translate("USB devices specify too many interface names.");
break;
default: default:
message = translate("Unknown reason."); message = translate("Unknown reason.");
break; break;
} }
serial_write_compressed(message); serial_write_compressed(message);
serial_write_compressed(FILE_AN_ISSUE); serial_write_compressed(translate("\nPlease file an issue with the contents of your CIRCUITPY drive at \nhttps://github.com/adafruit/circuitpython/issues\n"));
} }

Some files were not shown because too many files have changed in this diff Show More