merge from upstream; working; includes debug_out code for debugging via Saleae for posterity

This commit is contained in:
Dan Halbert 2020-08-20 20:29:57 -04:00
commit 0e30dd8bcc
237 changed files with 9721 additions and 3671 deletions

View File

@ -36,7 +36,7 @@ jobs:
- name: Install deps - name: Install deps
run: | run: |
sudo apt-get install -y eatmydata sudo apt-get install -y eatmydata
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli
- name: Versions - name: Versions
run: | run: |
@ -73,12 +73,19 @@ jobs:
with: with:
name: stubs name: stubs
path: circuitpython-stubs* path: circuitpython-stubs*
- name: Docs - name: Test Documentation Build (HTML)
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
with: with:
name: docs name: docs
path: _build/html path: _build/html
- name: Test Documentation Build (LaTeX/PDF)
run: |
make latexpdf
- uses: actions/upload-artifact@v2
with:
name: docs
path: _build/latex
- name: Translations - name: Translations
run: make check-translate run: make check-translate
- name: New boards check - name: New boards check
@ -253,6 +260,7 @@ jobs:
- "pca10100" - "pca10100"
- "pewpew10" - "pewpew10"
- "pewpew_m4" - "pewpew_m4"
- "picoplanet"
- "pirkey_m0" - "pirkey_m0"
- "pitaya_go" - "pitaya_go"
- "pyb_nano_v2" - "pyb_nano_v2"

7
.gitignore vendored
View File

@ -57,7 +57,7 @@ _build
###################### ######################
genrst/ genrst/
/autoapi/ /autoapi/
/shared-bindings/**/*.rst /shared-bindings/*/**/*.rst
# ctags and similar # ctags and similar
################### ###################
@ -80,3 +80,8 @@ TAGS
*.mo *.mo
.vscode .vscode
# Python Virtual Environments
####################
.venv
.env

3
.gitmodules vendored
View File

@ -147,3 +147,6 @@
[submodule "ports/esp32s2/esp-idf"] [submodule "ports/esp32s2/esp-idf"]
path = ports/esp32s2/esp-idf path = ports/esp32s2/esp-idf
url = https://github.com/tannewt/esp-idf.git url = https://github.com/tannewt/esp-idf.git
[submodule "frozen/Adafruit_CircuitPython_RFM9x"]
path = frozen/Adafruit_CircuitPython_RFM9x
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM9x.git

View File

@ -8,6 +8,13 @@
version: 2 version: 2
submodules:
include:
- extmod/ulab
formats:
- pdf
python: python:
version: 3 version: 3
install: install:

View File

@ -245,6 +245,10 @@ stubs:
@$(PYTHON) tools/extract_pyi.py ports/atmel-samd/bindings $(STUBDIR) @$(PYTHON) tools/extract_pyi.py ports/atmel-samd/bindings $(STUBDIR)
@$(PYTHON) setup.py -q sdist @$(PYTHON) setup.py -q sdist
.PHONY: check-stubs
check-stubs: stubs
MYPYPATH=$(STUBDIR) mypy --strict $(STUBDIR)
update-frozen-libraries: update-frozen-libraries:
@echo "Updating all frozen libraries to latest tagged version." @echo "Updating all frozen libraries to latest tagged version."
cd frozen; for library in *; do cd $$library; ../../tools/git-checkout-latest-tag.sh; cd ..; done cd frozen; for library in *; do cd $$library; ../../tools/git-checkout-latest-tag.sh; cd ..; done

57
conf.py
View File

@ -17,14 +17,17 @@
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
import json
import logging import logging
import os import os
import re
import subprocess import subprocess
import sys import sys
import urllib.parse import urllib.parse
import recommonmark import recommonmark
from sphinx.transforms import SphinxTransform
from docutils import nodes
from sphinx import addnodes
# If extensions (or modules to document with autodoc) are in another directory, # If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the # add these directories to sys.path here. If the directory is relative to the
@ -84,6 +87,7 @@ autoapi_dirs = [os.path.join('circuitpython-stubs', x) for x in os.listdir('circ
autoapi_add_toctree_entry = False autoapi_add_toctree_entry = False
autoapi_options = ['members', 'undoc-members', 'private-members', 'show-inheritance', 'special-members', 'show-module-summary'] autoapi_options = ['members', 'undoc-members', 'private-members', 'show-inheritance', 'special-members', 'show-module-summary']
autoapi_template_dir = 'docs/autoapi/templates' autoapi_template_dir = 'docs/autoapi/templates'
autoapi_python_class_content = "both"
autoapi_python_use_implicit_namespaces = True autoapi_python_use_implicit_namespaces = True
autoapi_root = "shared-bindings" autoapi_root = "shared-bindings"
@ -106,7 +110,25 @@ copyright = '2014-2020, MicroPython & CircuitPython contributors (https://github
# #
# We don't follow "The short X.Y version" vs "The full version, including alpha/beta/rc tags" # We don't follow "The short X.Y version" vs "The full version, including alpha/beta/rc tags"
# breakdown, so use the same version identifier for both to avoid confusion. # breakdown, so use the same version identifier for both to avoid confusion.
version = release = '0.0.0'
final_version = ""
git_describe = subprocess.run(
["git", "describe", "--dirty", "--tags"],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
encoding="utf-8"
)
if git_describe.returncode == 0:
git_version = re.search(
r"^\d(?:\.\d){0,2}(?:\-(?:alpha|beta|rc)\.\d+){0,1}",
str(git_describe.stdout)
)
if git_version:
final_version = git_version[0]
else:
print("Failed to retrieve git version:", git_describe.stdout)
version = release = final_version
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
@ -423,7 +445,38 @@ def generate_redirects(app):
with open(redirected_filename, 'w') as f: with open(redirected_filename, 'w') as f:
f.write(TEMPLATE % urllib.parse.quote(to_path, '#/')) f.write(TEMPLATE % urllib.parse.quote(to_path, '#/'))
class CoreModuleTransform(SphinxTransform):
default_priority = 870
def _convert_first_paragraph_into_title(self):
title = self.document.next_node(nodes.title)
paragraph = self.document.next_node(nodes.paragraph)
if not title or not paragraph:
return
if isinstance(paragraph[0], nodes.paragraph):
paragraph = paragraph[0]
if all(isinstance(child, nodes.Text) for child in paragraph.children):
for child in paragraph.children:
title.append(nodes.Text(" \u2013 "))
title.append(child)
paragraph.parent.remove(paragraph)
def _enable_linking_to_nonclass_targets(self):
for desc in self.document.traverse(addnodes.desc):
for xref in desc.traverse(addnodes.pending_xref):
if xref.attributes.get("reftype") == "class":
xref.attributes.pop("refspecific", None)
def apply(self, **kwargs):
docname = self.env.docname
if docname.startswith(autoapi_root) and docname.endswith("/index"):
self._convert_first_paragraph_into_title()
self._enable_linking_to_nonclass_targets()
def setup(app): def setup(app):
app.add_css_file("customstyle.css") app.add_css_file("customstyle.css")
app.add_config_value('redirects_file', 'redirects', 'env') app.add_config_value('redirects_file', 'redirects', 'env')
app.connect('builder-inited', generate_redirects) app.connect('builder-inited', generate_redirects)
app.add_transform(CoreModuleTransform)

View File

@ -280,7 +280,7 @@ STATIC void bleio_adapter_hci_init(bleio_adapter_obj_t *self) {
const size_t len = sizeof(default_ble_name); const size_t len = sizeof(default_ble_name);
bt_addr_t addr; bt_addr_t addr;
check_hci_error(hci_read_bd_addr(&addr)); hci_check_error(hci_read_bd_addr(&addr));
default_ble_name[len - 4] = nibble_to_hex_lower[addr.val[1] >> 4 & 0xf]; default_ble_name[len - 4] = nibble_to_hex_lower[addr.val[1] >> 4 & 0xf];
default_ble_name[len - 3] = nibble_to_hex_lower[addr.val[1] & 0xf]; default_ble_name[len - 3] = nibble_to_hex_lower[addr.val[1] & 0xf];
@ -373,7 +373,7 @@ void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enable
} }
// Enabling or disabling: stop any current activity; reset to known state. // Enabling or disabling: stop any current activity; reset to known state.
check_hci_error(hci_reset()); hci_reset();
self->now_advertising = false; self->now_advertising = false;
self->extended_advertising = false; self->extended_advertising = false;
self->circuitpython_advertising = false; self->circuitpython_advertising = false;
@ -397,7 +397,7 @@ bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *s
check_enabled(self); check_enabled(self);
bt_addr_t addr; bt_addr_t addr;
check_hci_error(hci_read_bd_addr(&addr)); hci_check_error(hci_read_bd_addr(&addr));
bleio_address_obj_t *address = m_new_obj(bleio_address_obj_t); bleio_address_obj_t *address = m_new_obj(bleio_address_obj_t);
address->base.type = &bleio_address_type; address->base.type = &bleio_address_type;
@ -406,6 +406,14 @@ bleio_address_obj_t *common_hal_bleio_adapter_get_address(bleio_adapter_obj_t *s
return address; return address;
} }
bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, bleio_address_obj_t *address) {
mp_buffer_info_t bufinfo;
if (!mp_get_buffer(address->bytes, &bufinfo, MP_BUFFER_READ)) {
return false;
}
return hci_le_set_random_address(bufinfo.buf) == HCI_OK;
}
mp_obj_str_t* common_hal_bleio_adapter_get_name(bleio_adapter_obj_t *self) { mp_obj_str_t* common_hal_bleio_adapter_get_name(bleio_adapter_obj_t *self) {
return self->name; return self->name;
} }
@ -673,7 +681,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
// Advertising interval. // Advertising interval.
uint32_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS); uint32_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS);
check_hci_error( hci_check_error(
hci_le_set_extended_advertising_parameters( hci_le_set_extended_advertising_parameters(
0, // handle 0, // handle
props, // adv properties props, // adv properties
@ -697,7 +705,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
uint8_t handle[1] = { 0 }; uint8_t handle[1] = { 0 };
uint16_t duration_10msec[1] = { timeout * 100 }; uint16_t duration_10msec[1] = { timeout * 100 };
uint8_t max_ext_adv_evts[1] = { 0 }; uint8_t max_ext_adv_evts[1] = { 0 };
check_hci_error( hci_check_error(
hci_le_set_extended_advertising_enable( hci_le_set_extended_advertising_enable(
BT_HCI_LE_ADV_ENABLE, BT_HCI_LE_ADV_ENABLE,
1, // one advertising set. 1, // one advertising set.
@ -725,7 +733,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
// Advertising interval. // Advertising interval.
uint16_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS); uint16_t interval_units = SEC_TO_UNITS(interval, UNIT_0_625_MS);
check_hci_error( hci_check_error(
hci_le_set_advertising_parameters( hci_le_set_advertising_parameters(
interval_units, // min interval interval_units, // min interval
interval_units, // max interval interval_units, // max interval
@ -740,11 +748,11 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
// even though the actual data length may be shorter. // even though the actual data length may be shorter.
uint8_t full_data[MAX_ADVERTISEMENT_SIZE] = { 0 }; uint8_t full_data[MAX_ADVERTISEMENT_SIZE] = { 0 };
memcpy(full_data, advertising_data, MIN(sizeof(full_data), advertising_data_len)); memcpy(full_data, advertising_data, MIN(sizeof(full_data), advertising_data_len));
check_hci_error(hci_le_set_advertising_data(advertising_data_len, full_data)); hci_check_error(hci_le_set_advertising_data(advertising_data_len, full_data));
memset(full_data, 0, sizeof(full_data)); memset(full_data, 0, sizeof(full_data));
if (scan_response_data_len > 0) { if (scan_response_data_len > 0) {
memcpy(full_data, scan_response_data, MIN(sizeof(full_data), scan_response_data_len)); memcpy(full_data, scan_response_data, MIN(sizeof(full_data), scan_response_data_len));
check_hci_error(hci_le_set_scan_response_data(scan_response_data_len, full_data)); hci_check_error(hci_le_set_scan_response_data(scan_response_data_len, full_data));
} }
// No duration mechanism is provided for legacy advertising, so we need to do our own. // No duration mechanism is provided for legacy advertising, so we need to do our own.
@ -752,7 +760,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
self->advertising_start_ticks = supervisor_ticks_ms64(); self->advertising_start_ticks = supervisor_ticks_ms64();
// Start advertising. // Start advertising.
check_hci_error(hci_le_set_advertising_enable(BT_HCI_LE_ADV_ENABLE)); hci_check_error(hci_le_set_advertising_enable(BT_HCI_LE_ADV_ENABLE));
self->extended_advertising = false; self->extended_advertising = false;
} // end legacy advertising setup } // end legacy advertising setup
@ -809,7 +817,7 @@ void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {
// OK if we're already stopped. There seems to be an ESP32 HCI bug: // OK if we're already stopped. There seems to be an ESP32 HCI bug:
// If advertising is already off, then LE_SET_ADV_ENABLE does not return a response. // If advertising is already off, then LE_SET_ADV_ENABLE does not return a response.
if (result != HCI_RESPONSE_TIMEOUT) { if (result != HCI_RESPONSE_TIMEOUT) {
check_hci_error(result); hci_check_error(result);
} }
//TODO startup CircuitPython advertising again. //TODO startup CircuitPython advertising again.
@ -942,5 +950,8 @@ void bleio_adapter_background(bleio_adapter_obj_t* adapter) {
common_hal_bleio_adapter_stop_advertising(adapter); common_hal_bleio_adapter_stop_advertising(adapter);
} }
hci_poll_for_incoming_pkt(); hci_result_t result = hci_poll_for_incoming_pkt();
if (result != HCI_OK) {
mp_printf(&mp_plat_print, "bad hci_poll_for_incoming_pkt() result in background: %d\n", result);
}
} }

View File

@ -43,43 +43,6 @@ bleio_uuid_obj_t cccd_uuid;
bool vm_used_ble; bool vm_used_ble;
void check_hci_error(hci_result_t result) {
switch (result) {
case HCI_OK:
return;
case HCI_RESPONSE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting for HCI response"));
return;
case HCI_WRITE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting to write HCI request"));
return;
case HCI_READ_ERROR:
mp_raise_bleio_BluetoothError(translate("Error reading from HCI adapter"));
return;
case HCI_WRITE_ERROR:
mp_raise_bleio_BluetoothError(translate("Error writing to HCI adapter"));
return;
case HCI_ATT_ERROR:
mp_raise_RuntimeError(translate("Error in ATT protocol code"));
return;
default:
// Should be an HCI status error, > 0.
if (result > 0) {
mp_raise_bleio_BluetoothError(translate("HCI status error: %02x"), result);
} else {
mp_raise_bleio_BluetoothError(translate("Unknown hci_result_t: %d"), result);
}
return;
}
}
// void check_sec_status(uint8_t sec_status) { // void check_sec_status(uint8_t sec_status) {
// if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) { // if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) {
// return; // return;

View File

@ -53,12 +53,6 @@ typedef struct {
#define BLE_GATTS_FIX_ATTR_LEN_MAX (510) /**< Maximum length for fixed length Attribute Values. */ #define BLE_GATTS_FIX_ATTR_LEN_MAX (510) /**< Maximum length for fixed length Attribute Values. */
#define BLE_GATTS_VAR_ATTR_LEN_MAX (512) /**< Maximum length for variable length Attribute Values. */ #define BLE_GATTS_VAR_ATTR_LEN_MAX (512) /**< Maximum length for variable length Attribute Values. */
// These helpers raise the appropriate exceptions if the code doesn't equal success.
void check_hci_error(hci_result_t result);
void check_gatt_status(uint16_t gatt_status);
void check_sec_status(uint8_t sec_status);
// Track if the user code modified the BLE state to know if we need to undo it on reload. // Track if the user code modified the BLE state to know if we need to undo it on reload.
extern bool vm_used_ble; extern bool vm_used_ble;

View File

@ -149,7 +149,8 @@ STATIC int send_req_wait_for_rsp(uint16_t conn_handle, size_t request_length, ui
} }
for (uint64_t start = supervisor_ticks_ms64(); supervisor_ticks_ms64() - start < timeout;) { for (uint64_t start = supervisor_ticks_ms64(); supervisor_ticks_ms64() - start < timeout;) {
hci_poll_for_incoming_pkt(); // RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
RUN_BACKGROUND_TASKS;
if (!att_handle_is_connected(conn_handle)) { if (!att_handle_is_connected(conn_handle)) {
break; break;
@ -188,8 +189,6 @@ void bleio_att_reset(void) {
memset(bleio_connections[i].addr.a.val, 0, sizeof_field(bt_addr_t, val)); memset(bleio_connections[i].addr.a.val, 0, sizeof_field(bt_addr_t, val));
bleio_connections[i].mtu = BT_ATT_DEFAULT_LE_MTU; bleio_connections[i].mtu = BT_ATT_DEFAULT_LE_MTU;
} }
//FIX memset(event_handlers, 0x00, sizeof(event_handlers));
} }
bool att_connect_to_address(bt_addr_le_t *addr) { bool att_connect_to_address(bt_addr_le_t *addr) {
@ -202,7 +201,8 @@ bool att_connect_to_address(bt_addr_le_t *addr) {
bool is_connected = false; bool is_connected = false;
for (uint64_t start = supervisor_ticks_ms64(); supervisor_ticks_ms64() - start < timeout;) { for (uint64_t start = supervisor_ticks_ms64(); supervisor_ticks_ms64() - start < timeout;) {
hci_poll_for_incoming_pkt(); // RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
RUN_BACKGROUND_TASKS;
is_connected = att_address_is_connected(addr); is_connected = att_address_is_connected(addr);
@ -421,36 +421,36 @@ bool att_discover_attributes(bt_addr_le_t *addr, const char* service_uuid_filter
//FIX BLERemoteDevice* device = NULL; //FIX BLERemoteDevice* device = NULL;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) { for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
// if (bleio_connections[i].conn_handle == conn_handle) { // if (bleio_connections[i].conn_handle == conn_handle) {
// //FIX if (bleio_connections[i].device == NULL) { // //FIX if (bleio_connections[i].device == NULL) {
// //FIX // //FIX
// //bleio_connections[i].device = new BLERemoteDevice(); // //bleio_connections[i].device = new BLERemoteDevice();
// //} // //}
// //device = bleio_connections[i].device; // //device = bleio_connections[i].device;
// break; // break;
// } // }
// } // }
// //FIX if (device == NULL) { // //FIX if (device == NULL) {
// // return false; // // return false;
// // } // // }
// if (service_uuid_filter == NULL) { // if (service_uuid_filter == NULL) {
// // clear existing services // // clear existing services
// //FIX device->clear_services(); // //FIX device->clear_services();
// } else { // } else {
// //FIX int service_count = device->service_count(); // //FIX int service_count = device->service_count();
// for (size_t i = 0; i < service_count; i++) { // for (size_t i = 0; i < service_count; i++) {
// //FIX BLERemoteService* service = device->service(i); // //FIX BLERemoteService* service = device->service(i);
// if (strcasecmp(service->uuid(), service_uuid_filter) == 0) { // if (strcasecmp(service->uuid(), service_uuid_filter) == 0) {
// // found an existing service with same UUID // // found an existing service with same UUID
// return true; // return true;
// } // }
// } // }
} }
// discover services // discover services
@ -584,8 +584,6 @@ bool att_address_is_connected(bt_addr_le_t *addr) {
} }
bool att_handle_is_connected(uint16_t handle) { bool att_handle_is_connected(uint16_t handle) {
hci_poll_for_incoming_pkt();
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) { for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
if (bleio_connections[i].conn_handle == handle) { if (bleio_connections[i].conn_handle == handle) {
return true; return true;
@ -685,7 +683,8 @@ bool att_indicate(uint16_t handle, const uint8_t* value, int length) {
sizeof(indicate_bytes), indicate_bytes); sizeof(indicate_bytes), indicate_bytes);
while (!confirm) { while (!confirm) {
hci_poll_for_incoming_pkt(); // RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
RUN_BACKGROUND_TASKS;
if (!att_address_is_connected(&bleio_connections[i].addr)) { if (!att_address_is_connected(&bleio_connections[i].addr)) {
break; break;

View File

@ -17,6 +17,8 @@
#include "hci.h" #include "hci.h"
#include "py/obj.h" #include "py/obj.h"
#include "py/mperrno.h"
#include "py/runtime.h"
// Zephyr include files to define HCI communication values and structs. // Zephyr include files to define HCI communication values and structs.
#include "hci_include/hci.h" #include "hci_include/hci.h"
@ -25,11 +27,19 @@
#include <string.h> #include <string.h>
#include "py/mphal.h" //*****************************
#include "supervisor/shared/tick.h" #include "supervisor/shared/tick.h"
#include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/__init__.h"
#include "common-hal/_bleio/Adapter.h" #include "common-hal/_bleio/Adapter.h"
#include "shared-bindings/microcontroller/__init__.h" #include "shared-bindings/microcontroller/__init__.h"
// Set to 1 for extensive HCI packet logging.
#define HCI_DEBUG 0
//FIX **********8
busio_uart_obj_t debug_out;
bool debug_out_in_use;
// HCI H4 protocol packet types: first byte in the packet. // HCI H4 protocol packet types: first byte in the packet.
#define H4_CMD 0x01 #define H4_CMD 0x01
@ -95,7 +105,7 @@ STATIC uint8_t acl_data_buffer[ACL_DATA_BUFFER_SIZE];
STATIC size_t acl_data_len; STATIC size_t acl_data_len;
STATIC size_t num_command_packets_allowed; STATIC size_t num_command_packets_allowed;
STATIC size_t pending_pkt; STATIC volatile size_t pending_pkt;
// Results from parsing a command response packet. // Results from parsing a command response packet.
STATIC bool cmd_response_received; STATIC bool cmd_response_received;
@ -106,13 +116,12 @@ STATIC uint8_t* cmd_response_data;
STATIC volatile bool hci_poll_in_progress = false; STATIC volatile bool hci_poll_in_progress = false;
#define DEBUG_HCI 1
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
#if DEBUG_HCI #if HCI_DEBUG
#include "hci_debug.c" #include "hci_debug.c"
#endif // DEBUG_HCI #endif // HCI_DEBUG
STATIC void process_acl_data_pkt(uint8_t pkt_len, uint8_t pkt_data[]) { STATIC void process_acl_data_pkt(uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t*) pkt_data; h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t*) pkt_data;
@ -156,6 +165,11 @@ STATIC void process_acl_data_pkt(uint8_t pkt_len, uint8_t pkt_data[]) {
// Process number of completed packets. Reduce number of pending packets by reported // Process number of completed packets. Reduce number of pending packets by reported
// number of completed. // number of completed.
STATIC void process_num_comp_pkts(uint16_t handle, uint16_t num_pkts) { STATIC void process_num_comp_pkts(uint16_t handle, uint16_t num_pkts) {
const uint8_t ff = 0xff;
int err;
common_hal_busio_uart_write(&debug_out, (uint8_t *) &pending_pkt, 1, &err);
common_hal_busio_uart_write(&debug_out, (uint8_t *) &ff, 1, &err);
common_hal_busio_uart_write(&debug_out, (uint8_t *) &ff, 1, &err);
if (num_pkts && pending_pkt > num_pkts) { if (num_pkts && pending_pkt > num_pkts) {
pending_pkt -= num_pkts; pending_pkt -= num_pkts;
} else { } else {
@ -271,26 +285,44 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
} }
default: default:
#if DEBUG_HCI #if HCI_DEBUG
mp_printf(&mp_plat_print, "process_evt_pkt: Unknown event: %02x\n"); mp_printf(&mp_plat_print, "process_evt_pkt: Unknown event: %02x\n");
#endif #endif
break; break;
} }
} }
//FIX
busio_uart_obj_t debug_out;
bool debug_out_in_use;
void bleio_hci_reset(void) { void bleio_hci_reset(void) {
rx_idx = 0; rx_idx = 0;
pending_pkt = 0; pending_pkt = 0;
hci_poll_in_progress = false; hci_poll_in_progress = false;
debug_out_in_use = false;
bleio_att_reset(); bleio_att_reset();
} }
hci_result_t hci_poll_for_incoming_pkt(void) { hci_result_t hci_poll_for_incoming_pkt(void) {
if (!debug_out_in_use) {
debug_out.base.type = &busio_uart_type;
common_hal_busio_uart_construct(&debug_out,
&pin_PB12 /*D7*/, NULL, // no RX
NULL, NULL,
NULL, false,
115200, 8, BUSIO_UART_PARITY_NONE, 1, 0,
512, NULL, false);
debug_out_in_use = true;
}
common_hal_mcu_disable_interrupts();
if (hci_poll_in_progress) { if (hci_poll_in_progress) {
common_hal_mcu_enable_interrupts();
return HCI_OK; return HCI_OK;
} }
hci_poll_in_progress = true; hci_poll_in_progress = true;
common_hal_mcu_enable_interrupts();
// Assert RTS low to say we're ready to read data. // Assert RTS low to say we're ready to read data.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, false); common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, false);
@ -298,28 +330,55 @@ hci_result_t hci_poll_for_incoming_pkt(void) {
int errcode = 0; int errcode = 0;
bool packet_is_complete = false; bool packet_is_complete = false;
// Read bytes until we run out, or accumulate a complete packet. // Read bytes until we run out. There may be more than one packet in the input buffer.
while (!packet_is_complete && while (!packet_is_complete &&
common_hal_busio_uart_rx_characters_available(common_hal_bleio_adapter_obj.hci_uart)) { common_hal_busio_uart_rx_characters_available(common_hal_bleio_adapter_obj.hci_uart) > 0) {
common_hal_busio_uart_read(common_hal_bleio_adapter_obj.hci_uart, rx_buffer + rx_idx, 1, &errcode);
// Read just one character a a time, so we don't accidentally get part of a second
// packet.
size_t num_read =
common_hal_busio_uart_read(common_hal_bleio_adapter_obj.hci_uart, rx_buffer + rx_idx, 1, &errcode);
if (num_read == 0) {
return HCI_OK;
}
if (errcode) { if (errcode) {
if (errcode == EAGAIN) {
continue;
}
hci_poll_in_progress = false; hci_poll_in_progress = false;
mp_printf(&mp_plat_print, "HCI_READ_ERROR, errcode: %x\n", errcode);
return HCI_READ_ERROR; return HCI_READ_ERROR;
} }
rx_idx++; rx_idx++;
if (rx_idx >= sizeof(rx_buffer)) {
// Incoming packet is too large. Should not happen.
return HCI_READ_ERROR;
}
switch (rx_buffer[0]) { switch (rx_buffer[0]) {
case H4_ACL: case H4_ACL:
if (rx_idx > sizeof(h4_hci_acl_pkt_t) && if (rx_idx > sizeof(h4_hci_acl_pkt_t)) {
rx_idx >= sizeof(h4_hci_acl_pkt_t) + ((h4_hci_acl_pkt_t *) rx_buffer)->data_len) { const size_t total_len =
packet_is_complete = true; sizeof(h4_hci_acl_pkt_t) + ((h4_hci_acl_pkt_t *) rx_buffer)->data_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
if (rx_idx > total_len) {
mp_printf(&mp_plat_print, "acl: rx_idx > total_len\n");
}
} }
break; break;
case H4_EVT: case H4_EVT:
if (rx_idx > sizeof(h4_hci_evt_pkt_t) && if (rx_idx > sizeof(h4_hci_evt_pkt_t)) {
rx_idx >= sizeof(h4_hci_evt_pkt_t) + ((h4_hci_evt_pkt_t *) rx_buffer)->param_len) { const size_t total_len =
packet_is_complete = true; sizeof(h4_hci_evt_pkt_t) + ((h4_hci_evt_pkt_t *) rx_buffer)->param_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
if (rx_idx > total_len) {
mp_printf(&mp_plat_print, "evt: rx_idx > total_len\n");
}
} }
break; break;
@ -328,45 +387,54 @@ hci_result_t hci_poll_for_incoming_pkt(void) {
rx_idx = 0; rx_idx = 0;
break; break;
} }
} // end while
if (packet_is_complete) {
// Stop incoming data while processing packet.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
size_t pkt_len = rx_idx;
//FIX output packet for debugging
int err;
common_hal_busio_uart_write(&debug_out, (uint8_t *) &rx_idx, 1, &err);
common_hal_busio_uart_write(&debug_out, (uint8_t *) &rx_idx, 1, &err);
common_hal_busio_uart_write(&debug_out, (uint8_t *) &rx_idx, 1, &err);
common_hal_busio_uart_write(&debug_out, rx_buffer, rx_idx, &err);
// Reset for next packet.
rx_idx = 0;
packet_is_complete = false;
switch (rx_buffer[0]) {
case H4_ACL:
#if HCI_DEBUG
dump_acl_pkt(false, pkt_len, rx_buffer);
#endif
process_acl_data_pkt(pkt_len, rx_buffer);
break;
case H4_EVT:
#if HCI_DEBUG
dump_evt_pkt(false, pkt_len, rx_buffer);
#endif
process_evt_pkt(pkt_len, rx_buffer);
break;
default:
#if HCI_DEBUG
mp_printf(&mp_plat_print, "Unknown HCI packet type: %d\n", rx_buffer[0]);
#endif
break;
}
// Let incoming bytes flow again.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, false);
} }
if (!packet_is_complete) { // All done with this batch. Hold off receiving bytes until we're ready again.
hci_poll_in_progress = false; ///common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
return HCI_OK;
}
// Stop incoming data while processing packet.
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
size_t pkt_len = rx_idx;
// Reset for next packet.
rx_idx = 0;
switch (rx_buffer[0]) {
case H4_ACL:
#if DEBUG_HCI
dump_acl_pkt(false, pkt_len, rx_buffer);
#endif
process_acl_data_pkt(pkt_len, rx_buffer);
break;
case H4_EVT:
#if DEBUG_HCI
dump_evt_pkt(false, pkt_len, rx_buffer);
#endif
process_evt_pkt(pkt_len, rx_buffer);
break;
default:
#if DEBUG_HCI
mp_printf(&mp_plat_print, "Unknown HCI packet type: %d\n", rx_buffer[0]);
#endif
break;
}
common_hal_digitalio_digitalinout_set_value(common_hal_bleio_adapter_obj.rts_digitalinout, true);
hci_poll_in_progress = false; hci_poll_in_progress = false;
return HCI_OK; return HCI_OK;
} }
@ -404,7 +472,7 @@ STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void* para
memcpy(cmd_pkt->params, params, params_len); memcpy(cmd_pkt->params, params, params_len);
#if DEBUG_HCI #if HCI_DEBUG
dump_cmd_pkt(true, sizeof(tx_buffer), tx_buffer); dump_cmd_pkt(true, sizeof(tx_buffer), tx_buffer);
#endif #endif
@ -419,12 +487,8 @@ STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void* para
// command responses. // command responses.
uint64_t start = supervisor_ticks_ms64(); uint64_t start = supervisor_ticks_ms64();
while (supervisor_ticks_ms64() - start < RESPONSE_TIMEOUT_MSECS) { while (supervisor_ticks_ms64() - start < RESPONSE_TIMEOUT_MSECS) {
result = hci_poll_for_incoming_pkt(); // RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
if (result != HCI_OK) { RUN_BACKGROUND_TASKS;
// I/O error.
return result;
}
if (cmd_response_received && cmd_response_opcode == opcode) { if (cmd_response_received && cmd_response_opcode == opcode) {
// If this is definitely a response to the command that was sent, // If this is definitely a response to the command that was sent,
// return the status value, which will will be // return the status value, which will will be
@ -432,20 +496,17 @@ STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void* para
// or a BT_HCI_ERR_x value (> 0x00) if there was a problem. // or a BT_HCI_ERR_x value (> 0x00) if there was a problem.
return cmd_response_status; return cmd_response_status;
} }
RUN_BACKGROUND_TASKS;
} }
// No I/O error, but no response sent back in time. // No I/O error, but no response sent back in time.
return HCI_RESPONSE_TIMEOUT; return HCI_RESPONSE_TIMEOUT;
} }
hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint8_t data_len, uint8_t *data) { hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, uint8_t *data) {
int result; // Wait for all backlogged packets to finish.
while (pending_pkt >= common_hal_bleio_adapter_obj.max_acl_num_buffers) { while (pending_pkt >= common_hal_bleio_adapter_obj.max_acl_num_buffers) {
result = hci_poll_for_incoming_pkt(); // RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
if (result != HCI_OK) { RUN_BACKGROUND_TASKS;
return result;
}
} }
// buf_len is size of entire packet including header. // buf_len is size of entire packet including header.
@ -457,13 +518,14 @@ hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint8_t data_len, ui
acl_pkt->pkt_type = H4_ACL; acl_pkt->pkt_type = H4_ACL;
acl_pkt->handle = handle; acl_pkt->handle = handle;
acl_pkt->pb = ACL_DATA_PB_FIRST_FLUSH; acl_pkt->pb = ACL_DATA_PB_FIRST_FLUSH;
acl_pkt->data_len = (uint8_t)(sizeof(acl_data_t) + data_len); acl_pkt->bc = 0;
acl_pkt->data_len = (uint16_t)(sizeof(acl_data_t) + data_len);
acl_data->acl_data_len = data_len; acl_data->acl_data_len = data_len;
acl_data->cid = cid; acl_data->cid = cid;
memcpy(&acl_data->acl_data, data, data_len); memcpy(&acl_data->acl_data, data, data_len);
#if DEBUG_HCI #if HCI_DEBUG
dump_acl_pkt(true, buf_len, tx_buffer); dump_acl_pkt(true, buf_len, tx_buffer);
#endif #endif
@ -474,7 +536,6 @@ hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint8_t data_len, ui
if (errcode) { if (errcode) {
return HCI_WRITE_ERROR; return HCI_WRITE_ERROR;
} }
return HCI_OK; return HCI_OK;
} }
@ -738,3 +799,39 @@ hci_result_t hci_disconnect(uint16_t handle) {
return send_command(BT_HCI_OP_DISCONNECT, sizeof(params), &params); return send_command(BT_HCI_OP_DISCONNECT, sizeof(params), &params);
} }
void hci_check_error(hci_result_t result) {
switch (result) {
case HCI_OK:
return;
case HCI_RESPONSE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting for HCI response"));
return;
case HCI_WRITE_TIMEOUT:
mp_raise_bleio_BluetoothError(translate("Timeout waiting to write HCI request"));
return;
case HCI_READ_ERROR:
mp_raise_bleio_BluetoothError(translate("Error reading from HCI adapter"));
return;
case HCI_WRITE_ERROR:
mp_raise_bleio_BluetoothError(translate("Error writing to HCI adapter"));
return;
case HCI_ATT_ERROR:
mp_raise_RuntimeError(translate("Error in ATT protocol code"));
return;
default:
// Should be an HCI status error, > 0.
if (result > 0) {
mp_raise_bleio_BluetoothError(translate("HCI status error: %02x"), result);
} else {
mp_raise_bleio_BluetoothError(translate("Unknown hci_result_t: %d"), result);
}
return;
}
}

View File

@ -38,7 +38,9 @@ typedef int hci_result_t;
#define HCI_WRITE_ERROR (-4) #define HCI_WRITE_ERROR (-4)
#define HCI_ATT_ERROR (-5) #define HCI_ATT_ERROR (-5)
void bleio_hci_reset(void); extern void bleio_hci_reset(void);
void hci_check_error(hci_result_t result);
hci_result_t hci_disconnect(uint16_t handle); hci_result_t hci_disconnect(uint16_t handle);
@ -72,7 +74,7 @@ hci_result_t hci_read_rssi(uint16_t handle, int *rssi);
hci_result_t hci_reset(void); hci_result_t hci_reset(void);
hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint8_t data_len, uint8_t *data); hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, uint8_t *data);
hci_result_t hci_set_event_mask(uint64_t event_mask); hci_result_t hci_set_event_mask(uint64_t event_mask);
#endif // MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_HCI_H #endif // MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_HCI_H

View File

@ -288,7 +288,7 @@ STATIC void dump_acl_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
if (pkt->pb != ACL_DATA_PB_MIDDLE && acl->cid == BT_L2CAP_CID_ATT) { if (pkt->pb != ACL_DATA_PB_MIDDLE && acl->cid == BT_L2CAP_CID_ATT) {
// This is the start of a fragmented acl_data packet or is a full packet, // This is the start of a fragmented acl_data packet or is a full packet,
// and is an ATT protocol packet. // and is an ATT protocol packet.
mp_printf(&mp_plat_print, "att: %s, ", att_opcode_name(acl->acl_data[0])); mp_printf(&mp_plat_print, "att: %s (%02x), ", att_opcode_name(acl->acl_data[0]), acl->acl_data[0]);
} }
mp_printf(&mp_plat_print, mp_printf(&mp_plat_print,

View File

@ -18,8 +18,7 @@
{% set visible_subpackages = obj.subpackages|selectattr("display")|list %} {% set visible_subpackages = obj.subpackages|selectattr("display")|list %}
{% if visible_subpackages %} {% if visible_subpackages %}
.. toctree:: .. toctree::
:titlesonly: :maxdepth: 2
:maxdepth: 3
{% for subpackage in visible_subpackages %} {% for subpackage in visible_subpackages %}
{{ subpackage.short_name }}/index.rst {{ subpackage.short_name }}/index.rst

View File

@ -1,4 +1,4 @@
sphinx<3 sphinx<4
recommonmark==0.6.0 recommonmark==0.6.0
sphinxcontrib-svg2pdfconverter==0.1.0 sphinxcontrib-svg2pdfconverter==0.1.0
astroid astroid

View File

@ -6,18 +6,28 @@ def rstjinja(app, docname, source):
Render our pages as a jinja template for fancy templating goodness. Render our pages as a jinja template for fancy templating goodness.
""" """
# Make sure we're outputting HTML # Make sure we're outputting HTML
if app.builder.format != 'html': if app.builder.format not in ("html", "latex"):
return return
# we only want our one jinja template to run through this func # we only want our one jinja template to run through this func
if "shared-bindings/support_matrix" not in docname: if "shared-bindings/support_matrix" not in docname:
return return
src = source[0] src = rendered = source[0]
print(docname) print(docname)
rendered = app.builder.templates.render_string(
src, app.config.html_context if app.builder.format == "html":
) rendered = app.builder.templates.render_string(
src, app.config.html_context
)
else:
from sphinx.util.template import BaseRenderer
renderer = BaseRenderer()
rendered = renderer.render_string(
src,
app.config.html_context
)
source[0] = rendered source[0] = rendered
def setup(app): def setup(app):

View File

@ -520,7 +520,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t base_in, mp_obj_t index_in, mp_ob
uint val_type = GET_TYPE(arr_sz, VAL_TYPE_BITS); uint val_type = GET_TYPE(arr_sz, VAL_TYPE_BITS);
arr_sz &= VALUE_MASK(VAL_TYPE_BITS); arr_sz &= VALUE_MASK(VAL_TYPE_BITS);
if (index >= arr_sz) { if (index >= arr_sz) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_IndexError, translate("struct: index out of range"))); mp_raise_IndexError_varg(translate("%q index out of range"), MP_QSTR_struct);
} }
if (t->len == 2) { if (t->len == 2) {

View File

@ -42,7 +42,7 @@ const byte fresult_to_errno_table[20] = {
STATIC void file_obj_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { STATIC void file_obj_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
(void)kind; (void)kind;
mp_printf(print, "<io.%s %p>", mp_obj_get_type_str(self_in), MP_OBJ_TO_PTR(self_in)); mp_printf(print, "<io.%q %p>", mp_obj_get_type_qstr(self_in), MP_OBJ_TO_PTR(self_in));
} }
STATIC mp_uint_t file_obj_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode) { STATIC mp_uint_t file_obj_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode) {

View File

@ -34,7 +34,7 @@ STATIC void check_fd_is_open(const mp_obj_vfs_posix_file_t *o) {
STATIC void vfs_posix_file_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { STATIC void vfs_posix_file_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
(void)kind; (void)kind;
mp_obj_vfs_posix_file_t *self = MP_OBJ_TO_PTR(self_in); mp_obj_vfs_posix_file_t *self = MP_OBJ_TO_PTR(self_in);
mp_printf(print, "<io.%s %d>", mp_obj_get_type_str(self_in), self->fd); mp_printf(print, "<io.%q %d>", mp_obj_get_type_qstr(self_in), self->fd);
} }
mp_obj_t mp_vfs_posix_file_open(const mp_obj_type_t *type, mp_obj_t file_in, mp_obj_t mode_in) { mp_obj_t mp_vfs_posix_file_open(const mp_obj_type_t *type, mp_obj_t file_in, mp_obj_t mode_in) {

@ -1 +1 @@
Subproject commit 5d584576ef79ca36506e6c7470e7ac5204cf0a8d Subproject commit 41f7a3530d4cacdbf668399d3a015ea29c7e169b

@ -1 +1 @@
Subproject commit 3ffb3f02d2046910e09d1f5a74721bd1a4cdf8cf Subproject commit 6a034887e370caa61fee5f51db8dd393d3e72542

@ -1 +1 @@
Subproject commit e9411c4244984b69ec6928370ede40cec014c10b Subproject commit eb4b21e216efd8ec0c4862a938e81b56be961724

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

@ -1 +1 @@
Subproject commit 0e1230676a54da17a309d1dfffdd7fa90240191c Subproject commit 809646ba11366b5aedbc8a90be1da1829304bf62

@ -1 +1 @@
Subproject commit 7914a6390318687bb8e2e9c4119aa932fea01531 Subproject commit 209edd164eb640a8ced561a54505792fc99a67b9

@ -1 +1 @@
Subproject commit 0d49a1fcd96c13a94e8bdf26f92abe79b8517906 Subproject commit 5d81a9ea822a85e46be4a512ac44abf21e77d816

@ -1 +1 @@
Subproject commit 94b03517c1f4ff68cc2bb09b0963f7e7e3ce3d04 Subproject commit 01f3f6674b4493ba29b857e0f43deb69975736ec

@ -1 +1 @@
Subproject commit 72968d3546f9d6c5af138d4c179343007cb9662c Subproject commit 1e3312ab1cba0b1d3bb1f559c52acfdc1a6d57b8

@ -1 +1 @@
Subproject commit 65fb213b8c554181d54b77f75335e16e2f4c0987 Subproject commit 829ba0f0a2d8a63f7d0215c6c9fc821e14e52a93

@ -1 +1 @@
Subproject commit d435fc9a9d90cb063608ae037bf5284b33bc5e84 Subproject commit fc3a7b479874a1ea315ddb3bf6c5e281e16ef097

@ -1 +1 @@
Subproject commit 457aba6dd59ad00502b80c9031655d3d26ecc82b Subproject commit 9fe8f314c032cee89b9ad7697d61e9cba76431ff

@ -1 +1 @@
Subproject commit ee8f2187d4795b08ae4aa60558f564d26c997be9 Subproject commit f1cc47f024b27e670b9bf2a51c89e32f93c1b957

@ -1 +1 @@
Subproject commit 5fd72fb963c4a0318d29282ca2cc988f19787fda Subproject commit 434e5b5346cb0a1a9eb15989b00278be87cb2ff1

@ -0,0 +1 @@
Subproject commit cfffc233784961929d722ea4e9acfe5786790609

@ -1 +1 @@
Subproject commit 56358b4494da825cd99a56a854119f926abca670 Subproject commit 6143ec2a96a6d218041e9cab5968de26702d7bbf

@ -1 +1 @@
Subproject commit 41de8b3c05dd78d7be8893a0f6cb47a7e9b421a2 Subproject commit 43017e30a1e772b67ac68293a944e863c031e389

@ -1 +1 @@
Subproject commit b5bbdbd56ca205c581ba2c84d927ef99befce88e Subproject commit fb773e0ed1891cda2ace6271fafc5312e167d275

@ -1 +1 @@
Subproject commit 76c0dd13294ce8ae0518cb9882dcad5d3668977e Subproject commit 88738da275a83acabb14b7140d1c79b33cdc7b02

View File

@ -35,9 +35,9 @@
* Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
*/ */
#ifdef __STDC__ #ifdef __STDC__
static const __int32_t two_over_pi[] = { static const __uint8_t two_over_pi[] = {
#else #else
static __int32_t two_over_pi[] = { static __uint8_t two_over_pi[] = {
#endif #endif
0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC, 0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC,
0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62, 0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62,
@ -145,6 +145,7 @@ pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
return -1; return -1;
} }
} }
#if CIRCUITPY_FULL_BUILD
if(ix<=0x43490f80) { /* |x| ~<= 2^7*(pi/2), medium size */ if(ix<=0x43490f80) { /* |x| ~<= 2^7*(pi/2), medium size */
t = fabsf(x); t = fabsf(x);
n = (__int32_t) (t*invpio2+half); n = (__int32_t) (t*invpio2+half);
@ -180,6 +181,11 @@ pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
else return n; else return n;
} }
#else
// Suppress "defined but not used" diagnostics
(void) j; (void) fn; (void) r; (void) t; (void) w; (void) pio2_3t;
(void) pio2_3; (void) invpio2; (void)half; (void)npio2_hw;
#endif
/* /*
* all other (large) arguments * all other (large) arguments
*/ */

View File

@ -188,7 +188,7 @@ extern float __ieee754_scalbf __P((float,float));
extern float __kernel_sinf __P((float,float,int)); extern float __kernel_sinf __P((float,float,int));
extern float __kernel_cosf __P((float,float)); extern float __kernel_cosf __P((float,float));
extern float __kernel_tanf __P((float,float,int)); extern float __kernel_tanf __P((float,float,int));
extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*)); extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __uint8_t*));
/* A union which permits us to convert between a float and a 32 bit /* A union which permits us to convert between a float and a 32 bit
int. */ int. */

View File

@ -62,10 +62,10 @@ two8 = 2.5600000000e+02, /* 0x43800000 */
twon8 = 3.9062500000e-03; /* 0x3b800000 */ twon8 = 3.9062500000e-03; /* 0x3b800000 */
#ifdef __STDC__ #ifdef __STDC__
int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __int32_t *ipio2) int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __uint8_t *ipio2)
#else #else
int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2) int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2)
float x[], y[]; int e0,nx,prec; __int32_t ipio2[]; float x[], y[]; int e0,nx,prec; __uint8_t ipio2[];
#endif #endif
{ {
__int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; __int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;

View File

@ -58,6 +58,16 @@ STATIC char *str_dup_maybe(const char *str) {
return s2; return s2;
} }
STATIC size_t count_cont_bytes(char *start, char *end) {
int count = 0;
for (char *pos = start; pos < end; pos++) {
if(UTF8_IS_CONT(*pos)) {
count++;
}
}
return count;
}
// By default assume terminal which implements VT100 commands... // By default assume terminal which implements VT100 commands...
#ifndef MICROPY_HAL_HAS_VT100 #ifndef MICROPY_HAL_HAS_VT100
#define MICROPY_HAL_HAS_VT100 (1) #define MICROPY_HAL_HAS_VT100 (1)
@ -92,6 +102,7 @@ typedef struct _readline_t {
int escape_seq; int escape_seq;
int hist_cur; int hist_cur;
size_t cursor_pos; size_t cursor_pos;
uint8_t utf8_cont_chars;
char escape_seq_buf[1]; char escape_seq_buf[1];
const char *prompt; const char *prompt;
} readline_t; } readline_t;
@ -99,7 +110,8 @@ typedef struct _readline_t {
STATIC readline_t rl; STATIC readline_t rl;
int readline_process_char(int c) { int readline_process_char(int c) {
size_t last_line_len = rl.line->len; size_t last_line_len = utf8_charlen((byte *)rl.line->buf, rl.line->len);
int cont_chars = 0;
int redraw_step_back = 0; int redraw_step_back = 0;
bool redraw_from_cursor = false; bool redraw_from_cursor = false;
int redraw_step_forward = 0; int redraw_step_forward = 0;
@ -178,6 +190,12 @@ int readline_process_char(int c) {
int nspace = 1; int nspace = 1;
#endif #endif
// Check if we have moved into a UTF-8 continuation byte
while (UTF8_IS_CONT(rl.line->buf[rl.cursor_pos-nspace])) {
nspace++;
cont_chars++;
}
// do the backspace // do the backspace
vstr_cut_out_bytes(rl.line, rl.cursor_pos - nspace, nspace); vstr_cut_out_bytes(rl.line, rl.cursor_pos - nspace, nspace);
// set redraw parameters // set redraw parameters
@ -206,12 +224,27 @@ int readline_process_char(int c) {
redraw_step_forward = compl_len; redraw_step_forward = compl_len;
} }
#endif #endif
} else if (32 <= c ) { } else if (32 <= c) {
// printable character // printable character
vstr_ins_char(rl.line, rl.cursor_pos, c); char lcp = rl.line->buf[rl.cursor_pos];
// set redraw parameters uint8_t cont_need = 0;
redraw_from_cursor = true; if (!UTF8_IS_CONT(c)) {
redraw_step_forward = 1; // ASCII or Lead code point
rl.utf8_cont_chars = 0;
lcp = c;
}else {
rl.utf8_cont_chars += 1;
}
if (lcp >= 0xc0 && lcp < 0xf8) {
cont_need = (0xe5 >> ((lcp >> 3) & 0x6)) & 3; // From unicode.c L195
}
vstr_ins_char(rl.line, rl.cursor_pos+rl.utf8_cont_chars, c);
// set redraw parameters if we have the entire character
if (rl.utf8_cont_chars == cont_need) {
redraw_from_cursor = true;
redraw_step_forward = rl.utf8_cont_chars+1;
cont_chars = rl.utf8_cont_chars;
}
} }
} else if (rl.escape_seq == ESEQ_ESC) { } else if (rl.escape_seq == ESEQ_ESC) {
switch (c) { switch (c) {
@ -237,6 +270,8 @@ up_arrow_key:
#endif #endif
// up arrow // up arrow
if (rl.hist_cur + 1 < (int)READLINE_HIST_SIZE && MP_STATE_PORT(readline_hist)[rl.hist_cur + 1] != NULL) { if (rl.hist_cur + 1 < (int)READLINE_HIST_SIZE && MP_STATE_PORT(readline_hist)[rl.hist_cur + 1] != NULL) {
// Check for continuation characters
cont_chars = count_cont_bytes(rl.line->buf+rl.orig_line_len, rl.line->buf+rl.cursor_pos);
// increase hist num // increase hist num
rl.hist_cur += 1; rl.hist_cur += 1;
// set line to history // set line to history
@ -253,6 +288,8 @@ down_arrow_key:
#endif #endif
// down arrow // down arrow
if (rl.hist_cur >= 0) { if (rl.hist_cur >= 0) {
// Check for continuation characters
cont_chars = count_cont_bytes(rl.line->buf+rl.orig_line_len, rl.line->buf+rl.cursor_pos);
// decrease hist num // decrease hist num
rl.hist_cur -= 1; rl.hist_cur -= 1;
// set line to history // set line to history
@ -272,6 +309,11 @@ right_arrow_key:
// right arrow // right arrow
if (rl.cursor_pos < rl.line->len) { if (rl.cursor_pos < rl.line->len) {
redraw_step_forward = 1; redraw_step_forward = 1;
// Check if we have moved into a UTF-8 continuation byte
while (UTF8_IS_CONT(rl.line->buf[rl.cursor_pos+redraw_step_forward]) &&
rl.cursor_pos+redraw_step_forward < rl.line->len) {
redraw_step_forward++;
}
} }
} else if (c == 'D') { } else if (c == 'D') {
#if MICROPY_REPL_EMACS_KEYS #if MICROPY_REPL_EMACS_KEYS
@ -280,6 +322,11 @@ left_arrow_key:
// left arrow // left arrow
if (rl.cursor_pos > rl.orig_line_len) { if (rl.cursor_pos > rl.orig_line_len) {
redraw_step_back = 1; redraw_step_back = 1;
// Check if we have moved into a UTF-8 continuation byte
while (UTF8_IS_CONT(rl.line->buf[rl.cursor_pos-redraw_step_back])) {
redraw_step_back++;
cont_chars++;
}
} }
} else if (c == 'H') { } else if (c == 'H') {
// home // home
@ -331,18 +378,20 @@ delete_key:
// redraw command prompt, efficiently // redraw command prompt, efficiently
if (redraw_step_back > 0) { if (redraw_step_back > 0) {
mp_hal_move_cursor_back(redraw_step_back); mp_hal_move_cursor_back(redraw_step_back-cont_chars);
rl.cursor_pos -= redraw_step_back; rl.cursor_pos -= redraw_step_back;
} }
if (redraw_from_cursor) { if (redraw_from_cursor) {
if (rl.line->len < last_line_len) { if (utf8_charlen((byte *)rl.line->buf, rl.line->len) < last_line_len) {
// erase old chars // erase old chars
mp_hal_erase_line_from_cursor(last_line_len - rl.cursor_pos); mp_hal_erase_line_from_cursor(last_line_len - rl.cursor_pos);
} }
// Check for continuation characters
cont_chars = count_cont_bytes(rl.line->buf+rl.cursor_pos+redraw_step_forward, rl.line->buf+rl.line->len);
// draw new chars // draw new chars
mp_hal_stdout_tx_strn(rl.line->buf + rl.cursor_pos, rl.line->len - rl.cursor_pos); mp_hal_stdout_tx_strn(rl.line->buf + rl.cursor_pos, rl.line->len - rl.cursor_pos);
// move cursor forward if needed (already moved forward by length of line, so move it back) // move cursor forward if needed (already moved forward by length of line, so move it back)
mp_hal_move_cursor_back(rl.line->len - (rl.cursor_pos + redraw_step_forward)); mp_hal_move_cursor_back(rl.line->len - (rl.cursor_pos + redraw_step_forward) - cont_chars);
rl.cursor_pos += redraw_step_forward; rl.cursor_pos += redraw_step_forward;
} else if (redraw_step_forward > 0) { } else if (redraw_step_forward > 0) {
// draw over old chars to move cursor forwards // draw over old chars to move cursor forwards

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-07-06 18:10+0000\n" "PO-Revision-Date: 2020-07-06 18:10+0000\n"
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n" "Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -72,13 +72,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q sedang digunakan" msgstr "%q sedang digunakan"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q indeks di luar batas" msgstr "%q indeks di luar batas"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "indeks %q harus bilangan bulat, bukan %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -116,6 +120,42 @@ msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argumen dibutuhkan" msgstr "'%q' argumen dibutuhkan"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -166,48 +206,6 @@ msgstr "'%s' integer %d tidak dalam kisaran %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' integer 0x%x tidak cukup didalam mask 0x%x" msgstr "'%s' integer 0x%x tidak cukup didalam mask 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "Objek '%s' tidak dapat menetapkan atribut '%q'"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "Objek '%s' tidak mendukung '%q'"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "Objek '%s' tidak mendukung penetapan item"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "Objek '%s' tidak mendukung penghapusan item"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "Objek '%s' tidak memiliki atribut '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "Objek '%s' bukan iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "Objek '%s' tidak dapat dipanggil"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' objek tidak dapat diulang"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "Objek '%s' tidak dapat disubkripsikan"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' perataan tidak diizinkan dalam penentu format string" msgstr "'=' perataan tidak diizinkan dalam penentu format string"
@ -457,6 +455,10 @@ msgstr "Panjang buffer %d terlalu besar. Itu harus kurang dari %d"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "Panjang buffer harus kelipatan 512" msgstr "Panjang buffer harus kelipatan 512"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Penyangga harus memiliki panjang setidaknya 1" msgstr "Penyangga harus memiliki panjang setidaknya 1"
@ -658,6 +660,10 @@ msgstr "Tidak dapat menginisialisasi ulang timer"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "Tidak dapat memulai ulang PWM" msgstr "Tidak dapat memulai ulang PWM"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "Tidak dapat memulai PWM" msgstr "Tidak dapat memulai PWM"
@ -841,6 +847,11 @@ msgstr "Gagal menulis flash internal."
msgid "File exists" msgid "File exists"
msgstr "File sudah ada" msgstr "File sudah ada"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -866,7 +877,7 @@ msgid "Group full"
msgstr "Grup penuh" msgstr "Grup penuh"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Perangkat keras sibuk, coba pin alternatif" msgstr "Perangkat keras sibuk, coba pin alternatif"
@ -933,6 +944,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "%q pada tidak valid" msgstr "%q pada tidak valid"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Nilai Unit ADC tidak valid" msgstr "Nilai Unit ADC tidak valid"
@ -945,24 +961,12 @@ msgstr "File BMP tidak valid"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Pin DAC yang diberikan tidak valid" msgstr "Pin DAC yang diberikan tidak valid"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Pilihan pin I2C tidak valid"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Frekuensi PWM tidak valid" msgstr "Frekuensi PWM tidak valid"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Pilihan pin SPI tidak valid"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Pilihan pin UART tidak valid"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumen tidak valid" msgstr "Argumen tidak valid"
@ -1259,6 +1263,10 @@ msgstr "Tidak dapat menyambungkan ke AP"
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1344,10 +1352,6 @@ msgstr "Tambahkan module apapun pada filesystem\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1423,13 +1427,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n"
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
"Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1440,6 +1439,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA atau SCL membutuhkan pull up" msgstr "SDA atau SCL membutuhkan pull up"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1796,8 +1805,7 @@ msgid "__init__() should return None"
msgstr "" msgstr ""
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'"
msgstr "" msgstr ""
#: py/objobject.c #: py/objobject.c
@ -1952,7 +1960,7 @@ msgstr "byte > 8 bit tidak didukung"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "" msgstr ""
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "kalibrasi keluar dari jangkauan" msgstr "kalibrasi keluar dari jangkauan"
@ -1984,47 +1992,17 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "tidak dapat menetapkan ke ekspresi" msgstr "tidak dapat menetapkan ke ekspresi"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "" msgstr ""
#: py/objint.c
msgid "can't convert NaN to int"
msgstr ""
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr ""
#: py/objint.c
msgid "can't convert inf to int"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr ""
#: py/obj.c
msgid "can't convert to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -2432,7 +2410,7 @@ msgstr "fungsi kehilangan argumen keyword '%q' yang dibutuhkan"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan" msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan" msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan"
@ -2481,10 +2459,7 @@ msgstr "lapisan (padding) tidak benar"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index keluar dari jangkauan" msgstr "index keluar dari jangkauan"
@ -2840,8 +2815,7 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2877,8 +2851,7 @@ msgid "object not iterable"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2972,20 +2945,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "Muncul dari PulseIn yang kosong" msgid "pop from empty %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr ""
#: py/objlist.c
msgid "pop from empty list"
msgstr ""
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "" msgstr ""
#: py/objint_mpz.c #: py/objint_mpz.c
@ -3142,12 +3104,7 @@ msgid "stream operation not supported"
msgstr "" msgstr ""
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "" msgstr ""
#: py/stream.c #: py/stream.c
@ -3158,10 +3115,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: tidak bisa melakukan index" msgstr "struct: tidak bisa melakukan index"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index keluar dari jangkauan"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: tidak ada fields" msgstr "struct: tidak ada fields"
@ -3232,7 +3185,7 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "" msgstr ""
@ -3240,10 +3193,6 @@ msgstr ""
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "" msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3299,8 +3248,7 @@ msgid "unknown conversion specifier %c"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'"
msgstr "" msgstr ""
#: py/compile.c #: py/compile.c
@ -3340,7 +3288,7 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
@ -3348,7 +3296,7 @@ msgid "unsupported type for operator"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "" msgstr ""
#: py/objint.c #: py/objint.c
@ -3428,6 +3376,58 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "indeks %q harus bilangan bulat, bukan %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "Objek '%s' tidak dapat menetapkan atribut '%q'"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "Objek '%s' tidak mendukung '%q'"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "Objek '%s' tidak mendukung penetapan item"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "Objek '%s' tidak mendukung penghapusan item"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "Objek '%s' tidak memiliki atribut '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "Objek '%s' bukan iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "Objek '%s' tidak dapat dipanggil"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' objek tidak dapat diulang"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "Objek '%s' tidak dapat disubkripsikan"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "Pilihan pin I2C tidak valid"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Pilihan pin SPI tidak valid"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Pilihan pin UART tidak valid"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "Muncul dari PulseIn yang kosong"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index keluar dari jangkauan"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' atau 'async with' di luar fungsi async" #~ msgstr "'async for' atau 'async with' di luar fungsi async"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -66,12 +66,16 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "" msgstr ""
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
@ -110,6 +114,42 @@ msgstr ""
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -160,48 +200,6 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "" msgstr ""
@ -449,6 +447,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "" msgstr ""
@ -639,6 +641,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -821,6 +827,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "" msgstr ""
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -845,7 +856,7 @@ msgid "Group full"
msgstr "" msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -910,6 +921,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -922,24 +938,12 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1235,6 +1239,10 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1320,10 +1328,6 @@ msgstr ""
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1396,11 +1400,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -1412,6 +1412,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1761,8 +1771,7 @@ msgid "__init__() should return None"
msgstr "" msgstr ""
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'"
msgstr "" msgstr ""
#: py/objobject.c #: py/objobject.c
@ -1916,7 +1925,7 @@ msgstr ""
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "" msgstr ""
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "" msgstr ""
@ -1948,47 +1957,17 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "" msgstr ""
#: py/objint.c
msgid "can't convert NaN to int"
msgstr ""
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr ""
#: py/objint.c
msgid "can't convert inf to int"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr ""
#: py/obj.c
msgid "can't convert to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -2396,7 +2375,7 @@ msgstr ""
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "" msgstr ""
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2445,10 +2424,7 @@ msgstr ""
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "" msgstr ""
@ -2804,8 +2780,7 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2841,8 +2816,7 @@ msgid "object not iterable"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2935,20 +2909,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "" msgid "pop from empty %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr ""
#: py/objlist.c
msgid "pop from empty list"
msgstr ""
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "" msgstr ""
#: py/objint_mpz.c #: py/objint_mpz.c
@ -3105,12 +3068,7 @@ msgid "stream operation not supported"
msgstr "" msgstr ""
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "" msgstr ""
#: py/stream.c #: py/stream.c
@ -3121,10 +3079,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "" msgstr ""
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr ""
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "" msgstr ""
@ -3194,7 +3148,7 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "" msgstr ""
@ -3202,10 +3156,6 @@ msgstr ""
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "" msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3261,8 +3211,7 @@ msgid "unknown conversion specifier %c"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'"
msgstr "" msgstr ""
#: py/compile.c #: py/compile.c
@ -3302,7 +3251,7 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
@ -3310,7 +3259,7 @@ msgid "unsupported type for operator"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "" msgstr ""
#: py/objint.c #: py/objint.c

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-05-24 03:22+0000\n" "PO-Revision-Date: 2020-05-24 03:22+0000\n"
"Last-Translator: dronecz <mzuzelka@gmail.com>\n" "Last-Translator: dronecz <mzuzelka@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -44,11 +44,11 @@ msgstr ""
#: py/obj.c #: py/obj.c
msgid " File \"%q\"" msgid " File \"%q\""
msgstr "  Soubor \"% q\"" msgstr "  Soubor \"%q\""
#: py/obj.c #: py/obj.c
msgid " File \"%q\", line %d" msgid " File \"%q\", line %d"
msgstr "  Soubor \"% q\", řádek% d" msgstr "  Soubor \"%q\", řádek %d"
#: main.c #: main.c
msgid " output:\n" msgid " output:\n"
@ -57,7 +57,7 @@ msgstr " výstup:\n"
#: py/objstr.c #: py/objstr.c
#, c-format #, c-format
msgid "%%c requires int or char" msgid "%%c requires int or char"
msgstr "%% c vyžaduje int nebo char" msgstr "%%c vyžaduje int nebo char"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
@ -72,17 +72,21 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q se nyní používá" msgstr "%q se nyní používá"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q index je mimo rozsah" msgstr "%q index je mimo rozsah"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "Indexy% q musí být celá čísla, nikoli% s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
msgstr "Seznam% q musí být seznam" msgstr "Seznam %q musí být seznam"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
@ -94,11 +98,11 @@ msgstr ""
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
#: shared-bindings/vectorio/Circle.c shared-bindings/vectorio/Rectangle.c #: shared-bindings/vectorio/Circle.c shared-bindings/vectorio/Rectangle.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "% q musí být > = 1" msgstr " %q musí být > = 1"
#: shared-module/vectorio/Polygon.c #: shared-module/vectorio/Polygon.c
msgid "%q must be a tuple of length 2" msgid "%q must be a tuple of length 2"
msgstr "% q musí být n-tice délky 2" msgstr " %q musí být n-tice délky 2"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q pin invalid" msgid "%q pin invalid"
@ -106,7 +110,7 @@ msgstr ""
#: shared-bindings/fontio/BuiltinFont.c #: shared-bindings/fontio/BuiltinFont.c
msgid "%q should be an int" msgid "%q should be an int"
msgstr "% q by měl být int" msgstr " %q by měl být int"
#: py/bc.c py/objnamedtuple.c #: py/bc.c py/objnamedtuple.c
msgid "%q() takes %d positional arguments but %d were given" msgid "%q() takes %d positional arguments but %d were given"
@ -116,6 +120,42 @@ msgstr ""
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -166,48 +206,6 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "" msgstr ""
@ -455,6 +453,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "" msgstr ""
@ -645,6 +647,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -827,6 +833,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "" msgstr ""
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -851,7 +862,7 @@ msgid "Group full"
msgstr "" msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -916,6 +927,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -928,24 +944,12 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1241,6 +1245,10 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1326,10 +1334,6 @@ msgstr ""
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1402,11 +1406,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -1418,6 +1418,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1767,8 +1777,7 @@ msgid "__init__() should return None"
msgstr "" msgstr ""
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'"
msgstr "" msgstr ""
#: py/objobject.c #: py/objobject.c
@ -1922,7 +1931,7 @@ msgstr ""
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "" msgstr ""
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "" msgstr ""
@ -1954,47 +1963,17 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "" msgstr ""
#: py/objint.c
msgid "can't convert NaN to int"
msgstr ""
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr ""
#: py/objint.c
msgid "can't convert inf to int"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr ""
#: py/obj.c
msgid "can't convert to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -2402,7 +2381,7 @@ msgstr ""
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "" msgstr ""
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2451,10 +2430,7 @@ msgstr ""
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "" msgstr ""
@ -2810,8 +2786,7 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2847,8 +2822,7 @@ msgid "object not iterable"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2941,20 +2915,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "" msgid "pop from empty %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr ""
#: py/objlist.c
msgid "pop from empty list"
msgstr ""
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "" msgstr ""
#: py/objint_mpz.c #: py/objint_mpz.c
@ -3111,12 +3074,7 @@ msgid "stream operation not supported"
msgstr "" msgstr ""
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "" msgstr ""
#: py/stream.c #: py/stream.c
@ -3127,10 +3085,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "" msgstr ""
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr ""
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "" msgstr ""
@ -3200,7 +3154,7 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "" msgstr ""
@ -3208,10 +3162,6 @@ msgstr ""
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "" msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3267,8 +3217,7 @@ msgid "unknown conversion specifier %c"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'"
msgstr "" msgstr ""
#: py/compile.c #: py/compile.c
@ -3308,7 +3257,7 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
@ -3316,7 +3265,7 @@ msgid "unsupported type for operator"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "" msgstr ""
#: py/objint.c #: py/objint.c
@ -3395,3 +3344,6 @@ msgstr ""
#: extmod/ulab/code/filter/filter.c #: extmod/ulab/code/filter/filter.c
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "Indexy %q musí být celá čísla, nikoli %s"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-06-16 18:24+0000\n" "PO-Revision-Date: 2020-06-16 18:24+0000\n"
"Last-Translator: Andreas Buchen <andreas.buchen@gmail.com>\n" "Last-Translator: Andreas Buchen <andreas.buchen@gmail.com>\n"
"Language: de_DE\n" "Language: de_DE\n"
@ -71,13 +71,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q in Benutzung" msgstr "%q in Benutzung"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "Der Index %q befindet sich außerhalb des Bereiches" msgstr "Der Index %q befindet sich außerhalb des Bereiches"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q Indizes müssen Integer sein, nicht %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -115,6 +119,42 @@ msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' Argument erforderlich" msgstr "'%q' Argument erforderlich"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -165,48 +205,6 @@ msgstr "'%s' integer %d ist nicht im Bereich %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x" msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "Das Objekt '%s' kann das Attribut '%q' nicht zuweisen"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "Das Objekt '%s' unterstützt '%q' nicht"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "'%s' Objekt unterstützt keine Zuweisung von Elementen"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "'%s' Objekt unterstützt das Löschen von Elementen nicht"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "'%s' Objekt hat kein Attribut '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "'%s' Objekt ist kein Iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "'%s' object ist nicht aufrufbar"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' Objekt nicht iterierbar"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "'%s' Objekt hat keine '__getitem__'-Methode (not subscriptable)"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'='-Ausrichtung ist im String-Formatbezeichner nicht zulässig" msgstr "'='-Ausrichtung ist im String-Formatbezeichner nicht zulässig"
@ -458,6 +456,10 @@ msgstr "Die Pufferlänge %d ist zu groß. Sie muss kleiner als %d sein"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Der Puffer muss eine Mindestenslänge von 1 haben" msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
@ -655,6 +657,10 @@ msgstr "Timer konnte nicht neu gestartet werden"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "PWM konnte nicht neu gestartet werden" msgstr "PWM konnte nicht neu gestartet werden"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "PWM konnte nicht gestartet werden" msgstr "PWM konnte nicht gestartet werden"
@ -838,6 +844,11 @@ msgstr "Interner Flash konnte nicht geschrieben werden."
msgid "File exists" msgid "File exists"
msgstr "Datei existiert" msgstr "Datei existiert"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -866,7 +877,7 @@ msgid "Group full"
msgstr "Gruppe voll" msgstr "Gruppe voll"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Hardware beschäftigt, versuchen Sie alternative Pins" msgstr "Hardware beschäftigt, versuchen Sie alternative Pins"
@ -933,6 +944,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Ungültiger %q pin" msgstr "Ungültiger %q pin"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Ungültiger ADC-Einheitenwert" msgstr "Ungültiger ADC-Einheitenwert"
@ -945,24 +961,12 @@ msgstr "Ungültige BMP-Datei"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ungültiger DAC-Pin angegeben" msgstr "Ungültiger DAC-Pin angegeben"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Ungültige I2C-Pinauswahl"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Ungültige PWM Frequenz" msgstr "Ungültige PWM Frequenz"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Ungültige SPI-Pin-Auswahl"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Ungültige UART-Pinauswahl"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Ungültiges Argument" msgstr "Ungültiges Argument"
@ -1260,6 +1264,10 @@ msgstr "Nicht verbunden"
msgid "Not playing" msgid "Not playing"
msgstr "Spielt nicht ab" msgstr "Spielt nicht ab"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1354,10 +1362,6 @@ msgstr "und alle Module im Dateisystem \n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "Polygone brauchen mindestens 3 Punkte" msgstr "Polygone brauchen mindestens 3 Punkte"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Pop aus einem leeren Ps2-Puffer"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "Der Präfixbuffer muss sich auf dem Heap befinden" msgstr "Der Präfixbuffer muss sich auf dem Heap befinden"
@ -1432,12 +1436,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Zeileneintrag muss ein digitalio.DigitalInOut sein" msgstr "Zeileneintrag muss ein digitalio.DigitalInOut sein"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1448,6 +1448,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA oder SCL brauchen pull up" msgstr "SDA oder SCL brauchen pull up"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "SPI-Init-Fehler" msgstr "SPI-Init-Fehler"
@ -1824,9 +1834,8 @@ msgid "__init__() should return None"
msgstr "__init__() sollte None zurückgeben" msgstr "__init__() sollte None zurückgeben"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init__() sollte None zurückgeben, nicht '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1979,7 +1988,7 @@ msgstr "bytes mit mehr als 8 bits werden nicht unterstützt"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "Byte-Wert außerhalb des Bereichs" msgstr "Byte-Wert außerhalb des Bereichs"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "Kalibrierung ist außerhalb der Reichweite" msgstr "Kalibrierung ist außerhalb der Reichweite"
@ -2013,48 +2022,18 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "kann keinem Ausdruck zuweisen" msgstr "kann keinem Ausdruck zuweisen"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "kann %s nicht nach complex konvertieren" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "kann %s nicht nach float konvertieren"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "kann %s nicht nach int konvertieren"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "Kann '%q' Objekt nicht implizit nach %q konvertieren" msgstr "Kann '%q' Objekt nicht implizit nach %q konvertieren"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "kann NaN nicht nach int konvertieren"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "kann Adresse nicht in int konvertieren"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "kann inf nicht nach int konvertieren"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "kann nicht nach complex konvertieren" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "kann nicht nach float konvertieren"
#: py/obj.c
msgid "can't convert to int"
msgstr "kann nicht nach int konvertieren"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2472,7 +2451,7 @@ msgstr "Funktion vermisst benötigtes Keyword-Argumente '%q'"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d" msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2522,10 +2501,7 @@ msgstr "padding ist inkorrekt"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "Index ist außerhalb der Grenzen" msgstr "Index ist außerhalb der Grenzen"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index außerhalb der Reichweite" msgstr "index außerhalb der Reichweite"
@ -2888,9 +2864,8 @@ msgid "number of points must be at least 2"
msgstr "Die Anzahl der Punkte muss mindestens 2 betragen" msgstr "Die Anzahl der Punkte muss mindestens 2 betragen"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "Objekt '%s' ist weder tupel noch list"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2925,9 +2900,8 @@ msgid "object not iterable"
msgstr "Objekt nicht iterierbar" msgstr "Objekt nicht iterierbar"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "Objekt vom Typ '%s' hat keine len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -3022,21 +2996,10 @@ msgstr "Polygon kann nur in einem übergeordneten Element registriert werden"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop von einem leeren PulseIn" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop von einer leeren Menge (set)"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop von einer leeren Liste"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): dictionary ist leer"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3194,13 +3157,8 @@ msgid "stream operation not supported"
msgstr "stream operation ist nicht unterstützt" msgstr "stream operation ist nicht unterstützt"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "String index außerhalb des Bereiches" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "String indizes müssen Integer sein, nicht %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3211,10 +3169,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: kann nicht indexieren" msgstr "struct: kann nicht indexieren"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index außerhalb gültigen Bereichs"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: keine Felder" msgstr "struct: keine Felder"
@ -3284,7 +3238,7 @@ msgstr "zu viele Werte zum Auspacken (erwartet %d)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "Tupelindex außerhalb des Bereichs" msgstr "Tupelindex außerhalb des Bereichs"
@ -3292,10 +3246,6 @@ msgstr "Tupelindex außerhalb des Bereichs"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tupel/list hat falsche Länge" msgstr "tupel/list hat falsche Länge"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "Tupel / Liste auf RHS erforderlich"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3355,9 +3305,8 @@ msgid "unknown conversion specifier %c"
msgstr "unbekannter Konvertierungs specifier %c" msgstr "unbekannter Konvertierungs specifier %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "unbekannter Formatcode '%c' für Objekt vom Typ '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3396,16 +3345,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "nicht unterstütztes Formatzeichen '%c' (0x%x) bei Index %d" msgstr "nicht unterstütztes Formatzeichen '%c' (0x%x) bei Index %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "nicht unterstützter Type für %q: '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "nicht unterstützter Typ für Operator" msgstr "nicht unterstützter Typ für Operator"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "nicht unterstützte Typen für %q: '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3484,15 +3433,132 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "tuple/list required on RHS"
#~ msgstr "Tupel / Liste auf RHS erforderlich"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q Indizes müssen Integer sein, nicht %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "Das Objekt '%s' kann das Attribut '%q' nicht zuweisen"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "Das Objekt '%s' unterstützt '%q' nicht"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "'%s' Objekt unterstützt keine Zuweisung von Elementen"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "'%s' Objekt unterstützt das Löschen von Elementen nicht"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "'%s' Objekt hat kein Attribut '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "'%s' Objekt ist kein Iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "'%s' object ist nicht aufrufbar"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' Objekt nicht iterierbar"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "'%s' Objekt hat keine '__getitem__'-Methode (not subscriptable)"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "Ungültige I2C-Pinauswahl"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Ungültige SPI-Pin-Auswahl"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Ungültige UART-Pinauswahl"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Pop aus einem leeren Ps2-Puffer"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() sollte None zurückgeben, nicht '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "kann %s nicht nach complex konvertieren"
#~ msgid "can't convert %s to float"
#~ msgstr "kann %s nicht nach float konvertieren"
#~ msgid "can't convert %s to int"
#~ msgstr "kann %s nicht nach int konvertieren"
#~ msgid "can't convert NaN to int"
#~ msgstr "kann NaN nicht nach int konvertieren"
#~ msgid "can't convert address to int"
#~ msgstr "kann Adresse nicht in int konvertieren"
#~ msgid "can't convert inf to int"
#~ msgstr "kann inf nicht nach int konvertieren"
#~ msgid "can't convert to complex"
#~ msgstr "kann nicht nach complex konvertieren"
#~ msgid "can't convert to float"
#~ msgstr "kann nicht nach float konvertieren"
#~ msgid "can't convert to int"
#~ msgstr "kann nicht nach int konvertieren"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "Objekt '%s' ist weder tupel noch list"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "Objekt vom Typ '%s' hat keine len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop von einem leeren PulseIn"
#~ msgid "pop from an empty set"
#~ msgstr "pop von einer leeren Menge (set)"
#~ msgid "pop from empty list"
#~ msgstr "pop von einer leeren Liste"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): dictionary ist leer"
#~ msgid "string index out of range"
#~ msgstr "String index außerhalb des Bereiches"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "String indizes müssen Integer sein, nicht %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index außerhalb gültigen Bereichs"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "unbekannter Formatcode '%c' für Objekt vom Typ '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "nicht unterstützter Type für %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "nicht unterstützte Typen für %q: '%s', '%s'"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' oder 'async with' außerhalb der asynchronen Funktion" #~ msgstr "'async for' oder 'async with' außerhalb der asynchronen Funktion"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn wird auf diesem Chip nicht unterstützt"
#~ msgid "PulseOut not supported on this chip" #~ msgid "PulseOut not supported on this chip"
#~ msgstr "PulseOut wird auf diesem Chip nicht unterstützt" #~ msgstr "PulseOut wird auf diesem Chip nicht unterstützt"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn wird auf diesem Chip nicht unterstützt"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "AP erforderlich" #~ msgstr "AP erforderlich"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-07-22 20:48+0000\n" "PO-Revision-Date: 2020-08-17 21:11+0000\n"
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n" "Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
@ -75,13 +75,17 @@ msgstr "%q fallo: %d"
msgid "%q in use" msgid "%q in use"
msgstr "%q está siendo utilizado" msgstr "%q está siendo utilizado"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q indice fuera de rango" msgstr "%q indice fuera de rango"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q indices deben ser enteros, no %s" msgstr "índices %q deben ser enteros, no %q"
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -89,7 +93,7 @@ msgstr "%q lista debe ser una lista"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
msgstr "" msgstr "%q debe ser >= 0"
#: shared-bindings/_bleio/CharacteristicBuffer.c #: shared-bindings/_bleio/CharacteristicBuffer.c
#: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c #: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c
@ -119,6 +123,42 @@ msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "argumento '%q' requerido" msgstr "argumento '%q' requerido"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr "el objeto '%q' no puede asignar el atributo '%q'"
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr "objeto '%q' no tiene capacidad '%q'"
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr "objeto '%q' no tiene capacidad de asignado de artículo"
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr "objeto '%q' no tiene capacidad de borrado de artículo"
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr "objeto '%q' no tiene atributo '%q'"
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr "objeto '%q' no es un iterador"
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr "objeto '%q' no es llamable"
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr "objeto '%q' no es iterable"
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr "objeto '%q' no es subscribible"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -169,48 +209,6 @@ msgstr "'%s' entero %d no esta dentro del rango %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' entero 0x%x no cabe en la máscara 0x%x" msgstr "'%s' entero 0x%x no cabe en la máscara 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "El objeto '%s' no puede asignar al atributo '%q'"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "El objeto '%s' no admite '%q'"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "el objeto '%s' no soporta la asignación de elementos"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "objeto '%s' no soporta la eliminación de elementos"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "objeto '%s' no tiene atributo '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "objeto '%s' no es un iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "objeto '%s' no puede ser llamado"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "objeto '%s' no es iterable"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "el objeto '%s' no es suscriptable"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' alineación no permitida en el especificador string format" msgstr "'=' alineación no permitida en el especificador string format"
@ -229,7 +227,7 @@ msgstr "'await' fuera de la función"
#: py/compile.c #: py/compile.c
msgid "'await', 'async for' or 'async with' outside async function" msgid "'await', 'async for' or 'async with' outside async function"
msgstr "" msgstr "'await', 'async for' o 'async with' fuera de la función async"
#: py/compile.c #: py/compile.c
msgid "'break' outside loop" msgid "'break' outside loop"
@ -241,7 +239,7 @@ msgstr "'continue' fuera de un bucle"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "" msgstr "el objeto 'coroutine' no es un iterador"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -338,7 +336,7 @@ msgstr "Ya se encuentra publicando."
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c #: shared-module/memorymonitor/AllocationSize.c
msgid "Already running" msgid "Already running"
msgstr "" msgstr "Ya está en ejecución"
#: ports/cxd56/common-hal/analogio/AnalogIn.c #: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin" msgid "AnalogIn not supported on given pin"
@ -378,7 +376,7 @@ msgstr "Como máximo %d %q se puede especificar (no %d)"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
msgid "Attempt to allocate %d blocks" msgid "Attempt to allocate %d blocks"
msgstr "" msgstr "Tratando de localizar %d bloques"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running." msgid "Attempted heap allocation when MicroPython VM not running."
@ -464,6 +462,10 @@ msgstr "La longitud del buffer %d es muy grande. Debe ser menor a %d"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "El tamaño del búfer debe ser múltiplo de 512" msgstr "El tamaño del búfer debe ser múltiplo de 512"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr "Búfer deber ser un múltiplo de 512 bytes"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Buffer debe ser de longitud 1 como minimo" msgstr "Buffer debe ser de longitud 1 como minimo"
@ -660,6 +662,10 @@ msgstr "No se pudo reiniciar el temporizador"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "No se pudo reiniciar el PWM" msgstr "No se pudo reiniciar el PWM"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "No se puede definir la dirección"
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "No se pudo iniciar el PWM" msgstr "No se pudo iniciar el PWM"
@ -842,6 +848,11 @@ msgstr "Error al escribir al flash interno."
msgid "File exists" msgid "File exists"
msgstr "El archivo ya existe" msgstr "El archivo ya existe"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr "Framebuffer requiere %d bytes"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa." msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
@ -867,7 +878,7 @@ msgid "Group full"
msgstr "Group lleno" msgstr "Group lleno"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Hardware ocupado, pruebe pines alternativos" msgstr "Hardware ocupado, pruebe pines alternativos"
@ -885,7 +896,7 @@ msgstr "Error de inicio de I2C"
#: shared-bindings/audiobusio/I2SOut.c #: shared-bindings/audiobusio/I2SOut.c
msgid "I2SOut not available" msgid "I2SOut not available"
msgstr "" msgstr "I2SOut no disponible"
#: shared-bindings/aesio/aes.c #: shared-bindings/aesio/aes.c
#, c-format #, c-format
@ -934,6 +945,11 @@ msgstr "%q inválido"
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Pin %q inválido" msgstr "Pin %q inválido"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr "selección inválida de pin %q"
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Valor de unidad de ADC no válido" msgstr "Valor de unidad de ADC no válido"
@ -946,24 +962,12 @@ msgstr "Archivo BMP inválido"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Pin suministrado inválido para DAC" msgstr "Pin suministrado inválido para DAC"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Selección de pin I2C no válida"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Frecuencia PWM inválida" msgstr "Frecuencia PWM inválida"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Selección de pin SPI no válida"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Selección de pin UART no válida"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumento inválido" msgstr "Argumento inválido"
@ -1259,6 +1263,10 @@ msgstr "No conectado"
msgid "Not playing" msgid "Not playing"
msgstr "No reproduciendo" msgstr "No reproduciendo"
#: main.c
msgid "Not running saved code.\n"
msgstr "No ejecutando el código almacenado.\n"
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1354,10 +1362,6 @@ msgstr "Además de cualquier módulo en el sistema de archivos\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "El polígono necesita al menos 3 puntos" msgstr "El polígono necesita al menos 3 puntos"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Pop de un buffer Ps2 vacio"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "El búfer de prefijo debe estar en el montículo" msgstr "El búfer de prefijo debe estar en el montículo"
@ -1431,12 +1435,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "La entrada de la fila debe ser digitalio.DigitalInOut" msgstr "La entrada de la fila debe ser digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n" msgstr "¡Corriendo en modo seguro! "
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1447,6 +1447,16 @@ msgstr "Sin capacidad para formato CSD para tarjeta SD"
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necesitan una pull up" msgstr "SDA o SCL necesitan una pull up"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr "Error SDIO GetCardInfo %d"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr "Error de iniciado de SDIO %d"
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "Error de inicio de SPI" msgstr "Error de inicio de SPI"
@ -1591,6 +1601,8 @@ msgstr ""
msgid "" msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program" "Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr "" msgstr ""
"El temporizador es utilizado para uso interno - declare los pines para PWM "
"más temprano en el programa"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample." msgid "Too many channels in sample."
@ -1819,9 +1831,8 @@ msgid "__init__() should return None"
msgstr "__init__() deberia devolver None" msgstr "__init__() deberia devolver None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr "__init__() debe retornar None, no '%q'"
msgstr "__init__() deberia devolver None, no '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1866,7 +1877,7 @@ msgstr "el argumento tiene un tipo erroneo"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray" msgid "argument must be ndarray"
msgstr "" msgstr "argumento debe ser ndarray"
#: py/argcheck.c shared-bindings/_stage/__init__.c #: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c #: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
@ -1974,7 +1985,7 @@ msgstr "bytes > 8 bits no soportados"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "valor de bytes fuera de rango" msgstr "valor de bytes fuera de rango"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "calibration esta fuera de rango" msgstr "calibration esta fuera de rango"
@ -2006,48 +2017,18 @@ msgstr "no se puede agregar un método a una clase ya subclasificada"
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "no se puede asignar a la expresión" msgstr "no se puede asignar a la expresión"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "no se puede convertir %s a complejo" msgstr "no puede convertir %q a %q"
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "no se puede convertir %s a float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "no se puede convertir %s a int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "no se puede convertir el objeto '%q' a %q implícitamente" msgstr "no se puede convertir el objeto '%q' a %q implícitamente"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "no se puede convertir Nan a int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "no se puede convertir address a int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "no se puede convertir inf en int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "no se puede convertir a complejo" msgstr "no puede convertir a %q"
#: py/obj.c
msgid "can't convert to float"
msgstr "no se puede convertir a float"
#: py/obj.c
msgid "can't convert to int"
msgstr "no se puede convertir a int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2461,7 +2442,7 @@ msgstr "la función requiere del argumento por palabra clave '%q'"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "la función requiere del argumento posicional #%d" msgstr "la función requiere del argumento posicional #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "la función toma %d argumentos posicionales pero le fueron dados %d" msgstr "la función toma %d argumentos posicionales pero le fueron dados %d"
@ -2510,10 +2491,7 @@ msgstr "relleno (padding) incorrecto"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "el índice está fuera de límites" msgstr "el índice está fuera de límites"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index fuera de rango" msgstr "index fuera de rango"
@ -2875,9 +2853,8 @@ msgid "number of points must be at least 2"
msgstr "el número de puntos debe ser al menos 2" msgstr "el número de puntos debe ser al menos 2"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr "objeto '%q' no es tupla o lista"
msgstr "el objeto '%s' no es una tupla o lista"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2912,9 +2889,8 @@ msgid "object not iterable"
msgstr "objeto no iterable" msgstr "objeto no iterable"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr "objeto de tipo '%q' no tiene len()"
msgstr "el objeto de tipo '%s' no tiene len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -3006,21 +2982,10 @@ msgstr "el polígono solo se puede registrar en uno de los padres"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop de un PulseIn vacío" msgid "pop from empty %q"
msgstr "pop desde %q vacía"
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop desde un set vacío"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop desde una lista vacía"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): diccionario vacío"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3178,13 +3143,8 @@ msgid "stream operation not supported"
msgstr "operación stream no soportada" msgstr "operación stream no soportada"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "string index fuera de rango" msgstr "índices de cadena deben ser enteros, no %q"
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "índices de string deben ser enteros, no %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3194,10 +3154,6 @@ msgstr "string no soportado; usa bytes o bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: no se puede indexar" msgstr "struct: no se puede indexar"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index fuera de rango"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: sin campos" msgstr "struct: sin campos"
@ -3266,9 +3222,9 @@ msgstr "demasiados valores para descomprimir (%d esperado)"
#: extmod/ulab/code/approx/approx.c #: extmod/ulab/code/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr "trapz está definido para arreglos 1D de igual tamaño"
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "tuple index fuera de rango" msgstr "tuple index fuera de rango"
@ -3276,10 +3232,6 @@ msgstr "tuple index fuera de rango"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tupla/lista tiene una longitud incorrecta" msgstr "tupla/lista tiene una longitud incorrecta"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "tuple/lista se require en RHS"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3335,9 +3287,8 @@ msgid "unknown conversion specifier %c"
msgstr "especificador de conversión %c desconocido" msgstr "especificador de conversión %c desconocido"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr "formato de código desconocicdo '%c' para objeto de tipo '%q'"
msgstr "codigo format desconocido '%c' para el typo de objeto '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3376,16 +3327,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "carácter no soportado '%c' (0x%x) en índice %d" msgstr "carácter no soportado '%c' (0x%x) en índice %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "tipo no soportado para %q: '%s'" msgstr "tipo no soportado para %q: '%q'"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "tipo de operador no soportado" msgstr "tipo de operador no soportado"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "tipos no soportados para %q: '%s', '%s'" msgstr "tipos no soportados para %q: '%q', '%q'"
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3398,7 +3349,7 @@ msgstr "value_count debe ser > 0"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths" msgid "vectors must have same lengths"
msgstr "" msgstr "los vectores deben tener el mismo tamaño"
#: shared-bindings/watchdog/WatchDogTimer.c #: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0" msgid "watchdog timeout must be greater than 0"
@ -3464,18 +3415,136 @@ msgstr "zi debe ser de tipo flotante"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (n_section,2)" msgstr "zi debe ser una forma (n_section,2)"
#~ msgid "tuple/list required on RHS"
#~ msgstr "tuple/lista se require en RHS"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q indices deben ser enteros, no %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "El objeto '%s' no puede asignar al atributo '%q'"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "El objeto '%s' no admite '%q'"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "el objeto '%s' no soporta la asignación de elementos"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "objeto '%s' no soporta la eliminación de elementos"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "objeto '%s' no tiene atributo '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "objeto '%s' no es un iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "objeto '%s' no puede ser llamado"
#~ msgid "'%s' object is not iterable"
#~ msgstr "objeto '%s' no es iterable"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "el objeto '%s' no es suscriptable"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "Selección de pin I2C no válida"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Selección de pin SPI no válida"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Selección de pin UART no válida"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Pop de un buffer Ps2 vacio"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() deberia devolver None, no '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "no se puede convertir %s a complejo"
#~ msgid "can't convert %s to float"
#~ msgstr "no se puede convertir %s a float"
#~ msgid "can't convert %s to int"
#~ msgstr "no se puede convertir %s a int"
#~ msgid "can't convert NaN to int"
#~ msgstr "no se puede convertir Nan a int"
#~ msgid "can't convert address to int"
#~ msgstr "no se puede convertir address a int"
#~ msgid "can't convert inf to int"
#~ msgstr "no se puede convertir inf en int"
#~ msgid "can't convert to complex"
#~ msgstr "no se puede convertir a complejo"
#~ msgid "can't convert to float"
#~ msgstr "no se puede convertir a float"
#~ msgid "can't convert to int"
#~ msgstr "no se puede convertir a int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "el objeto '%s' no es una tupla o lista"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "el objeto de tipo '%s' no tiene len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop de un PulseIn vacío"
#~ msgid "pop from an empty set"
#~ msgstr "pop desde un set vacío"
#~ msgid "pop from empty list"
#~ msgstr "pop desde una lista vacía"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): diccionario vacío"
#~ msgid "string index out of range"
#~ msgstr "string index fuera de rango"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "índices de string deben ser enteros, no %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index fuera de rango"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "codigo format desconocido '%c' para el typo de objeto '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "tipo no soportado para %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "tipos no soportados para %q: '%s', '%s'"
#~ msgid "'%q' object is not bytes-like" #~ msgid "'%q' object is not bytes-like"
#~ msgstr "el objeto '%q' no es similar a bytes" #~ msgstr "el objeto '%q' no es similar a bytes"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' o 'async with' fuera de la función async" #~ msgstr "'async for' o 'async with' fuera de la función async"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn no es compatible con este chip"
#~ msgid "PulseOut not supported on this chip" #~ msgid "PulseOut not supported on this chip"
#~ msgstr "PulseOut no es compatible con este chip" #~ msgstr "PulseOut no es compatible con este chip"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn no es compatible con este chip"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "AP requerido" #~ msgstr "AP requerido"
@ -3719,8 +3788,8 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d " #~ "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d "
#~ "bpp given" #~ "bpp given"
#~ msgstr "" #~ msgstr ""
#~ "Solo se admiten BMP monocromos, indexados de 8bpp y 16bpp o superiores:% " #~ "Solo se admiten BMP monocromos, indexados de 8bpp y 16bpp o superiores:%d "
#~ "d bppdado" #~ "bppdado"
#, fuzzy #, fuzzy
#~ msgid "Only slices with step=1 (aka None) are supported" #~ msgid "Only slices with step=1 (aka None) are supported"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n" "Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n" "Language-Team: fil\n"
@ -64,13 +64,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q ay ginagamit" msgstr "%q ay ginagamit"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q indeks wala sa sakop" msgstr "%q indeks wala sa sakop"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q indeks ay dapat integers, hindi %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -111,6 +115,42 @@ msgstr ""
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argument kailangan" msgstr "'%q' argument kailangan"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -161,48 +201,6 @@ msgstr "'%s' integer %d ay wala sa sakop ng %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' integer 0x%x ay wala sa mask na sakop ng 0x%x" msgstr "'%s' integer 0x%x ay wala sa mask na sakop ng 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "'%s' object hindi sumusuporta ng item assignment"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "'%s' object ay hindi sumusuporta sa pagtanggal ng item"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "'%s' object ay walang attribute '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "'%s' object ay hindi iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "'%s' object hindi matatawag"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' object ay hindi ma i-iterable"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "'%s' object ay hindi maaaring i-subscript"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' Gindi pinapayagan ang alignment sa pag specify ng string format" msgstr "'=' Gindi pinapayagan ang alignment sa pag specify ng string format"
@ -453,6 +451,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Buffer dapat ay hindi baba sa 1 na haba" msgstr "Buffer dapat ay hindi baba sa 1 na haba"
@ -646,6 +648,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -833,6 +839,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "Mayroong file" msgstr "Mayroong file"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -857,7 +868,7 @@ msgid "Group full"
msgstr "Puno ang group" msgstr "Puno ang group"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -924,6 +935,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Mali ang %q pin" msgstr "Mali ang %q pin"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -936,24 +952,12 @@ msgstr "Mali ang BMP file"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Mali ang PWM frequency" msgstr "Mali ang PWM frequency"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Maling argumento" msgstr "Maling argumento"
@ -1250,6 +1254,10 @@ msgstr "Hindi maka connect sa AP"
msgid "Not playing" msgid "Not playing"
msgstr "Hindi playing" msgstr "Hindi playing"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1338,10 +1346,6 @@ msgstr "Kasama ang kung ano pang modules na sa filesystem\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1417,12 +1421,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1433,6 +1433,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "Kailangan ng pull up resistors ang SDA o SCL" msgstr "Kailangan ng pull up resistors ang SDA o SCL"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1792,9 +1802,8 @@ msgid "__init__() should return None"
msgstr "__init __ () dapat magbalik na None" msgstr "__init __ () dapat magbalik na None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init__() dapat magbalink na None, hindi '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1948,7 +1957,7 @@ msgstr "hindi sinusuportahan ang bytes > 8 bits"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "bytes value wala sa sakop" msgstr "bytes value wala sa sakop"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "kalibrasion ay wala sa sakop" msgstr "kalibrasion ay wala sa sakop"
@ -1981,48 +1990,18 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "hindi ma i-assign sa expression" msgstr "hindi ma i-assign sa expression"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "hindi ma-convert %s sa complex" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "hindi ma-convert %s sa int"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "hindi ma-convert %s sa int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "hindi maaaring i-convert ang '%q' na bagay sa %q nang walang pahiwatig" msgstr "hindi maaaring i-convert ang '%q' na bagay sa %q nang walang pahiwatig"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "hindi ma i-convert NaN sa int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "hindi ma i-convert ang address sa INT"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "hindi ma i-convert inf sa int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "hindi ma-convert sa complex" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "hindi ma-convert sa float"
#: py/obj.c
msgid "can't convert to int"
msgstr "hindi ma-convert sa int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2055,7 +2034,7 @@ msgstr "hindi puede ang maraming *x"
#: py/emitnative.c #: py/emitnative.c
msgid "can't implicitly convert '%q' to 'bool'" msgid "can't implicitly convert '%q' to 'bool'"
msgstr "hindi maaaring ma-convert ang '% qt' sa 'bool'" msgstr "hindi maaaring ma-convert ang ' %q' sa 'bool'"
#: py/emitnative.c #: py/emitnative.c
msgid "can't load from '%q'" msgid "can't load from '%q'"
@ -2439,7 +2418,7 @@ msgstr "function nangangailangan ng keyword argument '%q'"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "function nangangailangan ng positional argument #%d" msgstr "function nangangailangan ng positional argument #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2489,10 +2468,7 @@ msgstr "mali ang padding"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index wala sa sakop" msgstr "index wala sa sakop"
@ -2852,9 +2828,8 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "object '%s' ay hindi tuple o list"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2889,9 +2864,8 @@ msgid "object not iterable"
msgstr "object hindi ma i-iterable" msgstr "object hindi ma i-iterable"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "object na type '%s' walang len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -2985,21 +2959,10 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop mula sa walang laman na PulseIn" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop sa walang laman na set"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop galing sa walang laman na list"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): dictionary ay walang laman"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3158,13 +3121,8 @@ msgid "stream operation not supported"
msgstr "stream operation hindi sinusuportahan" msgstr "stream operation hindi sinusuportahan"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "indeks ng string wala sa sakop" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "ang indeks ng string ay dapat na integer, hindi %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3174,10 +3132,6 @@ msgstr "string hindi supportado; gumamit ng bytes o kaya bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: hindi ma-index" msgstr "struct: hindi ma-index"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index hindi maabot"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: walang fields" msgstr "struct: walang fields"
@ -3248,7 +3202,7 @@ msgstr "masyadong maraming values para i-unpact (umaasa ng %d)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "indeks ng tuple wala sa sakop" msgstr "indeks ng tuple wala sa sakop"
@ -3256,10 +3210,6 @@ msgstr "indeks ng tuple wala sa sakop"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "mali ang haba ng tuple/list" msgstr "mali ang haba ng tuple/list"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3315,9 +3265,8 @@ msgid "unknown conversion specifier %c"
msgstr "hindi alam ang conversion specifier na %c" msgstr "hindi alam ang conversion specifier na %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "hindi alam ang format code '%c' para sa object na ang type ay '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3356,16 +3305,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "hindi sinusuportahan ang format character na '%c' (0x%x) sa index %d" msgstr "hindi sinusuportahan ang format character na '%c' (0x%x) sa index %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "hindi sinusuportahang type para sa %q: '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "hindi sinusuportahang type para sa operator" msgstr "hindi sinusuportahang type para sa operator"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "hindi sinusuportahang type para sa %q: '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3446,6 +3395,102 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q indeks ay dapat integers, hindi %s"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "'%s' object hindi sumusuporta ng item assignment"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "'%s' object ay hindi sumusuporta sa pagtanggal ng item"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "'%s' object ay walang attribute '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "'%s' object ay hindi iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "'%s' object hindi matatawag"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' object ay hindi ma i-iterable"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "'%s' object ay hindi maaaring i-subscript"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() dapat magbalink na None, hindi '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "hindi ma-convert %s sa complex"
#~ msgid "can't convert %s to float"
#~ msgstr "hindi ma-convert %s sa int"
#~ msgid "can't convert %s to int"
#~ msgstr "hindi ma-convert %s sa int"
#~ msgid "can't convert NaN to int"
#~ msgstr "hindi ma i-convert NaN sa int"
#~ msgid "can't convert address to int"
#~ msgstr "hindi ma i-convert ang address sa INT"
#~ msgid "can't convert inf to int"
#~ msgstr "hindi ma i-convert inf sa int"
#~ msgid "can't convert to complex"
#~ msgstr "hindi ma-convert sa complex"
#~ msgid "can't convert to float"
#~ msgstr "hindi ma-convert sa float"
#~ msgid "can't convert to int"
#~ msgstr "hindi ma-convert sa int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "object '%s' ay hindi tuple o list"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "object na type '%s' walang len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop mula sa walang laman na PulseIn"
#~ msgid "pop from an empty set"
#~ msgstr "pop sa walang laman na set"
#~ msgid "pop from empty list"
#~ msgstr "pop galing sa walang laman na list"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): dictionary ay walang laman"
#~ msgid "string index out of range"
#~ msgstr "indeks ng string wala sa sakop"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "ang indeks ng string ay dapat na integer, hindi %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index hindi maabot"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "hindi alam ang format code '%c' para sa object na ang type ay '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "hindi sinusuportahang type para sa %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "hindi sinusuportahang type para sa %q: '%s', '%s'"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "AP kailangan" #~ msgstr "AP kailangan"

View File

@ -7,15 +7,15 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-06-05 17:29+0000\n" "PO-Revision-Date: 2020-07-27 21:27+0000\n"
"Last-Translator: aberwag <aberwag@gmail.com>\n" "Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1-dev\n" "X-Generator: Weblate 4.2-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -70,19 +70,23 @@ msgstr ""
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q failure: %d" msgid "%q failure: %d"
msgstr "" msgstr "Échec de %q : %d"
#: shared-bindings/microcontroller/Pin.c #: shared-bindings/microcontroller/Pin.c
msgid "%q in use" msgid "%q in use"
msgstr "%q utilisé" msgstr "%q utilisé"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "index %q hors gamme" msgstr "index %q hors gamme"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "les indices %q doivent être des entiers, pas %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -90,7 +94,7 @@ msgstr "La liste %q doit être une liste"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
msgstr "" msgstr "%q doit être >= 0"
#: shared-bindings/_bleio/CharacteristicBuffer.c #: shared-bindings/_bleio/CharacteristicBuffer.c
#: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c #: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c
@ -106,7 +110,7 @@ msgstr "%q doit être un tuple de longueur 2"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q pin invalid" msgid "%q pin invalid"
msgstr "" msgstr "PIN %q invalide"
#: shared-bindings/fontio/BuiltinFont.c #: shared-bindings/fontio/BuiltinFont.c
msgid "%q should be an int" msgid "%q should be an int"
@ -120,6 +124,42 @@ msgstr "%q() prend %d arguments positionnels mais %d ont été donnés"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argument requis" msgstr "'%q' argument requis"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -170,48 +210,6 @@ msgstr "'%s' l'entier %d n'est pas dans la gamme %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' l'entier 0x%x ne correspond pas au masque 0x%x" msgstr "'%s' l'entier 0x%x ne correspond pas au masque 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "L'objet '%s' ne peut pas attribuer '%q'"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "L'objet '%s' ne prend pas en charge '%q'"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "l'objet '%s' ne supporte pas l'assignation d'éléments"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "l'objet '%s' ne supporte pas la suppression d'éléments"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "l'objet '%s' n'a pas d'attribut '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "l'objet '%s' n'est pas un itérateur"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "l'objet '%s' n'est pas appelable"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "l'objet '%s' n'est pas itérable"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "l'objet '%s' n'est pas sous-scriptable"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' alignement non autorisé dans la spéc. de format de chaîne" msgstr "'=' alignement non autorisé dans la spéc. de format de chaîne"
@ -242,7 +240,7 @@ msgstr "'continue' en dehors d'une boucle"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "" msgstr "L'objet « coroutine » n'est pas un itérateur"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -337,7 +335,7 @@ msgstr "S'annonce déjà."
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c #: shared-module/memorymonitor/AllocationSize.c
msgid "Already running" msgid "Already running"
msgstr "" msgstr "Déjà en cours d'exécution"
#: ports/cxd56/common-hal/analogio/AnalogIn.c #: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin" msgid "AnalogIn not supported on given pin"
@ -378,7 +376,7 @@ msgstr "Au plus %d %q peut être spécifié (pas %d)"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
msgid "Attempt to allocate %d blocks" msgid "Attempt to allocate %d blocks"
msgstr "" msgstr "Tentative d'allocation de %d blocs"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running." msgid "Attempted heap allocation when MicroPython VM not running."
@ -462,6 +460,10 @@ msgstr "La longueur du tampon %d est trop grande. Il doit être inférieur à %d
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
#: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c #: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "La longueur de la mémoire tampon doit être un multiple de 512"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
@ -633,11 +635,11 @@ msgstr "Code brut corrompu"
#: ports/cxd56/common-hal/gnss/GNSS.c #: ports/cxd56/common-hal/gnss/GNSS.c
msgid "Could not initialize GNSS" msgid "Could not initialize GNSS"
msgstr "" msgstr "Impossible d'initialiser GNSS"
#: ports/cxd56/common-hal/sdioio/SDCard.c #: ports/cxd56/common-hal/sdioio/SDCard.c
msgid "Could not initialize SDCard" msgid "Could not initialize SDCard"
msgstr "" msgstr "Impossible d'initialiser la carte SD"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
msgid "Could not initialize UART" msgid "Could not initialize UART"
@ -663,6 +665,10 @@ msgstr "Impossible de réinitialiser le minuteur"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "Impossible de redémarrer PWM" msgstr "Impossible de redémarrer PWM"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "Impossible de démarrer PWM" msgstr "Impossible de démarrer PWM"
@ -846,6 +852,11 @@ msgstr "Échec de l'écriture du flash interne."
msgid "File exists" msgid "File exists"
msgstr "Le fichier existe" msgstr "Le fichier existe"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "La fréquence capturée est au delà des capacités. Capture en pause." msgstr "La fréquence capturée est au delà des capacités. Capture en pause."
@ -871,7 +882,7 @@ msgid "Group full"
msgstr "Groupe plein" msgstr "Groupe plein"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Matériel occupé, essayez d'autres broches" msgstr "Matériel occupé, essayez d'autres broches"
@ -931,13 +942,18 @@ msgstr "Erreur interne #%d"
#: shared-bindings/sdioio/SDCard.c #: shared-bindings/sdioio/SDCard.c
msgid "Invalid %q" msgid "Invalid %q"
msgstr "" msgstr "%q invalide"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Broche invalide pour '%q'" msgstr "Broche invalide pour '%q'"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Valeur d'unité ADC non valide" msgstr "Valeur d'unité ADC non valide"
@ -950,24 +966,12 @@ msgstr "Fichier BMP invalide"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Broche DAC non valide fournie" msgstr "Broche DAC non valide fournie"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Sélection de broches I2C non valide"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Fréquence de PWM invalide" msgstr "Fréquence de PWM invalide"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Sélection de broches SPI non valide"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Sélection de broches UART non valide"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argument invalide" msgstr "Argument invalide"
@ -1147,7 +1151,7 @@ msgstr "Doit fournir une broche MISO ou MOSI"
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "Must provide SCK pin" msgid "Must provide SCK pin"
msgstr "" msgstr "Vous devez fournir un code PIN SCK"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
@ -1263,6 +1267,10 @@ msgstr "Non connecté"
msgid "Not playing" msgid "Not playing"
msgstr "Ne joue pas" msgstr "Ne joue pas"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1361,10 +1369,6 @@ msgstr "Ainsi que tout autre module présent sur le système de fichiers\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "Polygone a besoin dau moins 3 points" msgstr "Polygone a besoin dau moins 3 points"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Pop à partir d'un tampon Ps2 vide"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "Le tampon de préfixe doit être sur le tas" msgstr "Le tampon de préfixe doit être sur le tas"
@ -1437,22 +1441,28 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "L'entrée de ligne 'Row' doit être un digitalio.DigitalInOut" msgstr "L'entrée de ligne 'Row' doit être un digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Mode sans-échec ! Auto-chargement désactivé.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Mode sans-échec ! Le code sauvegardé n'est pas éxecuté.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
msgstr "" msgstr "Le format de carte SD CSD n'est pas pris en charge"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')" msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "Erreur d'initialisation SPI" msgstr "Erreur d'initialisation SPI"
@ -1520,7 +1530,7 @@ msgstr "Fournissez au moins une broche UART"
#: shared-bindings/gnss/GNSS.c #: shared-bindings/gnss/GNSS.c
msgid "System entry must be gnss.SatelliteSystem" msgid "System entry must be gnss.SatelliteSystem"
msgstr "" msgstr "L'entrée du système doit être gnss.SatelliteSystem"
#: ports/stm/common-hal/microcontroller/Processor.c #: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out" msgid "Temperature read timed out"
@ -1828,9 +1838,8 @@ msgid "__init__() should return None"
msgstr "__init__() doit retourner None" msgstr "__init__() doit retourner None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init__() doit retourner None, pas '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1983,7 +1992,7 @@ msgstr "octets > 8 bits non supporté"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "valeur des octets hors bornes" msgstr "valeur des octets hors bornes"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "étalonnage hors bornes" msgstr "étalonnage hors bornes"
@ -2016,48 +2025,18 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "ne peut pas assigner à une expression" msgstr "ne peut pas assigner à une expression"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "ne peut convertir %s en nombre complexe" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "ne peut convertir %s en nombre à virgule flottante 'float'"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "ne peut convertir %s en entier 'int'"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "impossible de convertir l'objet '%q' en '%q' implicitement" msgstr "impossible de convertir l'objet '%q' en '%q' implicitement"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "on ne peut convertir NaN en entier 'int'"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "ne peut convertir l'adresse en entier 'int'"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "on ne peut convertir l'infini 'inf' en entier 'int'"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "ne peut convertir en nombre complexe" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "ne peut convertir en nombre à virgule flottante 'float'"
#: py/obj.c
msgid "can't convert to int"
msgstr "ne peut convertir en entier 'int'"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2113,7 +2092,7 @@ msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr "impossible de définir une taille de bloc de 512"
#: py/objnamedtuple.c #: py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
@ -2250,7 +2229,7 @@ msgstr "n'a pas pu inverser la matrice Vandermonde"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "couldn't determine SD card version" msgid "couldn't determine SD card version"
msgstr "" msgstr "impossible de déterminer la version de la carte SD"
#: extmod/ulab/code/approx/approx.c #: extmod/ulab/code/approx/approx.c
msgid "data must be iterable" msgid "data must be iterable"
@ -2480,7 +2459,7 @@ msgstr "il manque l'argument nommé obligatoire '%q'"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "il manque l'argument positionnel obligatoire #%d" msgstr "il manque l'argument positionnel obligatoire #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "la fonction prend %d argument(s) positionnels mais %d ont été donné(s)" msgstr "la fonction prend %d argument(s) positionnels mais %d ont été donné(s)"
@ -2529,10 +2508,7 @@ msgstr "espacement incorrect"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "l'index est hors limites" msgstr "l'index est hors limites"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index hors gamme" msgstr "index hors gamme"
@ -2821,7 +2797,7 @@ msgstr "compte de décalage négatif"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "no SD card" msgid "no SD card"
msgstr "" msgstr "pas de carte SD"
#: py/vm.c #: py/vm.c
msgid "no active exception to reraise" msgid "no active exception to reraise"
@ -2846,7 +2822,7 @@ msgstr "pas de broche de réinitialisation disponible"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" msgstr "pas de réponse de la carte SD"
#: py/runtime.c #: py/runtime.c
msgid "no such attribute" msgid "no such attribute"
@ -2895,9 +2871,8 @@ msgid "number of points must be at least 2"
msgstr "le nombre de points doit être d'au moins 2" msgstr "le nombre de points doit être d'au moins 2"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "l'objet '%s' n'est pas un tuple ou une liste"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2932,9 +2907,8 @@ msgid "object not iterable"
msgstr "objet non itérable" msgstr "objet non itérable"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "l'objet de type '%s' n'a pas de len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -3029,21 +3003,10 @@ msgstr "le polygone ne peut être enregistré que dans un parent"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "'pop' d'une entrée PulseIn vide" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "'pop' d'un ensemble set vide"
#: py/objlist.c
msgid "pop from empty list"
msgstr "'pop' d'une liste vide"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem() : dictionnaire vide"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3201,13 +3164,8 @@ msgid "stream operation not supported"
msgstr "opération de flux non supportée" msgstr "opération de flux non supportée"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "index de chaîne hors gamme" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "les indices de chaîne de caractères doivent être des entiers, pas %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3218,10 +3176,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct : indexage impossible" msgstr "struct : indexage impossible"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct : index hors limites"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct : aucun champs" msgstr "struct : aucun champs"
@ -3291,7 +3245,7 @@ msgstr "trop de valeur à dégrouper (%d attendues)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "index du tuple hors gamme" msgstr "index du tuple hors gamme"
@ -3299,10 +3253,6 @@ msgstr "index du tuple hors gamme"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tuple/liste a une mauvaise longueur" msgstr "tuple/liste a une mauvaise longueur"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "tuple ou liste requis en partie droite"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3358,9 +3308,8 @@ msgid "unknown conversion specifier %c"
msgstr "spécification %c de conversion inconnue" msgstr "spécification %c de conversion inconnue"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "code de format '%c' inconnu pour un objet de type '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3399,16 +3348,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d" msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "type non supporté pour %q : '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "type non supporté pour l'opérateur" msgstr "type non supporté pour l'opérateur"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "type non supporté pour %q : '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3487,15 +3436,133 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "tuple/list required on RHS"
#~ msgstr "tuple ou liste requis en partie droite"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "les indices %q doivent être des entiers, pas %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "L'objet '%s' ne peut pas attribuer '%q'"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "L'objet '%s' ne prend pas en charge '%q'"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "l'objet '%s' ne supporte pas l'assignation d'éléments"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "l'objet '%s' ne supporte pas la suppression d'éléments"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "l'objet '%s' n'a pas d'attribut '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "l'objet '%s' n'est pas un itérateur"
#~ msgid "'%s' object is not callable"
#~ msgstr "l'objet '%s' n'est pas appelable"
#~ msgid "'%s' object is not iterable"
#~ msgstr "l'objet '%s' n'est pas itérable"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "l'objet '%s' n'est pas sous-scriptable"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "Sélection de broches I2C non valide"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Sélection de broches SPI non valide"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Sélection de broches UART non valide"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Pop à partir d'un tampon Ps2 vide"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Mode sans-échec ! Auto-chargement désactivé.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Mode sans-échec ! Le code sauvegardé n'est pas éxecuté.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() doit retourner None, pas '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "ne peut convertir %s en nombre complexe"
#~ msgid "can't convert %s to float"
#~ msgstr "ne peut convertir %s en nombre à virgule flottante 'float'"
#~ msgid "can't convert %s to int"
#~ msgstr "ne peut convertir %s en entier 'int'"
#~ msgid "can't convert NaN to int"
#~ msgstr "on ne peut convertir NaN en entier 'int'"
#~ msgid "can't convert address to int"
#~ msgstr "ne peut convertir l'adresse en entier 'int'"
#~ msgid "can't convert inf to int"
#~ msgstr "on ne peut convertir l'infini 'inf' en entier 'int'"
#~ msgid "can't convert to complex"
#~ msgstr "ne peut convertir en nombre complexe"
#~ msgid "can't convert to float"
#~ msgstr "ne peut convertir en nombre à virgule flottante 'float'"
#~ msgid "can't convert to int"
#~ msgstr "ne peut convertir en entier 'int'"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "l'objet '%s' n'est pas un tuple ou une liste"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "l'objet de type '%s' n'a pas de len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "'pop' d'une entrée PulseIn vide"
#~ msgid "pop from an empty set"
#~ msgstr "'pop' d'un ensemble set vide"
#~ msgid "pop from empty list"
#~ msgstr "'pop' d'une liste vide"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem() : dictionnaire vide"
#~ msgid "string index out of range"
#~ msgstr "index de chaîne hors gamme"
#~ msgid "string indices must be integers, not %s"
#~ msgstr ""
#~ "les indices de chaîne de caractères doivent être des entiers, pas %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct : index hors limites"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "code de format '%c' inconnu pour un objet de type '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "type non supporté pour %q : '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "type non supporté pour %q : '%s', '%s'"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' ou 'async with' sans fonction asynchrone extérieure" #~ msgstr "'async for' ou 'async with' sans fonction asynchrone extérieure"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn non pris en charge sur cette puce"
#~ msgid "PulseOut not supported on this chip" #~ msgid "PulseOut not supported on this chip"
#~ msgstr "PulseOut non pris en charge sur cette puce" #~ msgstr "PulseOut non pris en charge sur cette puce"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn non pris en charge sur cette puce"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "'AP' requis" #~ msgstr "'AP' requis"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -65,12 +65,16 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "" msgstr ""
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
@ -109,6 +113,42 @@ msgstr ""
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -159,48 +199,6 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "" msgstr ""
@ -448,6 +446,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "" msgstr ""
@ -638,6 +640,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -820,6 +826,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "" msgstr ""
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -844,7 +855,7 @@ msgid "Group full"
msgstr "" msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -909,6 +920,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -921,24 +937,12 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1234,6 +1238,10 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1319,10 +1327,6 @@ msgstr ""
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1395,11 +1399,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -1411,6 +1411,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1760,8 +1770,7 @@ msgid "__init__() should return None"
msgstr "" msgstr ""
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'"
msgstr "" msgstr ""
#: py/objobject.c #: py/objobject.c
@ -1915,7 +1924,7 @@ msgstr ""
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "" msgstr ""
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "" msgstr ""
@ -1947,47 +1956,17 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "" msgstr ""
#: py/objint.c
msgid "can't convert NaN to int"
msgstr ""
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr ""
#: py/objint.c
msgid "can't convert inf to int"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr ""
#: py/obj.c
msgid "can't convert to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -2395,7 +2374,7 @@ msgstr ""
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "" msgstr ""
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2444,10 +2423,7 @@ msgstr ""
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "" msgstr ""
@ -2803,8 +2779,7 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2840,8 +2815,7 @@ msgid "object not iterable"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2934,20 +2908,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "" msgid "pop from empty %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr ""
#: py/objlist.c
msgid "pop from empty list"
msgstr ""
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "" msgstr ""
#: py/objint_mpz.c #: py/objint_mpz.c
@ -3104,12 +3067,7 @@ msgid "stream operation not supported"
msgstr "" msgstr ""
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "" msgstr ""
#: py/stream.c #: py/stream.c
@ -3120,10 +3078,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "" msgstr ""
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr ""
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "" msgstr ""
@ -3193,7 +3147,7 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "" msgstr ""
@ -3201,10 +3155,6 @@ msgstr ""
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "" msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3260,8 +3210,7 @@ msgid "unknown conversion specifier %c"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'"
msgstr "" msgstr ""
#: py/compile.c #: py/compile.c
@ -3301,7 +3250,7 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
@ -3309,7 +3258,7 @@ msgid "unsupported type for operator"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "" msgstr ""
#: py/objint.c #: py/objint.c

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n" "Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -64,13 +64,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q in uso" msgstr "%q in uso"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "indice %q fuori intervallo" msgstr "indice %q fuori intervallo"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "gli indici %q devono essere interi, non %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -110,6 +114,42 @@ msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argomento richiesto" msgstr "'%q' argomento richiesto"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -160,48 +200,6 @@ msgstr "intero '%s' non è nell'intervallo %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "intero '%s' non è nell'intervallo %d..%d" msgstr "intero '%s' non è nell'intervallo %d..%d"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "oggeto '%s' non supporta assengnamento di item"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "oggeto '%s' non supporta eliminamento di item"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "l'oggetto '%s' non ha l'attributo '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "l'oggetto '%s' non è un iteratore"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "oggeto '%s' non è chiamabile"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "l'oggetto '%s' non è iterabile"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "oggeto '%s' non è "
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "aligniamento '=' non è permesso per il specificatore formato string" msgstr "aligniamento '=' non è permesso per il specificatore formato string"
@ -453,6 +451,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Il buffer deve essere lungo almeno 1" msgstr "Il buffer deve essere lungo almeno 1"
@ -647,6 +649,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -833,6 +839,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "File esistente" msgstr "File esistente"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -857,7 +868,7 @@ msgid "Group full"
msgstr "Gruppo pieno" msgstr "Gruppo pieno"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -924,6 +935,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Pin %q non valido" msgstr "Pin %q non valido"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -936,24 +952,12 @@ msgstr "File BMP non valido"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Frequenza PWM non valida" msgstr "Frequenza PWM non valida"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argomento non valido" msgstr "Argomento non valido"
@ -1254,6 +1258,10 @@ msgstr "Impossible connettersi all'AP"
msgid "Not playing" msgid "Not playing"
msgstr "In pausa" msgstr "In pausa"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1348,10 +1356,6 @@ msgstr "Imposssibile rimontare il filesystem"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1426,12 +1430,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1442,6 +1442,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necessitano un pull-up" msgstr "SDA o SCL necessitano un pull-up"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1795,9 +1805,8 @@ msgid "__init__() should return None"
msgstr "__init__() deve ritornare None" msgstr "__init__() deve ritornare None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init__() deve ritornare None, non '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1953,7 +1962,7 @@ msgstr "byte > 8 bit non supportati"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "valore byte fuori intervallo" msgstr "valore byte fuori intervallo"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "la calibrazione è fuori intervallo" msgstr "la calibrazione è fuori intervallo"
@ -1986,48 +1995,18 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "impossibile assegnare all'espressione" msgstr "impossibile assegnare all'espressione"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, fuzzy, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "non è possibile convertire a complex" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "non è possibile convertire %s a float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "non è possibile convertire %s a int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "impossibile convertire l'oggetto '%q' implicitamente in %q" msgstr "impossibile convertire l'oggetto '%q' implicitamente in %q"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "impossibile convertire NaN in int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "impossible convertire indirizzo in int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "impossibile convertire inf in int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "non è possibile convertire a complex" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "non è possibile convertire a float"
#: py/obj.c
msgid "can't convert to int"
msgstr "non è possibile convertire a int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2440,7 +2419,7 @@ msgstr "argomento nominato '%q' mancante alla funzione"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "mancante il #%d argomento posizonale obbligatorio della funzione" msgstr "mancante il #%d argomento posizonale obbligatorio della funzione"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2490,10 +2469,7 @@ msgstr "padding incorretto"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "indice fuori intervallo" msgstr "indice fuori intervallo"
@ -2857,9 +2833,8 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "oggetto '%s' non è una tupla o una lista"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2894,9 +2869,8 @@ msgid "object not iterable"
msgstr "oggetto non iterabile" msgstr "oggetto non iterabile"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "l'oggetto di tipo '%s' non implementa len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -2992,21 +2966,10 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop sun un PulseIn vuoto" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop da un set vuoto"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop da una lista vuota"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): il dizionario è vuoto"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3165,13 +3128,8 @@ msgid "stream operation not supported"
msgstr "operazione di stream non supportata" msgstr "operazione di stream non supportata"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "indice della stringa fuori intervallo" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "indici della stringa devono essere interi, non %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3181,10 +3139,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: impossibile indicizzare" msgstr "struct: impossibile indicizzare"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: indice fuori intervallo"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: nessun campo" msgstr "struct: nessun campo"
@ -3255,7 +3209,7 @@ msgstr "troppi valori da scompattare (%d attesi)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "indice della tupla fuori intervallo" msgstr "indice della tupla fuori intervallo"
@ -3263,10 +3217,6 @@ msgstr "indice della tupla fuori intervallo"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tupla/lista ha la lunghezza sbagliata" msgstr "tupla/lista ha la lunghezza sbagliata"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3322,9 +3272,8 @@ msgid "unknown conversion specifier %c"
msgstr "specificatore di conversione %s sconosciuto" msgstr "specificatore di conversione %s sconosciuto"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "codice di formattaione '%c' sconosciuto per oggetto di tipo '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3363,16 +3312,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "carattere di formattazione '%c' (0x%x) non supportato all indice %d" msgstr "carattere di formattazione '%c' (0x%x) non supportato all indice %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "tipo non supportato per %q: '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "tipo non supportato per l'operando" msgstr "tipo non supportato per l'operando"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "tipi non supportati per %q: '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3453,6 +3402,103 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "gli indici %q devono essere interi, non %s"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "oggeto '%s' non supporta assengnamento di item"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "oggeto '%s' non supporta eliminamento di item"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "l'oggetto '%s' non ha l'attributo '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "l'oggetto '%s' non è un iteratore"
#~ msgid "'%s' object is not callable"
#~ msgstr "oggeto '%s' non è chiamabile"
#~ msgid "'%s' object is not iterable"
#~ msgstr "l'oggetto '%s' non è iterabile"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "oggeto '%s' non è "
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() deve ritornare None, non '%s'"
#, fuzzy
#~ msgid "can't convert %s to complex"
#~ msgstr "non è possibile convertire a complex"
#~ msgid "can't convert %s to float"
#~ msgstr "non è possibile convertire %s a float"
#~ msgid "can't convert %s to int"
#~ msgstr "non è possibile convertire %s a int"
#~ msgid "can't convert NaN to int"
#~ msgstr "impossibile convertire NaN in int"
#~ msgid "can't convert address to int"
#~ msgstr "impossible convertire indirizzo in int"
#~ msgid "can't convert inf to int"
#~ msgstr "impossibile convertire inf in int"
#~ msgid "can't convert to complex"
#~ msgstr "non è possibile convertire a complex"
#~ msgid "can't convert to float"
#~ msgstr "non è possibile convertire a float"
#~ msgid "can't convert to int"
#~ msgstr "non è possibile convertire a int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "oggetto '%s' non è una tupla o una lista"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "l'oggetto di tipo '%s' non implementa len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop sun un PulseIn vuoto"
#~ msgid "pop from an empty set"
#~ msgstr "pop da un set vuoto"
#~ msgid "pop from empty list"
#~ msgstr "pop da una lista vuota"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): il dizionario è vuoto"
#~ msgid "string index out of range"
#~ msgstr "indice della stringa fuori intervallo"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "indici della stringa devono essere interi, non %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: indice fuori intervallo"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "codice di formattaione '%c' sconosciuto per oggetto di tipo '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "tipo non supportato per %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "tipi non supportati per %q: '%s', '%s'"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "AP richiesto" #~ msgstr "AP richiesto"

3384
locale/ja.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2019-05-06 14:22-0700\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -66,13 +66,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q 사용 중입니다" msgstr "%q 사용 중입니다"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q 인덱스 범위를 벗어났습니다" msgstr "%q 인덱스 범위를 벗어났습니다"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -110,6 +114,42 @@ msgstr ""
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -160,48 +200,6 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "" msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "'%s' 을 지정할 수 없습니다"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "'%s' 은 삭제할 수 없습니다"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "'%s' 은 수정할 수 없습니다"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "'%s' 을 검색 할 수 없습니다"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' 은 변경할 수 없습니다"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "" msgstr ""
@ -451,6 +449,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "잘못된 크기의 버퍼. >1 여야합니다" msgstr "잘못된 크기의 버퍼. >1 여야합니다"
@ -641,6 +643,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -823,6 +829,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "" msgstr ""
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -847,7 +858,7 @@ msgid "Group full"
msgstr "" msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -912,6 +923,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -924,24 +940,12 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1237,6 +1241,10 @@ msgstr ""
msgid "Not playing" msgid "Not playing"
msgstr "" msgstr ""
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1322,10 +1330,6 @@ msgstr ""
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1398,11 +1402,7 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "" msgstr ""
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "" msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
@ -1414,6 +1414,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1764,8 +1774,7 @@ msgid "__init__() should return None"
msgstr "" msgstr ""
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'"
msgstr "" msgstr ""
#: py/objobject.c #: py/objobject.c
@ -1919,7 +1928,7 @@ msgstr ""
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "" msgstr ""
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "" msgstr ""
@ -1951,47 +1960,17 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "" msgstr ""
#: py/objint.c
msgid "can't convert NaN to int"
msgstr ""
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr ""
#: py/objint.c
msgid "can't convert inf to int"
msgstr ""
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr ""
#: py/obj.c
msgid "can't convert to int"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -2399,7 +2378,7 @@ msgstr ""
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "" msgstr ""
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2448,10 +2427,7 @@ msgstr ""
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "" msgstr ""
@ -2807,8 +2783,7 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2844,8 +2819,7 @@ msgid "object not iterable"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
@ -2938,20 +2912,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "" msgid "pop from empty %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr ""
#: py/objlist.c
msgid "pop from empty list"
msgstr ""
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "" msgstr ""
#: py/objint_mpz.c #: py/objint_mpz.c
@ -3108,12 +3071,7 @@ msgid "stream operation not supported"
msgstr "" msgstr ""
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "" msgstr ""
#: py/stream.c #: py/stream.c
@ -3124,10 +3082,6 @@ msgstr ""
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "" msgstr ""
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr ""
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "" msgstr ""
@ -3197,7 +3151,7 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "" msgstr ""
@ -3205,10 +3159,6 @@ msgstr ""
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "" msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3264,8 +3214,7 @@ msgid "unknown conversion specifier %c"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'"
msgstr "" msgstr ""
#: py/compile.c #: py/compile.c
@ -3305,7 +3254,7 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
@ -3313,7 +3262,7 @@ msgid "unsupported type for operator"
msgstr "" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "" msgstr ""
#: py/objint.c #: py/objint.c
@ -3393,6 +3342,24 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "'%s' 을 지정할 수 없습니다"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "'%s' 은 삭제할 수 없습니다"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "'%s' 은 수정할 수 없습니다"
#~ msgid "'%s' object is not callable"
#~ msgstr "'%s' 을 검색 할 수 없습니다"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' 은 변경할 수 없습니다"
#~ msgid "Can't add services in Central mode" #~ msgid "Can't add services in Central mode"
#~ msgstr "센트랄(중앙) 모드에서는 서비스를 추가 할 수 없습니다" #~ msgstr "센트랄(중앙) 모드에서는 서비스를 추가 할 수 없습니다"

View File

@ -5,8 +5,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-07-13 17:39+0000\n" "PO-Revision-Date: 2020-08-10 19:59+0000\n"
"Last-Translator: _fonzlate <vooralfred@gmail.com>\n" "Last-Translator: _fonzlate <vooralfred@gmail.com>\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: nl\n" "Language: nl\n"
@ -72,13 +72,17 @@ msgstr "%q fout: %d"
msgid "%q in use" msgid "%q in use"
msgstr "%q in gebruik" msgstr "%q in gebruik"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q index buiten bereik" msgstr "%q index buiten bereik"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q indexen moeten integers zijn, niet %s" msgstr "%q indices moeten integers zijn, geen %q"
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -86,7 +90,7 @@ msgstr "%q lijst moet een lijst zijn"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
msgstr "" msgstr "%q moet >= 0 zijn"
#: shared-bindings/_bleio/CharacteristicBuffer.c #: shared-bindings/_bleio/CharacteristicBuffer.c
#: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c #: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c
@ -116,6 +120,42 @@ msgstr "%q() verwacht %d positionele argumenten maar kreeg %d"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argument vereist" msgstr "'%q' argument vereist"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr "'%q' object kan attribuut ' %q' niet toewijzen"
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr "'%q' object ondersteunt geen '%q'"
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr "'%q' object ondersteunt toewijzing van items niet"
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr "'%q' object ondersteunt verwijderen van items niet"
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr "'%q' object heeft geen attribuut '%q'"
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr "'%q' object is geen iterator"
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr "'%q' object is niet aanroepbaar"
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr "'%q' object is niet itereerbaar"
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr "kan niet abonneren op '%q' object"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -166,48 +206,6 @@ msgstr "'%s' integer %d is niet in bereik %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' integer 0x%x past niet in mask 0x%x" msgstr "'%s' integer 0x%x past niet in mask 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "'%s' object kan niet aan attribuut '%q' toewijzen"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "'%s' object ondersteunt '%q' niet"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "'%s' object ondersteunt item toewijzing niet"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "'%s' object ondersteunt item verwijdering niet"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "'%s' object heeft geen attribuut '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "'%s' object is geen iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "'%s' object is niet aanroepbaar"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' object is niet itereerbaar"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "'%s' object is niet onderschrijfbaar"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' uitlijning niet toegestaan in string format specifier" msgstr "'=' uitlijning niet toegestaan in string format specifier"
@ -226,7 +224,7 @@ msgstr "'await' buiten de functie"
#: py/compile.c #: py/compile.c
msgid "'await', 'async for' or 'async with' outside async function" msgid "'await', 'async for' or 'async with' outside async function"
msgstr "" msgstr "'await', 'async for' of 'async with' buiten async functie"
#: py/compile.c #: py/compile.c
msgid "'break' outside loop" msgid "'break' outside loop"
@ -238,7 +236,7 @@ msgstr "'continue' buiten de loop"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "" msgstr "'coroutine' object is geen iterator"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -333,7 +331,7 @@ msgstr "Advertising is al bezig."
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c #: shared-module/memorymonitor/AllocationSize.c
msgid "Already running" msgid "Already running"
msgstr "" msgstr "Wordt al uitgevoerd"
#: ports/cxd56/common-hal/analogio/AnalogIn.c #: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin" msgid "AnalogIn not supported on given pin"
@ -373,7 +371,7 @@ msgstr "Op zijn meest %d %q mogen worden gespecificeerd (niet %d)"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
msgid "Attempt to allocate %d blocks" msgid "Attempt to allocate %d blocks"
msgstr "" msgstr "Poging om %d blokken toe te wijzen"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running." msgid "Attempted heap allocation when MicroPython VM not running."
@ -457,6 +455,12 @@ msgstr "Buffer lengte %d te groot. Het moet kleiner zijn dan %d"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "Buffer lengte moet een veelvoud van 512 zijn" msgstr "Buffer lengte moet een veelvoud van 512 zijn"
#: ports/stm/common-hal/sdioio/SDCard.c
#, fuzzy
#| msgid "Buffer length must be a multiple of 512"
msgid "Buffer must be a multiple of 512 bytes"
msgstr "Buffer lengte moet een veelvoud van 512 zijn"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Buffer moet op zijn minst lengte 1 zijn" msgstr "Buffer moet op zijn minst lengte 1 zijn"
@ -653,6 +657,12 @@ msgstr "Kan timer niet her-initialiseren"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "Kan PWM niet herstarten" msgstr "Kan PWM niet herstarten"
#: shared-bindings/_bleio/Adapter.c
#, fuzzy
#| msgid "Could not start PWM"
msgid "Could not set address"
msgstr "Kan PWM niet starten"
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "Kan PWM niet starten" msgstr "Kan PWM niet starten"
@ -835,6 +845,11 @@ msgstr "Schrijven naar interne flash mislukt."
msgid "File exists" msgid "File exists"
msgstr "Bestand bestaat" msgstr "Bestand bestaat"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -861,7 +876,7 @@ msgid "Group full"
msgstr "Groep is vol" msgstr "Groep is vol"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Hardware bezig, probeer alternatieve pinnen" msgstr "Hardware bezig, probeer alternatieve pinnen"
@ -879,7 +894,7 @@ msgstr "I2C Init Fout"
#: shared-bindings/audiobusio/I2SOut.c #: shared-bindings/audiobusio/I2SOut.c
msgid "I2SOut not available" msgid "I2SOut not available"
msgstr "" msgstr "I2SOut is niet beschikbaar"
#: shared-bindings/aesio/aes.c #: shared-bindings/aesio/aes.c
#, c-format #, c-format
@ -928,6 +943,13 @@ msgstr "Ongeldige %q"
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Ongeldige %q pin" msgstr "Ongeldige %q pin"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
#, fuzzy
#| msgid "Invalid I2C pin selection"
msgid "Invalid %q pin selection"
msgstr "Ongeldige I2C pin selectie"
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Ongeldige ADC Unit waarde" msgstr "Ongeldige ADC Unit waarde"
@ -940,24 +962,12 @@ msgstr "Ongeldig BMP bestand"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ongeldige DAC pin opgegeven" msgstr "Ongeldige DAC pin opgegeven"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Ongeldige I2C pin selectie"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Ongeldige PWM frequentie" msgstr "Ongeldige PWM frequentie"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Ongeldige SPI pin selectie"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Ongeldige UART pin selectie"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Ongeldig argument" msgstr "Ongeldig argument"
@ -1253,6 +1263,10 @@ msgstr "Niet verbonden"
msgid "Not playing" msgid "Not playing"
msgstr "Wordt niet afgespeeld" msgstr "Wordt niet afgespeeld"
#: main.c
msgid "Not running saved code.\n"
msgstr "Opgeslagen code wordt niet uitgevoerd.\n"
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1350,10 +1364,6 @@ msgstr "En iedere module in het bestandssysteem\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "Polygon heeft op zijn minst 3 punten nodig" msgstr "Polygon heeft op zijn minst 3 punten nodig"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Pop van een lege Ps2 buffer"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "Prefix buffer moet op de heap zijn" msgstr "Prefix buffer moet op de heap zijn"
@ -1428,12 +1438,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Rij invoeging moet digitalio.DigitalInOut zijn" msgstr "Rij invoeging moet digitalio.DigitalInOut zijn"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Draaiende in veilige modus! Auto-herlaad is uit.\n" msgstr "Veilige modus wordt uitgevoerd! "
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Draaiende in veilige modus! Opgeslagen code wordt niet uitgevoerd.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1444,6 +1450,17 @@ msgstr "SD kaart CSD formaat niet ondersteund"
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA of SCL hebben een pullup nodig" msgstr "SDA of SCL hebben een pullup nodig"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, fuzzy, c-format
#| msgid "SPI Init Error"
msgid "SDIO Init Error %d"
msgstr "SPI Init Fout"
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "SPI Init Fout" msgstr "SPI Init Fout"
@ -1585,6 +1602,8 @@ msgstr "Time-out is te lang. Maximale time-out lengte is %d seconden"
msgid "" msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program" "Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr "" msgstr ""
"Timer is gereserveerd voor intern gebruik - wijs PWM pins eerder in het "
"programma toe"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample." msgid "Too many channels in sample."
@ -1812,9 +1831,8 @@ msgid "__init__() should return None"
msgstr "__init __ () zou None moeten retourneren" msgstr "__init __ () zou None moeten retourneren"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr "__init__() moet None teruggeven, niet '%q'"
msgstr "__init __ () zou None moeten retouneren, niet '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1859,7 +1877,7 @@ msgstr "argument heeft onjuist type"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray" msgid "argument must be ndarray"
msgstr "" msgstr "argument moet ndarray zijn"
#: py/argcheck.c shared-bindings/_stage/__init__.c #: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c #: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
@ -1967,7 +1985,7 @@ msgstr "butes > 8 niet ondersteund"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "bytes waarde buiten bereik" msgstr "bytes waarde buiten bereik"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "calibration is buiten bereik" msgstr "calibration is buiten bereik"
@ -2000,48 +2018,18 @@ msgstr ""
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "kan niet toewijzen aan expressie" msgstr "kan niet toewijzen aan expressie"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "kan %s niet converteren naar een complex" msgstr "kan %q niet naar %q converteren"
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "kan %s niet omzetten naar een float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "kan %s niet omzetten naar een int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "kan '%q' object niet omzetten naar %q impliciet" msgstr "kan '%q' object niet omzetten naar %q impliciet"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "kan NaN niet omzetten naar int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "kan adres niet omzetten naar int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "kan inf niet omzetten naar int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "kan niet omzetten naar complex" msgstr "kan niet naar %q converteren"
#: py/obj.c
msgid "can't convert to float"
msgstr "kan niet omzetten naar float"
#: py/obj.c
msgid "can't convert to int"
msgstr "kan niet omzetten naar int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2451,7 +2439,7 @@ msgstr "functie mist vereist sleutelwoord argument \"%q"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "functie mist vereist positie-argument #%d" msgstr "functie mist vereist positie-argument #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "" msgstr ""
@ -2501,10 +2489,7 @@ msgstr "vulling (padding) is onjuist"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "index is buiten bereik" msgstr "index is buiten bereik"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index is buiten bereik" msgstr "index is buiten bereik"
@ -2566,7 +2551,7 @@ msgstr "integer vereist"
#: extmod/ulab/code/approx/approx.c #: extmod/ulab/code/approx/approx.c
msgid "interp is defined for 1D arrays of equal length" msgid "interp is defined for 1D arrays of equal length"
msgstr "interp is gedefinieerd for eendimensionale arrays van gelijke lengte" msgstr "interp is gedefinieerd voor eendimensionale arrays van gelijke lengte"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
#, c-format #, c-format
@ -2863,9 +2848,8 @@ msgid "number of points must be at least 2"
msgstr "aantal punten moet minimaal 2 zijn" msgstr "aantal punten moet minimaal 2 zijn"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr "object '%q' is geen tuple of lijst"
msgstr "object '%s' is geen tuple of lijst"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2900,9 +2884,8 @@ msgid "object not iterable"
msgstr "object niet itereerbaar" msgstr "object niet itereerbaar"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr "object van type '%q' heeft geen len()"
msgstr "object van type '%s' heeft geen len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -2995,21 +2978,10 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop van een lege PulseIn" msgid "pop from empty %q"
msgstr "pop van een lege %q"
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop van een lege set"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop van een lege lijst"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): dictionary is leeg"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3167,13 +3139,8 @@ msgid "stream operation not supported"
msgstr "stream operatie niet ondersteund" msgstr "stream operatie niet ondersteund"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "string index buiten bereik" msgstr "string indices moeten integers zijn, geen %q"
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "string indices moeten integer zijn, niet %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3183,10 +3150,6 @@ msgstr "string niet ondersteund; gebruik bytes of bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: kan niet indexeren" msgstr "struct: kan niet indexeren"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index buiten bereik"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: geen velden" msgstr "struct: geen velden"
@ -3254,9 +3217,9 @@ msgstr "te veel waarden om uit te pakken (%d verwacht)"
#: extmod/ulab/code/approx/approx.c #: extmod/ulab/code/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr "trapz is gedefinieerd voor eendimensionale arrays van gelijke lengte"
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "tuple index buiten bereik" msgstr "tuple index buiten bereik"
@ -3264,10 +3227,6 @@ msgstr "tuple index buiten bereik"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tuple of lijst heeft onjuiste lengte" msgstr "tuple of lijst heeft onjuiste lengte"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "tuple of lijst vereist op RHS"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3323,9 +3282,8 @@ msgid "unknown conversion specifier %c"
msgstr "onbekende conversiespecificatie %c" msgstr "onbekende conversiespecificatie %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr "onbekende formaatcode '%c' voor object van type '%q'"
msgstr "onbekende formaatcode '%c' voor object van type '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3364,16 +3322,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "niet ondersteund formaatkarakter '%c' (0x%x) op index %d" msgstr "niet ondersteund formaatkarakter '%c' (0x%x) op index %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "niet ondersteund type voor %q: '%s'" msgstr "niet ondersteund type voor %q: '%q'"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "niet ondersteund type voor operator" msgstr "niet ondersteund type voor operator"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "niet ondersteunde types voor %q: '%s', '%s'" msgstr "niet ondersteunde types voor %q: '%q', '%q'"
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3386,7 +3344,7 @@ msgstr "value_count moet groter dan 0 zijn"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths" msgid "vectors must have same lengths"
msgstr "" msgstr "vectoren moeten van gelijke lengte zijn"
#: shared-bindings/watchdog/WatchDogTimer.c #: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0" msgid "watchdog timeout must be greater than 0"
@ -3452,6 +3410,121 @@ msgstr "zi moet van type float zijn"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi moet vorm (n_section, 2) hebben" msgstr "zi moet vorm (n_section, 2) hebben"
#~ msgid "tuple/list required on RHS"
#~ msgstr "tuple of lijst vereist op RHS"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Ongeldige SPI pin selectie"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Ongeldige UART pin selectie"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q indexen moeten integers zijn, niet %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "'%s' object kan niet aan attribuut '%q' toewijzen"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "'%s' object ondersteunt '%q' niet"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "'%s' object ondersteunt item toewijzing niet"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "'%s' object ondersteunt item verwijdering niet"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "'%s' object heeft geen attribuut '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "'%s' object is geen iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "'%s' object is niet aanroepbaar"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' object is niet itereerbaar"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "'%s' object is niet onderschrijfbaar"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Pop van een lege Ps2 buffer"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Draaiende in veilige modus! Auto-herlaad is uit.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Draaiende in veilige modus! Opgeslagen code wordt niet uitgevoerd.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init __ () zou None moeten retouneren, niet '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "kan %s niet converteren naar een complex"
#~ msgid "can't convert %s to float"
#~ msgstr "kan %s niet omzetten naar een float"
#~ msgid "can't convert %s to int"
#~ msgstr "kan %s niet omzetten naar een int"
#~ msgid "can't convert NaN to int"
#~ msgstr "kan NaN niet omzetten naar int"
#~ msgid "can't convert address to int"
#~ msgstr "kan adres niet omzetten naar int"
#~ msgid "can't convert inf to int"
#~ msgstr "kan inf niet omzetten naar int"
#~ msgid "can't convert to complex"
#~ msgstr "kan niet omzetten naar complex"
#~ msgid "can't convert to float"
#~ msgstr "kan niet omzetten naar float"
#~ msgid "can't convert to int"
#~ msgstr "kan niet omzetten naar int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "object '%s' is geen tuple of lijst"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "object van type '%s' heeft geen len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop van een lege PulseIn"
#~ msgid "pop from an empty set"
#~ msgstr "pop van een lege set"
#~ msgid "pop from empty list"
#~ msgstr "pop van een lege lijst"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): dictionary is leeg"
#~ msgid "string index out of range"
#~ msgstr "string index buiten bereik"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "string indices moeten integer zijn, niet %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index buiten bereik"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "onbekende formaatcode '%c' voor object van type '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "niet ondersteund type voor %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "niet ondersteunde types voor %q: '%s', '%s'"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' of 'async with' buiten async functie" #~ msgstr "'async for' of 'async with' buiten async functie"
@ -3484,3 +3557,6 @@ msgstr "zi moet vorm (n_section, 2) hebben"
#~ msgid "must specify all of sck/mosi/miso" #~ msgid "must specify all of sck/mosi/miso"
#~ msgstr "sck/mosi/miso moeten alle gespecificeerd worden" #~ msgstr "sck/mosi/miso moeten alle gespecificeerd worden"
#~ msgid "'%q' object is not bytes-like"
#~ msgstr "'%q' object is niet bytes-achtig"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n" "Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n" "Language-Team: pl\n"
@ -66,13 +66,17 @@ msgstr ""
msgid "%q in use" msgid "%q in use"
msgstr "%q w użyciu" msgstr "%q w użyciu"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "%q poza zakresem" msgstr "%q poza zakresem"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "%q indeks musi być liczbą całkowitą, a nie %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -110,6 +114,42 @@ msgstr "%q() bierze %d argumentów pozycyjnych, lecz podano %d"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' wymaga argumentu" msgstr "'%q' wymaga argumentu"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -160,48 +200,6 @@ msgstr "'%s' liczba %d poza zakresem %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' liczba 0x%x nie pasuje do maski 0x%x" msgstr "'%s' liczba 0x%x nie pasuje do maski 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "'%s' obiekt nie wspiera przypisania do elementów"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "'%s' obiekt nie wspiera usuwania elementów"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "'%s' obiekt nie ma atrybutu '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "'%s' obiekt nie jest iteratorem"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "'%s' nie można wywoływać obiektu"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "'%s' nie można iterować po obiekcie"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "'%s' nie można indeksować obiektu"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "wyrównanie '=' niedozwolone w specyfikacji formatu" msgstr "wyrównanie '=' niedozwolone w specyfikacji formatu"
@ -451,6 +449,10 @@ msgstr ""
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "" msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Bufor musi mieć długość 1 lub więcej" msgstr "Bufor musi mieć długość 1 lub więcej"
@ -641,6 +643,10 @@ msgstr ""
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "" msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "" msgstr ""
@ -823,6 +829,11 @@ msgstr ""
msgid "File exists" msgid "File exists"
msgstr "Plik istnieje" msgstr "Plik istnieje"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano." msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano."
@ -847,7 +858,7 @@ msgid "Group full"
msgstr "Grupa pełna" msgstr "Grupa pełna"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "" msgstr ""
@ -914,6 +925,11 @@ msgstr ""
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Zła nóżka %q" msgstr "Zła nóżka %q"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "" msgstr ""
@ -926,24 +942,12 @@ msgstr "Zły BMP"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Zła częstotliwość PWM" msgstr "Zła częstotliwość PWM"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Zły argument" msgstr "Zły argument"
@ -1239,6 +1243,10 @@ msgstr "Nie podłączono"
msgid "Not playing" msgid "Not playing"
msgstr "Nic nie jest odtwarzane" msgstr "Nic nie jest odtwarzane"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1324,10 +1332,6 @@ msgstr "Oraz moduły w systemie plików\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "" msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1400,12 +1404,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Rzędy muszą być digitalio.DigitalInOut" msgstr "Rzędy muszą być digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1416,6 +1416,16 @@ msgstr ""
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA lub SCL wymagają podciągnięcia" msgstr "SDA lub SCL wymagają podciągnięcia"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "" msgstr ""
@ -1768,9 +1778,8 @@ msgid "__init__() should return None"
msgstr "__init__() powinien zwracać None" msgstr "__init__() powinien zwracać None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init__() powinien zwracać None, nie '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1923,7 +1932,7 @@ msgstr "bajty większe od 8 bitów są niewspierane"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "wartość bytes poza zakresem" msgstr "wartość bytes poza zakresem"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "kalibracja poza zakresem" msgstr "kalibracja poza zakresem"
@ -1955,48 +1964,18 @@ msgstr "nie można dodać specjalnej metody do podklasy"
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "przypisanie do wyrażenia" msgstr "przypisanie do wyrażenia"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "nie można skonwertować %s do complex" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "nie można skonwertować %s do float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "nie można skonwertować %s do int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "nie można automatycznie skonwertować '%q' do '%q'" msgstr "nie można automatycznie skonwertować '%q' do '%q'"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "nie można skonwertować NaN do int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "nie można skonwertować adresu do int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "nie można skonwertować inf do int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "nie można skonwertować do complex" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "nie można skonwertować do float"
#: py/obj.c
msgid "can't convert to int"
msgstr "nie można skonwertować do int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2404,7 +2383,7 @@ msgstr "brak wymaganego argumentu nazwanego '%q' funkcji"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "brak wymaganego argumentu pozycyjnego #%d funkcji" msgstr "brak wymaganego argumentu pozycyjnego #%d funkcji"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "funkcja wymaga %d argumentów pozycyjnych, ale jest %d" msgstr "funkcja wymaga %d argumentów pozycyjnych, ale jest %d"
@ -2453,10 +2432,7 @@ msgstr "złe wypełnienie"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "indeks poza zakresem" msgstr "indeks poza zakresem"
@ -2812,9 +2788,8 @@ msgid "number of points must be at least 2"
msgstr "" msgstr ""
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "obiekt '%s' nie jest krotką ani listą"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2849,9 +2824,8 @@ msgid "object not iterable"
msgstr "obiekt nie jest iterowalny" msgstr "obiekt nie jest iterowalny"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "obiekt typu '%s' nie ma len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -2944,21 +2918,10 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop z pustego PulseIn" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop z pustego zbioru"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop z pustej listy"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): słownik jest pusty"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3115,13 +3078,8 @@ msgid "stream operation not supported"
msgstr "operacja na strumieniu nieobsługiwana" msgstr "operacja na strumieniu nieobsługiwana"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "indeks łańcucha poza zakresem" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "indeksy łańcucha muszą być całkowite, nie %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3131,10 +3089,6 @@ msgstr "łańcuchy nieobsługiwane; użyj bytes lub bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: nie można indeksować" msgstr "struct: nie można indeksować"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: indeks poza zakresem"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: brak pól" msgstr "struct: brak pól"
@ -3204,7 +3158,7 @@ msgstr "zbyt wiele wartości do rozpakowania (oczekiwano %d)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "indeks krotki poza zakresem" msgstr "indeks krotki poza zakresem"
@ -3212,10 +3166,6 @@ msgstr "indeks krotki poza zakresem"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "krotka/lista ma złą długość" msgstr "krotka/lista ma złą długość"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "wymagana krotka/lista po prawej stronie"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3271,9 +3221,8 @@ msgid "unknown conversion specifier %c"
msgstr "zła specyfikacja konwersji %c" msgstr "zła specyfikacja konwersji %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "zły kod formatowania '%c' dla obiektu typu '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3312,16 +3261,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "zły znak formatowania '%c' (0x%x) na pozycji %d" msgstr "zły znak formatowania '%c' (0x%x) na pozycji %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "zły typ dla %q: '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "zły typ dla operatora" msgstr "zły typ dla operatora"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "złe typy dla %q: '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3400,6 +3349,106 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "" msgstr ""
#~ msgid "tuple/list required on RHS"
#~ msgstr "wymagana krotka/lista po prawej stronie"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "%q indeks musi być liczbą całkowitą, a nie %s"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "'%s' obiekt nie wspiera przypisania do elementów"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "'%s' obiekt nie wspiera usuwania elementów"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "'%s' obiekt nie ma atrybutu '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "'%s' obiekt nie jest iteratorem"
#~ msgid "'%s' object is not callable"
#~ msgstr "'%s' nie można wywoływać obiektu"
#~ msgid "'%s' object is not iterable"
#~ msgstr "'%s' nie można iterować po obiekcie"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "'%s' nie można indeksować obiektu"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr ""
#~ "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init__() powinien zwracać None, nie '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "nie można skonwertować %s do complex"
#~ msgid "can't convert %s to float"
#~ msgstr "nie można skonwertować %s do float"
#~ msgid "can't convert %s to int"
#~ msgstr "nie można skonwertować %s do int"
#~ msgid "can't convert NaN to int"
#~ msgstr "nie można skonwertować NaN do int"
#~ msgid "can't convert address to int"
#~ msgstr "nie można skonwertować adresu do int"
#~ msgid "can't convert inf to int"
#~ msgstr "nie można skonwertować inf do int"
#~ msgid "can't convert to complex"
#~ msgstr "nie można skonwertować do complex"
#~ msgid "can't convert to float"
#~ msgstr "nie można skonwertować do float"
#~ msgid "can't convert to int"
#~ msgstr "nie można skonwertować do int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "obiekt '%s' nie jest krotką ani listą"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "obiekt typu '%s' nie ma len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop z pustego PulseIn"
#~ msgid "pop from an empty set"
#~ msgstr "pop z pustego zbioru"
#~ msgid "pop from empty list"
#~ msgstr "pop z pustej listy"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): słownik jest pusty"
#~ msgid "string index out of range"
#~ msgstr "indeks łańcucha poza zakresem"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "indeksy łańcucha muszą być całkowite, nie %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: indeks poza zakresem"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "zły kod formatowania '%c' dla obiektu typu '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "zły typ dla %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "złe typy dla %q: '%s', '%s'"
#~ msgid "Address is not %d bytes long or is in wrong format" #~ msgid "Address is not %d bytes long or is in wrong format"
#~ msgstr "Adres nie ma długości %d bajtów lub zły format" #~ msgstr "Adres nie ma długości %d bajtów lub zły format"

View File

@ -5,8 +5,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-07-23 02:57+0000\n" "PO-Revision-Date: 2020-08-16 02:25+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n" "Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -72,13 +72,17 @@ msgstr "%q falha: %d"
msgid "%q in use" msgid "%q in use"
msgstr "%q em uso" msgstr "%q em uso"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "O índice %q está fora do intervalo" msgstr "O índice %q está fora do intervalo"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "Os índices %q devem ser inteiros, e não %s" msgstr "Os indicadores %q devem ser inteiros, não %q"
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -116,6 +120,42 @@ msgstr "%q() recebe %d argumentos posicionais, porém %d foram informados"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argumento(s) requerido(s)" msgstr "'%q' argumento(s) requerido(s)"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr "O objeto '%q' não pode definir o atributo '%q'"
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr "O objeto '%q' não suporta '%q'"
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr "O objeto '%q' não suporta a atribuição do item"
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr "O objeto '%q' não suporta a exclusão dos itens"
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr "O objeto '%q' não possui qualquer atributo '%q'"
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr "O objeto '%q' não é um iterador"
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr "O objeto '%s' não é invocável"
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr "O objeto '%q' não é iterável"
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr "O objeto '%q' não é subscritível"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -166,48 +206,6 @@ msgstr "O número inteiro '%s' %d não está dentro do intervalo %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "O número inteiro '%s' 0x%x não cabe na máscara 0x%x" msgstr "O número inteiro '%s' 0x%x não cabe na máscara 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "O objeto '%s' não pode definir o atributo '%q'"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "O objeto '%s' não é compatível com '%q'"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "O objeto '%s' não compatível com a atribuição dos itens"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "O objeto '%s' não é compatível com exclusão do item"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "O objeto '%s' não possui o atributo '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "O objeto '%s' não é um iterador"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "O objeto '%s' não é invocável"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "O objeto '%s' não é iterável"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "O objeto '%s' não é subroteirizável"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "" msgstr ""
@ -229,6 +227,8 @@ msgstr "'aguardar' fora da função"
#: py/compile.c #: py/compile.c
msgid "'await', 'async for' or 'async with' outside async function" msgid "'await', 'async for' or 'async with' outside async function"
msgstr "" msgstr ""
"'await', 'async for' (async para) ou 'async with' (async com) estão fora da "
"função async"
#: py/compile.c #: py/compile.c
msgid "'break' outside loop" msgid "'break' outside loop"
@ -240,7 +240,7 @@ msgstr "'continue' fora do loop"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "" msgstr "O objeto 'corrotina' não é um iterador"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -463,6 +463,10 @@ msgstr "O tamanho do buffer %d é muito grande. Deve ser menor que %d"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "O comprimento do Buffer deve ser um múltiplo de 512" msgstr "O comprimento do Buffer deve ser um múltiplo de 512"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr "O buffer deve ser um múltiplo de 512 bytes"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "O comprimento do buffer deve ter pelo menos 1" msgstr "O comprimento do buffer deve ter pelo menos 1"
@ -660,6 +664,10 @@ msgstr "Não foi possível reiniciar o temporizador"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "Não foi possível reiniciar o PWM" msgstr "Não foi possível reiniciar o PWM"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "Não foi possível definir o endereço"
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "Não foi possível iniciar o PWM" msgstr "Não foi possível iniciar o PWM"
@ -842,6 +850,11 @@ msgstr "Falha ao gravar o flash interno."
msgid "File exists" msgid "File exists"
msgstr "Arquivo já existe" msgstr "Arquivo já existe"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr "O Framebuffer requer %d bytes"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
@ -868,7 +881,7 @@ msgid "Group full"
msgstr "Grupo cheio" msgstr "Grupo cheio"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "O hardware está ocupado, tente os pinos alternativos" msgstr "O hardware está ocupado, tente os pinos alternativos"
@ -886,7 +899,7 @@ msgstr "Erro de inicialização do I2C"
#: shared-bindings/audiobusio/I2SOut.c #: shared-bindings/audiobusio/I2SOut.c
msgid "I2SOut not available" msgid "I2SOut not available"
msgstr "" msgstr "O I2SOut não está disponível"
#: shared-bindings/aesio/aes.c #: shared-bindings/aesio/aes.c
#, c-format #, c-format
@ -935,6 +948,11 @@ msgstr "%q Inválido"
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Pino do %q inválido" msgstr "Pino do %q inválido"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr "Seleção inválida dos pinos %q"
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Valor inválido da unidade ADC" msgstr "Valor inválido da unidade ADC"
@ -947,24 +965,12 @@ msgstr "Arquivo BMP inválido"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "O pino DAC informado é inválido" msgstr "O pino DAC informado é inválido"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "A seleção dos pinos I2C é inválido"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Frequência PWM inválida" msgstr "Frequência PWM inválida"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "A seleção do pino SPI é inválido"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "A seleção dos pinos UART é inválido"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumento inválido" msgstr "Argumento inválido"
@ -1260,6 +1266,10 @@ msgstr "Não Conectado"
msgid "Not playing" msgid "Not playing"
msgstr "Não está jogando" msgstr "Não está jogando"
#: main.c
msgid "Not running saved code.\n"
msgstr "O código salvo não está em execução.\n"
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1357,10 +1367,6 @@ msgstr "Além de quaisquer módulos no sistema de arquivos\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "O Polígono precisa de pelo menos 3 pontos" msgstr "O Polígono precisa de pelo menos 3 pontos"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Buffer Ps2 vazio"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "" msgstr ""
@ -1436,12 +1442,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "A entrada da linha deve ser digitalio.DigitalInOut" msgstr "A entrada da linha deve ser digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Rodando em modo seguro! Atualização automática está desligada.\n" msgstr "Executando no modo de segurança! "
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Rodando em modo seguro! Não está executando o código salvo.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1452,6 +1454,16 @@ msgstr "O formato CSD do Cartão SD não é compatível"
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL precisa de um pull up" msgstr "SDA ou SCL precisa de um pull up"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr "Erro SDIO GetCardInfo %d"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr "Erro SDIO Init %d"
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "Houve um erro na inicialização SPI" msgstr "Houve um erro na inicialização SPI"
@ -1596,6 +1608,8 @@ msgstr ""
msgid "" msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program" "Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr "" msgstr ""
"O temporizador foi reservado para uso interno - declare os pinos PWM no "
"início do programa"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample." msgid "Too many channels in sample."
@ -1825,9 +1839,8 @@ msgid "__init__() should return None"
msgstr "O __init__() deve retornar Nenhum" msgstr "O __init__() deve retornar Nenhum"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr "O __init__() deve retornar Nenhum, não '%q'"
msgstr "O __init__() deve retornar Nenhum, não '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1872,7 +1885,7 @@ msgstr "argumento tem tipo errado"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray" msgid "argument must be ndarray"
msgstr "" msgstr "o argumento deve ser ndarray"
#: py/argcheck.c shared-bindings/_stage/__init__.c #: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c #: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
@ -1980,7 +1993,7 @@ msgstr "bytes > 8 bits não suportado"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "o valor dos bytes estão fora do alcance" msgstr "o valor dos bytes estão fora do alcance"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "Calibração está fora do intervalo" msgstr "Calibração está fora do intervalo"
@ -2012,48 +2025,18 @@ msgstr "não é possível adicionar o método especial à classe já subclassifi
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "a expressão não pode ser atribuída" msgstr "a expressão não pode ser atribuída"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "Não é possível converter %s para complex" msgstr "não é possível converter %q para %q"
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "Não é possível converter %s para float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "Não é possível converter %s para int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "não é possível converter implicitamente o objeto '%q' para %q" msgstr "não é possível converter implicitamente o objeto '%q' para %q"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "Não é possível converter NaN para int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "não é possível converter o endereço para int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "não é possível converter inf para int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "não é possível converter para complex" msgstr "não é possível converter para %q"
#: py/obj.c
msgid "can't convert to float"
msgstr "não é possível converter para float"
#: py/obj.c
msgid "can't convert to int"
msgstr "não é possível converter para int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2470,7 +2453,7 @@ msgstr "falta apenas a palavra chave do argumento '%q' da função"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "falta o argumento #%d da posição necessária da função" msgstr "falta o argumento #%d da posição necessária da função"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "função leva %d argumentos posicionais, mas apenas %d foram passadas" msgstr "função leva %d argumentos posicionais, mas apenas %d foram passadas"
@ -2519,10 +2502,7 @@ msgstr "preenchimento incorreto"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "o índice está fora dos limites" msgstr "o índice está fora dos limites"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "Índice fora do intervalo" msgstr "Índice fora do intervalo"
@ -2883,9 +2863,8 @@ msgid "number of points must be at least 2"
msgstr "a quantidade dos pontos deve ser pelo menos 2" msgstr "a quantidade dos pontos deve ser pelo menos 2"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr "o objeto '%q' não é uma tupla ou uma lista"
msgstr "o objeto '%s' não é uma tupla ou uma lista"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2920,9 +2899,8 @@ msgid "object not iterable"
msgstr "objeto não iterável" msgstr "objeto não iterável"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr "o objeto do tipo '%q' não tem len()"
msgstr "O objeto do tipo '%s' não possui len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -3019,21 +2997,10 @@ msgstr "o polígono só pode ser registrado em um pai"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop a partir de um PulseIn vazio" msgid "pop from empty %q"
msgstr "pop a partir do %q vazio"
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop a partir de um conjunto vazio"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop a partir da lista vazia"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): o dicionário está vazio"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3070,7 +3037,7 @@ msgstr "a anotação do retorno deve ser um identificador"
#: py/emitnative.c #: py/emitnative.c
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "o retorno esperado era '%q', porém obteve '% q'" msgstr "o retorno esperado era '%q', porém obteve '%q'"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
@ -3191,13 +3158,8 @@ msgid "stream operation not supported"
msgstr "a operação do fluxo não é compatível" msgstr "a operação do fluxo não é compatível"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "o índice da string está fora do intervalo" msgstr "a sequência dos índices devem ser inteiros, não %q"
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "o índices das string devem ser números inteiros, não %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3207,10 +3169,6 @@ msgstr "a string não é compatível; use bytes ou bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: não pode indexar" msgstr "struct: não pode indexar"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: índice fora do intervalo"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: sem campos" msgstr "struct: sem campos"
@ -3278,9 +3236,9 @@ msgstr "valores demais para descompactar (esperado %d)"
#: extmod/ulab/code/approx/approx.c #: extmod/ulab/code/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr "o trapz está definido para 1D arrays de igual tamanho"
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "o índice da tupla está fora do intervalo" msgstr "o índice da tupla está fora do intervalo"
@ -3288,10 +3246,6 @@ msgstr "o índice da tupla está fora do intervalo"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "a tupla/lista está com tamanho incorreto" msgstr "a tupla/lista está com tamanho incorreto"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "a tupla/lista necessária no RHS"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3347,9 +3301,8 @@ msgid "unknown conversion specifier %c"
msgstr "especificador de conversão desconhecido %c" msgstr "especificador de conversão desconhecido %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr "o formato do código '%c' é desconhecido para o objeto do tipo '%q'"
msgstr "código de formato desconhecido '%c' para o objeto do tipo '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3388,16 +3341,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "o caractere do formato não é compatível '%c' (0x%x) no índice %d" msgstr "o caractere do formato não é compatível '%c' (0x%x) no índice %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "tipo não compatível para %q: '%s'" msgstr "tipo sem suporte para %q: '%q'"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "tipo não compatível para o operador" msgstr "tipo não compatível para o operador"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "tipos não compatíveis para %q: '%s', '%s'" msgstr "tipo sem suporte para %q: '%q', '%q'"
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3410,7 +3363,7 @@ msgstr "o value_count deve ser > 0"
#: extmod/ulab/code/linalg/linalg.c #: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths" msgid "vectors must have same lengths"
msgstr "" msgstr "os vetores devem ter os mesmos comprimentos"
#: shared-bindings/watchdog/WatchDogTimer.c #: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0" msgid "watchdog timeout must be greater than 0"
@ -3476,18 +3429,135 @@ msgstr "zi deve ser de um tipo float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (n_section, 2)" msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid "tuple/list required on RHS"
#~ msgstr "a tupla/lista necessária no RHS"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "Os índices %q devem ser inteiros, e não %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "O objeto '%s' não pode definir o atributo '%q'"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "O objeto '%s' não é compatível com '%q'"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "O objeto '%s' não compatível com a atribuição dos itens"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "O objeto '%s' não é compatível com exclusão do item"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "O objeto '%s' não possui o atributo '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "O objeto '%s' não é um iterador"
#~ msgid "'%s' object is not callable"
#~ msgstr "O objeto '%s' não é invocável"
#~ msgid "'%s' object is not iterable"
#~ msgstr "O objeto '%s' não é iterável"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "O objeto '%s' não é subroteirizável"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "A seleção dos pinos I2C é inválido"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "A seleção do pino SPI é inválido"
#~ msgid "Invalid UART pin selection"
#~ msgstr "A seleção dos pinos UART é inválido"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Buffer Ps2 vazio"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Rodando em modo seguro! Atualização automática está desligada.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Rodando em modo seguro! Não está executando o código salvo.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "O __init__() deve retornar Nenhum, não '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "Não é possível converter %s para complex"
#~ msgid "can't convert %s to float"
#~ msgstr "Não é possível converter %s para float"
#~ msgid "can't convert %s to int"
#~ msgstr "Não é possível converter %s para int"
#~ msgid "can't convert NaN to int"
#~ msgstr "Não é possível converter NaN para int"
#~ msgid "can't convert address to int"
#~ msgstr "não é possível converter o endereço para int"
#~ msgid "can't convert inf to int"
#~ msgstr "não é possível converter inf para int"
#~ msgid "can't convert to complex"
#~ msgstr "não é possível converter para complex"
#~ msgid "can't convert to float"
#~ msgstr "não é possível converter para float"
#~ msgid "can't convert to int"
#~ msgstr "não é possível converter para int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "o objeto '%s' não é uma tupla ou uma lista"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "O objeto do tipo '%s' não possui len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop a partir de um PulseIn vazio"
#~ msgid "pop from an empty set"
#~ msgstr "pop a partir de um conjunto vazio"
#~ msgid "pop from empty list"
#~ msgstr "pop a partir da lista vazia"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): o dicionário está vazio"
#~ msgid "string index out of range"
#~ msgstr "o índice da string está fora do intervalo"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "o índices das string devem ser números inteiros, não %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: índice fora do intervalo"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "código de formato desconhecido '%c' para o objeto do tipo '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "tipo não compatível para %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "tipos não compatíveis para %q: '%s', '%s'"
#~ msgid "'%q' object is not bytes-like" #~ msgid "'%q' object is not bytes-like"
#~ msgstr "objetos '%q' não são bytes-like" #~ msgstr "objetos '%q' não são bytes-like"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'assíncrono para' ou 'assíncrono com' função assíncrona externa" #~ msgstr "'assíncrono para' ou 'assíncrono com' função assíncrona externa"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "O PulseIn não é compatível neste CI"
#~ msgid "PulseOut not supported on this chip" #~ msgid "PulseOut not supported on this chip"
#~ msgstr "O PulseOut não é compatível neste CI" #~ msgstr "O PulseOut não é compatível neste CI"
#~ msgid "PulseIn not supported on this chip"
#~ msgstr "O PulseIn não é compatível neste CI"
#~ msgid "AP required" #~ msgid "AP required"
#~ msgstr "AP requerido" #~ msgstr "AP requerido"

View File

@ -5,8 +5,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-30 07:23-0500\n" "POT-Creation-Date: 2020-08-14 09:36-0400\n"
"PO-Revision-Date: 2020-07-13 17:39+0000\n" "PO-Revision-Date: 2020-07-25 20:58+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n" "Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
@ -72,13 +72,17 @@ msgstr "%q-fel: %d"
msgid "%q in use" msgid "%q in use"
msgstr "%q används redan" msgstr "%q används redan"
#: py/obj.c #: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c py/objstr.c
#: py/objstrunicode.c
msgid "%q index out of range" msgid "%q index out of range"
msgstr "Index %q ligger utanför intervallet" msgstr "Index %q ligger utanför intervallet"
#: py/obj.c #: py/obj.c
msgid "%q indices must be integers, not %s" msgid "%q indices must be integers, not %q"
msgstr "Indexet %q måste vara ett heltal, inte %s" msgstr ""
#: shared-bindings/vectorio/Polygon.c #: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list" msgid "%q list must be a list"
@ -86,7 +90,7 @@ msgstr "%q-listan måste vara en lista"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
msgstr "" msgstr "%q måste vara >= 0"
#: shared-bindings/_bleio/CharacteristicBuffer.c #: shared-bindings/_bleio/CharacteristicBuffer.c
#: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c #: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c
@ -116,6 +120,42 @@ msgstr "%q() kräver %d positionsargument men %d gavs"
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "'%q' argument krävs" msgstr "'%q' argument krävs"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
@ -166,48 +206,6 @@ msgstr "'%s' heltal %d ligger inte inom intervallet %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' heltal 0x%x ryms inte i mask 0x%x" msgstr "'%s' heltal 0x%x ryms inte i mask 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr "Objektet '%s' kan inte tilldela attributet '%q'"
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "Objektet '%s' har inte stöd för '%q'"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
msgstr "Objektet '%s' stöder inte tilldelningen"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
msgstr "Objektet '%s' stöder inte borttagning av objekt"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
msgstr "Objektet '%s' har inget attribut '%q'"
#: py/runtime.c
#, c-format
msgid "'%s' object is not an iterator"
msgstr "Objektet '%s' är inte en iterator"
#: py/objtype.c py/runtime.c
#, c-format
msgid "'%s' object is not callable"
msgstr "Objektet '%s' kan inte anropas"
#: py/runtime.c
#, c-format
msgid "'%s' object is not iterable"
msgstr "Objektet '%s' är inte itererable"
#: py/obj.c
#, c-format
msgid "'%s' object is not subscriptable"
msgstr "Objektet '%s' är inte indexbar"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "'='-justering tillåts inte i strängformatspecifikation" msgstr "'='-justering tillåts inte i strängformatspecifikation"
@ -238,7 +236,7 @@ msgstr "'continue' utanför loop"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "" msgstr "objektet 'coroutine\" är inte en iterator"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -333,7 +331,7 @@ msgstr "Annonserar redan."
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c #: shared-module/memorymonitor/AllocationSize.c
msgid "Already running" msgid "Already running"
msgstr "" msgstr "Kör redan"
#: ports/cxd56/common-hal/analogio/AnalogIn.c #: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin" msgid "AnalogIn not supported on given pin"
@ -373,7 +371,7 @@ msgstr "Högst %d %q kan anges (inte %d)"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
msgid "Attempt to allocate %d blocks" msgid "Attempt to allocate %d blocks"
msgstr "" msgstr "Försök att tilldela %d block"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running." msgid "Attempted heap allocation when MicroPython VM not running."
@ -457,6 +455,10 @@ msgstr "Buffertlängd %d för stor. Den måste vara mindre än %d"
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "Buffertlängd måste vara en multipel av 512" msgstr "Buffertlängd måste vara en multipel av 512"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1" msgid "Buffer must be at least length 1"
msgstr "Bufferten måste ha minst längd 1" msgstr "Bufferten måste ha minst längd 1"
@ -653,6 +655,10 @@ msgstr "Det gick inte att återinitiera timern"
msgid "Could not restart PWM" msgid "Could not restart PWM"
msgstr "Det gick inte att starta om PWM" msgstr "Det gick inte att starta om PWM"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pulseio/PWMOut.c #: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM" msgid "Could not start PWM"
msgstr "Det gick inte att starta PWM" msgstr "Det gick inte att starta PWM"
@ -835,6 +841,11 @@ msgstr "Det gick inte att skriva till intern flash."
msgid "File exists" msgid "File exists"
msgstr "Filen finns redan" msgstr "Filen finns redan"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused." msgid "Frequency captured is above capability. Capture Paused."
msgstr "Infångningsfrekvens är för hög. Infångning pausad." msgstr "Infångningsfrekvens är för hög. Infångning pausad."
@ -859,7 +870,7 @@ msgid "Group full"
msgstr "Gruppen är full" msgstr "Gruppen är full"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c #: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Hardware busy, try alternative pins" msgid "Hardware busy, try alternative pins"
msgstr "Hårdvaran är upptagen, prova alternativa pinnar" msgstr "Hårdvaran är upptagen, prova alternativa pinnar"
@ -926,6 +937,11 @@ msgstr "Ogiltig %q"
msgid "Invalid %q pin" msgid "Invalid %q pin"
msgstr "Ogiltig %q-pinne" msgstr "Ogiltig %q-pinne"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogIn.c #: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value" msgid "Invalid ADC Unit value"
msgstr "Ogiltigt ADC-enhetsvärde" msgstr "Ogiltigt ADC-enhetsvärde"
@ -938,24 +954,12 @@ msgstr "Ogiltig BMP-fil"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ogiltig DAC-pinne angiven" msgstr "Ogiltig DAC-pinne angiven"
#: ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Ogiltigt val av I2C-pinne"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c #: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/cxd56/common-hal/pulseio/PWMOut.c #: ports/cxd56/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency" msgid "Invalid PWM frequency"
msgstr "Ogiltig PWM-frekvens" msgstr "Ogiltig PWM-frekvens"
#: ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Ogiltigt val av SPI-pinne"
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Ogiltigt val av UART-pinne"
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c #: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Ogiltigt argument" msgstr "Ogiltigt argument"
@ -1252,6 +1256,10 @@ msgstr "Inte ansluten"
msgid "Not playing" msgid "Not playing"
msgstr "Ingen uppspelning" msgstr "Ingen uppspelning"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
"Object has been deinitialized and can no longer be used. Create a new object." "Object has been deinitialized and can no longer be used. Create a new object."
@ -1347,10 +1355,6 @@ msgstr "Plus eventuella moduler i filsystemet\n"
msgid "Polygon needs at least 3 points" msgid "Polygon needs at least 3 points"
msgstr "Polygonen behöver minst 3 punkter" msgstr "Polygonen behöver minst 3 punkter"
#: shared-bindings/ps2io/Ps2.c
msgid "Pop from an empty Ps2 buffer"
msgstr "Pop från en tom Ps2-buffert"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap" msgid "Prefix buffer must be on the heap"
msgstr "Prefixbufferten måste finnas på heap" msgstr "Prefixbufferten måste finnas på heap"
@ -1424,12 +1428,8 @@ msgid "Row entry must be digitalio.DigitalInOut"
msgstr "Radvärdet måste vara digitalio.DigitalInOut" msgstr "Radvärdet måste vara digitalio.DigitalInOut"
#: main.c #: main.c
msgid "Running in safe mode! Auto-reload is off.\n" msgid "Running in safe mode! "
msgstr "Kör i säkert läge! Autoladdning är avstängd.\n" msgstr ""
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Kör i säkert läge! Sparad kod körs inte.\n"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported" msgid "SD card CSD format not supported"
@ -1440,6 +1440,16 @@ msgstr "SD-kort CSD-format stöds inte"
msgid "SDA or SCL needs a pull up" msgid "SDA or SCL needs a pull up"
msgstr "SDA eller SCL behöver en pullup" msgstr "SDA eller SCL behöver en pullup"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
#: ports/stm/common-hal/busio/SPI.c #: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error" msgid "SPI Init Error"
msgstr "SPI Init-fel" msgstr "SPI Init-fel"
@ -1581,6 +1591,8 @@ msgstr "Åtgärden tog för lång tid: Max väntetid är %d sekunder"
msgid "" msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program" "Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr "" msgstr ""
"Timern är reserverad för internt bruk - deklarera PWM-pinne tidigare i "
"programmet"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample." msgid "Too many channels in sample."
@ -1805,9 +1817,8 @@ msgid "__init__() should return None"
msgstr "__init __ () ska returnera None" msgstr "__init __ () ska returnera None"
#: py/objtype.c #: py/objtype.c
#, c-format msgid "__init__() should return None, not '%q'"
msgid "__init__() should return None, not '%s'" msgstr ""
msgstr "__init __ () ska returnera None, inte '%s'"
#: py/objobject.c #: py/objobject.c
msgid "__new__ arg must be a user-type" msgid "__new__ arg must be a user-type"
@ -1960,7 +1971,7 @@ msgstr "bytes> 8 bitar stöds inte"
msgid "bytes value out of range" msgid "bytes value out of range"
msgstr "bytevärde utanför intervallet" msgstr "bytevärde utanför intervallet"
#: ports/atmel-samd/bindings/samd/Clock.c #: ports/atmel-samd/bindings/samd/Clock.c ports/atmel-samd/common-hal/rtc/RTC.c
msgid "calibration is out of range" msgid "calibration is out of range"
msgstr "kalibrering är utanför intervallet" msgstr "kalibrering är utanför intervallet"
@ -1992,48 +2003,18 @@ msgstr "kan inte lägga till särskild metod för redan subklassad klass"
msgid "can't assign to expression" msgid "can't assign to expression"
msgstr "kan inte tilldela uttryck" msgstr "kan inte tilldela uttryck"
#: py/obj.c #: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#, c-format #: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %s to complex" msgid "can't convert %q to %q"
msgstr "kan inte konvertera %s till komplex" msgstr ""
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
msgstr "kan inte konvertera %s till float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
msgstr "kan inte konvertera %s till int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert '%q' object to %q implicitly" msgid "can't convert '%q' object to %q implicitly"
msgstr "kan inte konvertera '%q' objekt implicit till %q" msgstr "kan inte konvertera '%q' objekt implicit till %q"
#: py/objint.c
msgid "can't convert NaN to int"
msgstr "kan inte konvertera NaN till int"
#: shared-bindings/i2cperipheral/I2CPeripheral.c
msgid "can't convert address to int"
msgstr "kan inte konvertera address till int"
#: py/objint.c
msgid "can't convert inf to int"
msgstr "kan inte konvertera inf till int"
#: py/obj.c #: py/obj.c
msgid "can't convert to complex" msgid "can't convert to %q"
msgstr "kan inte konvertera till komplex" msgstr ""
#: py/obj.c
msgid "can't convert to float"
msgstr "kan inte konvertera till float"
#: py/obj.c
msgid "can't convert to int"
msgstr "kan inte konvertera till int"
#: py/objstr.c #: py/objstr.c
msgid "can't convert to str implicitly" msgid "can't convert to str implicitly"
@ -2117,7 +2098,7 @@ msgstr ""
#: py/objtype.c #: py/objtype.c
msgid "cannot create '%q' instances" msgid "cannot create '%q' instances"
msgstr "kan inte skapa instanser av '% q'" msgstr "kan inte skapa instanser av '%q'"
#: py/objtype.c #: py/objtype.c
msgid "cannot create instance" msgid "cannot create instance"
@ -2445,7 +2426,7 @@ msgstr "funktionen saknar det obligatoriska nyckelordsargumentet '%q'"
msgid "function missing required positional argument #%d" msgid "function missing required positional argument #%d"
msgstr "funktionen saknar det obligatoriska positionsargumentet #%d" msgstr "funktionen saknar det obligatoriska positionsargumentet #%d"
#: py/argcheck.c py/bc.c py/objnamedtuple.c #: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
#, c-format #, c-format
msgid "function takes %d positional arguments but %d were given" msgid "function takes %d positional arguments but %d were given"
msgstr "funktionen kräver %d positionsargument men %d angavs" msgstr "funktionen kräver %d positionsargument men %d angavs"
@ -2494,10 +2475,7 @@ msgstr "felaktig utfyllnad"
msgid "index is out of bounds" msgid "index is out of bounds"
msgstr "index är utanför gränserna" msgstr "index är utanför gränserna"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: py/obj.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range" msgid "index out of range"
msgstr "index utanför intervallet" msgstr "index utanför intervallet"
@ -2856,9 +2834,8 @@ msgid "number of points must be at least 2"
msgstr "antal punkter måste vara minst 2" msgstr "antal punkter måste vara minst 2"
#: py/obj.c #: py/obj.c
#, c-format msgid "object '%q' is not a tuple or list"
msgid "object '%s' is not a tuple or list" msgstr ""
msgstr "objektet '%s' är inte en tupel eller lista"
#: py/obj.c #: py/obj.c
msgid "object does not support item assignment" msgid "object does not support item assignment"
@ -2893,9 +2870,8 @@ msgid "object not iterable"
msgstr "objektet är inte iterable" msgstr "objektet är inte iterable"
#: py/obj.c #: py/obj.c
#, c-format msgid "object of type '%q' has no len()"
msgid "object of type '%s' has no len()" msgstr ""
msgstr "objekt av typen '%s' har ingen len()"
#: py/obj.c #: py/obj.c
msgid "object with buffer protocol required" msgid "object with buffer protocol required"
@ -2988,21 +2964,10 @@ msgstr "polygon kan endast registreras i en förälder"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
msgid "pop from an empty PulseIn" #: shared-bindings/ps2io/Ps2.c
msgstr "pop från en tom PulseIn" msgid "pop from empty %q"
msgstr ""
#: py/objset.c
msgid "pop from an empty set"
msgstr "pop från en tom uppsättning"
#: py/objlist.c
msgid "pop from empty list"
msgstr "pop från tom lista"
#: py/objdict.c
msgid "popitem(): dictionary is empty"
msgstr "popitem(): ordlistan är tom"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0" msgid "pow() 3rd argument cannot be 0"
@ -3160,13 +3125,8 @@ msgid "stream operation not supported"
msgstr "stream-åtgärd stöds inte" msgstr "stream-åtgärd stöds inte"
#: py/objstrunicode.c #: py/objstrunicode.c
msgid "string index out of range" msgid "string indices must be integers, not %q"
msgstr "strängindex utanför intervallet" msgstr ""
#: py/objstrunicode.c
#, c-format
msgid "string indices must be integers, not %s"
msgstr "strängindex måste vara heltal, inte %s"
#: py/stream.c #: py/stream.c
msgid "string not supported; use bytes or bytearray" msgid "string not supported; use bytes or bytearray"
@ -3176,10 +3136,6 @@ msgstr "sträng stöds inte; använd bytes eller bytearray"
msgid "struct: cannot index" msgid "struct: cannot index"
msgstr "struct: kan inte indexera" msgstr "struct: kan inte indexera"
#: extmod/moductypes.c
msgid "struct: index out of range"
msgstr "struct: index utanför intervallet"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: no fields" msgid "struct: no fields"
msgstr "struct: inga fält" msgstr "struct: inga fält"
@ -3249,7 +3205,7 @@ msgstr "för många värden att packa upp (förväntat %d)"
msgid "trapz is defined for 1D arrays of equal length" msgid "trapz is defined for 1D arrays of equal length"
msgstr "" msgstr ""
#: extmod/ulab/code/linalg/linalg.c py/objstr.c #: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range" msgid "tuple index out of range"
msgstr "tupelindex utanför intervallet" msgstr "tupelindex utanför intervallet"
@ -3257,10 +3213,6 @@ msgstr "tupelindex utanför intervallet"
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
msgstr "tupel/lista har fel längd" msgstr "tupel/lista har fel längd"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "tuple/list required on RHS"
msgstr "tupel/lista krävs för RHS"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "tx and rx cannot both be None" msgid "tx and rx cannot both be None"
@ -3316,9 +3268,8 @@ msgid "unknown conversion specifier %c"
msgstr "okänd konverteringsspecificerare %c" msgstr "okänd konverteringsspecificerare %c"
#: py/objstr.c #: py/objstr.c
#, c-format msgid "unknown format code '%c' for object of type '%q'"
msgid "unknown format code '%c' for object of type '%s'" msgstr ""
msgstr "okänt format '%c' för objekt av typ '%s'"
#: py/compile.c #: py/compile.c
msgid "unknown type" msgid "unknown type"
@ -3357,16 +3308,16 @@ msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "Formattecknet '%c' (0x%x) stöds inte vid index %d" msgstr "Formattecknet '%c' (0x%x) stöds inte vid index %d"
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for %q: '%s'" msgid "unsupported type for %q: '%q'"
msgstr "typ som inte stöds för %q: '%s'" msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "unsupported type for operator" msgid "unsupported type for operator"
msgstr "typ stöds inte för operatören" msgstr "typ stöds inte för operatören"
#: py/runtime.c #: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'" msgid "unsupported types for %q: '%q', '%q'"
msgstr "typ som inte stöds för %q: '%s', '%s'" msgstr ""
#: py/objint.c #: py/objint.c
#, c-format #, c-format
@ -3445,13 +3396,133 @@ msgstr "zi måste vara av typ float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi måste vara i formen (n_section, 2)" msgstr "zi måste vara i formen (n_section, 2)"
#~ msgid "tuple/list required on RHS"
#~ msgstr "tupel/lista krävs för RHS"
#~ msgid "%q indices must be integers, not %s"
#~ msgstr "Indexet %q måste vara ett heltal, inte %s"
#~ msgid "'%s' object cannot assign attribute '%q'"
#~ msgstr "Objektet '%s' kan inte tilldela attributet '%q'"
#~ msgid "'%s' object does not support '%q'"
#~ msgstr "Objektet '%s' har inte stöd för '%q'"
#~ msgid "'%s' object does not support item assignment"
#~ msgstr "Objektet '%s' stöder inte tilldelningen"
#~ msgid "'%s' object does not support item deletion"
#~ msgstr "Objektet '%s' stöder inte borttagning av objekt"
#~ msgid "'%s' object has no attribute '%q'"
#~ msgstr "Objektet '%s' har inget attribut '%q'"
#~ msgid "'%s' object is not an iterator"
#~ msgstr "Objektet '%s' är inte en iterator"
#~ msgid "'%s' object is not callable"
#~ msgstr "Objektet '%s' kan inte anropas"
#~ msgid "'%s' object is not iterable"
#~ msgstr "Objektet '%s' är inte itererable"
#~ msgid "'%s' object is not subscriptable"
#~ msgstr "Objektet '%s' är inte indexbar"
#~ msgid "Invalid I2C pin selection"
#~ msgstr "Ogiltigt val av I2C-pinne"
#~ msgid "Invalid SPI pin selection"
#~ msgstr "Ogiltigt val av SPI-pinne"
#~ msgid "Invalid UART pin selection"
#~ msgstr "Ogiltigt val av UART-pinne"
#~ msgid "Pop from an empty Ps2 buffer"
#~ msgstr "Pop från en tom Ps2-buffert"
#~ msgid "Running in safe mode! Auto-reload is off.\n"
#~ msgstr "Kör i säkert läge! Autoladdning är avstängd.\n"
#~ msgid "Running in safe mode! Not running saved code.\n"
#~ msgstr "Kör i säkert läge! Sparad kod körs inte.\n"
#~ msgid "__init__() should return None, not '%s'"
#~ msgstr "__init __ () ska returnera None, inte '%s'"
#~ msgid "can't convert %s to complex"
#~ msgstr "kan inte konvertera %s till komplex"
#~ msgid "can't convert %s to float"
#~ msgstr "kan inte konvertera %s till float"
#~ msgid "can't convert %s to int"
#~ msgstr "kan inte konvertera %s till int"
#~ msgid "can't convert NaN to int"
#~ msgstr "kan inte konvertera NaN till int"
#~ msgid "can't convert address to int"
#~ msgstr "kan inte konvertera address till int"
#~ msgid "can't convert inf to int"
#~ msgstr "kan inte konvertera inf till int"
#~ msgid "can't convert to complex"
#~ msgstr "kan inte konvertera till komplex"
#~ msgid "can't convert to float"
#~ msgstr "kan inte konvertera till float"
#~ msgid "can't convert to int"
#~ msgstr "kan inte konvertera till int"
#~ msgid "object '%s' is not a tuple or list"
#~ msgstr "objektet '%s' är inte en tupel eller lista"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "objekt av typen '%s' har ingen len()"
#~ msgid "pop from an empty PulseIn"
#~ msgstr "pop från en tom PulseIn"
#~ msgid "pop from an empty set"
#~ msgstr "pop från en tom uppsättning"
#~ msgid "pop from empty list"
#~ msgstr "pop från tom lista"
#~ msgid "popitem(): dictionary is empty"
#~ msgstr "popitem(): ordlistan är tom"
#~ msgid "string index out of range"
#~ msgstr "strängindex utanför intervallet"
#~ msgid "string indices must be integers, not %s"
#~ msgstr "strängindex måste vara heltal, inte %s"
#~ msgid "struct: index out of range"
#~ msgstr "struct: index utanför intervallet"
#~ msgid "unknown format code '%c' for object of type '%s'"
#~ msgstr "okänt format '%c' för objekt av typ '%s'"
#~ msgid "unsupported type for %q: '%s'"
#~ msgstr "typ som inte stöds för %q: '%s'"
#~ msgid "unsupported types for %q: '%s', '%s'"
#~ msgstr "typ som inte stöds för %q: '%s', '%s'"
#~ msgid "'%q' object is not bytes-like"
#~ msgstr "%q-objektet är inte byte-lik"
#~ msgid "'async for' or 'async with' outside async function" #~ msgid "'async for' or 'async with' outside async function"
#~ msgstr "'async for' eller 'async with' utanför async-funktion" #~ msgstr "'async for' eller 'async with' utanför async-funktion"
#~ msgid "PulseIn not supported on this chip" #~ msgid "PulseOut not supported on this chip"
#~ msgstr "PulseIn stöds inte av detta chip" #~ msgstr "PulseIn stöds inte av detta chip"
#~ msgid "PulseOut not supported on this chip" #~ msgid "PulseIn not supported on this chip"
#~ msgstr "PulseIn stöds inte av detta chip" #~ msgstr "PulseIn stöds inte av detta chip"
#~ msgid "I2C operation not supported" #~ msgid "I2C operation not supported"

File diff suppressed because it is too large Load Diff

22
main.c
View File

@ -187,7 +187,7 @@ void stop_mp(void) {
// Look for the first file that exists in the list of filenames, using mp_import_stat(). // Look for the first file that exists in the list of filenames, using mp_import_stat().
// Return its index. If no file found, return -1. // Return its index. If no file found, return -1.
const char* first_existing_file_in_list(const char ** filenames) { const char* first_existing_file_in_list(const char * const * filenames) {
for (int i = 0; filenames[i] != (char*)""; i++) { for (int i = 0; filenames[i] != (char*)""; i++) {
mp_import_stat_t stat = mp_import_stat(filenames[i]); mp_import_stat_t stat = mp_import_stat(filenames[i]);
if (stat == MP_IMPORT_STAT_FILE) { if (stat == MP_IMPORT_STAT_FILE) {
@ -197,7 +197,7 @@ const char* first_existing_file_in_list(const char ** filenames) {
return NULL; return NULL;
} }
bool maybe_run_list(const char ** filenames, pyexec_result_t* exec_result) { bool maybe_run_list(const char * const * filenames, pyexec_result_t* exec_result) {
const char* filename = first_existing_file_in_list(filenames); const char* filename = first_existing_file_in_list(filenames);
if (filename == NULL) { if (filename == NULL) {
return false; return false;
@ -242,7 +242,8 @@ bool run_code_py(safe_mode_t safe_mode) {
if (autoreload_is_enabled()) { if (autoreload_is_enabled()) {
serial_write_compressed(translate("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n")); serial_write_compressed(translate("Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.\n"));
} else if (safe_mode != NO_SAFE_MODE) { } else if (safe_mode != NO_SAFE_MODE) {
serial_write_compressed(translate("Running in safe mode! Auto-reload is off.\n")); serial_write_compressed(translate("Running in safe mode! "));
serial_write_compressed(translate("Auto-reload is off.\n"));
} else if (!autoreload_is_enabled()) { } else if (!autoreload_is_enabled()) {
serial_write_compressed(translate("Auto-reload is off.\n")); serial_write_compressed(translate("Auto-reload is off.\n"));
} }
@ -258,25 +259,30 @@ bool run_code_py(safe_mode_t safe_mode) {
bool found_main = false; bool found_main = false;
if (safe_mode != NO_SAFE_MODE) { if (safe_mode != NO_SAFE_MODE) {
serial_write_compressed(translate("Running in safe mode! Not running saved code.\n")); serial_write_compressed(translate("Running in safe mode! "));
serial_write_compressed(translate("Not running saved code.\n"));
} else { } else {
new_status_color(MAIN_RUNNING); new_status_color(MAIN_RUNNING);
static const char *supported_filenames[] = STRING_LIST("code.txt", "code.py", "main.py", "main.txt"); static const char * const supported_filenames[] = STRING_LIST("code.txt", "code.py", "main.py", "main.txt");
static const char *double_extension_filenames[] = STRING_LIST("code.txt.py", "code.py.txt", "code.txt.txt","code.py.py", #if CIRCUITPY_FULL_BUILD
static const char * const double_extension_filenames[] = STRING_LIST("code.txt.py", "code.py.txt", "code.txt.txt","code.py.py",
"main.txt.py", "main.py.txt", "main.txt.txt","main.py.py"); "main.txt.py", "main.py.txt", "main.txt.txt","main.py.py");
#endif
stack_resize(); stack_resize();
filesystem_flush(); filesystem_flush();
supervisor_allocation* heap = allocate_remaining_memory(); supervisor_allocation* heap = allocate_remaining_memory();
start_mp(heap); start_mp(heap);
found_main = maybe_run_list(supported_filenames, &result); found_main = maybe_run_list(supported_filenames, &result);
#if CIRCUITPY_FULL_BUILD
if (!found_main){ if (!found_main){
found_main = maybe_run_list(double_extension_filenames, &result); found_main = maybe_run_list(double_extension_filenames, &result);
if (found_main) { if (found_main) {
serial_write_compressed(translate("WARNING: Your code filename has two extensions\n")); serial_write_compressed(translate("WARNING: Your code filename has two extensions\n"));
} }
} }
#endif
cleanup_after_vm(heap); cleanup_after_vm(heap);
if (result.return_code & PYEXEC_FORCED_EXIT) { if (result.return_code & PYEXEC_FORCED_EXIT) {
@ -284,7 +290,7 @@ bool run_code_py(safe_mode_t safe_mode) {
} }
} }
// Wait for connection or character. // Display a different completion message if the user has no USB attached (cannot save files)
if (!serial_connected_at_start) { if (!serial_connected_at_start) {
serial_write_compressed(translate("\nCode done running. Waiting for reload.\n")); serial_write_compressed(translate("\nCode done running. Waiting for reload.\n"));
} }
@ -345,7 +351,7 @@ void __attribute__ ((noinline)) run_boot_py(safe_mode_t safe_mode) {
// If not in safe mode, run boot before initing USB and capture output in a // If not in safe mode, run boot before initing USB and capture output in a
// file. // file.
if (filesystem_present() && safe_mode == NO_SAFE_MODE && MP_STATE_VM(vfs_mount_table) != NULL) { if (filesystem_present() && safe_mode == NO_SAFE_MODE && MP_STATE_VM(vfs_mount_table) != NULL) {
static const char *boot_py_filenames[] = STRING_LIST("settings.txt", "settings.py", "boot.py", "boot.txt"); static const char * const boot_py_filenames[] = STRING_LIST("settings.txt", "settings.py", "boot.py", "boot.txt");
new_status_color(BOOT_RUNNING); new_status_color(BOOT_RUNNING);

View File

@ -6,7 +6,6 @@ PROG=mpy-cross.static-raspbian
BUILD=build-static-raspbian BUILD=build-static-raspbian
STATIC_BUILD=1 STATIC_BUILD=1
$(shell if ! [ -d pitools ]; then echo 1>&2 "Fetching pi build tools. This may take awhile."; git clone -q https://github.com/raspberrypi/tools.git --depth=1 pitools; fi)
CROSS_COMPILE = pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- CROSS_COMPILE = pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
include mpy-cross.mk include mpy-cross.mk
$(shell [ -d pitools ] || git clone --progress --verbose https://github.com/raspberrypi/tools.git --depth=1 pitools)

View File

@ -82,4 +82,6 @@ endif
OBJ = $(PY_O) OBJ = $(PY_O)
OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
$(BUILD)/supervisor/shared/translate.o: $(HEADER_BUILD)/qstrdefs.generated.h
include $(TOP)/py/mkrules.mk include $(TOP)/py/mkrules.mk

View File

@ -361,7 +361,7 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
SRC_QSTR += $(HEADER_BUILD)/sdiodata.h SRC_QSTR += $(HEADER_BUILD)/sdiodata.h
$(HEADER_BUILD)/sdiodata.h: $(TOP)/tools/mksdiodata.py | $(HEADER_BUILD) $(HEADER_BUILD)/sdiodata.h: tools/mksdiodata.py | $(HEADER_BUILD)
$(Q)$(PYTHON3) $< > $@ $(Q)$(PYTHON3) $< > $@
SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED) SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED)

View File

@ -15,5 +15,5 @@ CIRCUITPY_BITBANGIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 50
SUPEROPT_GC = 0 SUPEROPT_GC = 0

View File

@ -16,3 +16,20 @@ CIRCUITPY_COUNTIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -13,9 +13,11 @@ EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C"
# Turn off features and optimizations for Crickit build to make room for additional frozen libs. # Turn off features and optimizations for Crickit build to make room for additional frozen libs.
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_PIXELBUF = 0 CIRCUITPY_PIXELBUF = 0
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
# So not all of displayio, sorry! # So not all of displayio, sorry!
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
@ -29,3 +31,18 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Thermistor FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Thermistor
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 15
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -13,8 +13,24 @@ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -10,4 +10,22 @@ INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
# A number of modules are removed for RFM9x to make room for frozen libraries.
# Many I/O functions are not available.
CIRCUITPY_ANALOGIO = 0
CIRCUITPY_PULSEIO = 0
CIRCUITPY_NEOPIXEL_WRITE = 1
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0
CIRCUITPY_SAMD = 0
CIRCUITPY_USB_MIDI = 0
CIRCUITPY_USB_HID = 0
CIRCUITPY_TOUCHIO = 0
CFLAGS_INLINE_LIMIT = 35
# Make more room.
SUPEROPT_GC = 0 SUPEROPT_GC = 0
# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x

View File

@ -13,9 +13,25 @@ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
# supersized, not ultra-supersized # supersized, not ultra-supersized
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -15,6 +15,25 @@ LONGINT_IMPL = MPZ
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
# No DAC on SAMR21G # No DAC on SAMR21G
CIRCUITPY_AUDIOIO = 0 CIRCUITPY_AUDIOIO = 0
CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_RTC = 0
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0
# Too much flash for Korean translations SUPEROPT_GC = 0
CIRCUITPY_VECTORIO = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -9,11 +9,12 @@ CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1 SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 2 EXTERNAL_FLASH_DEVICE_COUNT = 2
EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ, GD25Q64C" EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ, GD25Q64C"
LONGINT_IMPL = MPZ LONGINT_IMPL = NONE
# To keep the build small # To keep the build small
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_GAMEPAD = 0 CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
@ -29,3 +30,18 @@ SUPEROPT_GC = 0
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -13,7 +13,10 @@ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANG_APA102 = 1 CIRCUITPY_BITBANG_APA102 = 1
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_GAMEPAD = 0 CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
@ -22,3 +25,18 @@ CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -12,8 +12,24 @@ EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C"
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -0,0 +1,37 @@
/*
* 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 "boards/board.h"
void board_init(void) {
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,42 @@
#define MICROPY_HW_BOARD_NAME "PicoPlanet"
#define MICROPY_HW_MCU_NAME "samd21e18"
#define MICROPY_PORT_A (PORT_PA00 | PORT_PA01)
#define MICROPY_PORT_B (0)
#define MICROPY_PORT_C (0)
#define IGNORE_PIN_PA00 1
#define IGNORE_PIN_PA01 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_PA18 1
#define IGNORE_PIN_PA19 1
#define IGNORE_PIN_PA20 1
#define IGNORE_PIN_PA21 1
#define IGNORE_PIN_PA22 1
#define IGNORE_PIN_PA23 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_PA31 1
#define DEFAULT_I2C_BUS_SCL (&pin_PA09)
#define DEFAULT_I2C_BUS_SDA (&pin_PA08)
#define DEFAULT_SPI_BUS_MISO (&pin_PA30)
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
//#define CP_RGB_STATUS_R (&pin_PA06)
//#define CP_RGB_STATUS_G (&pin_PA05)
//#define CP_RGB_STATUS_B (&pin_PA07)
//#define CP_RGB_STATUS_INVERTED_PWM
//#define CP_RGB_STATUS_LED
#define MICROPY_HW_LED_STATUS (&pin_PA06)

View File

@ -0,0 +1,24 @@
USB_VID = 0x239A
USB_PID = 0x80C2
USB_PRODUCT = "PicoPlanet"
USB_MANUFACTURER = "bleeptrack"
CHIP_VARIANT = SAMD21E18A
CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0
SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -0,0 +1,32 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_D5),MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_D6),MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D7),MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA30) },
{ 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_global_dict_table);

View File

@ -14,3 +14,20 @@ LONGINT_IMPL = NONE
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_GAMEPAD = 0 CIRCUITPY_GAMEPAD = 0
SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -17,4 +17,20 @@ CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -12,8 +12,25 @@ EXTERNAL_FLASH_DEVICES = "W25Q32FV"
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -14,6 +14,7 @@ LONGINT_IMPL = MPZ
CIRCUITPY_BITBANG_APA102 = 1 CIRCUITPY_BITBANG_APA102 = 1
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_GAMEPAD = 0 CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
@ -22,3 +23,18 @@ CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -11,6 +11,7 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = W25Q32BV EXTERNAL_FLASH_DEVICES = W25Q32BV
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_BITBANGIO = 0 CIRCUITPY_BITBANGIO = 0
CIRCUITPY_COUNTIO = 0 CIRCUITPY_COUNTIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
@ -18,3 +19,18 @@ CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0 CIRCUITPY_I2CPERIPHERAL = 0
SUPEROPT_GC = 0 SUPEROPT_GC = 0
CFLAGS_BOARD = --param max-inline-insns-auto=15
ifeq ($(TRANSLATION), zh_Latn_pinyin)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
endif
ifeq ($(TRANSLATION), de_DE)
RELEASE_NEEDS_CLEAN_BUILD = 1
CFLAGS_INLINE_LIMIT = 35
SUPEROPT_VM = 0
endif

View File

@ -298,7 +298,7 @@ void common_hal_pulseio_pulsein_clear(pulseio_pulsein_obj_t* self) {
uint16_t common_hal_pulseio_pulsein_popleft(pulseio_pulsein_obj_t* self) { uint16_t common_hal_pulseio_pulsein_popleft(pulseio_pulsein_obj_t* self) {
if (self->len == 0) { if (self->len == 0) {
mp_raise_IndexError(translate("pop from an empty PulseIn")); mp_raise_IndexError_varg(translate("pop from empty %q"), MP_QSTR_PulseIn);
} }
common_hal_mcu_disable_interrupts(); common_hal_mcu_disable_interrupts();
uint16_t value = self->buffer[self->start]; uint16_t value = self->buffer[self->start];
@ -330,7 +330,7 @@ uint16_t common_hal_pulseio_pulsein_get_item(pulseio_pulsein_obj_t* self,
} }
if (index < 0 || index >= self->len) { if (index < 0 || index >= self->len) {
common_hal_mcu_enable_interrupts(); common_hal_mcu_enable_interrupts();
mp_raise_IndexError(translate("index out of range")); mp_raise_IndexError_varg(translate("%q index out of range"), MP_QSTR_PulseIn);
} }
uint16_t value = self->buffer[(self->start + index) % self->maxlen]; uint16_t value = self->buffer[(self->start + index) % self->maxlen];
common_hal_mcu_enable_interrupts(); common_hal_mcu_enable_interrupts();

View File

@ -68,7 +68,11 @@ int common_hal_rtc_get_calibration(void) {
void common_hal_rtc_set_calibration(int calibration) { void common_hal_rtc_set_calibration(int calibration) {
if (calibration > 127 || calibration < -127) { if (calibration > 127 || calibration < -127) {
#if CIRCUITPY_FULL_BUILD
mp_raise_ValueError(translate("calibration value out of range +/-127")); mp_raise_ValueError(translate("calibration value out of range +/-127"));
#else
mp_raise_ValueError(translate("calibration is out of range"));
#endif
} }
hri_rtcmode0_write_FREQCORR_SIGN_bit(RTC, calibration < 0 ? 0 : 1); hri_rtcmode0_write_FREQCORR_SIGN_bit(RTC, calibration < 0 ? 0 : 1);

View File

@ -39,11 +39,24 @@ endif
CIRCUITPY_SDCARDIO ?= 0 CIRCUITPY_SDCARDIO ?= 0
# Not enough RAM for framebuffers
CIRCUITPY_FRAMEBUFFERIO ?= 0
# SAMD21 needs separate endpoint pairs for MSC BULK IN and BULK OUT, otherwise it's erratic. # SAMD21 needs separate endpoint pairs for MSC BULK IN and BULK OUT, otherwise it's erratic.
USB_MSC_EP_NUM_OUT = 1 USB_MSC_EP_NUM_OUT = 1
CIRCUITPY_ULAB = 0 CIRCUITPY_ULAB = 0
ifeq ($(TRANSLATION), ja)
RELEASE_NEEDS_CLEAN_BUILD = 1
CIRCUITPY_TERMINALIO = 0
endif
ifeq ($(TRANSLATION), ko)
RELEASE_NEEDS_CLEAN_BUILD = 1
CIRCUITPY_TERMINALIO = 0
endif
endif # samd21 endif # samd21
# Put samd51-only choices here. # Put samd51-only choices here.

View File

@ -160,7 +160,7 @@ void common_hal_pulseio_pulsein_clear(pulseio_pulsein_obj_t *self) {
uint16_t common_hal_pulseio_pulsein_popleft(pulseio_pulsein_obj_t *self) { uint16_t common_hal_pulseio_pulsein_popleft(pulseio_pulsein_obj_t *self) {
if (self->len == 0) { if (self->len == 0) {
mp_raise_IndexError(translate("pop from an empty PulseIn")); mp_raise_IndexError_varg(translate("pop from empty %q"), MP_QSTR_PulseIn);
} }
common_hal_mcu_disable_interrupts(); common_hal_mcu_disable_interrupts();
uint16_t value = self->buffer[self->start]; uint16_t value = self->buffer[self->start];
@ -190,7 +190,7 @@ uint16_t common_hal_pulseio_pulsein_get_item(pulseio_pulsein_obj_t *self, int16_
} }
if (index < 0 || index >= self->len) { if (index < 0 || index >= self->len) {
common_hal_mcu_enable_interrupts(); common_hal_mcu_enable_interrupts();
mp_raise_IndexError(translate("index out of range")); mp_raise_IndexError_varg(translate("%q index out of range"), MP_QSTR_PulseIn);
} }
uint16_t value = self->buffer[(self->start + index) % self->maxlen]; uint16_t value = self->buffer[(self->start + index) % self->maxlen];
common_hal_mcu_enable_interrupts(); common_hal_mcu_enable_interrupts();

View File

@ -171,6 +171,7 @@ SRC_C += \
lib/utils/stdout_helpers.c \ lib/utils/stdout_helpers.c \
lib/utils/sys_stdio_mphal.c \ lib/utils/sys_stdio_mphal.c \
peripherals/pins.c \ peripherals/pins.c \
peripherals/rmt.c \
supervisor/shared/memory.c supervisor/shared/memory.c
ifneq ($(USB),FALSE) ifneq ($(USB),FALSE)

View File

@ -29,4 +29,6 @@
#define MICROPY_HW_BOARD_NAME "Saola 1 w/Wroom" #define MICROPY_HW_BOARD_NAME "Saola 1 w/Wroom"
#define MICROPY_HW_MCU_NAME "ESP32S2" #define MICROPY_HW_MCU_NAME "ESP32S2"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
#define AUTORESET_DELAY_MS 500 #define AUTORESET_DELAY_MS 500

View File

@ -10,8 +10,6 @@ LONGINT_IMPL = MPZ
# so increase it to 32. # so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32 CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_ESP_FLASH_MODE=dio CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB

View File

@ -42,5 +42,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, { MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) }, { MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -29,4 +29,6 @@
#define MICROPY_HW_BOARD_NAME "Saola 1 w/Wrover" #define MICROPY_HW_BOARD_NAME "Saola 1 w/Wrover"
#define MICROPY_HW_MCU_NAME "ESP32S2" #define MICROPY_HW_MCU_NAME "ESP32S2"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
#define AUTORESET_DELAY_MS 500 #define AUTORESET_DELAY_MS 500

View File

@ -10,8 +10,6 @@ LONGINT_IMPL = MPZ
# so increase it to 32. # so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32 CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_ESP_FLASH_MODE=dio CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB

View File

@ -42,5 +42,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, { MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) }, { MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -4,7 +4,6 @@ USB_PRODUCT = "FeatherS2"
USB_MANUFACTURER = "UnexpectedMaker" USB_MANUFACTURER = "UnexpectedMaker"
USB_DEVICES = "CDC,MSC,HID" USB_DEVICES = "CDC,MSC,HID"
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
@ -12,8 +11,6 @@ LONGINT_IMPL = MPZ
# so increase it to 32. # so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32 CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_ESP_FLASH_MODE=qio CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=40m CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=16MB CIRCUITPY_ESP_FLASH_SIZE=16MB

View File

@ -26,12 +26,18 @@
*/ */
#include "shared-bindings/microcontroller/Pin.h" #include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "supervisor/shared/rgb_led_status.h"
#include "py/mphal.h" #include "py/mphal.h"
#include "esp-idf/components/driver/include/driver/gpio.h" #include "esp-idf/components/driver/include/driver/gpio.h"
#include "esp-idf/components/soc/include/hal/gpio_hal.h" #include "esp-idf/components/soc/include/hal/gpio_hal.h"
#ifdef MICROPY_HW_NEOPIXEL
bool neopixel_in_use;
#endif
STATIC uint32_t never_reset_pins[2]; STATIC uint32_t never_reset_pins[2];
STATIC uint32_t in_use[2]; STATIC uint32_t in_use[2];
@ -50,6 +56,14 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
void reset_pin_number(gpio_num_t pin_number) { void reset_pin_number(gpio_num_t pin_number) {
never_reset_pins[pin_number / 32] &= ~(1 << pin_number % 32); never_reset_pins[pin_number / 32] &= ~(1 << pin_number % 32);
in_use[pin_number / 32] &= ~(1 << pin_number % 32); in_use[pin_number / 32] &= ~(1 << pin_number % 32);
#ifdef MICROPY_HW_NEOPIXEL
if (pin_number == MICROPY_HW_NEOPIXEL->number) {
neopixel_in_use = false;
rgb_led_status_init();
return;
}
#endif
} }
void common_hal_reset_pin(const mcu_pin_obj_t* pin) { void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
@ -69,13 +83,32 @@ void reset_all_pins(void) {
} }
in_use[0] = 0; in_use[0] = 0;
in_use[1] = 0; in_use[1] = 0;
#ifdef MICROPY_HW_NEOPIXEL
neopixel_in_use = false;
#endif
} }
void claim_pin(const mcu_pin_obj_t* pin) { void claim_pin(const mcu_pin_obj_t* pin) {
in_use[pin->number / 32] |= (1 << pin->number % 32); in_use[pin->number / 32] |= (1 << pin->number % 32);
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
neopixel_in_use = true;
}
#endif
}
void common_hal_mcu_pin_claim(const mcu_pin_obj_t* pin) {
claim_pin(pin);
} }
bool pin_number_is_free(gpio_num_t pin_number) { bool pin_number_is_free(gpio_num_t pin_number) {
#ifdef MICROPY_HW_NEOPIXEL
if (pin_number == MICROPY_HW_NEOPIXEL->number) {
return !neopixel_in_use;
}
#endif
uint8_t offset = pin_number / 32; uint8_t offset = pin_number / 32;
uint8_t mask = 1 << pin_number % 32; uint8_t mask = 1 << pin_number % 32;
return (never_reset_pins[offset] & mask) == 0 && (in_use[offset] & mask) == 0; return (never_reset_pins[offset] & mask) == 0 && (in_use[offset] & mask) == 0;

View File

@ -34,6 +34,10 @@
extern bool apa102_mosi_in_use; extern bool apa102_mosi_in_use;
extern bool apa102_sck_in_use; extern bool apa102_sck_in_use;
#ifdef MICROPY_HW_NEOPIXEL
extern bool neopixel_in_use;
#endif
void reset_all_pins(void); void reset_all_pins(void);
// reset_pin_number takes the pin number instead of the pointer so that objects don't // reset_pin_number takes the pin number instead of the pointer so that objects don't
// need to store a full pointer. // need to store a full pointer.

View File

@ -3,7 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2018 hathach for Adafruit Industries * Copyright (c) 2020 Lucian Copeland for Adafruit Industries
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@ -24,10 +24,102 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
/* Uses code from Espressif RGB LED Strip demo and drivers
* Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "py/mphal.h" #include "py/mphal.h"
#include "py/runtime.h"
#include "shared-bindings/neopixel_write/__init__.h" #include "shared-bindings/neopixel_write/__init__.h"
#include "driver/rmt.h"
#include "rmt.h"
#define WS2812_T0H_NS (350)
#define WS2812_T0L_NS (1000)
#define WS2812_T1H_NS (1000)
#define WS2812_T1L_NS (350)
#define WS2812_RESET_US (280)
static uint32_t ws2812_t0h_ticks = 0;
static uint32_t ws2812_t1h_ticks = 0;
static uint32_t ws2812_t0l_ticks = 0;
static uint32_t ws2812_t1l_ticks = 0;
static void IRAM_ATTR ws2812_rmt_adapter(const void *src, rmt_item32_t *dest, size_t src_size,
size_t wanted_num, size_t *translated_size, size_t *item_num)
{
if (src == NULL || dest == NULL) {
*translated_size = 0;
*item_num = 0;
return;
}
const rmt_item32_t bit0 = {{{ ws2812_t0h_ticks, 1, ws2812_t0l_ticks, 0 }}}; //Logical 0
const rmt_item32_t bit1 = {{{ ws2812_t1h_ticks, 1, ws2812_t1l_ticks, 0 }}}; //Logical 1
size_t size = 0;
size_t num = 0;
uint8_t *psrc = (uint8_t *)src;
rmt_item32_t *pdest = dest;
while (size < src_size && num < wanted_num) {
for (int i = 0; i < 8; i++) {
// MSB first
if (*psrc & (1 << (7 - i))) {
pdest->val = bit1.val;
} else {
pdest->val = bit0.val;
}
num++;
pdest++;
}
size++;
psrc++;
}
*translated_size = size;
*item_num = num;
}
void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels, uint32_t numBytes) { void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels, uint32_t numBytes) {
(void)digitalinout; // Reserve channel
(void)numBytes; uint8_t number = digitalinout->pin->number;
rmt_channel_t channel = esp32s2_peripherals_find_and_reserve_rmt();
// Configure Channel
rmt_config_t config = RMT_DEFAULT_CONFIG_TX(number, channel);
config.clk_div = 2; // set counter clock to 40MHz
rmt_config(&config);
rmt_driver_install(config.channel, 0, 0);
// Convert NS timings to ticks
uint32_t counter_clk_hz = 0;
if (rmt_get_counter_clock(config.channel, &counter_clk_hz) != ESP_OK) {
mp_raise_RuntimeError(translate("Could not retrieve clock"));
}
float ratio = (float)counter_clk_hz / 1e9;
ws2812_t0h_ticks = (uint32_t)(ratio * WS2812_T0H_NS);
ws2812_t0l_ticks = (uint32_t)(ratio * WS2812_T0L_NS);
ws2812_t1h_ticks = (uint32_t)(ratio * WS2812_T1H_NS);
ws2812_t1l_ticks = (uint32_t)(ratio * WS2812_T1L_NS);
// Initialize automatic timing translator
rmt_translator_init(config.channel, ws2812_rmt_adapter);
// Write and wait to finish
if(rmt_write_sample(config.channel, pixels, (size_t)numBytes, true) != ESP_OK) {
mp_raise_RuntimeError(translate("Input/output error"));
}
rmt_wait_tx_done(config.channel, pdMS_TO_TICKS(100));
// Free channel again
esp32s2_peripherals_free_rmt(config.channel);
} }

View File

@ -3,8 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries * Copyright (c) 2020 Lucian Copeland for Adafruit Industries
* Uses code from Micropython, Copyright (c) 2013-2016 Damien P. George
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@ -33,6 +32,7 @@
#define INDEX_EMPTY 0xFF #define INDEX_EMPTY 0xFF
STATIC bool not_first_reset = false;
STATIC uint32_t reserved_timer_freq[LEDC_TIMER_MAX]; STATIC uint32_t reserved_timer_freq[LEDC_TIMER_MAX];
STATIC uint8_t reserved_channels[LEDC_CHANNEL_MAX]; STATIC uint8_t reserved_channels[LEDC_CHANNEL_MAX];
STATIC bool never_reset_tim[LEDC_TIMER_MAX]; STATIC bool never_reset_tim[LEDC_TIMER_MAX];
@ -40,17 +40,22 @@ STATIC bool never_reset_chan[LEDC_CHANNEL_MAX];
void pwmout_reset(void) { void pwmout_reset(void) {
for (size_t i = 0; i < LEDC_CHANNEL_MAX; i++ ) { for (size_t i = 0; i < LEDC_CHANNEL_MAX; i++ ) {
ledc_stop(LEDC_LOW_SPEED_MODE, i, 0); if (reserved_channels[i] != INDEX_EMPTY && not_first_reset) {
ledc_stop(LEDC_LOW_SPEED_MODE, i, 0);
}
if (!never_reset_chan[i]) { if (!never_reset_chan[i]) {
reserved_channels[i] = INDEX_EMPTY; reserved_channels[i] = INDEX_EMPTY;
} }
} }
for (size_t i = 0; i < LEDC_TIMER_MAX; i++ ) { for (size_t i = 0; i < LEDC_TIMER_MAX; i++ ) {
ledc_timer_rst(LEDC_LOW_SPEED_MODE, i); if (reserved_timer_freq[i]) {
ledc_timer_rst(LEDC_LOW_SPEED_MODE, i);
}
if (!never_reset_tim[i]) { if (!never_reset_tim[i]) {
reserved_timer_freq[i] = 0; reserved_timer_freq[i] = 0;
} }
} }
not_first_reset = true;
} }
pwmout_result_t common_hal_pulseio_pwmout_construct(pulseio_pwmout_obj_t* self, pwmout_result_t common_hal_pulseio_pwmout_construct(pulseio_pwmout_obj_t* self,
@ -158,7 +163,10 @@ void common_hal_pulseio_pwmout_deinit(pulseio_pwmout_obj_t* self) {
if (common_hal_pulseio_pwmout_deinited(self)) { if (common_hal_pulseio_pwmout_deinited(self)) {
return; return;
} }
ledc_stop(LEDC_LOW_SPEED_MODE, self->chan_handle.channel, 0);
if (reserved_channels[self->chan_handle.channel] != INDEX_EMPTY) {
ledc_stop(LEDC_LOW_SPEED_MODE, self->chan_handle.channel, 0);
}
// Search if any other channel is using the timer // Search if any other channel is using the timer
bool taken = false; bool taken = false;
for (size_t i =0; i < LEDC_CHANNEL_MAX; i++) { for (size_t i =0; i < LEDC_CHANNEL_MAX; i++) {
@ -168,7 +176,9 @@ void common_hal_pulseio_pwmout_deinit(pulseio_pwmout_obj_t* self) {
} }
// Variable frequency means there's only one channel on the timer // Variable frequency means there's only one channel on the timer
if (!taken || self->variable_frequency) { if (!taken || self->variable_frequency) {
ledc_timer_rst(LEDC_LOW_SPEED_MODE, self->tim_handle.timer_num); if (reserved_timer_freq[self->tim_handle.timer_num] != 0) {
ledc_timer_rst(LEDC_LOW_SPEED_MODE, self->tim_handle.timer_num);
}
reserved_timer_freq[self->tim_handle.timer_num] = 0; reserved_timer_freq[self->tim_handle.timer_num] = 0;
} }
reset_pin_number(self->pin_number); reset_pin_number(self->pin_number);

View File

@ -12,26 +12,21 @@ USB_SERIAL_NUMBER_LENGTH = 12
# Longints can be implemented as mpz, as longlong, or not # Longints can be implemented as mpz, as longlong, or not
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
CIRCUITPY_FULL_BUILD = 0 # These modules are implemented in ports/<port>/common-hal:
CIRCUITPY_ANALOGIO = 0 CIRCUITPY_ANALOGIO = 0
CIRCUITPY_NVM = 0
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0 CIRCUITPY_AUDIOIO = 0
CIRCUITPY_BITBANGIO = 1
CIRCUITPY_BOARD = 1
CIRCUITPY_DIGITALIO = 1
CIRCUITPY_BUSIO = 1
CIRCUITPY_DISPLAYIO = 1
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_MICROCONTROLLER = 1
CIRCUITPY_NVM = 0
CIRCUITPY_PULSEIO = 1
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_TOUCHIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_COUNTIO = 0
# Enable USB HID support # These modules are implemented in shared-module/ - they can be included in
CIRCUITPY_USB_HID = 1 # any port once their prerequisites in common-hal are complete.
CIRCUITPY_USB_MIDI = 0 CIRCUITPY_RANDOM = 0 # Requires OS
CIRCUITPY_USB_MIDI = 0 # Requires USB
CIRCUITPY_ULAB = 0 # No requirements, but takes extra flash
CIRCUITPY_MODULE ?= none CIRCUITPY_MODULE ?= none

View File

@ -0,0 +1,46 @@
/*
* This file is part of the Micro Python project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Lucian Copeland 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 "rmt.h"
#include "py/runtime.h"
bool rmt_reserved_channels[RMT_CHANNEL_MAX];
rmt_channel_t esp32s2_peripherals_find_and_reserve_rmt(void) {
for (size_t i = 0; i < RMT_CHANNEL_MAX; i++) {
if (!rmt_reserved_channels[i]) {
rmt_reserved_channels[i] = true;
return i;
}
}
mp_raise_RuntimeError(translate("All timers in use"));
return false;
}
void esp32s2_peripherals_free_rmt(rmt_channel_t chan) {
rmt_reserved_channels[chan] = false;
rmt_driver_uninstall(chan);
}

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