Merge remote-tracking branch 'upstream/main' into nrf52-sleep
This commit is contained in:
commit
a702409983
19
.github/workflows/build.yml
vendored
19
.github/workflows/build.yml
vendored
@ -178,8 +178,13 @@ jobs:
|
||||
- "TG-Watch"
|
||||
- "adafruit_feather_rp2040"
|
||||
- "adafruit_itsybitsy_rp2040"
|
||||
- "adafruit_neokey_trinkey_m0"
|
||||
- "adafruit_proxlight_trinkey_m0"
|
||||
- "adafruit_qtpy_rp2040"
|
||||
- "adafruit_rotary_trinkey_m0"
|
||||
- "adafruit_slide_trinkey_m0"
|
||||
- "aloriumtech_evo_m51"
|
||||
- "aramcon2_badge"
|
||||
- "aramcon_badge_2019"
|
||||
- "arduino_mkr1300"
|
||||
- "arduino_mkrzero"
|
||||
@ -285,6 +290,8 @@ jobs:
|
||||
- "pewpew_m4"
|
||||
- "picoplanet"
|
||||
- "pimoroni_keybow2040"
|
||||
- "pimoroni_picolipo_16mb"
|
||||
- "pimoroni_picolipo_4mb"
|
||||
- "pimoroni_picosystem"
|
||||
- "pimoroni_tiny2040"
|
||||
- "pirkey_m0"
|
||||
@ -305,17 +312,18 @@ jobs:
|
||||
- "raspberry_pi_pico"
|
||||
- "raytac_mdbt50q-db-40"
|
||||
- "robohatmm1_m4"
|
||||
- "rotary_trinkey_m0"
|
||||
- "sam32"
|
||||
- "same54_xplained"
|
||||
- "seeeduino_wio_terminal"
|
||||
- "seeeduino_xiao"
|
||||
- "sensebox_mcu"
|
||||
- "serpente"
|
||||
- "shirtty"
|
||||
- "silicognition-m4-shim"
|
||||
- "simmel"
|
||||
- "snekboard"
|
||||
- "sparkfun_lumidrive"
|
||||
- "sparkfun_micromod_rp2040"
|
||||
- "sparkfun_nrf52840_micromod"
|
||||
- "sparkfun_nrf52840_mini"
|
||||
- "sparkfun_pro_micro_rp2040"
|
||||
@ -375,6 +383,8 @@ jobs:
|
||||
python3 --version
|
||||
- name: mpy-cross
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
- name: build
|
||||
run: python3 -u build_release_files.py
|
||||
working-directory: tools
|
||||
@ -424,6 +434,8 @@ jobs:
|
||||
python3 --version
|
||||
- name: mpy-cross
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
- name: build
|
||||
run: python3 -u build_release_files.py
|
||||
working-directory: tools
|
||||
@ -453,6 +465,7 @@ jobs:
|
||||
- "adafruit_magtag_2.9_grayscale"
|
||||
- "adafruit_metro_esp32s2"
|
||||
- "artisense_rd00"
|
||||
- "atmegazero_esp32s2"
|
||||
- "electroniccats_bastwifi"
|
||||
- "espressif_kaluga_1"
|
||||
- "espressif_saola_1_wroom"
|
||||
@ -485,7 +498,7 @@ jobs:
|
||||
id: idf-cache
|
||||
with:
|
||||
path: ${{ github.workspace }}/.idf_tools
|
||||
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210304
|
||||
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210415
|
||||
- name: Clone IDF submodules
|
||||
run: |
|
||||
(cd $IDF_PATH && git submodule update --init)
|
||||
@ -522,6 +535,8 @@ jobs:
|
||||
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
|
||||
- name: mpy-cross
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
- name: build
|
||||
run: |
|
||||
source $IDF_PATH/export.sh
|
||||
|
14
.github/workflows/match-build-fail.json
vendored
Normal file
14
.github/workflows/match-build-fail.json
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"severity": "error",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(Build .+ and \\x1b\\[31mfailed\\x1b\\[0m)$",
|
||||
"message": 1
|
||||
}
|
||||
],
|
||||
"owner": "build-failed"
|
||||
}
|
||||
]
|
||||
}
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -171,6 +171,9 @@
|
||||
[submodule "frozen/Adafruit_CircuitPython_LC709203F"]
|
||||
path = frozen/Adafruit_CircuitPython_LC709203F
|
||||
url = https://github.com/adafruit/Adafruit_CircuitPython_LC709203F
|
||||
[submodule "frozen/Adafruit_CircuitPython_SimpleMath"]
|
||||
path = frozen/Adafruit_CircuitPython_SimpleMath
|
||||
url = https://github.com/adafruit/Adafruit_CircuitPython_SimpleMath
|
||||
[submodule "ports/raspberrypi/sdk"]
|
||||
path = ports/raspberrypi/sdk
|
||||
url = https://github.com/adafruit/pico-sdk.git
|
||||
@ -178,3 +181,6 @@
|
||||
path = data/nvm.toml
|
||||
url = https://github.com/adafruit/nvm.toml.git
|
||||
branch = main
|
||||
[submodule "frozen/Adafruit_CircuitPython_MIDI"]
|
||||
path = frozen/Adafruit_CircuitPython_MIDI
|
||||
url = https://github.com/adafruit/Adafruit_CircuitPython_MIDI
|
||||
|
2
conf.py
2
conf.py
@ -489,6 +489,8 @@ class CoreModuleTransform(SphinxTransform):
|
||||
|
||||
def setup(app):
|
||||
app.add_css_file("customstyle.css")
|
||||
app.add_css_file("filter.css")
|
||||
app.add_js_file("filter.js")
|
||||
app.add_config_value('redirects_file', 'redirects', 'env')
|
||||
app.connect('builder-inited', generate_redirects)
|
||||
app.add_transform(CoreModuleTransform)
|
||||
|
@ -78,6 +78,10 @@ bleio_service_obj_t *common_hal_bleio_characteristic_get_service(bleio_character
|
||||
return self->service;
|
||||
}
|
||||
|
||||
size_t common_hal_bleio_characteristic_get_max_length(bleio_characteristic_obj_t *self) {
|
||||
return self->max_length;
|
||||
}
|
||||
|
||||
size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *self, uint8_t *buf, size_t len) {
|
||||
// Do GATT operations only if this characteristic has been added to a registered service.
|
||||
if (self->handle != BLE_GATT_HANDLE_INVALID) {
|
||||
|
@ -81,7 +81,7 @@ void bleio_packet_buffer_update(bleio_packet_buffer_obj_t *self, mp_buffer_info_
|
||||
|
||||
void common_hal_bleio_packet_buffer_construct(
|
||||
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
|
||||
size_t buffer_size) {
|
||||
size_t buffer_size, size_t max_packet_size) {
|
||||
|
||||
self->characteristic = characteristic;
|
||||
self->client = self->characteristic->service->is_remote;
|
||||
@ -101,7 +101,7 @@ void common_hal_bleio_packet_buffer_construct(
|
||||
}
|
||||
|
||||
if (incoming) {
|
||||
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + characteristic->max_length), false)) {
|
||||
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + max_packet_size), false)) {
|
||||
mp_raise_ValueError(translate("Buffer too large and unable to allocate"));
|
||||
}
|
||||
}
|
||||
@ -110,12 +110,13 @@ void common_hal_bleio_packet_buffer_construct(
|
||||
self->packet_queued = false;
|
||||
self->pending_index = 0;
|
||||
self->pending_size = 0;
|
||||
self->outgoing[0] = m_malloc(characteristic->max_length, false);
|
||||
self->outgoing[1] = m_malloc(characteristic->max_length, false);
|
||||
self->outgoing[0] = m_malloc(max_packet_size, false);
|
||||
self->outgoing[1] = m_malloc(max_packet_size, false);
|
||||
} else {
|
||||
self->outgoing[0] = NULL;
|
||||
self->outgoing[1] = NULL;
|
||||
}
|
||||
self->max_packet_size = max_packet_size;
|
||||
|
||||
bleio_characteristic_set_observer(self->characteristic, self);
|
||||
}
|
||||
@ -243,7 +244,8 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
|
||||
if (self->conn_handle != BLE_CONN_HANDLE_INVALID) {
|
||||
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
|
||||
if (connection) {
|
||||
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
|
||||
return MIN(MIN(common_hal_bleio_connection_get_max_packet_length(connection),
|
||||
self->max_packet_size),
|
||||
self->characteristic->max_length);
|
||||
}
|
||||
}
|
||||
@ -251,7 +253,7 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
|
||||
// we can't tell what the largest outgoing packet length would be.
|
||||
return -1;
|
||||
}
|
||||
return self->characteristic->max_length;
|
||||
return MIN(self->characteristic->max_length, self->max_packet_size);
|
||||
}
|
||||
|
||||
bool common_hal_bleio_packet_buffer_deinited(bleio_packet_buffer_obj_t *self) {
|
||||
|
@ -42,6 +42,7 @@ typedef struct {
|
||||
// We remember the conn_handle so we can do a NOTIFY/INDICATE to a client.
|
||||
// We can find out the conn_handle on a Characteristic write or a CCCD write (but not a read).
|
||||
volatile uint16_t conn_handle;
|
||||
uint16_t max_packet_size;
|
||||
uint8_t pending_index;
|
||||
uint8_t write_type;
|
||||
bool client;
|
||||
|
17
docs/static/filter.css
vendored
Normal file
17
docs/static/filter.css
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
#support-matrix-filter-block { position: relative; }
|
||||
#support-matrix-filter {
|
||||
width: 100%;
|
||||
}
|
||||
#support-matrix-filter-num {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 4px;
|
||||
}
|
||||
.support-matrix-table .this_module code,
|
||||
.support-matrix-table .this_module span {
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
.support-matrix-table .board_hidden {
|
||||
display: none;
|
||||
}
|
86
docs/static/filter.js
vendored
Normal file
86
docs/static/filter.js
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
$(() => {
|
||||
var urlTimeout = null;
|
||||
function setURL(query, value) {
|
||||
clearTimeout(urlTimeout);
|
||||
|
||||
urlTimeout = setTimeout(function() {
|
||||
var url = new URL(window.location.href);
|
||||
console.log(query,value,value.length,!value.length);
|
||||
if (!value.length) {
|
||||
console.log
|
||||
url.searchParams.delete(query);
|
||||
} else if (Array.isArray(value)) {
|
||||
url.searchParams.delete(query);
|
||||
value.forEach(function(v) {
|
||||
url.searchParams.append(query, v);
|
||||
})
|
||||
} else {
|
||||
url.searchParams.set(query, value);
|
||||
}
|
||||
|
||||
window.history.pushState(null, document.title, url.href);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function handlePageLoad() {
|
||||
var url = new URL(window.location.href);
|
||||
//get values from URL
|
||||
var filters = url.searchParams.getAll('filter');
|
||||
search_terms = filters.join(" ");
|
||||
$("#support-matrix-filter").val(search_terms);
|
||||
run_filter();
|
||||
}
|
||||
|
||||
function filter_boards(search_string) {
|
||||
$(".board_hidden").removeClass("board_hidden");
|
||||
$(".this_module").removeClass("this_module");
|
||||
var nboards = $(".support-matrix-table tbody tr").length;
|
||||
if(search_string.trim() == "") {
|
||||
$("#support-matrix-filter-num").html("(all)");
|
||||
setURL("filter",[]);
|
||||
return;
|
||||
}
|
||||
var list_search = search_string.split(" ").filter(i => i);
|
||||
var nvisible = 0;
|
||||
$(".support-matrix-table tbody tr").each( (index,item) => {
|
||||
var name = $(item).find("td:first-child p").html();
|
||||
var modules = $(item).find("a.reference.internal");
|
||||
var matching_all = true;
|
||||
//
|
||||
list_search.forEach((sstring) => {
|
||||
var matching = (sstring[0] == "-");
|
||||
for(var modi = 0; modi < modules.length; ++modi) {
|
||||
module = modules[modi];
|
||||
var mod_name = module.firstChild.firstChild.textContent;
|
||||
if(sstring[0] == "-") {
|
||||
if(mod_name.match(sstring.substr(1))) {
|
||||
matching = false;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if(mod_name.match(sstring)) {
|
||||
$(module).addClass("this_module");
|
||||
matching = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
matching_all = matching_all && matching;
|
||||
});
|
||||
if(!matching_all) {
|
||||
$(item).addClass("board_hidden");
|
||||
} else {
|
||||
nvisible += 1;
|
||||
}
|
||||
});
|
||||
$("#support-matrix-filter-num").html(`(${nvisible}/${nboards})`);
|
||||
setURL("filter",list_search);
|
||||
}
|
||||
|
||||
function run_filter() {
|
||||
var search_string = $("#support-matrix-filter").val();
|
||||
filter_boards(search_string);
|
||||
}
|
||||
$("#support-matrix-filter").on("keyup", run_filter);
|
||||
// $(document).on("keyup", "#support-matrix-filter", run_filter);
|
||||
handlePageLoad();
|
||||
});
|
1
frozen/Adafruit_CircuitPython_MIDI
Submodule
1
frozen/Adafruit_CircuitPython_MIDI
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 669ab7b752d6c863577312560faf505656e5e603
|
1
frozen/Adafruit_CircuitPython_SimpleMath
Submodule
1
frozen/Adafruit_CircuitPython_SimpleMath
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit cdf99447307473080b2f2e95e7c3667247095ac0
|
@ -1 +1 @@
|
||||
Subproject commit c2c81ded118484f8925bf81e270b416739cd72d9
|
||||
Subproject commit 98017c57349e259fab70c6a7830436b19a55f6f4
|
74
locale/ID.po
74
locale/ID.po
@ -445,8 +445,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "Mencoba alokasi heap ketika MicroPython VM tidak berjalan."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -899,6 +899,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Channel EXTINT sedang digunakan"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Error pada regex"
|
||||
@ -1028,6 +1033,10 @@ msgstr "Gagal melepaskan mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Gagal menulis flash internal."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "File sudah ada"
|
||||
@ -1100,10 +1109,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1229,6 +1234,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Pin DAC yang diberikan tidak valid"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1420,14 +1429,6 @@ msgstr "Nilai x maksimum ketika dicerminkan adalah %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "Lompatan NLR MicroPython gagal. Kemungkinan kerusakan memori."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Kesalahan fatal MicroPython."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Penundaan mulai mikrofon harus dalam kisaran 0,0 hingga 1,0"
|
||||
@ -1479,6 +1480,10 @@ msgstr "Harus menyediakan pin MISO atau MOSI"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Harus menggunakan kelipatan 6 pin rgb, bukan %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1623,6 +1628,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -1847,8 +1853,8 @@ msgstr "Buffer awalan harus ada di heap"
|
||||
#: main.c
|
||||
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
||||
msgstr ""
|
||||
"Tekan sembarang tombol untuk masuk ke REPL. Tekan CTRL-D untuk memuat ulang."
|
||||
"\n"
|
||||
"Tekan sembarang tombol untuk masuk ke REPL. Tekan CTRL-D untuk memuat "
|
||||
"ulang.\n"
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
@ -2543,10 +2549,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2988,7 +2990,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3244,6 +3246,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "cert tidak valid"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "indeks dupterm tidak valid"
|
||||
@ -3299,10 +3305,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3763,6 +3765,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3788,6 +3791,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4061,10 +4068,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4199,10 +4202,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4289,6 +4288,15 @@ msgstr "zi harus berjenis float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "Mencoba alokasi heap ketika MicroPython VM tidak berjalan."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "Lompatan NLR MicroPython gagal. Kemungkinan kerusakan memori."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Kesalahan fatal MicroPython."
|
||||
|
||||
#~ msgid "Nordic Soft Device failure assertion."
|
||||
#~ msgstr "Pernyataan kegagalan Perangkat Lunak Nordic."
|
||||
|
||||
|
@ -442,7 +442,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -884,6 +884,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
@ -1013,6 +1018,10 @@ msgstr ""
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr ""
|
||||
@ -1085,10 +1094,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1212,6 +1217,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1404,14 +1413,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1463,6 +1464,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1607,6 +1612,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2133,7 +2139,7 @@ msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
msgid "Total data to write is larger than outgoing_packet_length"
|
||||
msgid "Total data to write is larger than %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
@ -2500,10 +2506,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2945,7 +2947,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3201,6 +3203,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr ""
|
||||
@ -3256,10 +3262,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3719,6 +3721,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3744,6 +3747,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4017,10 +4024,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4155,10 +4158,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
|
59
locale/cs.po
59
locale/cs.po
@ -441,7 +441,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -882,6 +882,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
@ -1011,6 +1016,10 @@ msgstr ""
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr ""
|
||||
@ -1083,10 +1092,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1210,6 +1215,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1401,14 +1410,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1460,6 +1461,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1604,6 +1609,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2496,10 +2502,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2941,7 +2943,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3197,6 +3199,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr ""
|
||||
@ -3252,10 +3258,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3715,6 +3717,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3740,6 +3743,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4013,10 +4020,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4151,10 +4154,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
|
@ -447,10 +447,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Versuche %d Blöcke zu allokieren"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
"Versuch einer Heap Reservierung, wenn die MicroPython-VM nicht ausgeführt "
|
||||
"wird."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -899,6 +897,11 @@ msgstr "ESP-IDF Speicherallozierung fehlgeschlagen"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINT Kanal ist schon in Benutzung"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Fehler in regex"
|
||||
@ -1029,6 +1032,10 @@ msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Interner Flash konnte nicht geschrieben werden."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Datei existiert"
|
||||
@ -1103,10 +1110,6 @@ msgstr "I2C Peripherie in Verwendung"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut nicht verfügbar"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOs 0, 2 & 4 unterstützen keinen internen Pull up im sleep-Modus"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1232,6 +1235,10 @@ msgstr "Ungültige BSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Ungültiger DAC-Pin angegeben"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1423,15 +1430,6 @@ msgstr "Maximaler x-Wert beim Spiegeln ist %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
"MicroPython NLR-Sprung fehlgeschlagen. Wahrscheinlich Speicherbeschädigung."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Schwerwiegender MicroPython-Fehler."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1484,6 +1482,10 @@ msgstr "Muss MISO- oder MOSI-Pin bereitstellen"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Muss ein Vielfaches von 6 RGB-Pins verwenden, nicht %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1628,6 +1630,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2560,10 +2563,6 @@ msgstr "Zweig ist außerhalb der Reichweite"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "Puffer muss ein bytes-artiges Objekt sein"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -3017,7 +3016,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: einzelne '}' nicht erlaubt"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein"
|
||||
|
||||
@ -3275,6 +3274,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "ungültiges cert"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "ungültiger dupterm index"
|
||||
@ -3330,10 +3333,6 @@ msgstr "ungültige Syntax für integer mit Basis %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "ungültige Syntax für number"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 muss eine Klasse sein"
|
||||
@ -3803,6 +3802,7 @@ msgstr "pow () mit 3 Argumenten erfordert Integer"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3828,6 +3828,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4104,10 +4108,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tupel/list hat falsche Länge"
|
||||
@ -4246,10 +4246,6 @@ msgstr "Wert muss in %d Byte(s) passen"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count muss größer als 0 sein"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4336,6 +4332,25 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOs 0, 2 & 4 unterstützen keinen internen Pull up im sleep-Modus"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "Puffer muss ein bytes-artiges Objekt sein"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr ""
|
||||
#~ "Versuch einer Heap Reservierung, wenn die MicroPython-VM nicht ausgeführt "
|
||||
#~ "wird."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr ""
|
||||
#~ "MicroPython NLR-Sprung fehlgeschlagen. Wahrscheinlich "
|
||||
#~ "Speicherbeschädigung."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Schwerwiegender MicroPython-Fehler."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "Argument muss ein ndarray sein"
|
||||
|
||||
|
59
locale/el.po
59
locale/el.po
@ -438,7 +438,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -879,6 +879,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
@ -1008,6 +1013,10 @@ msgstr ""
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr ""
|
||||
@ -1080,10 +1089,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1207,6 +1212,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1398,14 +1407,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1457,6 +1458,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1601,6 +1606,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2493,10 +2499,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2938,7 +2940,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3194,6 +3196,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr ""
|
||||
@ -3249,10 +3255,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3712,6 +3714,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3737,6 +3740,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4010,10 +4017,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4148,10 +4151,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
|
@ -7,15 +7,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2021-03-25 23:30+0000\n"
|
||||
"Last-Translator: Gareth Coleman <gareth@sublime.org>\n"
|
||||
"PO-Revision-Date: 2021-04-11 01:30+0000\n"
|
||||
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.5.2-dev\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -447,9 +447,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Attempt to allocate %d blocks"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
#, fuzzy
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "Attempted heap allocation when CircuitPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -895,6 +894,11 @@ msgstr "ESP-IDF memory allocation failed"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINT channel already in use"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Error in regex"
|
||||
@ -1024,6 +1028,10 @@ msgstr "Failed to release mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Failed to write internal flash."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "File exists"
|
||||
@ -1096,10 +1104,6 @@ msgstr "I2C peripheral in use"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut not available"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1225,6 +1229,10 @@ msgstr "Invalid BSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Invalid DAC pin supplied"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1416,16 +1424,6 @@ msgstr "Maximum x value when mirrored is %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Messages limited to 8 bytes"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
#, fuzzy
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "CircuitPython NLR jump failed. Likely memory corruption."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
#, fuzzy
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "CircuitPython fatal error."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
@ -1477,6 +1475,10 @@ msgstr "Must provide MISO or MOSI pin"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Must use a multiple of 6 rgb pins, not %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS Error"
|
||||
@ -1621,6 +1623,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Not a valid IP string"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2540,10 +2543,6 @@ msgstr "Branch not in range"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "Buffer is smaller than requested size"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "Buffer must be a bytes-like object"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "Buffer size must be a multiple of element size"
|
||||
@ -2988,7 +2987,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: single '}' is not allowed"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file must be a file opened in byte mode"
|
||||
|
||||
@ -3244,6 +3243,10 @@ msgstr "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "invalid cert"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "invalid dupterm index"
|
||||
@ -3300,10 +3303,6 @@ msgstr "invalid syntax for integer with base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "invalid syntax for number"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "io must be rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 must be a class"
|
||||
@ -3763,6 +3762,7 @@ msgstr "pow() with 3 arguments requires integers"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3788,6 +3788,10 @@ msgstr "pressing boot button at start up.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "pressing both buttons at start up.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "pull masks conflict with direction masks"
|
||||
@ -4063,10 +4067,6 @@ msgstr "trapz is defined for 1D arrays"
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapz is defined for 1D arrays of equal length"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "trigger level must be 0 or 1"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tuple/list has wrong length"
|
||||
@ -4201,10 +4201,6 @@ msgstr "value must fit in %d byte(s)"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count must be > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "wakeup conflict"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "WatchDog not initialised"
|
||||
@ -4291,6 +4287,31 @@ msgstr "zi must be of float type"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi must be of shape (n_section, 2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "Buffer must be a bytes-like object"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "io must be rtc io"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "trigger level must be 0 or 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "wakeup conflict"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "Attempted heap allocation when MicroPython VM not running."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLR jump failed. Likely memory corruption."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "CircuitPython fatal error."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "argument must be ndarray"
|
||||
|
||||
|
97
locale/es.po
97
locale/es.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-04-05 22:35+0000\n"
|
||||
"Last-Translator: Jose David M <jquintana202020@gmail.com>\n"
|
||||
"PO-Revision-Date: 2021-04-15 14:26+0000\n"
|
||||
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -426,7 +426,7 @@ msgstr "El pin proporcionado no soporta AnalogOut"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
msgstr "Otra salida PWMAudioOut esta ya activada"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
@ -451,10 +451,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Tratando de localizar %d bloques"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr ""
|
||||
"Se intentó asignación del montículo, sin que la VM de MicroPython esté "
|
||||
"ejecutando."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "Asignación del montículo mientras la VM no esta ejecutándose."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -905,6 +903,11 @@ msgstr "Fallo ESP-IDF al tomar la memoria"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "El canal EXTINT ya está siendo utilizado"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr "Error en el flujo MIDI en la posición %d"
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Error en regex"
|
||||
@ -1007,7 +1010,7 @@ msgstr "Fallo al tomar memoria para búsqueda wifi"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Failed to buffer the sample"
|
||||
msgstr ""
|
||||
msgstr "Fallo al hacer el búfer de la muestra"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "Failed to connect: internal error"
|
||||
@ -1034,6 +1037,10 @@ msgstr "No se puede liberar el mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Error al escribir el flash interno."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr "Error grave."
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "El archivo ya existe"
|
||||
@ -1107,10 +1114,6 @@ msgstr "Dispositivo I2C en uso"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut no disponible"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOs 0, 2 y 4 no soportan pullup interno durante sleep"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1243,6 +1246,10 @@ msgstr "BSSID inválido"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Pin suministrado inválido para DAC"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr "Archivo MIDI inválido"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1434,14 +1441,6 @@ msgstr "Valor máximo de x cuando se refleja es %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Mensajes limitados a 8 bytes"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "MicroPython NLR jump falló. Probable corrupción de la memoria."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Error fatal de MicroPython."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Micrófono demora de inicio debe estar en el rango 0.0 a 1.0"
|
||||
@ -1497,6 +1496,10 @@ msgstr "Debe proporcionar un pin MISO o MOSI"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Debe usar un múltiplo de 6 pines rgb, no %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr "Salto NLR falló. Probablemente corrupción de memoria."
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "Error NVS"
|
||||
@ -1641,6 +1644,7 @@ msgstr "El firmware del sistema Nordic no tiene memoria"
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "No es una cadena de IP válida"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2573,10 +2577,6 @@ msgstr "la rama no está dentro del rango"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "El buffer es mas pequeño que el requerido"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer debe de ser un objeto bytes-like"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "El tamaño del buffer debe ser un múltiplo del tamaño del elemento"
|
||||
@ -3025,7 +3025,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "cadena-f: solo '}' no está permitido"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "el archivo deberia ser una archivo abierto en modo byte"
|
||||
|
||||
@ -3281,6 +3281,10 @@ msgstr "los bits_per_pixel %d no son validos, deben ser 1, 4, 8, 16, 24 o 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "certificado inválido"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr "decorador invalido"
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "index dupterm inválido"
|
||||
@ -3336,10 +3340,6 @@ msgstr "sintaxis inválida para entero con base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "sintaxis inválida para número"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "io debe ser rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 debe ser una clase"
|
||||
@ -3806,6 +3806,7 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3831,6 +3832,10 @@ msgstr "presionando botón de arranque al inicio.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "presionando ambos botones al inicio.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "máscara de pull en conflicto con máscara de dirección"
|
||||
@ -4107,10 +4112,6 @@ msgstr "trapz esta definido para matrices 1D"
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapz está definido para arreglos 1D de igual tamaño"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "nivel de accionamiento debe ser 0 o 1"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tupla/lista tiene una longitud incorrecta"
|
||||
@ -4245,10 +4246,6 @@ msgstr "el valor debe caber en %d byte(s)"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count debe ser > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "conflicto de wakeup"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "watchdog no inicializado"
|
||||
@ -4335,6 +4332,32 @@ msgstr "zi debe ser de tipo flotante"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi debe ser una forma (n_section,2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOs 0, 2 y 4 no soportan pullup interno durante sleep"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "buffer debe de ser un objeto bytes-like"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "io debe ser rtc io"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "nivel de accionamiento debe ser 0 o 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "conflicto de wakeup"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr ""
|
||||
#~ "Se intentó asignación del montículo, sin que la VM de MicroPython esté "
|
||||
#~ "ejecutando."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLR jump falló. Probable corrupción de la memoria."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Error fatal de MicroPython."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "argumento debe ser ndarray"
|
||||
|
||||
|
@ -441,7 +441,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -890,6 +890,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Ginagamit na ang EXTINT channel"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "May pagkakamali sa REGEX"
|
||||
@ -1021,6 +1026,10 @@ msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Mayroong file"
|
||||
@ -1093,10 +1102,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1222,6 +1227,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1413,14 +1422,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Ang delay ng startup ng mikropono ay dapat na nasa 0.0 hanggang 1.0"
|
||||
@ -1472,6 +1473,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1616,6 +1621,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
#, fuzzy
|
||||
@ -2523,10 +2529,6 @@ msgstr "branch wala sa range"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer ay dapat bytes-like object"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2980,7 +2982,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file ay dapat buksan sa byte mode"
|
||||
|
||||
@ -3237,6 +3239,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "mali ang cert"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "mali ang dupterm index"
|
||||
@ -3292,10 +3298,6 @@ msgstr "maling sintaks sa integer na may base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "maling sintaks sa number"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 ay dapat na class"
|
||||
@ -3761,6 +3763,7 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3786,6 +3789,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4063,10 +4070,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "mali ang haba ng tuple/list"
|
||||
@ -4201,10 +4204,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4293,6 +4292,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "buffer ay dapat bytes-like object"
|
||||
|
||||
#~ msgid "Group full"
|
||||
#~ msgstr "Puno ang group"
|
||||
|
||||
|
169
locale/fr.po
169
locale/fr.po
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-04-03 21:57+0000\n"
|
||||
"PO-Revision-Date: 2021-04-17 03:26+0000\n"
|
||||
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -426,7 +426,7 @@ msgstr "'AnalogOut' n'est pas supporté sur la broche indiquée"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
msgstr "Un autre PWMAudioOut est déjà actif"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
@ -435,11 +435,11 @@ msgstr "Un autre envoi est déjà actif"
|
||||
|
||||
#: shared-bindings/pulseio/PulseOut.c
|
||||
msgid "Array must contain halfwords (type 'H')"
|
||||
msgstr "Le tableau doit contenir des demi-mots (type 'H')"
|
||||
msgstr "La matrice doit contenir des demi-mots (type 'H')"
|
||||
|
||||
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "Array values should be single bytes."
|
||||
msgstr "Les valeurs du tableau doivent être des octets singuliers."
|
||||
msgstr "Les valeurs de la matrice doivent être des octets singuliers."
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c
|
||||
msgid "At most %d %q may be specified (not %d)"
|
||||
@ -451,10 +451,10 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Tentative d'allocation de %d blocs"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
"Tentative d'allocation de segments lorsque la machine virtuelle MicroPython "
|
||||
"n'est pas en cours d'exécution."
|
||||
"Tentative d'allocation à la pile quand la Machine Virtuelle n'est pas en "
|
||||
"exécution."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -911,6 +911,11 @@ msgstr "ESP-IDF échec d'allocation de la mémoire"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Canal EXTINT déjà utilisé"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr "Erreur dans le flot MIDI à la position %d"
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Erreur dans l'expression régulière"
|
||||
@ -973,7 +978,7 @@ msgstr "La FFT est définie uniquement pour les ndarrays"
|
||||
|
||||
#: extmod/ulab/code/numpy/fft/fft_tools.c
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT n'est implémenté que pour les tableaux linéaires"
|
||||
msgstr "FFT n'est implémenté que pour les matrices linéaires"
|
||||
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
@ -1014,7 +1019,7 @@ msgstr "Impossible d'allouer la mémoire pour le scan wifi"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Failed to buffer the sample"
|
||||
msgstr ""
|
||||
msgstr "Échec du tamponage de l'échantillon"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "Failed to connect: internal error"
|
||||
@ -1041,6 +1046,10 @@ msgstr "Impossible de libérer mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Échec de l'écriture vers flash interne."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr "Erreurre fatale."
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Le fichier existe"
|
||||
@ -1115,10 +1124,6 @@ msgstr "périphérique I2C utilisé"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut n'est pas disponible"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOs 0, 2 & 4 ne supportent pas l'éleveuse interne en mode someil"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1253,6 +1258,10 @@ msgstr "BSSID invalide"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Broche DAC non valide fournie"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr "Fichier MIDI invalide"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1444,14 +1453,6 @@ msgstr "La valeur maximale de x est %d lors d'une opération miroir"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Messages limités à 8 octets"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "Échec du saut MicroPython NLR. Corruption de la mémoire probable."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Erreur fatale MicroPython."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Le délais au démarrage du micro doit être entre 0.0 et 1.0"
|
||||
@ -1505,6 +1506,10 @@ msgstr "Doit fournir une broche MISO ou MOSI"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Doit utiliser un multiple de 6 broches RVB, pas %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr "Saut NLR échoué. Corruption de mémoire probable."
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "Erreur NVS"
|
||||
@ -1649,6 +1654,7 @@ msgstr "Logiciel systême Nordic hors de mémoire"
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Chaîne IP non valide"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2494,11 +2500,11 @@ msgstr "l'argument est une séquence vide"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "argsort argument must be an ndarray"
|
||||
msgstr "L'argument argsort doit être un ndarray"
|
||||
msgstr "Le paramêtre argsort doit être un ndarray"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "argsort is not implemented for flattened arrays"
|
||||
msgstr "argsort n'est pas mis en œuvre pour les tableaux aplatis"
|
||||
msgstr "argsort n'est pas mis en œuvre pour les matrices aplatis"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "argument has wrong type"
|
||||
@ -2520,12 +2526,12 @@ msgstr "les paramètres doivent être des ndarrays"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array and index length must be equal"
|
||||
msgstr "la longueur du tableau et de l'index doivent être égaux"
|
||||
msgstr "la taille de la matrice et de l'index doivent être égaux"
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
msgstr "tableau/octets requis à droite"
|
||||
msgstr "matrice/octets requis à la droite"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "attempt to get (arg)min/(arg)max of empty sequence"
|
||||
@ -2587,10 +2593,6 @@ msgstr "branche hors-bornes"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "tampon est plus petit que la taille demandée"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "le tampon doit être un objet bytes-like"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "taille du tampon doit être un multiple de la taille de l'élement"
|
||||
@ -2828,8 +2830,7 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
"le tampon de couleur doit être un bytearray ou un tableau de type 'b' ou 'B'"
|
||||
msgstr "tampon color doit être un bytearray ou une matrice de type 'b' ou 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
@ -2861,11 +2862,11 @@ msgstr "conversion en objet"
|
||||
|
||||
#: extmod/ulab/code/numpy/filter/filter.c
|
||||
msgid "convolve arguments must be linear arrays"
|
||||
msgstr "les arguments convolve doivent être des tableaux linéaires"
|
||||
msgstr "les paramêtres pour convolve doivent être des matrices linéaires"
|
||||
|
||||
#: extmod/ulab/code/numpy/filter/filter.c
|
||||
msgid "convolve arguments must be ndarrays"
|
||||
msgstr "les arguments convolve doivent être des ndarrays"
|
||||
msgstr "les paramêtres pour convolve doivent être des ndarrays"
|
||||
|
||||
#: extmod/ulab/code/numpy/filter/filter.c
|
||||
msgid "convolve arguments must not be empty"
|
||||
@ -2881,7 +2882,7 @@ msgstr "impossible de déterminer la version de la carte SD"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "cross is defined for 1D arrays of length 3"
|
||||
msgstr "cross est défini pour les tableaux 1D de longueur 3"
|
||||
msgstr "cross est défini pour les matrices 1D de longueur 3"
|
||||
|
||||
#: extmod/ulab/code/scipy/optimize/optimize.c
|
||||
msgid "data must be iterable"
|
||||
@ -2911,12 +2912,13 @@ msgstr "default n'est pas une fonction"
|
||||
msgid ""
|
||||
"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8"
|
||||
msgstr ""
|
||||
"le tampon de destination doit être un tableau de type 'B' pour bit_depth = 8"
|
||||
"le tampon de destination doit être une matrice de type 'B' pour bit_depth = 8"
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "destination buffer must be an array of type 'H' for bit_depth = 16"
|
||||
msgstr ""
|
||||
"le tampon de destination doit être un tableau de type 'H' pour bit_depth = 16"
|
||||
"le tampon de destination doit être une matrice de type 'H' pour bit_depth = "
|
||||
"16"
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "destination_length must be an int >= 0"
|
||||
@ -2928,7 +2930,7 @@ msgstr "la séquence de mise à jour de dict a une mauvaise longueur"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "diff argument must be an ndarray"
|
||||
msgstr "l'argument diff doit être un ndarray"
|
||||
msgstr "le paramêtre diff doit être un ndarray"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "differentiation order out of range"
|
||||
@ -3047,7 +3049,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string : single '}' n'est pas autorisé"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "le fichier doit être un fichier ouvert en mode 'byte'"
|
||||
|
||||
@ -3065,11 +3067,11 @@ msgstr "le premier argument doit être une fonction"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "first argument must be a tuple of ndarrays"
|
||||
msgstr "le premier argument doit être un tuple de ndarrays"
|
||||
msgstr "le premier paramêtre doit être un tuple de ndarrays"
|
||||
|
||||
#: extmod/ulab/code/numpy/vector/vector.c
|
||||
msgid "first argument must be an ndarray"
|
||||
msgstr "le premier argument doit être un ndarray"
|
||||
msgstr "le premier paramêtre doit être un ndarray"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "first argument to super() must be type"
|
||||
@ -3081,7 +3083,7 @@ msgstr "l'ordre d'aplatissement doit être «C» ou «F»"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "flip argument must be an ndarray"
|
||||
msgstr "l'argument flip doit être un ndarray"
|
||||
msgstr "le paramêtre flip doit être un ndarray"
|
||||
|
||||
#: py/objint.c
|
||||
msgid "float too big"
|
||||
@ -3118,7 +3120,7 @@ msgstr "la fonction a le même signe aux extrémités de l’intervalle"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "function is defined for ndarrays only"
|
||||
msgstr "La fonction n'est définie que pour les ndarrays"
|
||||
msgstr "fonction définie que pour les ndarrays"
|
||||
|
||||
#: py/argcheck.c
|
||||
#, c-format
|
||||
@ -3224,11 +3226,11 @@ msgstr "Paramètre entrant doit être un chiffre entier, un tuple, ou une liste"
|
||||
|
||||
#: extmod/ulab/code/numpy/fft/fft_tools.c
|
||||
msgid "input array length must be power of 2"
|
||||
msgstr "la longueur du tableau d'entrée doit être une puissance de 2"
|
||||
msgstr "longueur de la matrice d'entrée doit être une puissance de 2"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "input arrays are not compatible"
|
||||
msgstr "les tableaux d'entrée ne sont pas compatibles"
|
||||
msgstr "les matrices d'entrée ne sont pas compatibles"
|
||||
|
||||
#: extmod/ulab/code/numpy/poly/poly.c
|
||||
msgid "input data must be an iterable"
|
||||
@ -3244,7 +3246,7 @@ msgstr "la matrice d'entrée est singulière"
|
||||
|
||||
#: extmod/ulab/code/user/user.c
|
||||
msgid "input must be a dense ndarray"
|
||||
msgstr "l'entrée doit être un tableau dense"
|
||||
msgstr "l'entrée doit être un ndarray dense"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "input must be a tensor of rank 2"
|
||||
@ -3284,7 +3286,7 @@ msgstr "entier requis"
|
||||
|
||||
#: extmod/ulab/code/numpy/approx/approx.c
|
||||
msgid "interp is defined for 1D arrays of equal length"
|
||||
msgstr "interp est défini pour les tableaux 1D de longueur égale"
|
||||
msgstr "interp est défini pour les matrices 1D de longueur égale"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
#, c-format
|
||||
@ -3304,6 +3306,10 @@ msgstr "bits_per_pixel %d est invalid, doit être 1, 4, 8, 16, 24 ou 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "certificat invalide"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr "décorateur invalide"
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "index invalide pour dupterm"
|
||||
@ -3359,10 +3365,6 @@ msgstr "syntaxe invalide pour un entier de base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "syntaxe invalide pour un nombre"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "io doit être rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "l'argument 1 de issubclass() doit être une classe"
|
||||
@ -3718,11 +3720,11 @@ msgstr "les opérandes ne pouvaient pas être diffusés ensemble"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "operation is implemented for 1D Boolean arrays only"
|
||||
msgstr "opération implémentée que pour des tableaux 1D booléennes"
|
||||
msgstr "opération implémentée que pour les matrices 1D booléennes"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "operation is not implemented on ndarrays"
|
||||
msgstr "l'opération n'est pas implémentée sur les ndarrays"
|
||||
msgstr "l'opération n'est pas implémentée pour les ndarrays"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "operation is not supported for given type"
|
||||
@ -3741,11 +3743,11 @@ msgstr ""
|
||||
|
||||
#: extmod/ulab/code/utils/utils.c
|
||||
msgid "out array is too small"
|
||||
msgstr ""
|
||||
msgstr "matrice de sortie est trop petite"
|
||||
|
||||
#: extmod/ulab/code/utils/utils.c
|
||||
msgid "out must be a float dense array"
|
||||
msgstr ""
|
||||
msgstr "la matrice sortante doit être de type float"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c
|
||||
msgid "out of range of source"
|
||||
@ -3831,6 +3833,7 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3856,6 +3859,10 @@ msgstr "bouton boot appuyé lors du démarrage.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "les deux boutons appuyés lors du démarrage.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "masque pull est en conflit avec les masques de direction"
|
||||
@ -3924,8 +3931,8 @@ msgid ""
|
||||
"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or "
|
||||
"'B'"
|
||||
msgstr ""
|
||||
"le tampon de sample_source doit être un bytearray ou un tableau de type "
|
||||
"'h','H', 'b' ou 'B'"
|
||||
"tampon sample_source doit être un bytearray ou une matrice de type 'h', 'H', "
|
||||
"'b' ou 'B'"
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
@ -3962,7 +3969,7 @@ msgstr "'}' seule rencontrée dans une chaîne de format"
|
||||
|
||||
#: extmod/ulab/code/ulab_tools.c
|
||||
msgid "size is defined for ndarrays only"
|
||||
msgstr "la taille est définie pour les ndarrays uniquement"
|
||||
msgstr "la taille n'est définie que pour les ndarrays"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "sleep length must be non-negative"
|
||||
@ -3986,11 +3993,11 @@ msgstr "redémarrage logiciel\n"
|
||||
|
||||
#: extmod/ulab/code/numpy/numerical/numerical.c
|
||||
msgid "sort argument must be an ndarray"
|
||||
msgstr "l'argument de «sort» doit être un ndarray"
|
||||
msgstr "le paramètre de «sort» doit être un ndarray"
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "sos array must be of shape (n_section, 6)"
|
||||
msgstr "le tableau sos doit être de forme (n_section, 6)"
|
||||
msgstr "la matrice sos doit être de forme (n_section, 6)"
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "sos[:, 3] should be all ones"
|
||||
@ -4035,7 +4042,7 @@ msgstr "les indices d'une chaîne doivent être des entiers, pas %q"
|
||||
#: py/stream.c
|
||||
msgid "string not supported; use bytes or bytearray"
|
||||
msgstr ""
|
||||
"chaîne de carac. non supportée ; utilisez des bytes ou un tableau de bytes"
|
||||
"chaîne de carac. non supportée; utilisez des bytes ou une matrice de bytes"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "struct: cannot index"
|
||||
@ -4105,7 +4112,7 @@ msgstr "timestamp hors bornes pour 'time_t' de la plateforme"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "tobytes can be invoked for dense arrays only"
|
||||
msgstr "tobytes ne peut être appelé que pour des tableaux dense"
|
||||
msgstr "tobytes ne peut être appelée que pour des matrices dense"
|
||||
|
||||
#: shared-module/struct/__init__.c
|
||||
msgid "too many arguments provided with the given format"
|
||||
@ -4126,15 +4133,11 @@ msgstr "trop de valeur à dégrouper (%d attendues)"
|
||||
|
||||
#: extmod/ulab/code/numpy/approx/approx.c
|
||||
msgid "trapz is defined for 1D arrays"
|
||||
msgstr "trapz est défini pour tableaux à une dimension"
|
||||
msgstr "trapz est définie pour matrices à une dimension"
|
||||
|
||||
#: extmod/ulab/code/numpy/approx/approx.c
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapz n'est défini que pour des tableaux 1D de longueur égale"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "niveau du déclencheur doit être 0 ou 1"
|
||||
msgstr "trapz n'est défini que pour des matrices 1D de longueur égales"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
@ -4270,10 +4273,6 @@ msgstr "la valeur doit tenir dans %d octet(s)"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "'value_count' doit être > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "conflit au réveil"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "chien de garde (watchdog) non initialisé"
|
||||
@ -4350,7 +4349,7 @@ msgstr "'step' nul"
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "zi must be an ndarray"
|
||||
msgstr "zi doit être ndarray"
|
||||
msgstr "zi doit être un ndarray"
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "zi must be of float type"
|
||||
@ -4360,6 +4359,32 @@ msgstr "zi doit être de type float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi doit être de forme (n_section, 2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOs 0, 2 & 4 ne supportent pas l'éleveuse interne en mode someil"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "le tampon doit être un objet bytes-like"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "io doit être rtc io"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "niveau du déclencheur doit être 0 ou 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "conflit au réveil"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr ""
|
||||
#~ "Tentative d'allocation de segments lorsque la machine virtuelle "
|
||||
#~ "MicroPython n'est pas en cours d'exécution."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "Échec du saut MicroPython NLR. Corruption de la mémoire probable."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Erreur fatale MicroPython."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "l'argument doit être un ndarray"
|
||||
|
||||
|
59
locale/hi.po
59
locale/hi.po
@ -438,7 +438,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -879,6 +879,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
@ -1008,6 +1013,10 @@ msgstr ""
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr ""
|
||||
@ -1080,10 +1089,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1207,6 +1212,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1398,14 +1407,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1457,6 +1458,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1601,6 +1606,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2493,10 +2499,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2938,7 +2940,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3194,6 +3196,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr ""
|
||||
@ -3249,10 +3255,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3712,6 +3714,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3737,6 +3740,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4010,10 +4017,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4148,10 +4151,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
|
@ -450,8 +450,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Provo ad allocare %d blocchi"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "Provo l'allocazione quando MicroPython VM non è attivo."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -899,6 +899,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Canale EXTINT già in uso"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Errore nella regex"
|
||||
@ -1030,6 +1035,10 @@ msgstr "Impossibile rilasciare il mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "File esistente"
|
||||
@ -1102,10 +1111,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1231,6 +1236,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1425,14 +1434,6 @@ msgstr "Valore massimo di x quando rispachiato è %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1485,6 +1486,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1629,6 +1634,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
#, fuzzy
|
||||
@ -2538,10 +2544,6 @@ msgstr "argomento di chr() non è in range(256)"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2991,7 +2993,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3248,6 +3250,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "certificato non valido"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "indice dupterm non valido"
|
||||
@ -3303,10 +3309,6 @@ msgstr "sintassi invalida per l'intero con base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "sintassi invalida per il numero"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "il primo argomento di issubclass() deve essere una classe"
|
||||
@ -3778,6 +3780,7 @@ msgstr "pow() con 3 argomenti richiede interi"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3803,6 +3806,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4080,10 +4087,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tupla/lista ha la lunghezza sbagliata"
|
||||
@ -4218,10 +4221,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4310,6 +4309,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "Provo l'allocazione quando MicroPython VM non è attivo."
|
||||
|
||||
#~ msgid "Group full"
|
||||
#~ msgstr "Gruppo pieno"
|
||||
|
||||
|
73
locale/ja.po
73
locale/ja.po
@ -443,8 +443,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "%d個のブロックの確保を試みました"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "MicroPython VMの非実行時にヒープ確保を試みました"
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -890,6 +890,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINTチャネルはすでに使用されています"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "正規表現にエラーがあります"
|
||||
@ -1019,6 +1024,10 @@ msgstr "ミューテックスの開放に失敗。エラー 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "内部フラッシュ書き込みに失敗"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "ファイルが存在します"
|
||||
@ -1091,10 +1100,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOutが利用できません"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1220,6 +1225,10 @@ msgstr "不正なBSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "不正なDACピンが与えられました"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1411,14 +1420,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "MicroPython NLRジャンプ失敗。メモリ破壊の可能性あり"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "MicroPython致命的エラー"
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "マイクのスタートアップディレイは 0.0 から 1.0 の間でなければなりません"
|
||||
@ -1470,6 +1471,10 @@ msgstr "MISOピンまたはMOSIピンが必要"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "%d個でなく6の倍数個のrgbピンを使ってください"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1614,6 +1619,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "不正なIP文字列です"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2516,10 +2522,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "バッファはbytes-likeオブジェクトでなければなりません"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2965,7 +2967,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: 1つだけの'}'は許されません"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "fileはバイトモードで開かれたファイルでなければなりません"
|
||||
|
||||
@ -3222,6 +3224,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "不正な証明書"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "不正なduptermインデクス"
|
||||
@ -3277,10 +3283,6 @@ msgstr ""
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "数字として不正な構文"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass()の第1引数はクラスでなければなりません"
|
||||
@ -3742,6 +3744,7 @@ msgstr "pow()の第3引数には整数が必要"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3767,6 +3770,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4041,10 +4048,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapzは同じ長さの1次元arrayに対して定義されています"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "タプル/リストの長さが正しくありません"
|
||||
@ -4179,10 +4182,6 @@ msgstr "値は%dバイトに収まらなければなりません"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_countは0より大きくなければなりません"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4269,6 +4268,18 @@ msgstr "ziはfloat値でなければなりません"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "バッファはbytes-likeオブジェクトでなければなりません"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "MicroPython VMの非実行時にヒープ確保を試みました"
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLRジャンプ失敗。メモリ破壊の可能性あり"
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "MicroPython致命的エラー"
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "引数はndarrayでなければなりません"
|
||||
|
||||
|
59
locale/ko.po
59
locale/ko.po
@ -439,7 +439,7 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
@ -882,6 +882,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Regex에 오류가 있습니다."
|
||||
@ -1011,6 +1016,10 @@ msgstr ""
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr ""
|
||||
@ -1083,10 +1092,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1210,6 +1215,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1401,14 +1410,6 @@ msgstr ""
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1460,6 +1461,10 @@ msgstr ""
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1604,6 +1609,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2497,10 +2503,6 @@ msgstr ""
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2942,7 +2944,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -3198,6 +3200,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "cert가 유효하지 않습니다"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "Dupterm index가 유효하지 않습니다"
|
||||
@ -3253,10 +3259,6 @@ msgstr "구문(syntax)가 정수가 유효하지 않습니다"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "숫자에 대한 구문(syntax)가 유효하지 않습니다"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
@ -3716,6 +3718,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3741,6 +3744,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4014,10 +4021,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr ""
|
||||
@ -4152,10 +4155,6 @@ msgstr ""
|
||||
msgid "value_count must be > 0"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
|
85
locale/nl.po
85
locale/nl.po
@ -441,8 +441,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Poging om %d blokken toe te wijzen"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "heap allocatie geprobeerd terwijl MicroPython VM niet draait."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -890,6 +890,11 @@ msgstr "ESP-IDF geheugen toewijzing mislukt"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINT kanaal al in gebruik"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Fout in regex"
|
||||
@ -1019,6 +1024,10 @@ msgstr "Mislukt mutex los te laten, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Schrijven naar interne flash mislukt."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Bestand bestaat"
|
||||
@ -1092,10 +1101,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut is niet beschikbaar"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IO's 0, 2 en 4 ondersteunen geen interne pullup in slaapstand"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1221,6 +1226,10 @@ msgstr "Ongeldig BSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Ongeldige DAC pin opgegeven"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1412,14 +1421,6 @@ msgstr "Maximale x waarde indien gespiegeld is %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Berichten zijn beperkt tot 8 bytes"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "MicroPython NLR sprong mislukt. Waarschijnlijk geheugen corruptie."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "MicroPython fatale fout."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Microfoon opstart vertraging moet in bereik van 0.0 tot 1.0 zijn"
|
||||
@ -1471,6 +1472,10 @@ msgstr "MISO of MOSI moeten worden gegeven"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Een meervoud van 6 rgb pinnen moet worden gebruikt, niet %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS-fout"
|
||||
@ -1615,6 +1620,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Geen geldige IP string"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2544,10 +2550,6 @@ msgstr "pad (branch) niet binnen bereik"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer moet een byte-achtig object zijn"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2993,7 +2995,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: enkele '}' is niet toegestaan"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "bestand moet een bestand zijn geopend in byte modus"
|
||||
|
||||
@ -3250,6 +3252,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "ongeldig certificaat"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "ongeldige dupterm index"
|
||||
@ -3305,10 +3311,6 @@ msgstr "ongeldige syntax voor integer met grondtal %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "ongeldige syntax voor nummer"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "io moet rtc io zijn"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() argument 1 moet een klasse zijn"
|
||||
@ -3772,6 +3774,7 @@ msgstr "pow() met 3 argumenten vereist integers"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3797,6 +3800,10 @@ msgstr "druk bootknop in bij opstarten.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "druk beide knoppen in bij opstarten.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4072,10 +4079,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapz is gedefinieerd voor eendimensionale arrays van gelijke lengte"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "triggerniveau moet 0 of 1 zijn"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tuple of lijst heeft onjuiste lengte"
|
||||
@ -4210,10 +4213,6 @@ msgstr "waarde moet in %d byte(s) passen"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count moet groter dan 0 zijn"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "conflict bij ontwaken"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "watchdog niet geïnitialiseerd"
|
||||
@ -4300,6 +4299,30 @@ msgstr "zi moet van type float zijn"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi moet vorm (n_section, 2) hebben"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IO's 0, 2 en 4 ondersteunen geen interne pullup in slaapstand"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "buffer moet een byte-achtig object zijn"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "io moet rtc io zijn"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "triggerniveau moet 0 of 1 zijn"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "conflict bij ontwaken"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "heap allocatie geprobeerd terwijl MicroPython VM niet draait."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLR sprong mislukt. Waarschijnlijk geheugen corruptie."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "MicroPython fatale fout."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "argument moet ndarray zijn"
|
||||
|
||||
|
75
locale/pl.po
75
locale/pl.po
@ -443,8 +443,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Próba przydzielenia %d bloków"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "Próba przydziału sterty, gdy MicroPython VM nie działa."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -890,6 +890,11 @@ msgstr ""
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Kanał EXTINT w użyciu"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Błąd w regex"
|
||||
@ -1019,6 +1024,10 @@ msgstr "Nie udało się zwolnić blokady, błąd 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Nie udało się zapisać wewnętrznej pamięci flash."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr ""
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Plik istnieje"
|
||||
@ -1091,10 +1100,6 @@ msgstr ""
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut niedostępne"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1220,6 +1225,10 @@ msgstr ""
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1411,15 +1420,6 @@ msgstr "Największa wartość x przy odwróceniu to %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Wiadomości ograniczone do 8 bajtów"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
"Skok MicroRython NLR nie powiódł się. Prawdopodobne uszkodzenie pamięci."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Błąd krytyczny MicroPython."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Opóźnienie włączenia mikrofonu musi być w zakresie od 0.0 do 1.0"
|
||||
@ -1471,6 +1471,10 @@ msgstr "Należy podać pin MISO lub MOSI"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
@ -1615,6 +1619,7 @@ msgstr ""
|
||||
msgid "Not a valid IP string"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2513,10 +2518,6 @@ msgstr "skok poza zakres"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "bufor mysi być typu bytes"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr ""
|
||||
@ -2959,7 +2960,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file musi być otwarte w trybie bajtowym"
|
||||
|
||||
@ -3215,6 +3216,10 @@ msgstr ""
|
||||
msgid "invalid cert"
|
||||
msgstr "zły ceryfikat"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "zły indeks dupterm"
|
||||
@ -3270,10 +3275,6 @@ msgstr "zła składnia dla liczby całkowitej w bazie %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "zła składnia dla liczby"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "argument 1 dla issubclass() musi być klasą"
|
||||
@ -3734,6 +3735,7 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3759,6 +3761,10 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr ""
|
||||
@ -4033,10 +4039,6 @@ msgstr ""
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "krotka/lista ma złą długość"
|
||||
@ -4171,10 +4173,6 @@ msgstr "wartość musi mieścić się w %d bajtach"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count musi być > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
@ -4261,6 +4259,19 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "bufor mysi być typu bytes"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "Próba przydziału sterty, gdy MicroPython VM nie działa."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr ""
|
||||
#~ "Skok MicroRython NLR nie powiódł się. Prawdopodobne uszkodzenie pamięci."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Błąd krytyczny MicroPython."
|
||||
|
||||
#~ msgid "vectors must have same lengths"
|
||||
#~ msgstr "wektory muszą mieć identyczną długość"
|
||||
|
||||
|
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-04-07 12:23+0000\n"
|
||||
"PO-Revision-Date: 2021-04-19 21:50+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -451,10 +451,9 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Tentativa de alocar %d blocos"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
"A tentativa da área de alocação dinâmica de variáveis (heap) quando o "
|
||||
"MicroPython VM não está em execução."
|
||||
"Tentativa de alocação das pilhas quando o VM não estiver em funcionamento."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -908,6 +907,11 @@ msgstr "Houve uma falha na alocação da memória ESP-IDF"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "Canal EXTINT em uso"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr "Houve um erro no fluxo MIDI na posição %d"
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Erro no regex"
|
||||
@ -1037,6 +1041,10 @@ msgstr "Houve uma falha ao liberar o mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Falha ao gravar o flash interno."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr "Erro fatal."
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Arquivo já existe"
|
||||
@ -1110,10 +1118,6 @@ msgstr "Periférico I2C em uso"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "O I2SOut não está disponível"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOs 0, 2 e 4 não suportam pullup interno em repouso (sleep)"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1245,6 +1249,10 @@ msgstr "BSSID Inválido"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "O pino DAC informado é inválido"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr "O arquivo MIDI é inválido"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1436,14 +1444,6 @@ msgstr "O valor máximo de x quando espelhado é %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "As mensagens estão limitadas a 8 bytes"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "O salto do MicroPython NLR falhou. Possível corrupção de memória."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "Houve um erro fatal do MicroPython."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "O atraso na inicialização do microfone deve estar entre 0,0 e 1,0"
|
||||
@ -1495,6 +1495,10 @@ msgstr "Deve informar os pinos MISO ou MOSI"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Deve utilizar um múltiplo de 6 pinos rgb, não %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr "O salto NLR falhou. Possível corrupção da memória."
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "Erro NVS"
|
||||
@ -1641,6 +1645,7 @@ msgstr "O firmware do sistema nórdico está sem memória"
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Não é uma sequência válida de IP"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2579,10 +2584,6 @@ msgstr "ramo fora do alcance"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "o tamanho do buffer é menor do que o tamanho que foi solicitado"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "o buffer deve ser um objeto como bytes"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "o tamanho do buffer deve ser um múltiplo do tamanho do elemento"
|
||||
@ -3033,7 +3034,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: um único '}' não é permitido"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "o arquivo deve ser um arquivo aberto no modo byte"
|
||||
|
||||
@ -3290,6 +3291,10 @@ msgstr "bits_per_pixel %d é inválido, deve ser, 1, 4, 8, 16, 24, ou 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "certificado inválido"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr "decorador inválido"
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "Índice de dupterm inválido"
|
||||
@ -3345,10 +3350,6 @@ msgstr "sintaxe inválida para o número inteiro com base %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "sintaxe inválida para o número"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "O io deve ser rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 deve ser uma classe"
|
||||
@ -3818,6 +3819,7 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3843,6 +3845,10 @@ msgstr "pressionando o botão de boot na inicialização.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "pressionando ambos os botões durante a inicialização.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr "pressionando o botão esquerdo durante a inicialização\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "puxe as máscaras em conflito com as máscaras de direção"
|
||||
@ -4118,10 +4124,6 @@ msgstr "Trapz está definido para arrays 1D"
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "o trapz está definido para 1D arrays de igual tamanho"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "nível do gatilho deve ser 0 ou 1"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "a tupla/lista está com tamanho incorreto"
|
||||
@ -4256,10 +4258,6 @@ msgstr "o valor deve caber em %d byte(s)"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "o value_count deve ser > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "conflito de wakeup"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "o watchdog não foi inicializado"
|
||||
@ -4346,6 +4344,32 @@ msgstr "zi deve ser de um tipo float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi deve estar na forma (n_section, 2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOs 0, 2 e 4 não suportam pullup interno em repouso (sleep)"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "o buffer deve ser um objeto como bytes"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "O io deve ser rtc io"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "nível do gatilho deve ser 0 ou 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "conflito de wakeup"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr ""
|
||||
#~ "A tentativa da área de alocação dinâmica de variáveis (heap) quando o "
|
||||
#~ "MicroPython VM não está em execução."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "O salto do MicroPython NLR falhou. Possível corrupção de memória."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "Houve um erro fatal do MicroPython."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "o argumento deve ser ndarray"
|
||||
|
||||
|
89
locale/sv.po
89
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-04-06 14:41+0000\n"
|
||||
"PO-Revision-Date: 2021-04-19 21:50+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -446,8 +446,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "Försök att tilldela %d block"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "Försökte tilldela heap när MicroPython VM inte körs."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "Försök till heap-allokering när den virtuella maskinen inte är igång."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -896,6 +896,11 @@ msgstr "ESP-IDF-minnetilldelning misslyckades"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINT-kanalen används redan"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr "Fel i MIDI-ström vid position %d"
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Fel i regex"
|
||||
@ -1025,6 +1030,10 @@ msgstr "Det gick inte att frigöra mutex, fel 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Det gick inte att skriva till intern flash."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr "Fatalt fel."
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Filen finns redan"
|
||||
@ -1097,10 +1106,6 @@ msgstr "I2C-enhet används redan"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut är inte tillgängligt"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IO 0, 2 & 4 stöder inte intern pullup för sovläge"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1228,6 +1233,10 @@ msgstr "Ogiltig BSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Ogiltig DAC-pinne angiven"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr "Ogiltig MIDI-fil"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1419,14 +1428,6 @@ msgstr "Maximum x-värde vid spegling är %d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Meddelanden begränsad till 8 byte"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "MicroPython NLR jump misslyckades. Troligen korrupt minne."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "MicroPython fatalt fel."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr ""
|
||||
@ -1479,6 +1480,10 @@ msgstr "Måste ange MISO- eller MOSI-pinne"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "Måste använda ett multipel av 6 rgb-pinnar, inte %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr "NLR jump misslyckades. Troligen korrupt minne."
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS-fel"
|
||||
@ -1623,6 +1628,7 @@ msgstr "Nordic systemfirmware fick slut på minne"
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Inte en giltig IP-sträng"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2547,10 +2553,6 @@ msgstr "branch utanför räckvidd"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "bufferten är mindre än begärd storlek"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer måste vara en byte-liknande objekt"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "buffertstorlek måste vara en multipel av elementstorlek"
|
||||
@ -2997,7 +2999,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: singel '}' är inte tillåten"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "filen måste vara en fil som öppnats i byte-läge"
|
||||
|
||||
@ -3253,6 +3255,10 @@ msgstr "ogiltig bits_per_pixel %d, måste vara 1, 4, 8, 16, 24 eller 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "ogiltigt certifikat"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr "ogiltig dekorator"
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "ogiltigt dupterm index"
|
||||
@ -3308,10 +3314,6 @@ msgstr "ogiltig syntax för heltal med bas %d"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "ogiltig syntax för tal"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "io måste vara rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 måste vara en klass"
|
||||
@ -3775,6 +3777,7 @@ msgstr "pow() med 3 argument kräver heltal"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3800,6 +3803,10 @@ msgstr "trycka på startknappen vid start.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "trycka båda knapparna vid uppstart.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr "håll ner vänster knapp vid start\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "pull-mask är i konflikt med riktnings-mask"
|
||||
@ -4075,10 +4082,6 @@ msgstr "trapz är definierat för 1D-matriser"
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "trapz är definierad för 1D-matriser med samma längd"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "triggernivå måste vara 0 eller 1"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "tupel/lista har fel längd"
|
||||
@ -4213,10 +4216,6 @@ msgstr "värdet måste passa i %d byte(s)"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "value_count måste vara > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "wakeup-konflikt"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "watchdog är inte initierad"
|
||||
@ -4303,6 +4302,30 @@ msgstr "zi måste vara av typ float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi måste vara i formen (n_section, 2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IO 0, 2 & 4 stöder inte intern pullup för sovläge"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "buffer måste vara en byte-liknande objekt"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "io måste vara rtc io"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "triggernivå måste vara 0 eller 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "wakeup-konflikt"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "Försökte tilldela heap när MicroPython VM inte körs."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLR jump misslyckades. Troligen korrupt minne."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "MicroPython fatalt fel."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "argument måste vara ndarray"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: circuitpython-cn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-03-29 08:26+0000\n"
|
||||
"PO-Revision-Date: 2021-04-19 19:15+0000\n"
|
||||
"Last-Translator: hexthat <hexthat@gmail.com>\n"
|
||||
"Language-Team: Chinese Hanyu Pinyin\n"
|
||||
"Language: zh_Latn_pinyin\n"
|
||||
@ -15,7 +15,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.6-dev\n"
|
||||
"X-Generator: Weblate 4.7-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -423,7 +423,7 @@ msgstr "Wèi zhīchí zhǐdìng de yǐn jiǎo AnalogOut"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
msgstr "lìng yí gè PWMAudioOut yǐ jīng chǔ yú huó dòng zhuàng tài"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
@ -448,8 +448,8 @@ msgid "Attempt to allocate %d blocks"
|
||||
msgstr "cháng shì fēn pèi %d kuài"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
msgstr "MicroPython VM zài wèi yùnxíng shí chángshì fēnpèi duī."
|
||||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "dāng VM bú yùn xíng shí, cháng shì duī fēn pèi."
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "Authentication failure"
|
||||
@ -895,6 +895,11 @@ msgstr "ESP-IDF nèicún fēnpèi shībài"
|
||||
msgid "EXTINT channel already in use"
|
||||
msgstr "EXTINT píndào yǐjīng shǐyòng"
|
||||
|
||||
#: shared-module/synthio/MidiTrack.c
|
||||
#, c-format
|
||||
msgid "Error in MIDI stream at position %d"
|
||||
msgstr "wèi yú %d wèi zhì de MIDI liú zhōng de cuò wù"
|
||||
|
||||
#: extmod/modure.c
|
||||
msgid "Error in regex"
|
||||
msgstr "Zhèngzé biǎodá shì cuòwù"
|
||||
@ -997,7 +1002,7 @@ msgstr "Wúfǎ fēnpèi wifi sǎomiáo nèicún"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Failed to buffer the sample"
|
||||
msgstr ""
|
||||
msgstr "wèi néng huǎn chōng yàng běn"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "Failed to connect: internal error"
|
||||
@ -1024,6 +1029,10 @@ msgstr "Wúfǎ shìfàng mutex, err 0x%04x"
|
||||
msgid "Failed to write internal flash."
|
||||
msgstr "Wúfǎ xiě rù nèibù shǎncún."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Fatal error."
|
||||
msgstr "zhì mìng cuò wù."
|
||||
|
||||
#: py/moduerrno.c
|
||||
msgid "File exists"
|
||||
msgstr "Wénjiàn cúnzài"
|
||||
@ -1096,10 +1105,6 @@ msgstr "I2C wài shè zhèng zài shǐ yòng zhōng"
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut bù kě yòng"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr "IOS 0, 2 + 4 bù zhī chí shuì mián zhōng de nèi bù shàng lā"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
msgid "IV must be %d bytes long"
|
||||
@ -1230,6 +1235,10 @@ msgstr "Wúxiào de BSSID"
|
||||
msgid "Invalid DAC pin supplied"
|
||||
msgstr "Tí gōng liǎo wúxiào de DAC yǐn jiǎo"
|
||||
|
||||
#: shared-bindings/synthio/__init__.c
|
||||
msgid "Invalid MIDI file"
|
||||
msgstr "wú xiào de MIDI wén jiàn"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c
|
||||
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
|
||||
@ -1421,14 +1430,6 @@ msgstr "Jìngxiàng shí de zuìdà X zhí wèi%d"
|
||||
msgid "Messages limited to 8 bytes"
|
||||
msgstr "Yóujiàn xiànzhì wèi 8 gè zì jié"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
msgstr "MicroPython NLR tiào zhuǎn shībài. Kěnéng shì nèicún sǔnhuài."
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "MicroPython fatal error."
|
||||
msgstr "MicroPython zhìmìng cuòwù."
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Microphone startup delay must be in range 0.0 to 1.0"
|
||||
msgstr "Màikèfēng qǐdòng yánchí bìxū zài 0.0 Dào 1.0 De fànwéi nèi"
|
||||
@ -1481,6 +1482,10 @@ msgstr "Bìxū tígōng MISO huò MOSI yǐn jiǎo"
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
msgstr "bì xū shǐ yòng 6 RGB yǐn jiǎo de bèi shù, ér bù shì %d"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "NLR jump failed. Likely memory corruption."
|
||||
msgstr "NLR tiào zhuǎn shī bài. kě néng shì nèi cún sǔn huài."
|
||||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS cuò wù"
|
||||
@ -1615,16 +1620,17 @@ msgstr "Méiyǒu jìshí qì"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Nordic system firmware failure assertion."
|
||||
msgstr ""
|
||||
msgstr "běi ōu xì tǒng gù jiàn gù zhàng duàn yán."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Nordic system firmware out of memory"
|
||||
msgstr ""
|
||||
msgstr "běi ōu xì tǒng gù jiàn chū nèi cún"
|
||||
|
||||
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
|
||||
msgid "Not a valid IP string"
|
||||
msgstr "Wúxiào de IP zìfú chuàn"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "Not connected"
|
||||
@ -2288,7 +2294,7 @@ msgstr "Wèizhī de ānquán cuòwù: 0x%04x"
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
#, c-format
|
||||
msgid "Unknown system firmware error: %04x"
|
||||
msgstr ""
|
||||
msgstr "wèi zhī xì tǒng gù jiàn cuò wù: %04x"
|
||||
|
||||
#: shared-bindings/_pixelbuf/PixelBuf.c
|
||||
#, c-format
|
||||
@ -2545,10 +2551,6 @@ msgstr "fēnzhī bùzài fànwéi nèi"
|
||||
msgid "buffer is smaller than requested size"
|
||||
msgstr "huǎn chōng qū xiǎo yú qǐng qiú de dà xiǎo"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "huǎnchōng qū bìxū shì zì jié lèi duìxiàng"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
|
||||
msgid "buffer size must be a multiple of element size"
|
||||
msgstr "huǎn chōng qū dà xiǎo bì xū shì yuán sù dà xiǎo de bèi shù"
|
||||
@ -2996,7 +2998,7 @@ msgid "f-string: single '}' is not allowed"
|
||||
msgstr "f-string: bù yǔnxǔ shǐyòng dāngè '}'"
|
||||
|
||||
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/synthio/__init__.c
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "wénjiàn bìxū shì zài zì jié móshì xià dǎkāi de wénjiàn"
|
||||
|
||||
@ -3252,6 +3254,10 @@ msgstr "wú xiào bits_per_pixel %d, bì xū shì, 1, 4, 8, 16, 24, huò 32"
|
||||
msgid "invalid cert"
|
||||
msgstr "zhèngshū wúxiào"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "invalid decorator"
|
||||
msgstr "wú xiào zhuāng shì"
|
||||
|
||||
#: extmod/uos_dupterm.c
|
||||
msgid "invalid dupterm index"
|
||||
msgstr "dupterm suǒyǐn wúxiào"
|
||||
@ -3307,10 +3313,6 @@ msgstr "jīshù wèi %d de zhěng shǔ de yǔfǎ wúxiào"
|
||||
msgid "invalid syntax for number"
|
||||
msgstr "wúxiào de hàomǎ yǔfǎ"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr "IO bì xū shì RTC IO"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() cānshù 1 bìxū shì yīgè lèi"
|
||||
@ -3682,11 +3684,11 @@ msgstr "ord() yùqí zìfú, dàn chángdù zìfú chuàn %d"
|
||||
|
||||
#: extmod/ulab/code/utils/utils.c
|
||||
msgid "out array is too small"
|
||||
msgstr ""
|
||||
msgstr "chū zhèn liè tài xiǎo"
|
||||
|
||||
#: extmod/ulab/code/utils/utils.c
|
||||
msgid "out must be a float dense array"
|
||||
msgstr ""
|
||||
msgstr "chū bì xū shì yí gè fú dòng mì jí zhèn liè"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c
|
||||
msgid "out of range of source"
|
||||
@ -3771,6 +3773,7 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
||||
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/artisense_rd00/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
@ -3796,6 +3799,10 @@ msgstr "Zài qǐdòng shí àn qǐdòng ànniǔ.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "zài qǐdòng shí tóngshí àn xià liǎng gè ànniǔ.\n"
|
||||
|
||||
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
|
||||
msgid "pressing the left button at start up\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "pull masks conflict with direction masks"
|
||||
msgstr "lā kǒu zhào yǔ fāng xiàng miàn mó chōng tū"
|
||||
@ -4071,10 +4078,6 @@ msgstr "wéi 1D shù zǔ dìng yì xiàn jǐng"
|
||||
msgid "trapz is defined for 1D arrays of equal length"
|
||||
msgstr "Trapz shì wèi děng zhǎng de 1D shùzǔ dìngyì de"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr "chù fā jí bié bì xū wéi 0 huò 1"
|
||||
|
||||
#: py/obj.c
|
||||
msgid "tuple/list has wrong length"
|
||||
msgstr "yuán zǔ/lièbiǎo chángdù cuòwù"
|
||||
@ -4209,10 +4212,6 @@ msgstr "Zhí bìxū fúhé %d zì jié"
|
||||
msgid "value_count must be > 0"
|
||||
msgstr "zhí jìshù bìxū wèi > 0"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr "huàn xǐng chōng tū"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr "wèi chū shǐ huà jiān shì qì"
|
||||
@ -4299,6 +4298,30 @@ msgstr "zi bìxū wèi fú diǎn xíng"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||
|
||||
#~ msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
#~ msgstr "IOS 0, 2 + 4 bù zhī chí shuì mián zhōng de nèi bù shàng lā"
|
||||
|
||||
#~ msgid "buffer must be a bytes-like object"
|
||||
#~ msgstr "huǎnchōng qū bìxū shì zì jié lèi duìxiàng"
|
||||
|
||||
#~ msgid "io must be rtc io"
|
||||
#~ msgstr "IO bì xū shì RTC IO"
|
||||
|
||||
#~ msgid "trigger level must be 0 or 1"
|
||||
#~ msgstr "chù fā jí bié bì xū wéi 0 huò 1"
|
||||
|
||||
#~ msgid "wakeup conflict"
|
||||
#~ msgstr "huàn xǐng chōng tū"
|
||||
|
||||
#~ msgid "Attempted heap allocation when MicroPython VM not running."
|
||||
#~ msgstr "MicroPython VM zài wèi yùnxíng shí chángshì fēnpèi duī."
|
||||
|
||||
#~ msgid "MicroPython NLR jump failed. Likely memory corruption."
|
||||
#~ msgstr "MicroPython NLR tiào zhuǎn shībài. Kěnéng shì nèicún sǔnhuài."
|
||||
|
||||
#~ msgid "MicroPython fatal error."
|
||||
#~ msgstr "MicroPython zhìmìng cuòwù."
|
||||
|
||||
#~ msgid "argument must be ndarray"
|
||||
#~ msgstr "Cānshù bìxū shì ndarray"
|
||||
|
||||
|
@ -0,0 +1,58 @@
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit NeoKey Trinkey M0"
|
||||
#define MICROPY_HW_MCU_NAME "samd21e18"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA15)
|
||||
|
||||
#define MICROPY_PORT_A (0)
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define IGNORE_PIN_PA00 1
|
||||
#define IGNORE_PIN_PA01 1
|
||||
#define IGNORE_PIN_PA02 1
|
||||
#define IGNORE_PIN_PA03 1
|
||||
#define IGNORE_PIN_PA04 1
|
||||
#define IGNORE_PIN_PA05 1
|
||||
#define IGNORE_PIN_PA06 1
|
||||
#define IGNORE_PIN_PA08 1
|
||||
#define IGNORE_PIN_PA09 1
|
||||
#define IGNORE_PIN_PA10 1
|
||||
#define IGNORE_PIN_PA11 1
|
||||
#define IGNORE_PIN_PA12 1
|
||||
#define IGNORE_PIN_PA13 1
|
||||
#define IGNORE_PIN_PA14 1
|
||||
#define IGNORE_PIN_PA16 1
|
||||
#define IGNORE_PIN_PA17 1
|
||||
#define IGNORE_PIN_PA18 1
|
||||
#define IGNORE_PIN_PA19 1
|
||||
#define IGNORE_PIN_PA20 1
|
||||
#define IGNORE_PIN_PA21 1
|
||||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
||||
#define IGNORE_PIN_PA27 1
|
||||
#define IGNORE_PIN_PA29 1
|
||||
#define IGNORE_PIN_PA30 1
|
||||
#define IGNORE_PIN_PA31 1
|
||||
#define IGNORE_PIN_PB00 1
|
||||
#define IGNORE_PIN_PB01 1
|
||||
#define IGNORE_PIN_PB02 1
|
||||
#define IGNORE_PIN_PB03 1
|
||||
#define IGNORE_PIN_PB04 1
|
||||
#define IGNORE_PIN_PB05 1
|
||||
#define IGNORE_PIN_PB06 1
|
||||
#define IGNORE_PIN_PB07 1
|
||||
#define IGNORE_PIN_PB08 1
|
||||
#define IGNORE_PIN_PB09 1
|
||||
#define IGNORE_PIN_PB10 1
|
||||
#define IGNORE_PIN_PB11 1
|
||||
#define IGNORE_PIN_PB12 1
|
||||
#define IGNORE_PIN_PB13 1
|
||||
#define IGNORE_PIN_PB14 1
|
||||
#define IGNORE_PIN_PB15 1
|
||||
#define IGNORE_PIN_PB16 1
|
||||
#define IGNORE_PIN_PB17 1
|
||||
#define IGNORE_PIN_PB22 1
|
||||
#define IGNORE_PIN_PB23 1
|
||||
#define IGNORE_PIN_PB30 1
|
||||
#define IGNORE_PIN_PB31 1
|
@ -0,0 +1,34 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8100
|
||||
USB_PRODUCT = "NeoKey Trinkey M0"
|
||||
USB_MANUFACTURER = "Adafruit Industries LLC"
|
||||
|
||||
CHIP_VARIANT = SAMD21E18A
|
||||
CHIP_FAMILY = samd21
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
|
||||
CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_SAMD = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO = 0
|
||||
CIRCUITPY_STORAGE = 1
|
||||
|
||||
CIRCUITPY_MATH = 1
|
||||
CIRCUITPY_PIXELBUF = 1
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_TOUCHIO = 1
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
@ -0,0 +1,8 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
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_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SWITCH), MP_ROM_PTR(&pin_PA28) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
#include "supervisor/shared/board.h"
|
||||
#include "hal/include/hal_gpio.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit ProxLight Trinkey M0"
|
||||
#define MICROPY_HW_MCU_NAME "samd21e18"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA15)
|
||||
|
||||
#define MICROPY_PORT_A (0)
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define IGNORE_PIN_PA01 1
|
||||
#define IGNORE_PIN_PA02 1
|
||||
#define IGNORE_PIN_PA04 1
|
||||
#define IGNORE_PIN_PA05 1
|
||||
#define IGNORE_PIN_PA06 1
|
||||
#define IGNORE_PIN_PA08 1
|
||||
#define IGNORE_PIN_PA09 1
|
||||
#define IGNORE_PIN_PA10 1
|
||||
#define IGNORE_PIN_PA11 1
|
||||
#define IGNORE_PIN_PA12 1
|
||||
#define IGNORE_PIN_PA13 1
|
||||
#define IGNORE_PIN_PA14 1
|
||||
#define IGNORE_PIN_PA18 1
|
||||
#define IGNORE_PIN_PA19 1
|
||||
#define IGNORE_PIN_PA20 1
|
||||
#define IGNORE_PIN_PA21 1
|
||||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
||||
#define IGNORE_PIN_PA27 1
|
||||
#define IGNORE_PIN_PA28 1
|
||||
#define IGNORE_PIN_PA29 1
|
||||
#define IGNORE_PIN_PA30 1
|
||||
#define IGNORE_PIN_PA31 1
|
||||
#define IGNORE_PIN_PB00 1
|
||||
#define IGNORE_PIN_PB01 1
|
||||
#define IGNORE_PIN_PB02 1
|
||||
#define IGNORE_PIN_PB03 1
|
||||
#define IGNORE_PIN_PB04 1
|
||||
#define IGNORE_PIN_PB05 1
|
||||
#define IGNORE_PIN_PB06 1
|
||||
#define IGNORE_PIN_PB07 1
|
||||
#define IGNORE_PIN_PB08 1
|
||||
#define IGNORE_PIN_PB09 1
|
||||
#define IGNORE_PIN_PB10 1
|
||||
#define IGNORE_PIN_PB11 1
|
||||
#define IGNORE_PIN_PB12 1
|
||||
#define IGNORE_PIN_PB13 1
|
||||
#define IGNORE_PIN_PB14 1
|
||||
#define IGNORE_PIN_PB15 1
|
||||
#define IGNORE_PIN_PB16 1
|
||||
#define IGNORE_PIN_PB17 1
|
||||
#define IGNORE_PIN_PB22 1
|
||||
#define IGNORE_PIN_PB23 1
|
||||
#define IGNORE_PIN_PB30 1
|
||||
#define IGNORE_PIN_PB31 1
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PA17)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PA16)
|
@ -0,0 +1,33 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8104
|
||||
USB_PRODUCT = "ProxLight Trinkey M0"
|
||||
USB_MANUFACTURER = "Adafruit Industries LLC"
|
||||
|
||||
CHIP_VARIANT = SAMD21E18A
|
||||
CHIP_FAMILY = samd21
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
|
||||
CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_SAMD = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO = 1
|
||||
CIRCUITPY_STORAGE = 1
|
||||
|
||||
CIRCUITPY_MATH = 1
|
||||
CIRCUITPY_PIXELBUF = 0
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_TOUCHIO = 1
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
15
ports/atmel-samd/boards/adafruit_proxlight_trinkey_m0/pins.c
Normal file
15
ports/atmel-samd/boards/adafruit_proxlight_trinkey_m0/pins.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_INTERRUPT), MP_ROM_PTR(&pin_PA00) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TOUCH2), MP_ROM_PTR(&pin_PA03) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TOUCH1), MP_ROM_PTR(&pin_PA07) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
40
ports/atmel-samd/boards/adafruit_rotary_trinkey_m0/board.c
Normal file
40
ports/atmel-samd/boards/adafruit_rotary_trinkey_m0/board.c
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
#include "supervisor/shared/board.h"
|
||||
#include "hal/include/hal_gpio.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
@ -18,7 +18,7 @@ CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO = 0
|
||||
CIRCUITPY_STORAGE = 0
|
||||
CIRCUITPY_STORAGE = 1
|
||||
|
||||
CIRCUITPY_MATH = 0
|
||||
CIRCUITPY_PIXELBUF = 1
|
40
ports/atmel-samd/boards/adafruit_slide_trinkey_m0/board.c
Normal file
40
ports/atmel-samd/boards/adafruit_slide_trinkey_m0/board.c
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
#include "supervisor/shared/board.h"
|
||||
#include "hal/include/hal_gpio.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit Slide Trinkey M0"
|
||||
#define MICROPY_HW_MCU_NAME "samd21e18"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA06)
|
||||
|
||||
#define MICROPY_PORT_A (0)
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define IGNORE_PIN_PA00 1
|
||||
#define IGNORE_PIN_PA01 1
|
||||
#define IGNORE_PIN_PA02 1
|
||||
#define IGNORE_PIN_PA03 1
|
||||
#define IGNORE_PIN_PA04 1
|
||||
#define IGNORE_PIN_PA05 1
|
||||
#define IGNORE_PIN_PA08 1
|
||||
#define IGNORE_PIN_PA09 1
|
||||
#define IGNORE_PIN_PA10 1
|
||||
#define IGNORE_PIN_PA11 1
|
||||
#define IGNORE_PIN_PA12 1
|
||||
#define IGNORE_PIN_PA13 1
|
||||
#define IGNORE_PIN_PA14 1
|
||||
#define IGNORE_PIN_PA15 1
|
||||
#define IGNORE_PIN_PA16 1
|
||||
#define IGNORE_PIN_PA17 1
|
||||
#define IGNORE_PIN_PA18 1
|
||||
#define IGNORE_PIN_PA19 1
|
||||
#define IGNORE_PIN_PA20 1
|
||||
#define IGNORE_PIN_PA21 1
|
||||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
||||
#define IGNORE_PIN_PA27 1
|
||||
#define IGNORE_PIN_PA29 1
|
||||
#define IGNORE_PIN_PA30 1
|
||||
#define IGNORE_PIN_PA31 1
|
||||
#define IGNORE_PIN_PB00 1
|
||||
#define IGNORE_PIN_PB01 1
|
||||
#define IGNORE_PIN_PB02 1
|
||||
#define IGNORE_PIN_PB03 1
|
||||
#define IGNORE_PIN_PB04 1
|
||||
#define IGNORE_PIN_PB05 1
|
||||
#define IGNORE_PIN_PB06 1
|
||||
#define IGNORE_PIN_PB07 1
|
||||
#define IGNORE_PIN_PB08 1
|
||||
#define IGNORE_PIN_PB09 1
|
||||
#define IGNORE_PIN_PB10 1
|
||||
#define IGNORE_PIN_PB11 1
|
||||
#define IGNORE_PIN_PB12 1
|
||||
#define IGNORE_PIN_PB13 1
|
||||
#define IGNORE_PIN_PB14 1
|
||||
#define IGNORE_PIN_PB15 1
|
||||
#define IGNORE_PIN_PB16 1
|
||||
#define IGNORE_PIN_PB17 1
|
||||
#define IGNORE_PIN_PB22 1
|
||||
#define IGNORE_PIN_PB23 1
|
||||
#define IGNORE_PIN_PB30 1
|
||||
#define IGNORE_PIN_PB31 1
|
@ -0,0 +1,35 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8102
|
||||
USB_PRODUCT = "Slide Trinkey M0"
|
||||
USB_MANUFACTURER = "Adafruit Industries LLC"
|
||||
|
||||
CHIP_VARIANT = SAMD21E18A
|
||||
CHIP_FAMILY = samd21
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
|
||||
CIRCUITPY_ANALOGIO = 1
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_SAMD = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO = 0
|
||||
CIRCUITPY_STORAGE = 1
|
||||
|
||||
CIRCUITPY_MATH = 1
|
||||
CIRCUITPY_PIXELBUF = 1
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_TOUCHIO = 1
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SimpleMath
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
8
ports/atmel-samd/boards/adafruit_slide_trinkey_m0/pins.c
Normal file
8
ports/atmel-samd/boards/adafruit_slide_trinkey_m0/pins.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
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_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_POTENTIOMETER), MP_ROM_PTR(&pin_PA07) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
@ -8,8 +8,8 @@
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PA22)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PA23)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_PB11)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_PB10)
|
||||
|
@ -18,7 +18,7 @@ CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO = 0
|
||||
CIRCUITPY_STORAGE = 0
|
||||
CIRCUITPY_STORAGE = 1
|
||||
|
||||
CIRCUITPY_MATH = 1
|
||||
CIRCUITPY_PIXELBUF = 1
|
||||
|
39
ports/atmel-samd/boards/sensebox_mcu/board.c
Normal file
39
ports/atmel-samd/boards/sensebox_mcu/board.c
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "hal/include/hal_gpio.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
24
ports/atmel-samd/boards/sensebox_mcu/mpconfigboard.h
Normal file
24
ports/atmel-samd/boards/sensebox_mcu/mpconfigboard.h
Normal file
@ -0,0 +1,24 @@
|
||||
#define MICROPY_HW_BOARD_NAME "senseBox MCU"
|
||||
#define MICROPY_HW_MCU_NAME "senseBox"
|
||||
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PA27)
|
||||
|
||||
#define MICROPY_PORT_A (0)
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PA09)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PA08)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_PA19)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_PA23)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_PA22)
|
||||
|
||||
#define SAMD21_BOD33_LEVEL (6)
|
||||
|
||||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
14
ports/atmel-samd/boards/sensebox_mcu/mpconfigboard.mk
Normal file
14
ports/atmel-samd/boards/sensebox_mcu/mpconfigboard.mk
Normal file
@ -0,0 +1,14 @@
|
||||
USB_VID = 0x04D8
|
||||
USB_PID = 0xEF67
|
||||
USB_PRODUCT = "senseBox MCU"
|
||||
USB_MANUFACTURER = "senseBox"
|
||||
|
||||
CHIP_VARIANT = SAMD21G18A
|
||||
CHIP_FAMILY = samd21
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
71
ports/atmel-samd/boards/sensebox_mcu/pins.c
Normal file
71
ports/atmel-samd/boards/sensebox_mcu/pins.c
Normal file
@ -0,0 +1,71 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
|
||||
// Analog pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PA03) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_PA02) },
|
||||
|
||||
// Digital pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA03) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PB02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PB08) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PB09) },
|
||||
|
||||
// UART pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART_PWR), MP_ROM_PTR(&pin_PB02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PB08) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PB09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) }, // alias of TX1
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) }, // alias of RX1
|
||||
|
||||
// SPI pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA19) },
|
||||
|
||||
// I2C pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_PWR), MP_ROM_PTR(&pin_PB11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
|
||||
|
||||
// LED pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RED_LED), MP_ROM_PTR(&pin_PA27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GREEN_LED), MP_ROM_PTR(&pin_PA28) },
|
||||
|
||||
// XBEE pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB1_PWR), MP_ROM_PTR(&pin_PB03) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB2_PWR), MP_ROM_PTR(&pin_PB10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB1_CS), MP_ROM_PTR(&pin_PA18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB2_CS), MP_ROM_PTR(&pin_PA14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB1_INT), MP_ROM_PTR(&pin_PA21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB2_INT), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB1_RX), MP_ROM_PTR(&pin_PA23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB1_TX), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB2_RX), MP_ROM_PTR(&pin_PA11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_XB2_TX), MP_ROM_PTR(&pin_PA10) },
|
||||
|
||||
|
||||
// Comm objects
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
@ -41,6 +41,7 @@ CIRCUITPY_BUILTINS_POW3 ?= 0
|
||||
CIRCUITPY_COMPUTED_GOTO_SAVE_SPACE ?= 1
|
||||
CIRCUITPY_FREQUENCYIO ?= 0
|
||||
CIRCUITPY_JSON ?= 0
|
||||
CIRCUITPY_SYNTHIO ?= 0
|
||||
CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1
|
||||
|
||||
# No room for HCI _bleio on SAMD21.
|
||||
@ -87,3 +88,22 @@ CIRCUITPY_FRAMEBUFFERIO ?= $(CIRCUITPY_FULL_BUILD)
|
||||
|
||||
endif # samd51
|
||||
######################################################################
|
||||
|
||||
######################################################################
|
||||
# Put same51-only choices here.
|
||||
|
||||
ifeq ($(CHIP_FAMILY),same51)
|
||||
|
||||
# No native touchio on SAMD51.
|
||||
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
||||
|
||||
# The ?='s allow overriding in mpconfigboard.mk.
|
||||
|
||||
CIRCUITPY_NETWORK ?= 0
|
||||
CIRCUITPY_PS2IO ?= 1
|
||||
CIRCUITPY_SAMD ?= 1
|
||||
CIRCUITPY_RGBMATRIX ?= $(CIRCUITPY_FULL_BUILD)
|
||||
CIRCUITPY_FRAMEBUFFERIO ?= $(CIRCUITPY_FULL_BUILD)
|
||||
|
||||
endif # same51
|
||||
######################################################################
|
||||
|
61
ports/esp32s2/boards/atmegazero_esp32s2/board.c
Normal file
61
ports/esp32s2/boards/atmegazero_esp32s2/board.c
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
|
||||
// SPI Flash and RAM
|
||||
common_hal_never_reset_pin(&pin_GPIO26);
|
||||
common_hal_never_reset_pin(&pin_GPIO27);
|
||||
common_hal_never_reset_pin(&pin_GPIO28);
|
||||
common_hal_never_reset_pin(&pin_GPIO29);
|
||||
common_hal_never_reset_pin(&pin_GPIO30);
|
||||
common_hal_never_reset_pin(&pin_GPIO31);
|
||||
common_hal_never_reset_pin(&pin_GPIO32);
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
47
ports/esp32s2/boards/atmegazero_esp32s2/mpconfigboard.h
Normal file
47
ports/esp32s2/boards/atmegazero_esp32s2/mpconfigboard.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
//Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "ATMegaZero ESP32-S2"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO9)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO8)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO40)
|
15
ports/esp32s2/boards/atmegazero_esp32s2/mpconfigboard.mk
Normal file
15
ports/esp32s2/boards/atmegazero_esp32s2/mpconfigboard.mk
Normal file
@ -0,0 +1,15 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8009
|
||||
USB_PRODUCT = "ATMegaZero ESP32-S2"
|
||||
USB_MANUFACTURER = "ATMegaZero"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=qio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=16MB
|
80
ports/esp32s2/boards/atmegazero_esp32s2/pins.c
Normal file
80
ports/esp32s2/boards/atmegazero_esp32s2/pins.c
Normal file
@ -0,0 +1,80 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PD5), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_HWD), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AREF), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO9) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC2), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO37) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO40) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
39
ports/esp32s2/boards/atmegazero_esp32s2/sdkconfig
Normal file
39
ports/esp32s2/boards/atmegazero_esp32s2/sdkconfig
Normal file
@ -0,0 +1,39 @@
|
||||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||
CONFIG_SPIRAM_SIZE=8388608
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="ATMegaZero-Esp32s2"
|
||||
# end of LWIP
|
40
ports/nrf/boards/aramcon2_badge/board.c
Normal file
40
ports/nrf/boards/aramcon2_badge/board.c
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Uri Shaked
|
||||
* Copyright (c) 2021 Benjamin Meisels
|
||||
*
|
||||
* 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 "common-hal/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
68
ports/nrf/boards/aramcon2_badge/mpconfigboard.h
Normal file
68
ports/nrf/boards/aramcon2_badge/mpconfigboard.h
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Uri Shaked
|
||||
* Copyright (c) 2021 Benjamin Meisels
|
||||
*
|
||||
* 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 "nrfx/hal/nrf_gpio.h"
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "ARAMCON2 Badge"
|
||||
#define MICROPY_HW_MCU_NAME "nRF52840"
|
||||
|
||||
#define MICROPY_HW_LED_STATUS (&pin_P1_11)
|
||||
|
||||
// Board does not have a 32kHz crystal. It does have a 32MHz crystal.
|
||||
#define BOARD_HAS_32KHZ_XTAL (0)
|
||||
|
||||
#ifdef QSPI_FLASH_FILESYSTEM
|
||||
#define MICROPY_QSPI_DATA0 NRF_GPIO_PIN_MAP(0, 22)
|
||||
#define MICROPY_QSPI_DATA1 NRF_GPIO_PIN_MAP(0, 20)
|
||||
#define MICROPY_QSPI_DATA2 NRF_GPIO_PIN_MAP(1, 4)
|
||||
#define MICROPY_QSPI_DATA3 NRF_GPIO_PIN_MAP(1, 6)
|
||||
#define MICROPY_QSPI_SCK NRF_GPIO_PIN_MAP(1, 0)
|
||||
#define MICROPY_QSPI_CS NRF_GPIO_PIN_MAP(1, 2)
|
||||
#endif
|
||||
|
||||
#ifdef SPI_FLASH_FILESYSTEM
|
||||
#define SPI_FLASH_MOSI_PIN &pin_P0_20
|
||||
#define SPI_FLASH_MISO_PIN &pin_P0_22
|
||||
#define SPI_FLASH_SCK_PIN &pin_P1_00
|
||||
#define SPI_FLASH_CS_PIN &pin_P1_02
|
||||
#endif
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_P0_29)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing the left button at start up\n")
|
||||
|
||||
#define CIRCUITPY_AUTORELOAD_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE (4096)
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_P0_28)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_P0_03)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_P0_01)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_P1_10)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_P1_09)
|
11
ports/nrf/boards/aramcon2_badge/mpconfigboard.mk
Normal file
11
ports/nrf/boards/aramcon2_badge/mpconfigboard.mk
Normal file
@ -0,0 +1,11 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x807C
|
||||
USB_PRODUCT = "ARAMCON2 Badge"
|
||||
USB_MANUFACTURER = "ARAMCON Badge Team"
|
||||
|
||||
MCU_CHIP = nrf52840
|
||||
|
||||
QSPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q128JVxQ"
|
||||
|
||||
CIRCUITPY_DISPLAYIO = 1
|
42
ports/nrf/boards/aramcon2_badge/pins.c
Normal file
42
ports/nrf/boards/aramcon2_badge/pins.c
Normal file
@ -0,0 +1,42 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_UP_BUTTON), MP_ROM_PTR(&pin_P0_31) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LEFT_BUTTON), MP_ROM_PTR(&pin_P0_29) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DOWN_BUTTON), MP_ROM_PTR(&pin_P1_13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RIGHT_BUTTON), MP_ROM_PTR(&pin_P0_02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_ACTION_BUTTON), MP_ROM_PTR(&pin_P0_10) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_P1_11) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_P0_28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_P0_03) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_P0_01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_P1_10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_P1_09) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GPIO1), MP_ROM_PTR(&pin_P0_04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GPIO2), MP_ROM_PTR(&pin_P0_05) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_P0_15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_P0_00) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_P0_13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_P0_24) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISP_BUSY), MP_ROM_PTR(&pin_P0_26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISP_CS), MP_ROM_PTR(&pin_P0_07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISP_DC), MP_ROM_PTR(&pin_P0_12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISP_RESET), MP_ROM_PTR(&pin_P0_06) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_P0_08) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_VIBRATION_MOTOR), MP_ROM_PTR(&pin_P0_17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATTERY_SENSE), MP_ROM_PTR(&pin_P0_30) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
};
|
||||
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
@ -131,6 +131,10 @@ size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *sel
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t common_hal_bleio_characteristic_get_max_length(bleio_characteristic_obj_t *self) {
|
||||
return self->max_length;
|
||||
}
|
||||
|
||||
void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self, mp_buffer_info_t *bufinfo) {
|
||||
// Do GATT operations only if this characteristic has been added to a registered service.
|
||||
if (self->handle != BLE_GATT_HANDLE_INVALID) {
|
||||
|
@ -42,7 +42,8 @@
|
||||
|
||||
STATIC void write_to_ringbuf(bleio_packet_buffer_obj_t *self, uint8_t *data, uint16_t len) {
|
||||
if (len + sizeof(uint16_t) > ringbuf_capacity(&self->ringbuf)) {
|
||||
// This shouldn't happen.
|
||||
// This shouldn't happen but can if our buffer size was much smaller than
|
||||
// the writes the client actually makes.
|
||||
return;
|
||||
}
|
||||
// Push all the data onto the ring buffer.
|
||||
@ -189,7 +190,7 @@ STATIC bool packet_buffer_on_ble_server_evt(ble_evt_t *ble_evt, void *param) {
|
||||
|
||||
void common_hal_bleio_packet_buffer_construct(
|
||||
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
|
||||
size_t buffer_size) {
|
||||
size_t buffer_size, size_t max_packet_size) {
|
||||
|
||||
self->characteristic = characteristic;
|
||||
self->client = self->characteristic->service->is_remote;
|
||||
@ -206,8 +207,11 @@ void common_hal_bleio_packet_buffer_construct(
|
||||
self->conn_handle = BLE_CONN_HANDLE_INVALID;
|
||||
}
|
||||
|
||||
// Cap the packet size to our implementation limits.
|
||||
self->max_packet_size = MIN(max_packet_size, BLE_GATTS_VAR_ATTR_LEN_MAX - 3);
|
||||
|
||||
if (incoming) {
|
||||
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + characteristic->max_length), false)) {
|
||||
if (!ringbuf_alloc(&self->ringbuf, buffer_size * (sizeof(uint16_t) + self->max_packet_size), false)) {
|
||||
mp_raise_ValueError(translate("Buffer too large and unable to allocate"));
|
||||
}
|
||||
}
|
||||
@ -216,8 +220,8 @@ void common_hal_bleio_packet_buffer_construct(
|
||||
self->packet_queued = false;
|
||||
self->pending_index = 0;
|
||||
self->pending_size = 0;
|
||||
self->outgoing[0] = m_malloc(characteristic->max_length, false);
|
||||
self->outgoing[1] = m_malloc(characteristic->max_length, false);
|
||||
self->outgoing[0] = m_malloc(self->max_packet_size, false);
|
||||
self->outgoing[1] = m_malloc(self->max_packet_size, false);
|
||||
} else {
|
||||
self->outgoing[0] = NULL;
|
||||
self->outgoing[1] = NULL;
|
||||
@ -296,10 +300,16 @@ mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, u
|
||||
}
|
||||
uint16_t outgoing_packet_length = common_hal_bleio_packet_buffer_get_outgoing_packet_length(self);
|
||||
|
||||
if (len + header_len > outgoing_packet_length) {
|
||||
uint16_t total_len = len + header_len;
|
||||
if (total_len > outgoing_packet_length) {
|
||||
// Supplied data will not fit in a single BLE packet.
|
||||
mp_raise_ValueError(translate("Total data to write is larger than outgoing_packet_length"));
|
||||
mp_raise_ValueError_varg(translate("Total data to write is larger than %q"), MP_QSTR_outgoing_packet_length);
|
||||
}
|
||||
if (total_len > self->max_packet_size) {
|
||||
// Supplied data will not fit in a single BLE packet.
|
||||
mp_raise_ValueError_varg(translate("Total data to write is larger than %q"), MP_QSTR_max_packet_size);
|
||||
}
|
||||
outgoing_packet_length = MIN(outgoing_packet_length, self->max_packet_size);
|
||||
|
||||
if (len + self->pending_size > outgoing_packet_length) {
|
||||
// No room to append len bytes to packet. Wait until we get a free buffer,
|
||||
@ -390,7 +400,8 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
|
||||
if (self->conn_handle != BLE_CONN_HANDLE_INVALID) {
|
||||
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
|
||||
if (connection) {
|
||||
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
|
||||
return MIN(MIN(common_hal_bleio_connection_get_max_packet_length(connection),
|
||||
self->max_packet_size),
|
||||
self->characteristic->max_length);
|
||||
}
|
||||
}
|
||||
@ -406,11 +417,12 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
|
||||
if (self->conn_handle != BLE_CONN_HANDLE_INVALID) {
|
||||
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
|
||||
if (connection) {
|
||||
return common_hal_bleio_connection_get_max_packet_length(connection);
|
||||
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
|
||||
self->max_packet_size);
|
||||
}
|
||||
}
|
||||
}
|
||||
return self->characteristic->max_length;
|
||||
return MIN(self->characteristic->max_length, self->max_packet_size);
|
||||
}
|
||||
|
||||
bool common_hal_bleio_packet_buffer_deinited(bleio_packet_buffer_obj_t *self) {
|
||||
|
@ -44,6 +44,7 @@ typedef struct {
|
||||
// We remember the conn_handle so we can do a NOTIFY/INDICATE to a client.
|
||||
// We can find out the conn_handle on a Characteristic write or a CCCD write (but not a read).
|
||||
volatile uint16_t conn_handle;
|
||||
uint16_t max_packet_size;
|
||||
uint8_t pending_index;
|
||||
uint8_t write_type;
|
||||
bool client;
|
||||
|
37
ports/raspberrypi/boards/pimoroni_picolipo_16mb/board.c
Normal file
37
ports/raspberrypi/boards/pimoroni_picolipo_16mb/board.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
#define MICROPY_HW_BOARD_NAME "Pimoroni Pico LiPo (16MB)"
|
||||
#define MICROPY_HW_MCU_NAME "rp2040"
|
||||
|
||||
#define MICROPY_HW_VBUS_DETECT (&pin_GPIO24)
|
||||
#define MICROPY_HW_BAT_SENSE (&pin_GPIO29)
|
||||
|
||||
#define MICROPY_HW_USER_SW (&pin_GPIO23)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
|
@ -0,0 +1,11 @@
|
||||
USB_VID = 0x2E8A
|
||||
USB_PID = 0x1003
|
||||
USB_PRODUCT = "Pimoroni Pico LiPo (16MB)"
|
||||
USB_MANUFACTURER = "Pimoroni"
|
||||
|
||||
CHIP_VARIANT = RP2040
|
||||
CHIP_FAMILY = rp2
|
||||
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q128JVxQ"
|
||||
|
||||
CIRCUITPY__EVE = 1
|
52
ports/raspberrypi/boards/pimoroni_picolipo_16mb/pins.c
Normal file
52
ports/raspberrypi/boards/pimoroni_picolipo_16mb/pins.c
Normal file
@ -0,0 +1,52 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_USER_SW), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBUS_DETECT), MP_ROM_PTR(&pin_GPIO24) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ 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_BAT_SENSE), 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);
|
37
ports/raspberrypi/boards/pimoroni_picolipo_4mb/board.c
Normal file
37
ports/raspberrypi/boards/pimoroni_picolipo_4mb/board.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
#define MICROPY_HW_BOARD_NAME "Pimoroni Pico LiPo (4MB)"
|
||||
#define MICROPY_HW_MCU_NAME "rp2040"
|
||||
|
||||
#define MICROPY_HW_VBUS_DETECT (&pin_GPIO24)
|
||||
#define MICROPY_HW_BAT_SENSE (&pin_GPIO29)
|
||||
|
||||
#define MICROPY_HW_USER_SW (&pin_GPIO23)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
|
@ -0,0 +1,11 @@
|
||||
USB_VID = 0x2E8A
|
||||
USB_PID = 0x1002
|
||||
USB_PRODUCT = "Pimoroni Pico LiPo (4MB)"
|
||||
USB_MANUFACTURER = "Pimoroni"
|
||||
|
||||
CHIP_VARIANT = RP2040
|
||||
CHIP_FAMILY = rp2
|
||||
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q32JVxQ"
|
||||
|
||||
CIRCUITPY__EVE = 1
|
52
ports/raspberrypi/boards/pimoroni_picolipo_4mb/pins.c
Normal file
52
ports/raspberrypi/boards/pimoroni_picolipo_4mb/pins.c
Normal file
@ -0,0 +1,52 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_USER_SW), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBUS_DETECT), MP_ROM_PTR(&pin_GPIO24) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ 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_BAT_SENSE), 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);
|
@ -24,18 +24,28 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP23), MP_ROM_PTR(&pin_GPIO23) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBUS_SENSE), MP_ROM_PTR(&pin_GPIO24) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP24), MP_ROM_PTR(&pin_GPIO24) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP27), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ 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_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO29) },
|
||||
};
|
||||
|
40
ports/raspberrypi/boards/sparkfun_micromod_rp2040/board.c
Normal file
40
ports/raspberrypi/boards/sparkfun_micromod_rp2040/board.c
Normal 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) {
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
#define MICROPY_HW_BOARD_NAME "SparkFun MicroMod ATP - RP2040"
|
||||
#define MICROPY_HW_MCU_NAME "rp2040"
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO14)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO15)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO12)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO1)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO0)
|
@ -0,0 +1,9 @@
|
||||
USB_VID = 0x1B4F
|
||||
USB_PID = 0x0024
|
||||
USB_PRODUCT = "MicroMod RP2040"
|
||||
USB_MANUFACTURER = "SparkFun"
|
||||
|
||||
CHIP_VARIANT = RP2040
|
||||
CHIP_FAMILY = rp2
|
||||
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q128JVxM"
|
105
ports/raspberrypi/boards/sparkfun_micromod_rp2040/pins.c
Normal file
105
ports/raspberrypi/boards/sparkfun_micromod_rp2040/pins.c
Normal file
@ -0,0 +1,105 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
// D (Digital only) pins (D0,D1)
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO7) }, // GPIO6 - D0
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO7) }, // GPIO7 - D1
|
||||
|
||||
// A (ADC) pins (A0,A1)
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) }, // GPIO26 - A0 | ADC0
|
||||
{ MP_ROM_QSTR(MP_QSTR_ADC0), MP_ROM_PTR(&pin_GPIO26) }, // ADC0 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) }, // GPIO27 - A1 | ADC1
|
||||
{ MP_ROM_QSTR(MP_QSTR_ADC1), MP_ROM_PTR(&pin_GPIO27) }, // ADC1 alias
|
||||
|
||||
// G (General/BUS) pins (G0-G7, G8 NC, G9-G10, G11 NC)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G0), MP_ROM_PTR(&pin_GPIO16) }, // GPIO16 - G0 | BUS0
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS0), MP_ROM_PTR(&pin_GPIO16) }, // BUS0 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G1), MP_ROM_PTR(&pin_GPIO17) }, // GPIO17 - G1 | BUS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS1), MP_ROM_PTR(&pin_GPIO17) }, // BUS1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G2), MP_ROM_PTR(&pin_GPIO18) }, // GPIO18 - G2 | BUS2
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS2), MP_ROM_PTR(&pin_GPIO18) }, // BUS2 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G3), MP_ROM_PTR(&pin_GPIO19) }, // GPIO19 - G3 | BUS3
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS3), MP_ROM_PTR(&pin_GPIO19) }, // BUS3 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G4), MP_ROM_PTR(&pin_GPIO20) }, // GPIO20 - G4 | BUS4 | SPI_CIPO
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS4), MP_ROM_PTR(&pin_GPIO20) }, // BUS4 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G5), MP_ROM_PTR(&pin_GPIO21) }, // GPIO21 - G5 | BUS5 | SPI_CS
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS5), MP_ROM_PTR(&pin_GPIO21) }, // BUS5 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G6), MP_ROM_PTR(&pin_GPIO22) }, // GPIO22 - G6 | BUS6 | SPI_SCK
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS6), MP_ROM_PTR(&pin_GPIO22) }, // BUS6 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G7), MP_ROM_PTR(&pin_GPIO23) }, // GPIO23 - G7 | BUS7 | SPI_COPI
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS7), MP_ROM_PTR(&pin_GPIO23) }, // BUS7 alias
|
||||
// NC - G8
|
||||
{ MP_ROM_QSTR(MP_QSTR_G9), MP_ROM_PTR(&pin_GPIO28) }, // GPIO28- G9 | BUS9 | ADC_D- | CAM_HSYNC
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS9), MP_ROM_PTR(&pin_GPIO28) }, // BUS9 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_ADC_DM), MP_ROM_PTR(&pin_GPIO28) }, // ADC_DM alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAM_HSYNC), MP_ROM_PTR(&pin_GPIO28) }, // CAM_HSYNC alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_G10), MP_ROM_PTR(&pin_GPIO25) }, // GPIO25 - G10 | BUS10 | ADC_D+ | CAM_VSYNC
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS10), MP_ROM_PTR(&pin_GPIO25) }, // BUS10 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_ADC_DP), MP_ROM_PTR(&pin_GPIO25) }, // ADC_DP alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAM_VSYNC), MP_ROM_PTR(&pin_GPIO25) }, // CAM_VSYNC alias
|
||||
// NC - G11
|
||||
|
||||
// PWM pins (PWM0,PWM1)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM0), MP_ROM_PTR(&pin_GPIO13) }, // GPIO13 - PWM0
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM1), MP_ROM_PTR(&pin_GPIO24) }, // GPIO24 - PWM1 | AUD_MCLK
|
||||
|
||||
// AUD (audio)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_MCLK), MP_ROM_PTR(&pin_GPIO24) }, // GPIO24 - AUD_MCLK | PWM1
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_OUT), MP_ROM_PTR(&pin_GPIO10) }, // GPIO10 - AUD_OUT | SDIO_DAT2
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_IN), MP_ROM_PTR(&pin_GPIO11) }, // GPIO11 - AUD_IN | SDIO_DAT1
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_LRCLK), MP_ROM_PTR(&pin_GPIO2) }, // GPIO2 - AUD_LRCLK | CTS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_BCLK), MP_ROM_PTR(&pin_GPIO3) }, // GPIO3 - AUD_BCLK | UART_RTS1
|
||||
|
||||
// Battery Voltage Monitor
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATT_VIN3), MP_ROM_PTR(&pin_GPIO29) }, // GPIO29 - BATT_VIN/3 (ADC03)
|
||||
|
||||
|
||||
// I2C
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) }, // GPIO4 - SDA
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO5) }, // GPIO5 - SCL
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_INT), MP_ROM_PTR(&pin_GPIO8) }, // GPIO9 - I2C_INT | TX2
|
||||
|
||||
// SPI
|
||||
{ MP_ROM_QSTR(MP_QSTR_CIPO), MP_ROM_PTR(&pin_GPIO20) }, // GPIO20 - CIPO | SPI_CIPO | G4
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO20) }, // MISO alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_COPI), MP_ROM_PTR(&pin_GPIO23) }, // GPIO23 - COPI | SPI_COPI | G7
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO23) }, // MOSI alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO22) }, // GPIO22 - SCK | SPI_SCK | G6
|
||||
{ MP_ROM_QSTR(MP_QSTR_CS), MP_ROM_PTR(&pin_GPIO21) }, // GPIO21 - /CS | SPI_/CS | G5
|
||||
|
||||
// SDI/SPI1
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_CLK), MP_ROM_PTR(&pin_GPIO14) }, // GPIO14 - SDIO SCK | SDIO_CLK
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_SCK1), MP_ROM_PTR(&pin_GPIO14) }, // SPI_SCK1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_CMD), MP_ROM_PTR(&pin_GPIO15) }, // GPIO15 - SDIO CMD | SDIO_CMD
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_COPI1), MP_ROM_PTR(&pin_GPIO15) },// SPI_COPI1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_DATA0), MP_ROM_PTR(&pin_GPIO12) },// GPIO12 - SDIO DATA0 | SDIO_DATA0
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_CIPO1), MP_ROM_PTR(&pin_GPIO12) }, // SPI_CIPO1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_DATA1), MP_ROM_PTR(&pin_GPIO11) },// GPIO11 - SDIO DATA1 | SDIO_DATA1 | AUD_IN
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_DATA2), MP_ROM_PTR(&pin_GPIO10) },// GPIO10 - SDIO DATA2 | SDIO_DATA2 | AUD_OUT
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDIO_DATA3), MP_ROM_PTR(&pin_GPIO9) },// GPIO9 - SDIO DATA3 | SDIO_DATA3 | SPI_CS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_CS1), MP_ROM_PTR(&pin_GPIO9) }, // SPI_CS1 alias
|
||||
|
||||
// Status LED
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED1), MP_ROM_PTR(&pin_GPIO25) }, // GPIO25 - LED_BUILTIN | STAT | Blue LED | G10
|
||||
|
||||
// UART
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO1) }, // GPIO1 - UART RX | UART_RX1 | RX1
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_GPIO1) }, // RX1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO0) }, // GPIO0 - UART TX | UART_TX1 | TX1
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_GPIO0) }, // TX1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_CTS), MP_ROM_PTR(&pin_GPIO2) }, // GPIO2 - UART CTS | CTS1 (TRACEDATA3)
|
||||
{ MP_ROM_QSTR(MP_QSTR_CTS1), MP_ROM_PTR(&pin_GPIO2) }, // CTS1 alias
|
||||
{ MP_ROM_QSTR(MP_QSTR_RTS), MP_ROM_PTR(&pin_GPIO3) }, // GPIO3 - UART RTS | RTS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_RTS1), MP_ROM_PTR(&pin_GPIO3) }, // RTS1 alias
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_GPIO9) }, // GPIO9 - UART RX | UART_RX2 | RX2 | SDIO_DAT3 | SPI_CS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_GPIO8) }, // GPIO8 - UART TX | UART_TX2 | TX2 | I2C_INT
|
||||
|
||||
// Board objects
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
@ -43,8 +43,7 @@ CIRCUITPY_AUDIOBUSIO ?= 1
|
||||
CIRCUITPY_AUDIOCORE ?= 1
|
||||
CIRCUITPY_AUDIOPWMIO ?= 1
|
||||
|
||||
# These libraries require Cortex M4+ for fancy math instructions.
|
||||
CIRCUITPY_AUDIOMIXER ?= 0
|
||||
CIRCUITPY_AUDIOMIXER = 1
|
||||
|
||||
INTERNAL_LIBM = 1
|
||||
|
||||
|
@ -16,3 +16,5 @@ MCU_PACKAGE = UFQFPN48
|
||||
|
||||
LD_COMMON = boards/common_default.ld
|
||||
LD_FILE = boards/STM32F411_nvm_nofs.ld
|
||||
|
||||
CIRCUITPY_SYNTHIO = 0
|
||||
|
@ -371,11 +371,7 @@ void mp_binary_set_val(char struct_type, char val_type, mp_obj_t val_in, byte **
|
||||
}
|
||||
}
|
||||
|
||||
if (val_type == 'x') {
|
||||
memset(p, 0, 1);
|
||||
} else {
|
||||
mp_binary_set_int(MIN((size_t)size, sizeof(val)), struct_type == '>', p, val);
|
||||
}
|
||||
}
|
||||
|
||||
void mp_binary_set_val_array(char typecode, void *p, mp_uint_t index, mp_obj_t val_in) {
|
||||
|
@ -280,6 +280,9 @@ endif
|
||||
ifeq ($(CIRCUITPY_SUPERVISOR),1)
|
||||
SRC_PATTERNS += supervisor/%
|
||||
endif
|
||||
ifeq ($(CIRCUITPY_SYNTHIO),1)
|
||||
SRC_PATTERNS += synthio/%
|
||||
endif
|
||||
ifeq ($(CIRCUITPY_TERMINALIO),1)
|
||||
SRC_PATTERNS += terminalio/% fontio/%
|
||||
endif
|
||||
@ -524,6 +527,8 @@ SRC_SHARED_MODULE_ALL = \
|
||||
socket/__init__.c \
|
||||
storage/__init__.c \
|
||||
struct/__init__.c \
|
||||
synthio/MidiTrack.c \
|
||||
synthio/__init__.c \
|
||||
terminalio/Terminal.c \
|
||||
terminalio/__init__.c \
|
||||
time/__init__.c \
|
||||
|
@ -728,6 +728,13 @@ extern const struct _mp_obj_module_t supervisor_module;
|
||||
#define SUPERVISOR_MODULE
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_SYNTHIO
|
||||
#define SYNTHIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_synthio), (mp_obj_t)&synthio_module },
|
||||
extern const struct _mp_obj_module_t synthio_module;
|
||||
#else
|
||||
#define SYNTHIO_MODULE
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_TIME
|
||||
extern const struct _mp_obj_module_t time_module;
|
||||
#define TIME_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&time_module },
|
||||
@ -897,6 +904,7 @@ extern const struct _mp_obj_module_t msgpack_module;
|
||||
STORAGE_MODULE \
|
||||
STRUCT_MODULE \
|
||||
SUPERVISOR_MODULE \
|
||||
SYNTHIO_MODULE \
|
||||
TOUCHIO_MODULE \
|
||||
UHEAP_MODULE \
|
||||
USB_CDC_MODULE \
|
||||
|
@ -311,6 +311,9 @@ CFLAGS += -DCIRCUITPY_STRUCT=$(CIRCUITPY_STRUCT)
|
||||
CIRCUITPY_SUPERVISOR ?= 1
|
||||
CFLAGS += -DCIRCUITPY_SUPERVISOR=$(CIRCUITPY_SUPERVISOR)
|
||||
|
||||
CIRCUITPY_SYNTHIO ?= $(CIRCUITPY_AUDIOCORE)
|
||||
CFLAGS += -DCIRCUITPY_SYNTHIO=$(CIRCUITPY_SYNTHIO)
|
||||
|
||||
CIRCUITPY_TERMINALIO ?= $(CIRCUITPY_DISPLAYIO)
|
||||
CFLAGS += -DCIRCUITPY_TERMINALIO=$(CIRCUITPY_TERMINALIO)
|
||||
|
||||
|
@ -768,7 +768,7 @@ STATIC bool compile_built_in_decorator(compiler_t *comp, int name_len, mp_parse_
|
||||
}
|
||||
|
||||
if (name_len != 2) {
|
||||
compile_syntax_error(comp, name_nodes[0], translate("invalid micropython decorator"));
|
||||
compile_syntax_error(comp, name_nodes[0], translate("invalid decorator"));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,6 @@ from __future__ import print_function
|
||||
import re
|
||||
import sys
|
||||
|
||||
from math import log
|
||||
import collections
|
||||
import gettext
|
||||
import os.path
|
||||
@ -167,7 +166,7 @@ def compute_huffman_coding(translations, compression_filename):
|
||||
sum_len = 0
|
||||
while True:
|
||||
# Until the dictionary is filled to capacity, use a heuristic to find
|
||||
# the best "word" (2- to 9-gram) to add to it.
|
||||
# the best "word" (3- to 9-gram) to add to it.
|
||||
#
|
||||
# The TextSplitter allows us to avoid considering parts of the text
|
||||
# that are already covered by a previously chosen word, for example
|
||||
@ -179,32 +178,25 @@ def compute_huffman_coding(translations, compression_filename):
|
||||
for t in texts:
|
||||
for (found, word) in extractor.iter_words(t):
|
||||
if not found:
|
||||
for substr in iter_substrings(word, minlen=2, maxlen=9):
|
||||
for substr in iter_substrings(word, minlen=3, maxlen=9):
|
||||
counter[substr] += 1
|
||||
|
||||
# Score the candidates we found. This is an empirical formula only,
|
||||
# chosen for its effectiveness.
|
||||
scores = sorted(
|
||||
((s, (len(s) - 1) ** log(max(occ - 2, 1)), occ) for (s, occ) in counter.items()),
|
||||
((s, (len(s) - 1) ** (occ + 4)) for (s, occ) in counter.items() if occ > 4),
|
||||
key=lambda x: x[1],
|
||||
reverse=True,
|
||||
)
|
||||
|
||||
# Do we have a "word" that occurred 5 times and got a score of at least
|
||||
# 5? Horray. Pick the one with the highest score.
|
||||
word = None
|
||||
for (s, score, occ) in scores:
|
||||
if occ < 5:
|
||||
continue
|
||||
if score < 5:
|
||||
break
|
||||
word = s
|
||||
# Pick the one with the highest score.
|
||||
if not scores:
|
||||
break
|
||||
|
||||
word = scores[0][0]
|
||||
|
||||
# If we can successfully add it to the dictionary, do so. Otherwise,
|
||||
# we've filled the dictionary to capacity and are done.
|
||||
if not word:
|
||||
break
|
||||
if sum_len + len(word) - 2 > max_words_len:
|
||||
break
|
||||
if len(words) == max_words:
|
||||
@ -456,27 +448,24 @@ def parse_input_headers(infiles):
|
||||
|
||||
return qcfgs, qstrs, i18ns
|
||||
|
||||
def escape_bytes(qstr):
|
||||
if all(32 <= ord(c) <= 126 and c != "\\" and c != '"' for c in qstr):
|
||||
# qstr is all printable ASCII so render it as-is (for easier debugging)
|
||||
return qstr
|
||||
else:
|
||||
# qstr contains non-printable codes so render entire thing as hex pairs
|
||||
qbytes = bytes_cons(qstr, "utf8")
|
||||
return "".join(("\\x%02x" % b) for b in qbytes)
|
||||
|
||||
def make_bytes(cfg_bytes_len, cfg_bytes_hash, qstr):
|
||||
qbytes = bytes_cons(qstr, "utf8")
|
||||
qlen = len(qbytes)
|
||||
qhash = compute_hash(qbytes, cfg_bytes_hash)
|
||||
if all(32 <= ord(c) <= 126 and c != "\\" and c != '"' for c in qstr):
|
||||
# qstr is all printable ASCII so render it as-is (for easier debugging)
|
||||
qdata = qstr
|
||||
else:
|
||||
# qstr contains non-printable codes so render entire thing as hex pairs
|
||||
qdata = "".join(("\\x%02x" % b) for b in qbytes)
|
||||
if qlen >= (1 << (8 * cfg_bytes_len)):
|
||||
print("qstr is too long:", qstr)
|
||||
assert False
|
||||
qlen_str = ("\\x%02x" * cfg_bytes_len) % tuple(
|
||||
((qlen >> (8 * i)) & 0xFF) for i in range(cfg_bytes_len)
|
||||
)
|
||||
qhash_str = ("\\x%02x" * cfg_bytes_hash) % tuple(
|
||||
((qhash >> (8 * i)) & 0xFF) for i in range(cfg_bytes_hash)
|
||||
)
|
||||
return '(const byte*)"%s%s" "%s"' % (qhash_str, qlen_str, qdata)
|
||||
qdata = escape_bytes(qstr)
|
||||
return '%d, %d, "%s"' % (qhash, qlen, qdata)
|
||||
|
||||
|
||||
def print_qstr_data(encoding_table, qcfgs, qstrs, i18ns):
|
||||
@ -489,10 +478,7 @@ def print_qstr_data(encoding_table, qcfgs, qstrs, i18ns):
|
||||
print("")
|
||||
|
||||
# add NULL qstr with no hash or data
|
||||
print(
|
||||
'QDEF(MP_QSTR_NULL, (const byte*)"%s%s" "")'
|
||||
% ("\\x00" * cfg_bytes_hash, "\\x00" * cfg_bytes_len)
|
||||
)
|
||||
print('QDEF(MP_QSTR_NULL, 0, 0, "")')
|
||||
|
||||
total_qstr_size = 0
|
||||
total_qstr_compressed_size = 0
|
||||
|
@ -214,9 +214,11 @@ STATIC void struct_pack_into_internal(mp_obj_t fmt_in, byte *p, size_t n_args, c
|
||||
p += cnt;
|
||||
} else {
|
||||
while (cnt--) {
|
||||
mp_binary_set_val(fmt_type, *fmt, args[i], &p);
|
||||
// Pad bytes don't have a corresponding argument.
|
||||
if (*fmt != 'x') {
|
||||
if (*fmt == 'x') {
|
||||
mp_binary_set_val(fmt_type, *fmt, MP_OBJ_NEW_SMALL_INT(0), &p);
|
||||
} else {
|
||||
mp_binary_set_val(fmt_type, *fmt, args[i], &p);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
@ -197,7 +197,7 @@ typedef struct _mp_state_vm_t {
|
||||
|
||||
// pointer and sizes to store interned string data
|
||||
// (qstr_last_chunk can be root pointer but is also stored in qstr pool)
|
||||
byte *qstr_last_chunk;
|
||||
char *qstr_last_chunk;
|
||||
size_t qstr_last_alloc;
|
||||
size_t qstr_last_used;
|
||||
|
||||
|
130
py/qstr.c
130
py/qstr.c
@ -37,7 +37,6 @@
|
||||
|
||||
// NOTE: we are using linear arrays to store and search for qstr's (unique strings, interned strings)
|
||||
// ultimately we will replace this with a static hash table of some kind
|
||||
// also probably need to include the length in the string data, to allow null bytes in the string
|
||||
|
||||
#if MICROPY_DEBUG_VERBOSE // print debugging info
|
||||
#define DEBUG_printf DEBUG_printf
|
||||
@ -46,34 +45,9 @@
|
||||
#endif
|
||||
|
||||
// A qstr is an index into the qstr pool.
|
||||
// The data for a qstr contains (hash, length, data):
|
||||
// - hash (configurable number of bytes)
|
||||
// - length (configurable number of bytes)
|
||||
// - data ("length" number of bytes)
|
||||
// - \0 terminated (so they can be printed using printf)
|
||||
// The data for a qstr is \0 terminated (so they can be printed using printf)
|
||||
|
||||
#if MICROPY_QSTR_BYTES_IN_HASH == 1
|
||||
#define Q_HASH_MASK (0xff)
|
||||
#define Q_GET_HASH(q) ((mp_uint_t)(q)[0])
|
||||
#define Q_SET_HASH(q, hash) do { (q)[0] = (hash); } while (0)
|
||||
#elif MICROPY_QSTR_BYTES_IN_HASH == 2
|
||||
#define Q_HASH_MASK (0xffff)
|
||||
#define Q_GET_HASH(q) ((mp_uint_t)(q)[0] | ((mp_uint_t)(q)[1] << 8))
|
||||
#define Q_SET_HASH(q, hash) do { (q)[0] = (hash); (q)[1] = (hash) >> 8; } while (0)
|
||||
#else
|
||||
#error unimplemented qstr hash decoding
|
||||
#endif
|
||||
#define Q_GET_ALLOC(q) (MICROPY_QSTR_BYTES_IN_HASH + MICROPY_QSTR_BYTES_IN_LEN + Q_GET_LENGTH(q) + 1)
|
||||
#define Q_GET_DATA(q) ((q) + MICROPY_QSTR_BYTES_IN_HASH + MICROPY_QSTR_BYTES_IN_LEN)
|
||||
#if MICROPY_QSTR_BYTES_IN_LEN == 1
|
||||
#define Q_GET_LENGTH(q) ((q)[MICROPY_QSTR_BYTES_IN_HASH])
|
||||
#define Q_SET_LENGTH(q, len) do { (q)[MICROPY_QSTR_BYTES_IN_HASH] = (len); } while (0)
|
||||
#elif MICROPY_QSTR_BYTES_IN_LEN == 2
|
||||
#define Q_GET_LENGTH(q) ((q)[MICROPY_QSTR_BYTES_IN_HASH] | ((q)[MICROPY_QSTR_BYTES_IN_HASH + 1] << 8))
|
||||
#define Q_SET_LENGTH(q, len) do { (q)[MICROPY_QSTR_BYTES_IN_HASH] = (len); (q)[MICROPY_QSTR_BYTES_IN_HASH + 1] = (len) >> 8; } while (0)
|
||||
#else
|
||||
#error unimplemented qstr length decoding
|
||||
#endif
|
||||
#define Q_HASH_MASK ((1 << (8 * MICROPY_QSTR_BYTES_IN_HASH)) - 1)
|
||||
|
||||
#if MICROPY_PY_THREAD && !MICROPY_PY_THREAD_GIL
|
||||
#define QSTR_ENTER() mp_thread_mutex_lock(&MP_STATE_VM(qstr_mutex), 1)
|
||||
@ -98,14 +72,25 @@ mp_uint_t qstr_compute_hash(const byte *data, size_t len) {
|
||||
return hash;
|
||||
}
|
||||
|
||||
const qstr_attr_t mp_qstr_const_attr[] = {
|
||||
#ifndef NO_QSTR
|
||||
#define QDEF(id, hash, len, str) { hash, len },
|
||||
#define TRANSLATION(id, length, compressed ...)
|
||||
#include "genhdr/qstrdefs.generated.h"
|
||||
#undef TRANSLATION
|
||||
#undef QDEF
|
||||
#endif
|
||||
};
|
||||
|
||||
const qstr_pool_t mp_qstr_const_pool = {
|
||||
NULL, // no previous pool
|
||||
0, // no previous pool
|
||||
10, // set so that the first dynamically allocated pool is twice this size; must be <= the len (just below)
|
||||
MP_QSTRnumber_of, // corresponds to number of strings in array just below
|
||||
(qstr_attr_t *)mp_qstr_const_attr,
|
||||
{
|
||||
#ifndef NO_QSTR
|
||||
#define QDEF(id, str) str,
|
||||
#define QDEF(id, hash, len, str) str,
|
||||
#define TRANSLATION(id, length, compressed ...)
|
||||
#include "genhdr/qstrdefs.generated.h"
|
||||
#undef TRANSLATION
|
||||
@ -130,20 +115,22 @@ void qstr_init(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
STATIC const byte *find_qstr(qstr q) {
|
||||
STATIC const char *find_qstr(qstr q, qstr_attr_t *attr) {
|
||||
// search pool for this qstr
|
||||
// total_prev_len==0 in the final pool, so the loop will always terminate
|
||||
qstr_pool_t *pool = MP_STATE_VM(last_pool);
|
||||
while (q < pool->total_prev_len) {
|
||||
pool = pool->prev;
|
||||
}
|
||||
assert(q - pool->total_prev_len < pool->len);
|
||||
return pool->qstrs[q - pool->total_prev_len];
|
||||
q -= pool->total_prev_len;
|
||||
assert(q < pool->len);
|
||||
*attr = pool->attrs[q];
|
||||
return pool->qstrs[q];
|
||||
}
|
||||
|
||||
// qstr_mutex must be taken while in this function
|
||||
STATIC qstr qstr_add(const byte *q_ptr) {
|
||||
DEBUG_printf("QSTR: add hash=%d len=%d data=%.*s\n", Q_GET_HASH(q_ptr), Q_GET_LENGTH(q_ptr), Q_GET_LENGTH(q_ptr), Q_GET_DATA(q_ptr));
|
||||
STATIC qstr qstr_add(mp_uint_t hash, mp_uint_t len, const char *q_ptr) {
|
||||
DEBUG_printf("QSTR: add hash=%d len=%d data=%.*s\n", hash, len, len, q_ptr);
|
||||
|
||||
// make sure we have room in the pool for a new qstr
|
||||
if (MP_STATE_VM(last_pool)->len >= MP_STATE_VM(last_pool)->alloc) {
|
||||
@ -151,11 +138,14 @@ STATIC qstr qstr_add(const byte *q_ptr) {
|
||||
if (new_pool_length > MICROPY_QSTR_POOL_MAX_ENTRIES) {
|
||||
new_pool_length = MICROPY_QSTR_POOL_MAX_ENTRIES;
|
||||
}
|
||||
qstr_pool_t *pool = m_new_ll_obj_var_maybe(qstr_pool_t, const char *, new_pool_length);
|
||||
if (pool == NULL) {
|
||||
mp_uint_t pool_size = sizeof(qstr_pool_t) + sizeof(const char *) * new_pool_length;
|
||||
void *chunk = m_malloc_maybe(pool_size + sizeof(qstr_attr_t) * new_pool_length, true);
|
||||
if (chunk == NULL) {
|
||||
QSTR_EXIT();
|
||||
m_malloc_fail(new_pool_length);
|
||||
}
|
||||
qstr_pool_t *pool = (qstr_pool_t *)chunk;
|
||||
pool->attrs = (qstr_attr_t *)(void *)((char *)chunk + pool_size);
|
||||
pool->prev = MP_STATE_VM(last_pool);
|
||||
pool->total_prev_len = MP_STATE_VM(last_pool)->total_prev_len + MP_STATE_VM(last_pool)->len;
|
||||
pool->alloc = new_pool_length;
|
||||
@ -165,10 +155,14 @@ STATIC qstr qstr_add(const byte *q_ptr) {
|
||||
}
|
||||
|
||||
// add the new qstr
|
||||
MP_STATE_VM(last_pool)->qstrs[MP_STATE_VM(last_pool)->len++] = q_ptr;
|
||||
mp_uint_t at = MP_STATE_VM(last_pool)->len;
|
||||
MP_STATE_VM(last_pool)->attrs[at].hash = hash;
|
||||
MP_STATE_VM(last_pool)->attrs[at].len = len;
|
||||
MP_STATE_VM(last_pool)->qstrs[at] = q_ptr;
|
||||
MP_STATE_VM(last_pool)->len++;
|
||||
|
||||
// return id for the newly-added qstr
|
||||
return MP_STATE_VM(last_pool)->total_prev_len + MP_STATE_VM(last_pool)->len - 1;
|
||||
return MP_STATE_VM(last_pool)->total_prev_len + at;
|
||||
}
|
||||
|
||||
qstr qstr_find_strn(const char *str, size_t str_len) {
|
||||
@ -177,9 +171,10 @@ qstr qstr_find_strn(const char *str, size_t str_len) {
|
||||
|
||||
// search pools for the data
|
||||
for (qstr_pool_t *pool = MP_STATE_VM(last_pool); pool != NULL; pool = pool->prev) {
|
||||
for (const byte **q = pool->qstrs, **q_top = pool->qstrs + pool->len; q < q_top; q++) {
|
||||
if (Q_GET_HASH(*q) == str_hash && Q_GET_LENGTH(*q) == str_len && memcmp(Q_GET_DATA(*q), str, str_len) == 0) {
|
||||
return pool->total_prev_len + (q - pool->qstrs);
|
||||
qstr_attr_t *attrs = pool->attrs;
|
||||
for (mp_uint_t at = 0, top = pool->len; at < top; at++) {
|
||||
if (attrs[at].hash == str_hash && attrs[at].len == str_len && memcmp(pool->qstrs[at], str, str_len) == 0) {
|
||||
return pool->total_prev_len + at;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -200,14 +195,14 @@ qstr qstr_from_strn(const char *str, size_t len) {
|
||||
// qstr does not exist in interned pool so need to add it
|
||||
|
||||
// compute number of bytes needed to intern this string
|
||||
size_t n_bytes = MICROPY_QSTR_BYTES_IN_HASH + MICROPY_QSTR_BYTES_IN_LEN + len + 1;
|
||||
size_t n_bytes = len + 1;
|
||||
|
||||
if (MP_STATE_VM(qstr_last_chunk) != NULL && MP_STATE_VM(qstr_last_used) + n_bytes > MP_STATE_VM(qstr_last_alloc)) {
|
||||
// not enough room at end of previously interned string so try to grow
|
||||
byte *new_p = m_renew_maybe(byte, MP_STATE_VM(qstr_last_chunk), MP_STATE_VM(qstr_last_alloc), MP_STATE_VM(qstr_last_alloc) + n_bytes, false);
|
||||
char *new_p = m_renew_maybe(char, MP_STATE_VM(qstr_last_chunk), MP_STATE_VM(qstr_last_alloc), MP_STATE_VM(qstr_last_alloc) + n_bytes, false);
|
||||
if (new_p == NULL) {
|
||||
// could not grow existing memory; shrink it to fit previous
|
||||
(void)m_renew_maybe(byte, MP_STATE_VM(qstr_last_chunk), MP_STATE_VM(qstr_last_alloc), MP_STATE_VM(qstr_last_used), false);
|
||||
(void)m_renew_maybe(char, MP_STATE_VM(qstr_last_chunk), MP_STATE_VM(qstr_last_alloc), MP_STATE_VM(qstr_last_used), false);
|
||||
MP_STATE_VM(qstr_last_chunk) = NULL;
|
||||
} else {
|
||||
// could grow existing memory
|
||||
@ -221,10 +216,10 @@ qstr qstr_from_strn(const char *str, size_t len) {
|
||||
if (al < MICROPY_ALLOC_QSTR_CHUNK_INIT) {
|
||||
al = MICROPY_ALLOC_QSTR_CHUNK_INIT;
|
||||
}
|
||||
MP_STATE_VM(qstr_last_chunk) = m_new_ll_maybe(byte, al);
|
||||
MP_STATE_VM(qstr_last_chunk) = m_new_ll_maybe(char, al);
|
||||
if (MP_STATE_VM(qstr_last_chunk) == NULL) {
|
||||
// failed to allocate a large chunk so try with exact size
|
||||
MP_STATE_VM(qstr_last_chunk) = m_new_ll_maybe(byte, n_bytes);
|
||||
MP_STATE_VM(qstr_last_chunk) = m_new_ll_maybe(char, n_bytes);
|
||||
if (MP_STATE_VM(qstr_last_chunk) == NULL) {
|
||||
QSTR_EXIT();
|
||||
m_malloc_fail(n_bytes);
|
||||
@ -236,39 +231,41 @@ qstr qstr_from_strn(const char *str, size_t len) {
|
||||
}
|
||||
|
||||
// allocate memory from the chunk for this new interned string's data
|
||||
byte *q_ptr = MP_STATE_VM(qstr_last_chunk) + MP_STATE_VM(qstr_last_used);
|
||||
char *q_ptr = MP_STATE_VM(qstr_last_chunk) + MP_STATE_VM(qstr_last_used);
|
||||
MP_STATE_VM(qstr_last_used) += n_bytes;
|
||||
|
||||
// store the interned strings' data
|
||||
mp_uint_t hash = qstr_compute_hash((const byte *)str, len);
|
||||
Q_SET_HASH(q_ptr, hash);
|
||||
Q_SET_LENGTH(q_ptr, len);
|
||||
memcpy(q_ptr + MICROPY_QSTR_BYTES_IN_HASH + MICROPY_QSTR_BYTES_IN_LEN, str, len);
|
||||
q_ptr[MICROPY_QSTR_BYTES_IN_HASH + MICROPY_QSTR_BYTES_IN_LEN + len] = '\0';
|
||||
q = qstr_add(q_ptr);
|
||||
memcpy(q_ptr, str, len);
|
||||
q_ptr[len] = '\0';
|
||||
q = qstr_add(hash, len, q_ptr);
|
||||
}
|
||||
QSTR_EXIT();
|
||||
return q;
|
||||
}
|
||||
|
||||
mp_uint_t PLACE_IN_ITCM(qstr_hash)(qstr q) {
|
||||
return Q_GET_HASH(find_qstr(q));
|
||||
qstr_attr_t attr;
|
||||
find_qstr(q, &attr);
|
||||
return attr.hash;
|
||||
}
|
||||
|
||||
size_t qstr_len(qstr q) {
|
||||
const byte *qd = find_qstr(q);
|
||||
return Q_GET_LENGTH(qd);
|
||||
qstr_attr_t attr;
|
||||
find_qstr(q, &attr);
|
||||
return attr.len;
|
||||
}
|
||||
|
||||
const char *qstr_str(qstr q) {
|
||||
const byte *qd = find_qstr(q);
|
||||
return (const char *)Q_GET_DATA(qd);
|
||||
qstr_attr_t attr;
|
||||
return find_qstr(q, &attr);
|
||||
}
|
||||
|
||||
const byte *qstr_data(qstr q, size_t *len) {
|
||||
const byte *qd = find_qstr(q);
|
||||
*len = Q_GET_LENGTH(qd);
|
||||
return Q_GET_DATA(qd);
|
||||
qstr_attr_t attr;
|
||||
const char *qd = find_qstr(q, &attr);
|
||||
*len = attr.len;
|
||||
return (byte *)qd;
|
||||
}
|
||||
|
||||
void qstr_pool_info(size_t *n_pool, size_t *n_qstr, size_t *n_str_data_bytes, size_t *n_total_bytes) {
|
||||
@ -280,13 +277,14 @@ void qstr_pool_info(size_t *n_pool, size_t *n_qstr, size_t *n_str_data_bytes, si
|
||||
for (qstr_pool_t *pool = MP_STATE_VM(last_pool); pool != NULL && pool != &CONST_POOL; pool = pool->prev) {
|
||||
*n_pool += 1;
|
||||
*n_qstr += pool->len;
|
||||
for (const byte **q = pool->qstrs, **q_top = pool->qstrs + pool->len; q < q_top; q++) {
|
||||
*n_str_data_bytes += Q_GET_ALLOC(*q);
|
||||
for (const qstr_attr_t *q = pool->attrs, *q_top = pool->attrs + pool->len; q < q_top; q++) {
|
||||
*n_str_data_bytes += sizeof(*q) + q->len + 1;
|
||||
}
|
||||
#if MICROPY_ENABLE_GC
|
||||
*n_total_bytes += gc_nbytes(pool); // this counts actual bytes used in heap
|
||||
// this counts actual bytes used in heap
|
||||
*n_total_bytes += gc_nbytes(pool) - sizeof(qstr_attr_t) * pool->alloc;
|
||||
#else
|
||||
*n_total_bytes += sizeof(qstr_pool_t) + sizeof(qstr) * pool->alloc;
|
||||
*n_total_bytes += sizeof(qstr_pool_t) + sizeof(const char *) * pool->alloc;
|
||||
#endif
|
||||
}
|
||||
*n_total_bytes += *n_str_data_bytes;
|
||||
@ -297,8 +295,8 @@ void qstr_pool_info(size_t *n_pool, size_t *n_qstr, size_t *n_str_data_bytes, si
|
||||
void qstr_dump_data(void) {
|
||||
QSTR_ENTER();
|
||||
for (qstr_pool_t *pool = MP_STATE_VM(last_pool); pool != NULL && pool != &CONST_POOL; pool = pool->prev) {
|
||||
for (const byte **q = pool->qstrs, **q_top = pool->qstrs + pool->len; q < q_top; q++) {
|
||||
mp_printf(&mp_plat_print, "Q(%s)\n", Q_GET_DATA(*q));
|
||||
for (const char **q = pool->qstrs, **q_top = pool->qstrs + pool->len; q < q_top; q++) {
|
||||
mp_printf(&mp_plat_print, "Q(%s)\n", *q);
|
||||
}
|
||||
}
|
||||
QSTR_EXIT();
|
||||
|
20
py/qstr.h
20
py/qstr.h
@ -47,12 +47,30 @@ enum {
|
||||
|
||||
typedef size_t qstr;
|
||||
|
||||
typedef struct _qstr_attr_t {
|
||||
#if MICROPY_QSTR_BYTES_IN_HASH == 1
|
||||
uint8_t hash;
|
||||
#elif MICROPY_QSTR_BYTES_IN_HASH == 2
|
||||
uint16_t hash;
|
||||
#else
|
||||
#error unimplemented qstr hash decoding
|
||||
#endif
|
||||
#if MICROPY_QSTR_BYTES_IN_LEN == 1
|
||||
uint8_t len;
|
||||
#elif MICROPY_QSTR_BYTES_IN_LEN == 2
|
||||
uint16_t len;
|
||||
#else
|
||||
#error unimplemented qstr length decoding
|
||||
#endif
|
||||
} qstr_attr_t;
|
||||
|
||||
typedef struct _qstr_pool_t {
|
||||
struct _qstr_pool_t *prev;
|
||||
size_t total_prev_len;
|
||||
size_t alloc;
|
||||
size_t len;
|
||||
const byte *qstrs[];
|
||||
qstr_attr_t *attrs;
|
||||
const char *qstrs[];
|
||||
} qstr_pool_t;
|
||||
|
||||
#define QSTR_FROM_STR_STATIC(s) (qstr_from_strn((s), strlen(s)))
|
||||
|
13
py/repl.c
13
py/repl.c
@ -281,6 +281,12 @@ size_t mp_repl_autocomplete(const char *str, size_t len, const mp_print_t *print
|
||||
++str;
|
||||
}
|
||||
|
||||
// after "import", suggest built-in modules
|
||||
static const char import_str[] = "import ";
|
||||
if (len >= 7 && !memcmp(org_str, import_str, 7)) {
|
||||
obj = MP_OBJ_NULL;
|
||||
}
|
||||
|
||||
// look for matches
|
||||
size_t match_len;
|
||||
qstr q_first, q_last;
|
||||
@ -291,19 +297,12 @@ size_t mp_repl_autocomplete(const char *str, size_t len, const mp_print_t *print
|
||||
if (q_first == 0) {
|
||||
// If there're no better alternatives, and if it's first word
|
||||
// in the line, try to complete "import".
|
||||
static const char import_str[] = "import ";
|
||||
if (s_start == org_str && s_len > 0) {
|
||||
if (memcmp(s_start, import_str, s_len) == 0) {
|
||||
*compl_str = import_str + s_len;
|
||||
return sizeof(import_str) - 1 - s_len;
|
||||
}
|
||||
}
|
||||
// after "import", suggest built-in modules
|
||||
if (len >= 7 && !memcmp(org_str, import_str, 7)) {
|
||||
obj = NULL;
|
||||
match_str = find_completions(
|
||||
s_start, s_len, obj, &match_len, &q_first, &q_last);
|
||||
}
|
||||
if (q_first == 0) {
|
||||
*compl_str = " ";
|
||||
return s_len ? 0 : 4;
|
||||
|
@ -219,6 +219,23 @@ const mp_obj_property_t bleio_characteristic_value_obj = {
|
||||
(mp_obj_t)&mp_const_none_obj },
|
||||
};
|
||||
|
||||
//| max_length: int
|
||||
//| """The max length of this characteristic."""
|
||||
//|
|
||||
STATIC mp_obj_t bleio_characteristic_get_max_length(mp_obj_t self_in) {
|
||||
bleio_characteristic_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_bleio_characteristic_get_max_length(self));
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_characteristic_get_max_length_obj, bleio_characteristic_get_max_length);
|
||||
|
||||
const mp_obj_property_t bleio_characteristic_max_length_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = { (mp_obj_t)&bleio_characteristic_get_max_length_obj,
|
||||
(mp_obj_t)&mp_const_none_obj,
|
||||
(mp_obj_t)&mp_const_none_obj },
|
||||
};
|
||||
|
||||
//| descriptors: Descriptor
|
||||
//| """A tuple of :py:class:`Descriptor` objects related to this characteristic. (read-only)"""
|
||||
//|
|
||||
|
@ -40,6 +40,7 @@ extern bleio_characteristic_properties_t common_hal_bleio_characteristic_get_pro
|
||||
extern mp_obj_tuple_t *common_hal_bleio_characteristic_get_descriptors(bleio_characteristic_obj_t *self);
|
||||
extern bleio_service_obj_t *common_hal_bleio_characteristic_get_service(bleio_characteristic_obj_t *self);
|
||||
extern bleio_uuid_obj_t *common_hal_bleio_characteristic_get_uuid(bleio_characteristic_obj_t *self);
|
||||
extern size_t common_hal_bleio_characteristic_get_max_length(bleio_characteristic_obj_t *self);
|
||||
extern size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *self, uint8_t *buf, size_t len);
|
||||
extern void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *self, bleio_descriptor_obj_t *descriptor);
|
||||
extern void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self, bleio_service_obj_t *service, uint16_t handle, bleio_uuid_obj_t *uuid, bleio_characteristic_properties_t props, bleio_attribute_security_mode_t read_perm, bleio_attribute_security_mode_t write_perm, mp_int_t max_length, bool fixed_length, mp_buffer_info_t *initial_value_bufinfo);
|
||||
|
@ -44,7 +44,7 @@
|
||||
//| When we're the server, we ignore all connections besides the first to subscribe to
|
||||
//| notifications."""
|
||||
//|
|
||||
//| def __init__(self, characteristic: Characteristic, *, buffer_size: int) -> None:
|
||||
//| def __init__(self, characteristic: Characteristic, *, buffer_size: int, max_packet_size: Optional[int] = None) -> None:
|
||||
//| """Monitor the given Characteristic. Each time a new value is written to the Characteristic
|
||||
//| add the newly-written bytes to a FIFO buffer.
|
||||
//|
|
||||
@ -55,14 +55,17 @@
|
||||
//| It may be a local Characteristic provided by a Peripheral Service, or a remote Characteristic
|
||||
//| in a remote Service that a Central has connected to.
|
||||
//| :param int buffer_size: Size of ring buffer (in packets of the Characteristic's maximum
|
||||
//| length) that stores incoming packets coming from the peer."""
|
||||
//| length) that stores incoming packets coming from the peer.
|
||||
//| :param int max_packet_size: Maximum size of packets. Overrides value from the characteristic.
|
||||
//| (Remote characteristics may not have the correct length.)"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t bleio_packet_buffer_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
enum { ARG_characteristic, ARG_buffer_size };
|
||||
enum { ARG_characteristic, ARG_buffer_size, ARG_max_packet_size };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_characteristic, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
{ MP_QSTR_buffer_size, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_max_packet_size, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none}},
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
@ -79,10 +82,15 @@ STATIC mp_obj_t bleio_packet_buffer_make_new(const mp_obj_type_t *type, size_t n
|
||||
mp_raise_TypeError(translate("Expected a Characteristic"));
|
||||
}
|
||||
|
||||
size_t max_packet_size = common_hal_bleio_characteristic_get_max_length(characteristic);
|
||||
if (args[ARG_max_packet_size].u_obj != mp_const_none) {
|
||||
max_packet_size = mp_obj_get_int(args[ARG_max_packet_size].u_obj);
|
||||
}
|
||||
|
||||
bleio_packet_buffer_obj_t *self = m_new_obj(bleio_packet_buffer_obj_t);
|
||||
self->base.type = &bleio_packet_buffer_type;
|
||||
|
||||
common_hal_bleio_packet_buffer_construct(self, MP_OBJ_TO_PTR(characteristic), buffer_size);
|
||||
common_hal_bleio_packet_buffer_construct(self, MP_OBJ_TO_PTR(characteristic), buffer_size, max_packet_size);
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
@ -133,7 +141,7 @@ STATIC mp_obj_t bleio_packet_buffer_write(mp_uint_t n_args, const mp_obj_t *pos_
|
||||
enum { ARG_data, ARG_header };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
{ MP_QSTR_header, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
|
||||
{ MP_QSTR_header, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none}},
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
@ -147,7 +155,7 @@ STATIC mp_obj_t bleio_packet_buffer_write(mp_uint_t n_args, const mp_obj_t *pos_
|
||||
|
||||
mp_buffer_info_t header_bufinfo;
|
||||
header_bufinfo.len = 0;
|
||||
if (args[ARG_header].u_obj != MP_OBJ_NULL) {
|
||||
if (args[ARG_header].u_obj != mp_const_none) {
|
||||
mp_get_buffer_raise(args[ARG_header].u_obj, &header_bufinfo, MP_BUFFER_READ);
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ extern const mp_obj_type_t bleio_packet_buffer_type;
|
||||
|
||||
extern void common_hal_bleio_packet_buffer_construct(
|
||||
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
|
||||
size_t buffer_size);
|
||||
size_t buffer_size, size_t max_packet_size);
|
||||
mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len, uint8_t *header, size_t header_len);
|
||||
mp_int_t common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len);
|
||||
mp_int_t common_hal_bleio_packet_buffer_get_incoming_packet_length(bleio_packet_buffer_obj_t *self);
|
||||
|
@ -38,7 +38,7 @@ WriteableBuffer = Union[
|
||||
"""
|
||||
|
||||
AudioSample = Union[
|
||||
audiocore.WaveFile, audiocore.RawSample, audiomixer.Mixer, audiomp3.MP3Decoder
|
||||
audiocore.WaveFile, audiocore.RawSample, audiomixer.Mixer, audiomp3.MP3Decoder, synthio.MidiTrack
|
||||
]
|
||||
"""Classes that implement the audiosample protocol
|
||||
|
||||
@ -46,6 +46,7 @@ AudioSample = Union[
|
||||
- `audiocore.RawSample`
|
||||
- `audiomixer.Mixer`
|
||||
- `audiomp3.MP3Decoder`
|
||||
- `synthio.MidiTrack`
|
||||
|
||||
You can play these back with `audioio.AudioOut`, `audiobusio.I2SOut` or `audiopwmio.PWMAudioOut`.
|
||||
"""
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "py/binary.h"
|
||||
#include "py/objproperty.h"
|
||||
#include "py/runtime.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-bindings/util.h"
|
||||
#include "shared-bindings/audiocore/RawSample.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
@ -83,7 +82,7 @@ STATIC mp_obj_t audioio_rawsample_make_new(const mp_obj_type_t *type, size_t n_a
|
||||
audioio_rawsample_obj_t *self = m_new_obj(audioio_rawsample_obj_t);
|
||||
self->base.type = &audioio_rawsample_type;
|
||||
mp_buffer_info_t bufinfo;
|
||||
if (mp_get_buffer(args[ARG_buffer].u_obj, &bufinfo, MP_BUFFER_READ)) {
|
||||
mp_get_buffer_raise(args[ARG_buffer].u_obj, &bufinfo, MP_BUFFER_READ);
|
||||
uint8_t bytes_per_sample = 1;
|
||||
bool signed_samples = bufinfo.typecode == 'b' || bufinfo.typecode == 'h';
|
||||
if (bufinfo.typecode == 'h' || bufinfo.typecode == 'H') {
|
||||
@ -94,15 +93,12 @@ STATIC mp_obj_t audioio_rawsample_make_new(const mp_obj_type_t *type, size_t n_a
|
||||
common_hal_audioio_rawsample_construct(self, ((uint8_t *)bufinfo.buf), bufinfo.len,
|
||||
bytes_per_sample, signed_samples, args[ARG_channel_count].u_int,
|
||||
args[ARG_sample_rate].u_int);
|
||||
} else {
|
||||
mp_raise_TypeError(translate("buffer must be a bytes-like object"));
|
||||
}
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
//| def deinit(self) -> None:
|
||||
//| """Deinitialises the AudioOut and releases any hardware resources for reuse."""
|
||||
//| """Deinitialises the RawSample and releases any hardware resources for reuse."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t audioio_rawsample_deinit(mp_obj_t self_in) {
|
||||
|
@ -27,7 +27,6 @@
|
||||
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_AUDIOIO_RAWSAMPLE_H
|
||||
#define MICROPY_INCLUDED_SHARED_BINDINGS_AUDIOIO_RAWSAMPLE_H
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
#include "shared-module/audiocore/RawSample.h"
|
||||
|
||||
extern const mp_obj_type_t audioio_rawsample_type;
|
||||
|
@ -44,7 +44,7 @@
|
||||
//| """Load a .wav file for playback with `audioio.AudioOut` or `audiobusio.I2SOut`.
|
||||
//|
|
||||
//| :param typing.BinaryIO file: Already opened wave file
|
||||
//| :param ~_typing.WriteableBuffer buffer: Optional pre-allocated buffer, that will be split in half and used for double-buffering of the data. If not provided, two 512 byte buffers are allocated internally.
|
||||
//| :param ~_typing.WriteableBuffer buffer: Optional pre-allocated buffer, that will be split in half and used for double-buffering of the data. If not provided, two 256 byte buffers are allocated internally.
|
||||
//|
|
||||
//|
|
||||
//| Playing a wave file from flash::
|
||||
|
@ -6,6 +6,11 @@ Module Support Matrix - Which Modules Are Available on Which Boards
|
||||
The following table lists the available built-in modules for each CircuitPython
|
||||
capable board.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<p id="support-matrix-filter-block"><input placeholder="Filter the boards by available modules" id="support-matrix-filter" type="text"/><span id="support-matrix-filter-num">(all)</span></p>
|
||||
|
||||
.. rst-class:: support-matrix-table
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 7, 50
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user