Merge remote-tracking branch 'upstream/main' into nrf52-sleep

This commit is contained in:
Lucian Copeland 2021-04-09 13:48:45 -04:00
commit 15764b4c24
2028 changed files with 42162 additions and 31017 deletions

View File

@ -52,5 +52,3 @@ TimeoutError: Clock stretch too long
<!-- Optionally, add any other information like hardware connection, scope output etc.
If you have already done some debugging, mention it here. -->
Removing [this](url) line resolves the issue.

View File

@ -38,13 +38,11 @@ jobs:
sudo apt-get update
sudo apt-get install -y eatmydata
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 mypy
pip install -r requirements-dev.txt
- name: Versions
run: |
gcc --version
python3 --version
- name: Translations
run: make check-translate
- name: New boards check
run: python3 -u ci_new_boards_check.py
working-directory: tools
@ -134,15 +132,6 @@ jobs:
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Install dependencies
run: |
brew install gettext
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
- name: Versions
run: |
gcc --version
python3 --version
msgfmt --version
- uses: actions/checkout@v2.2.0
with:
submodules: true
@ -152,6 +141,15 @@ jobs:
run: |
git describe --dirty --tags
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
- name: Install dependencies
run: |
brew install gettext
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
- name: Versions
run: |
gcc --version
python3 --version
msgfmt --version
- name: Build mpy-cross
run: make -C mpy-cross -j2
- uses: actions/upload-artifact@v2
@ -179,6 +177,8 @@ jobs:
- "ADM_B_NRF52840_1"
- "TG-Watch"
- "adafruit_feather_rp2040"
- "adafruit_itsybitsy_rp2040"
- "adafruit_qtpy_rp2040"
- "aloriumtech_evo_m51"
- "aramcon_badge_2019"
- "arduino_mkr1300"
@ -190,6 +190,7 @@ jobs:
- "bastble"
- "bdmicro_vina_d21"
- "bdmicro_vina_d51"
- "bdmicro_vina_d51_pcb7"
- "bless_dev_board_multi_sensor"
- "blm_badge"
- "capablerobot_usbhub"
@ -239,6 +240,7 @@ jobs:
- "hallowing_m0_express"
- "hallowing_m4_express"
- "hiibot_bluefi"
- "huntercat_nfc"
- "ikigaisense_vita"
- "imxrt1010_evk"
- "imxrt1020_evk"
@ -300,10 +302,10 @@ jobs:
- "pyruler"
- "qtpy_m0"
- "qtpy_m0_haxpress"
- "qtpy_rp2040"
- "raspberry_pi_pico"
- "raytac_mdbt50q-db-40"
- "robohatmm1_m4"
- "rotary_trinkey_m0"
- "sam32"
- "same54_xplained"
- "seeeduino_wio_terminal"
@ -314,13 +316,16 @@ jobs:
- "simmel"
- "snekboard"
- "sparkfun_lumidrive"
- "sparkfun_nrf52840_micromod"
- "sparkfun_nrf52840_mini"
- "sparkfun_pro_micro_rp2040"
- "sparkfun_qwiic_micro_no_flash"
- "sparkfun_qwiic_micro_with_flash"
- "sparkfun_redboard_turbo"
- "sparkfun_samd21_dev"
- "sparkfun_samd21_mini"
- "sparkfun_samd51_thing_plus"
- "sparkfun_thing_plus_rp2040"
- "spresense"
- "stackrduino_m0_pro"
- "stm32f411ce_blackpill"
@ -352,10 +357,15 @@ jobs:
uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: Install deps
run: |
sudo apt-get install -y gettext
pip install requests sh click setuptools awscli
pip install -r requirements-dev.txt
wget --no-verbose https://adafruit-circuit-python.s3.amazonaws.com/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
sudo tar -C /usr --strip-components=1 -xaf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
- name: Versions
@ -363,11 +373,6 @@ jobs:
gcc --version
arm-none-eabi-gcc --version
python3 --version
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: mpy-cross
run: make -C mpy-cross -j2
- name: build
@ -401,6 +406,11 @@ jobs:
uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: Install deps
run: |
sudo apt-get install -y gettext
@ -412,11 +422,6 @@ jobs:
gcc --version
riscv64-unknown-elf-gcc --version
python3 --version
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: mpy-cross
run: make -C mpy-cross -j2
- name: build
@ -444,12 +449,16 @@ jobs:
board:
- "adafruit_feather_esp32s2_nopsram"
- "adafruit_feather_esp32s2_tftback_nopsram"
- "adafruit_funhouse"
- "adafruit_magtag_2.9_grayscale"
- "adafruit_metro_esp32s2"
- "artisense_rd00"
- "electroniccats_bastwifi"
- "espressif_kaluga_1"
- "espressif_saola_1_wroom"
- "espressif_saola_1_wrover"
- "franzininho_wifi_wroom"
- "franzininho_wifi_wrover"
- "lilygo_ttgo_t8_s2_st7789"
- "microdev_micro_s2"
- "muselab_nanoesp32_s2"
@ -494,7 +503,7 @@ jobs:
- name: Install CircuitPython deps
run: |
source $IDF_PATH/export.sh
pip install requests sh click setuptools awscli
pip install -r requirements-dev.txt
sudo apt-get install -y gettext ninja-build
env:
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf

View File

@ -16,21 +16,21 @@ jobs:
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install deps
run: |
pip install requests sh click
pip install -r requirements-dev.txt
- name: Versions
run: |
gcc --version
python3 --version
- uses: actions/checkout@v2.2.0
with:
submodules: true
fetch-depth: 0
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
- name: CircuitPython version
run: git describe --dirty --tags

View File

@ -7,7 +7,6 @@ name: pre-commit
on:
pull_request:
push:
branches: [main]
jobs:
pre-commit:
@ -16,10 +15,13 @@ jobs:
- uses: actions/checkout@v1
- uses: actions/setup-python@v1
- name: Install deps
run: sudo apt-get update && sudo apt-get install -y gettext
run: |
sudo apt-add-repository -y -u ppa:pybricks/ppa
sudo apt-get install -y black gettext uncrustify
pip3 install -r requirements-dev.txt
- name: Populate selected submodules
run: git submodule update --init extmod/ulab
- name: set PY
- name: Set PY
run: echo >>$GITHUB_ENV PY="$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')"
- uses: actions/cache@v2
with:

3
.gitignore vendored
View File

@ -86,3 +86,6 @@ TAGS
####################
.venv
.env
# Uncrustify formatting
*.uncrustify

6
.gitmodules vendored
View File

@ -173,4 +173,8 @@
url = https://github.com/adafruit/Adafruit_CircuitPython_LC709203F
[submodule "ports/raspberrypi/sdk"]
path = ports/raspberrypi/sdk
url = https://github.com/raspberrypi/pico-sdk.git
url = https://github.com/adafruit/pico-sdk.git
[submodule "data/nvm.toml"]
path = data/nvm.toml
url = https://github.com/adafruit/nvm.toml.git
branch = main

View File

@ -11,3 +11,16 @@ repos:
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|ports/esp32s2/esp-idf-config/.*|ports/esp32s2/boards/.*/sdkconfig)'
- id: trailing-whitespace
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*)'
- repo: local
hooks:
- id: translations
name: Translations
entry: sh -c "if ! make check-translate; then make translate; fi"
types: [c]
pass_filenames: false
language: system
- id: formatting
name: Formatting
entry: python3 tools/codeformat.py
types_or: [c, python]
language: system

View File

@ -85,3 +85,23 @@ Example:
If your port/build includes `arm-none-eabi-gdb-py`, consider using it instead, as it can be used for better register
debugging with https://github.com/bnahill/PyCortexMDebug
# Code Quality Checks
We apply code quality checks using pre-commit. Install pre-commit once per system with
python3 -mpip install pre-commit
Activate it once per git clone with
pre-commit --install
Pre-commit also requires some additional programs to be installed through your package manager:
* Standard Unix tools such as make, find, etc
* The gettext package, any modern version
* uncrustify version 0.71 (0.72 is also tested)
Each time you create a git commit, the pre-commit quality checks will be run. You can also run them e.g., with `pre-commit run foo.c` or `pre-commit run --all` to run on all files whether modified or not.
Some pre-commit quality checks require your active attention to resolve, others (such as the formatting checks of uncrustify) are made automatically and must simply be incorporated into your code changes by committing them.

View File

@ -51,6 +51,10 @@ Specifically useful documentation when starting out:
- `CircuitPython Essentials <https://learn.adafruit.com/circuitpython-essentials>`__
- `Example Code <https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/master/CircuitPython_Essentials>`__
Code Search
------------
GitHub doesn't currently support code search on forks. Therefore, CircuitPython doesn't have code search through GitHub because it is a fork of MicroPython. Luckily, `SourceGraph <https://sourcegraph.com/github.com/adafruit/circuitpython>`_ has free code search for public repos like CircuitPython. So, visit `sourcegraph.com/github.com/adafruit/circuitpython <https://sourcegraph.com/github.com/adafruit/circuitpython>`_ to search the CircuitPython codebase online.
Contributing
------------
@ -113,10 +117,9 @@ Behavior
- ``code.py`` (or ``main.py``) is run after every reload until it
finishes or is interrupted. After it is done running, the vm and
hardware is reinitialized. **This means you cannot read state from**
``code.py`` **in the REPL anymore.** CircuitPython's goal for this
``code.py`` **in the REPL anymore, as the REPL is a fresh vm.** CircuitPython's goal for this
change includes reducing confusion about pins and memory being used.
- After ``code.py`` the REPL can be entered by pressing any key. It no
longer shares state with ``code.py`` so it is a fresh vm.
- After the main code is finished the REPL can be entered by pressing any key.
- Autoreload state will be maintained across reload.
- Adds a safe mode that does not run user code after a hard crash or
brown out. The hope is that this will make it easier to fix code that
@ -126,8 +129,7 @@ Behavior
- RGB status LED indicating CircuitPython state, and errors through a sequence of colored flashes.
- Re-runs ``code.py`` or other main file after file system writes over USB mass storage. (Disable with
``supervisor.disable_autoreload()``)
- Entering the REPL after the main code is finished requires a key press which enters the REPL and
disables autoreload.
- Autoreload is disabled while the REPL is active.
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
``main.txt``
- Boot is one of these: ``settings.txt``, ``settings.py``, ``boot.py``,
@ -209,6 +211,7 @@ esp32s2 beta
litex alpha
mimxrt10xx alpha
nrf stable
raspberrypi beta
stm ``F4`` stable | ``others`` beta
unix alpha
================ ============================================================

View File

@ -154,6 +154,7 @@ exclude_patterns = ["**/build*",
".env",
".venv",
".direnv",
"data",
"docs/autoapi",
"docs/README.md",
"drivers",
@ -283,7 +284,7 @@ html_static_path = ['docs/static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
html_extra_path = ["docs/robots.txt"]
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.

1
data/nvm.toml Submodule

@ -0,0 +1 @@
Subproject commit 9b4a5241d8c3310b31a7925a4f2160743890a2e4

View File

@ -51,7 +51,7 @@
#define MSEC_TO_UNITS(TIME, RESOLUTION) (((TIME) * 1000) / (RESOLUTION))
#define SEC_TO_UNITS(TIME, RESOLUTION) (((TIME) * 1000000) / (RESOLUTION))
#define UNITS_TO_SEC(TIME, RESOLUTION) (((TIME) * (RESOLUTION)) / 1000000)
#define UNITS_TO_SEC(TIME, RESOLUTION) (((TIME)*(RESOLUTION)) / 1000000)
// 0.625 msecs (625 usecs)
#define ADV_INTERVAL_UNIT_FLOAT_SECS (0.000625)
// Microseconds is the base unit. The macros above know that.
@ -63,7 +63,7 @@
// TODO make this settable from Python.
#define DEFAULT_TX_POWER 0 // 0 dBm
#define MAX_ANONYMOUS_ADV_TIMEOUT_SECS (60*15)
#define MAX_ANONYMOUS_ADV_TIMEOUT_SECS (60 * 15)
#define MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS (180)
#define BLE_MIN_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_0_625_MS)
@ -289,7 +289,7 @@ STATIC void bleio_adapter_hci_init(bleio_adapter_obj_t *self) {
// Get version information.
if (hci_read_local_version(&self->hci_version, &self->hci_revision, &self->lmp_version,
&self->manufacturer, &self->lmp_subversion) != HCI_OK) {
&self->manufacturer, &self->lmp_subversion) != HCI_OK) {
mp_raise_bleio_BluetoothError(translate("Could not read HCI version"));
}
// Get supported features.
@ -414,11 +414,11 @@ bool common_hal_bleio_adapter_set_address(bleio_adapter_obj_t *self, bleio_addre
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;
}
void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char* name) {
void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char *name) {
self->name = mp_obj_new_str(name, strlen(name));
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(self->name, &bufinfo, MP_BUFFER_READ);
@ -459,7 +459,7 @@ void common_hal_bleio_adapter_set_name(bleio_adapter_obj_t *self, const char* na
// return true;
// }
mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t* prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active) {
mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t *prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active) {
// TODO
mp_raise_NotImplementedError(NULL);
check_enabled(self);
@ -704,7 +704,7 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
uint8_t handle[1] = { 0 };
uint16_t duration_10msec[1] = { timeout * 100 };
uint8_t max_ext_adv_evts[1] = { 0 };
uint8_t max_ext_adv_evts[1] = { 0 };
hci_check_error(
hci_le_set_extended_advertising_enable(
BT_HCI_LE_ADV_ENABLE,
@ -789,11 +789,11 @@ void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool
} else {
if (timeout > MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS) {
mp_raise_bleio_BluetoothError(translate("Timeout is too long: Maximum timeout length is %d seconds"),
MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS);
MAX_LIMITED_DISCOVERABLE_ADV_TIMEOUT_SECS);
}
}
const uint32_t result =_common_hal_bleio_adapter_start_advertising(
const uint32_t result = _common_hal_bleio_adapter_start_advertising(
self, connectable, anonymous, timeout, interval,
advertising_data_bufinfo->buf,
advertising_data_bufinfo->len,
@ -820,11 +820,11 @@ void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {
hci_check_error(result);
}
//TODO startup CircuitPython advertising again.
// TODO startup CircuitPython advertising again.
}
// Note that something stopped advertising, such as a connection happening.
//Don't ask the adapter to stop.
// Don't ask the adapter to stop.
void bleio_adapter_advertising_was_stopped(bleio_adapter_obj_t *self) {
self->now_advertising = false;
self->extended_advertising = false;
@ -876,14 +876,14 @@ void common_hal_bleio_adapter_erase_bonding(bleio_adapter_obj_t *self) {
mp_raise_NotImplementedError(NULL);
check_enabled(self);
//FIX bonding_erase_storage();
// FIX bonding_erase_storage();
}
uint16_t bleio_adapter_add_attribute(bleio_adapter_obj_t *adapter, mp_obj_t *attribute) {
check_enabled(adapter);
// The handle is the index of this attribute in the attributes list.
uint16_t handle = (uint16_t) adapter->attributes->len;
uint16_t handle = (uint16_t)adapter->attributes->len;
mp_obj_list_append(adapter->attributes, attribute);
if (MP_OBJ_IS_TYPE(attribute, &bleio_service_type)) {
@ -896,7 +896,7 @@ uint16_t bleio_adapter_add_attribute(bleio_adapter_obj_t *adapter, mp_obj_t *att
return handle;
}
mp_obj_t* bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle) {
mp_obj_t *bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle) {
check_enabled(adapter);
if (handle == 0 || handle >= adapter->attributes->len) {
@ -912,12 +912,12 @@ uint16_t bleio_adapter_max_attribute_handle(bleio_adapter_obj_t *adapter) {
}
void bleio_adapter_gc_collect(bleio_adapter_obj_t* adapter) {
gc_collect_root((void**)adapter, sizeof(bleio_adapter_obj_t) / sizeof(size_t));
gc_collect_root((void**)bleio_connections, sizeof(bleio_connections) / sizeof(size_t));
void bleio_adapter_gc_collect(bleio_adapter_obj_t *adapter) {
gc_collect_root((void **)adapter, sizeof(bleio_adapter_obj_t) / sizeof(size_t));
gc_collect_root((void **)bleio_connections, sizeof(bleio_connections) / sizeof(size_t));
}
void bleio_adapter_reset(bleio_adapter_obj_t* adapter) {
void bleio_adapter_reset(bleio_adapter_obj_t *adapter) {
if (!common_hal_bleio_adapter_get_enabled(adapter)) {
return;
@ -939,7 +939,7 @@ void bleio_adapter_reset(bleio_adapter_obj_t* adapter) {
}
void bleio_adapter_background(bleio_adapter_obj_t* adapter) {
void bleio_adapter_background(bleio_adapter_obj_t *adapter) {
if (!common_hal_bleio_adapter_get_enabled(adapter)) {
return;
}

View File

@ -49,7 +49,7 @@ typedef struct _bleio_adapter_obj_t {
bleio_scanresults_obj_t *scan_results;
mp_obj_t name;
mp_obj_tuple_t *connection_objs;
busio_uart_obj_t* hci_uart;
busio_uart_obj_t *hci_uart;
digitalio_digitalinout_obj_t *rts_digitalinout;
digitalio_digitalinout_obj_t *cts_digitalinout;
bool allocated; // True when in use.
@ -72,7 +72,7 @@ typedef struct _bleio_adapter_obj_t {
// Generic services characteristics.
bleio_characteristic_obj_t *device_name_characteristic;
bleio_characteristic_obj_t *appearance_characteristic;
bleio_characteristic_obj_t * service_changed_characteristic;
bleio_characteristic_obj_t *service_changed_characteristic;
uint16_t max_acl_buffer_len;
uint16_t max_acl_num_buffers;
@ -90,10 +90,10 @@ typedef struct _bleio_adapter_obj_t {
uint16_t bleio_adapter_add_attribute(bleio_adapter_obj_t *adapter, mp_obj_t *attribute);
void bleio_adapter_advertising_was_stopped(bleio_adapter_obj_t *self);
mp_obj_t* bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle);
mp_obj_t *bleio_adapter_get_attribute(bleio_adapter_obj_t *adapter, uint16_t handle);
uint16_t bleio_adapter_max_attribute_handle(bleio_adapter_obj_t *adapter);
void bleio_adapter_background(bleio_adapter_obj_t* adapter);
void bleio_adapter_gc_collect(bleio_adapter_obj_t* adapter);
void bleio_adapter_reset(bleio_adapter_obj_t* adapter);
void bleio_adapter_background(bleio_adapter_obj_t *adapter);
void bleio_adapter_gc_collect(bleio_adapter_obj_t *adapter);
void bleio_adapter_reset(bleio_adapter_obj_t *adapter);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_ADAPTER_H

View File

@ -78,16 +78,16 @@ bleio_service_obj_t *common_hal_bleio_characteristic_get_service(bleio_character
return self->service;
}
size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *self, uint8_t* buf, size_t len) {
size_t common_hal_bleio_characteristic_get_value(bleio_characteristic_obj_t *self, uint8_t *buf, size_t len) {
// Do GATT operations only if this characteristic has been added to a registered service.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
//FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
// FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
if (common_hal_bleio_service_get_is_remote(self->service)) {
//FIX read remote chars
//uint8_t rsp[MAX(len, 512)];
//FIX improve att_read_req to write into our requested buffer.
// FIX read remote chars
// uint8_t rsp[MAX(len, 512)];
// FIX improve att_read_req to write into our requested buffer.
// return att_read_req(conn_handle, self->handle, rsp);
return 0; //FIX
return 0; // FIX
} else {
mp_buffer_info_t bufinfo;
if (!mp_get_buffer(self->value, &bufinfo, MP_BUFFER_READ)) {
@ -113,13 +113,13 @@ void common_hal_bleio_characteristic_set_value(bleio_characteristic_obj_t *self,
// Do GATT operations only if this characteristic has been added to a registered service.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->service)) {
//FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
// FIX uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
if (self->props & CHAR_PROP_WRITE) {
//FIX writing remote chars
//uint8_t rsp[sizeof(bt_att_error_rsp)];
//att_write_req(conn_handle, self->handle, bufinfo->buf, bufinfo->len, rsp);
// FIX writing remote chars
// uint8_t rsp[sizeof(bt_att_error_rsp)];
// att_write_req(conn_handle, self->handle, bufinfo->buf, bufinfo->len, rsp);
} else if (self->props & CHAR_PROP_WRITE_NO_RESPONSE) {
//att_write_cmd(conn_handle, self->handle, bufinfo->buff, bufinfo->len);
// att_write_cmd(conn_handle, self->handle, bufinfo->buff, bufinfo->len);
} else {
mp_raise_bleio_BluetoothError(translate("Characteristic not writable"));
}
@ -172,7 +172,7 @@ void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *
self->service->end_handle = descriptor->handle;
mp_obj_list_append(MP_OBJ_FROM_PTR(self->descriptor_list),
MP_OBJ_FROM_PTR(descriptor));
MP_OBJ_FROM_PTR(descriptor));
}
void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, bool notify, bool indicate) {
@ -191,8 +191,8 @@ void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self,
(notify ? CCCD_NOTIFY : 0) |
(indicate ? CCCD_INDICATE : 0);
//FIX do remote
(void) cccd_value;
// FIX do remote
(void)cccd_value;
// uint8_t rsp[sizeof(bt_att_error_rsp)];
// if (att_write_req(conn_handle, self->cccd->handle, &cccd_value, sizeof(cccd_value)) == 0) {
// mp_raise_bleio_BluetoothError(translate("Could not write CCCD"));

View File

@ -47,9 +47,9 @@ void bleio_characteristic_buffer_update(bleio_characteristic_buffer_obj_t *self,
// Assumes that timeout and buffer_size have been validated before call.
void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffer_obj_t *self,
bleio_characteristic_obj_t *characteristic,
mp_float_t timeout,
size_t buffer_size) {
bleio_characteristic_obj_t *characteristic,
mp_float_t timeout,
size_t buffer_size) {
self->characteristic = characteristic;
self->timeout_ms = timeout * 1000;
@ -64,10 +64,10 @@ uint32_t common_hal_bleio_characteristic_buffer_read(bleio_characteristic_buffer
uint64_t start_ticks = supervisor_ticks_ms64();
// Wait for all bytes received or timeout
while ( (ringbuf_num_filled(&self->ringbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) {
while ((ringbuf_num_filled(&self->ringbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms)) {
RUN_BACKGROUND_TASKS;
// Allow user to break out of a timeout with a KeyboardInterrupt.
if ( mp_hal_is_interrupted() ) {
if (mp_hal_is_interrupted()) {
return 0;
}
}
@ -97,8 +97,8 @@ void common_hal_bleio_characteristic_buffer_deinit(bleio_characteristic_buffer_o
bool common_hal_bleio_characteristic_buffer_connected(bleio_characteristic_buffer_obj_t *self) {
return self->characteristic != NULL &&
self->characteristic->service != NULL &&
(!self->characteristic->service->is_remote ||
(self->characteristic->service->connection != MP_OBJ_NULL &&
common_hal_bleio_connection_get_connected(self->characteristic->service->connection)));
self->characteristic->service != NULL &&
(!self->characteristic->service->is_remote ||
(self->characteristic->service->connection != MP_OBJ_NULL &&
common_hal_bleio_connection_get_connected(self->characteristic->service->connection)));
}

View File

@ -73,8 +73,8 @@
static volatile bool m_discovery_in_process;
static volatile bool m_discovery_successful;
//FIX static bleio_service_obj_t *m_char_discovery_service;
//FIX static bleio_characteristic_obj_t *m_desc_discovery_characteristic;
// FIX static bleio_service_obj_t *m_char_discovery_service;
// FIX static bleio_characteristic_obj_t *m_desc_discovery_characteristic;
// bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
// bleio_connection_internal_t *self = (bleio_connection_internal_t*)self_in;
@ -326,7 +326,7 @@ void bleio_connection_clear(bleio_connection_internal_t *self) {
self->conn_handle = BLE_CONN_HANDLE_INVALID;
self->pair_status = PAIR_NOT_PAIRED;
self->is_central = false;
//FIX bonding_clear_keys(&self->bonding_keys);
// FIX bonding_clear_keys(&self->bonding_keys);
}
bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self) {
@ -350,7 +350,7 @@ void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self) {
void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond) {
self->pair_status = PAIR_WAITING;
//FIX check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params));
// FIX check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params));
while (self->pair_status == PAIR_WAITING && !mp_hal_is_interrupted()) {
RUN_BACKGROUND_TASKS;
@ -358,14 +358,14 @@ void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bo
if (mp_hal_is_interrupted()) {
return;
}
//FIX check_sec_status(self->sec_status);
// FIX check_sec_status(self->sec_status);
}
mp_float_t common_hal_bleio_connection_get_connection_interval(bleio_connection_internal_t *self) {
while (self->conn_params_updating && !mp_hal_is_interrupted()) {
RUN_BACKGROUND_TASKS;
}
//FIX return 1.25f * self->conn_params.min_conn_interval;
// FIX return 1.25f * self->conn_params.min_conn_interval;
return 0.0f;
}
@ -729,14 +729,14 @@ void common_hal_bleio_connection_set_connection_interval(bleio_connection_intern
// }
mp_obj_tuple_t *common_hal_bleio_connection_discover_remote_services(bleio_connection_obj_t *self, mp_obj_t service_uuids_whitelist) {
//FIX discover_remote_services(self->connection, service_uuids_whitelist);
// FIX discover_remote_services(self->connection, service_uuids_whitelist);
bleio_connection_ensure_connected(self);
// Convert to a tuple and then clear the list so the callee will take ownership.
mp_obj_tuple_t *services_tuple =
mp_obj_new_tuple(self->connection->remote_service_list->len,
self->connection->remote_service_list->items);
mp_obj_list_clear(MP_OBJ_FROM_PTR(self->connection->remote_service_list));
return services_tuple;
mp_obj_tuple_t *services_tuple =
mp_obj_new_tuple(self->connection->remote_service_list->len,
self->connection->remote_service_list->items);
mp_obj_list_clear(MP_OBJ_FROM_PTR(self->connection->remote_service_list));
return services_tuple;
}
uint16_t bleio_connection_get_conn_handle(bleio_connection_obj_t *self) {
@ -746,7 +746,7 @@ uint16_t bleio_connection_get_conn_handle(bleio_connection_obj_t *self) {
return self->connection->conn_handle;
}
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t* internal) {
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t *internal) {
if (internal->connection_obj != mp_const_none) {
return internal->connection_obj;
}

View File

@ -60,7 +60,7 @@ typedef struct {
volatile pair_status_t pair_status;
uint8_t sec_status; // Internal security status.
mp_obj_t connection_obj;
//REMOVE ble_gap_conn_params_t conn_params;
// REMOVE ble_gap_conn_params_t conn_params;
volatile bool conn_params_updating;
uint16_t mtu;
// Request that CCCD values for this connection be saved, using sys_attr values.
@ -70,20 +70,20 @@ typedef struct {
// Time of setting do_bond_ccds: we delay a bit to consolidate multiple CCCD changes
// into one write. Time is currently in ticks_ms.
uint64_t do_bond_cccds_request_time;
//FIX from att.c
// FIX from att.c
uint8_t role;
bt_addr_le_t addr;
} bleio_connection_internal_t;
typedef struct {
mp_obj_base_t base;
bleio_connection_internal_t* connection;
bleio_connection_internal_t *connection;
// The HCI disconnect reason.
uint8_t disconnect_reason;
} bleio_connection_obj_t;
uint16_t bleio_connection_get_conn_handle(bleio_connection_obj_t *self);
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t* connection);
mp_obj_t bleio_connection_new_from_internal(bleio_connection_internal_t *connection);
bleio_connection_internal_t *bleio_conn_handle_to_connection(uint16_t conn_handle);
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_CONNECTION_H

View File

@ -44,7 +44,7 @@ void common_hal_bleio_descriptor_construct(bleio_descriptor_obj_t *self, bleio_c
const mp_int_t max_length_max = fixed_length ? BLE_GATTS_FIX_ATTR_LEN_MAX : BLE_GATTS_VAR_ATTR_LEN_MAX;
if (max_length < 0 || max_length > max_length_max) {
mp_raise_ValueError_varg(translate("max_length must be 0-%d when fixed_length is %s"),
max_length_max, fixed_length ? "True" : "False");
max_length_max, fixed_length ? "True" : "False");
}
self->max_length = max_length;
self->fixed_length = fixed_length;
@ -60,14 +60,14 @@ bleio_characteristic_obj_t *common_hal_bleio_descriptor_get_characteristic(bleio
return self->characteristic;
}
size_t common_hal_bleio_descriptor_get_value(bleio_descriptor_obj_t *self, uint8_t* buf, size_t len) {
size_t common_hal_bleio_descriptor_get_value(bleio_descriptor_obj_t *self, uint8_t *buf, size_t len) {
// Do GATT operations only if this descriptor has been registered
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->characteristic->service)) {
//uint16_t conn_handle = bleio_connection_get_conn_handle(self->characteristic->service->connection);
//FIX have att_read_req fill in a buffer
//uint8_t rsp[MAX(len, 512)];
//return att_read_req(conn_handle, self->handle, rsp, len);
// uint16_t conn_handle = bleio_connection_get_conn_handle(self->characteristic->service->connection);
// FIX have att_read_req fill in a buffer
// uint8_t rsp[MAX(len, 512)];
// return att_read_req(conn_handle, self->handle, rsp, len);
return 0;
} else {
mp_buffer_info_t bufinfo;
@ -96,7 +96,7 @@ void common_hal_bleio_descriptor_set_value(bleio_descriptor_obj_t *self, mp_buff
// Do GATT operations only if this descriptor has been registered.
if (self->handle != BLE_GATT_HANDLE_INVALID) {
if (common_hal_bleio_service_get_is_remote(self->characteristic->service)) {
//FIX
// FIX
// uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
// att_write_req(conn_handle, self->handle, bufinfo->buf, bufinfo->len, rsp);
} else {

View File

@ -47,7 +47,7 @@ typedef struct _bleio_descriptor_obj {
uint16_t handle;
bleio_attribute_security_mode_t read_perm;
bleio_attribute_security_mode_t write_perm;
struct _bleio_descriptor_obj* next;
struct _bleio_descriptor_obj *next;
} bleio_descriptor_obj_t;
#endif // MICROPY_INCLUDED_BLE_HCI_COMMON_HAL_DESCRIPTOR_H

View File

@ -45,13 +45,13 @@ STATIC void write_to_ringbuf(bleio_packet_buffer_obj_t *self, uint8_t *data, uin
// Make room for the new value by dropping the oldest packets first.
while (ringbuf_capacity(&self->ringbuf) - ringbuf_num_filled(&self->ringbuf) < len + sizeof(uint16_t)) {
uint16_t packet_length;
ringbuf_get_n(&self->ringbuf, (uint8_t*) &packet_length, sizeof(uint16_t));
ringbuf_get_n(&self->ringbuf, (uint8_t *)&packet_length, sizeof(uint16_t));
for (uint16_t i = 0; i < packet_length; i++) {
ringbuf_get(&self->ringbuf);
}
// set an overflow flag?
}
ringbuf_put_n(&self->ringbuf, (uint8_t*) &len, sizeof(uint16_t));
ringbuf_put_n(&self->ringbuf, (uint8_t *)&len, sizeof(uint16_t));
ringbuf_put_n(&self->ringbuf, data, len);
}
@ -80,8 +80,8 @@ void bleio_packet_buffer_update(bleio_packet_buffer_obj_t *self, mp_buffer_info_
}
void common_hal_bleio_packet_buffer_construct(
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
size_t buffer_size) {
bleio_packet_buffer_obj_t *self, bleio_characteristic_obj_t *characteristic,
size_t buffer_size) {
self->characteristic = characteristic;
self->client = self->characteristic->service->is_remote;
@ -128,7 +128,7 @@ mp_int_t common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self
// Copy received data.
// Get packet length, which is in first two bytes of packet.
uint16_t packet_length;
ringbuf_get_n(&self->ringbuf, (uint8_t*) &packet_length, sizeof(uint16_t));
ringbuf_get_n(&self->ringbuf, (uint8_t *)&packet_length, sizeof(uint16_t));
mp_int_t ret;
if (packet_length > len) {
@ -136,7 +136,7 @@ mp_int_t common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self
ret = len - packet_length;
// Discard the packet if it's too large. Don't fill data.
while (packet_length--) {
(void) ringbuf_get(&self->ringbuf);
(void)ringbuf_get(&self->ringbuf);
}
} else {
// Read as much as possible, but might be shorter than len.
@ -147,7 +147,7 @@ mp_int_t common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self
return ret;
}
mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len, uint8_t* header, size_t header_len) {
mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, uint8_t *data, size_t len, uint8_t *header, size_t header_len) {
if (self->outgoing[0] == NULL) {
mp_raise_bleio_BluetoothError(translate("Writes not supported on Characteristic"));
}
@ -174,7 +174,7 @@ mp_int_t common_hal_bleio_packet_buffer_write(bleio_packet_buffer_obj_t *self, u
size_t num_bytes_written = 0;
uint8_t* pending = self->outgoing[self->pending_index];
uint8_t *pending = self->outgoing[self->pending_index];
if (self->pending_size == 0) {
memcpy(pending, header, header_len);
@ -213,7 +213,7 @@ mp_int_t common_hal_bleio_packet_buffer_get_incoming_packet_length(bleio_packet_
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
if (connection) {
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
self->characteristic->max_length);
self->characteristic->max_length);
}
}
// There's no current connection, so we don't know the MTU, and
@ -244,7 +244,7 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
bleio_connection_internal_t *connection = bleio_conn_handle_to_connection(self->conn_handle);
if (connection) {
return MIN(common_hal_bleio_connection_get_max_packet_length(connection),
self->characteristic->max_length);
self->characteristic->max_length);
}
}
// There's no current connection, so we don't know the MTU, and

View File

@ -37,7 +37,7 @@ typedef struct {
ringbuf_t ringbuf;
// Two outgoing buffers to alternate between. One will be queued for transmission by the SD and
// the other is waiting to be queued and can be extended.
uint8_t* outgoing[2];
uint8_t *outgoing[2];
volatile uint16_t pending_size;
// We remember the conn_handle so we can do a NOTIFY/INDICATE to a client.
// We can find out the conn_handle on a Characteristic write or a CCCD write (but not a read).

View File

@ -32,7 +32,7 @@
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/_bleio/Adapter.h"
uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary, mp_obj_list_t * characteristic_list) {
uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary, mp_obj_list_t *characteristic_list) {
self->uuid = uuid;
self->characteristic_list = characteristic_list;
self->is_remote = false;
@ -52,7 +52,7 @@ uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uu
void common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary) {
if (_common_hal_bleio_service_construct(self, uuid, is_secondary,
mp_obj_new_list(0, NULL)) != 0) {
mp_obj_new_list(0, NULL)) != 0) {
mp_raise_RuntimeError(translate("Failed to add service"));
}
}
@ -83,8 +83,8 @@ bool common_hal_bleio_service_get_is_secondary(bleio_service_obj_t *self) {
}
void common_hal_bleio_service_add_characteristic(bleio_service_obj_t *self,
bleio_characteristic_obj_t *characteristic,
mp_buffer_info_t *initial_value_bufinfo) {
bleio_characteristic_obj_t *characteristic,
mp_buffer_info_t *initial_value_bufinfo) {
if (self->handle != common_hal_bleio_adapter_obj.last_added_service_handle) {
mp_raise_bleio_BluetoothError(

View File

@ -46,7 +46,7 @@ typedef struct bleio_service_obj {
// Range of attribute handles of this service.
uint16_t start_handle;
uint16_t end_handle;
struct bleio_service_obj* next;
struct bleio_service_obj *next;
} bleio_service_obj_t;
void bleio_service_from_connection(bleio_service_obj_t *self, mp_obj_t connection);

View File

@ -60,7 +60,7 @@ void common_hal_bleio_uuid_get_uuid128(bleio_uuid_obj_t *self, uint8_t uuid128[1
memcpy(uuid128, self->uuid128, 16);
}
void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t* buf) {
void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t *buf) {
if (self->size == 16) {
buf[0] = self->uuid16 & 0xff;
buf[1] = self->uuid16 >> 8;

View File

@ -33,17 +33,17 @@
// Types returned by attribute table lookups. These are UUIDs.
typedef enum {
BLE_UUID_UNKNOWN = 0x0000,
BLE_UUID_SERVICE_PRIMARY = 0x2800,
BLE_UUID_SERVICE_SECONDARY = 0x2801,
BLE_UUID_SERVICE_INCLUDE = 0x2802, // not yet implemented by us
BLE_UUID_CHARACTERISTIC = 0x2803,
BLE_UUID_CHAR_EXTENDED_PROPS = 0x2900, // not yet implemented by us
BLE_UUID_CHAR_USER_DESC = 0x2901, // not yet implemented by us
BLE_UUID_CCCD = 0x2902,
BLE_UUID_SCCD = 0x2903, // not yet implemented by us
BLE_UUID_CHAR_PRESENTATION_FMT = 0x2904, // not yet implemented by us
BLE_UUID_CHAR_AGGREGATE_FMT = 0x2905, // not yet implemented by us
BLE_UUID_UNKNOWN = 0x0000,
BLE_UUID_SERVICE_PRIMARY = 0x2800,
BLE_UUID_SERVICE_SECONDARY = 0x2801,
BLE_UUID_SERVICE_INCLUDE = 0x2802,// not yet implemented by us
BLE_UUID_CHARACTERISTIC = 0x2803,
BLE_UUID_CHAR_EXTENDED_PROPS = 0x2900,// not yet implemented by us
BLE_UUID_CHAR_USER_DESC = 0x2901,// not yet implemented by us
BLE_UUID_CCCD = 0x2902,
BLE_UUID_SCCD = 0x2903,// not yet implemented by us
BLE_UUID_CHAR_PRESENTATION_FMT = 0x2904, // not yet implemented by us
BLE_UUID_CHAR_AGGREGATE_FMT = 0x2905,// not yet implemented by us
} ble_standard_uuid;
typedef struct {

View File

@ -78,7 +78,7 @@ void bleio_reset() {
bleio_set_adapter(mp_const_none);
//FIX bonding_reset();
// FIX bonding_reset();
supervisor_start_bluetooth();
}

View File

@ -47,7 +47,7 @@ typedef struct {
// 20 bytes max (23 - 3).
#define GATT_MAX_DATA_LENGTH (BT_ATT_DEFAULT_LE_MTU - 3)
//FIX
// FIX
#define BLE_GATT_HANDLE_INVALID 0x0000
#define BLE_CONN_HANDLE_INVALID 0xFFFF
#define BLE_GATTS_FIX_ATTR_LEN_MAX (510) /**< Maximum length for fixed length Attribute Values. */

View File

@ -24,8 +24,8 @@
#include "att.h"
// Zephyr include files to define HCI communication values and structs.
//#include "hci_include/hci.h"
//#include "hci_include/hci_err.h"
// #include "hci_include/hci.h"
// #include "hci_include/hci_err.h"
#include "hci_include/l2cap_internal.h"
#include "py/obj.h"
@ -44,7 +44,7 @@ STATIC unsigned long timeout = 5000;
STATIC volatile bool confirm;
STATIC uint16_t long_write_handle = BLE_GATT_HANDLE_INVALID;
STATIC uint8_t* long_write_value = NULL;
STATIC uint8_t *long_write_value = NULL;
STATIC uint16_t long_write_value_length = 0;
// When we send a request, fill this struct with info about the expected response.
@ -52,7 +52,7 @@ STATIC uint16_t long_write_value_length = 0;
STATIC struct {
uint16_t conn_handle; // Expected handle.
uint8_t opcode; // Expected RSP opcode.
uint8_t* buffer; // Pointer to response packet
uint8_t *buffer; // Pointer to response packet
uint8_t length; // Length of response packet.
} expected_rsp;
@ -88,7 +88,7 @@ STATIC uint8_t bleio_properties_to_ble_spec_properties(uint8_t bleio_properties)
return ble_spec_properties;
}
//FIX not currently used; reenable when used.
// FIX not currently used; reenable when used.
#if 0
STATIC uint8_t ble_spec_properties_to_bleio_properties(uint8_t ble_spec_properties) {
uint8_t bleio_properties = 0;
@ -120,20 +120,19 @@ STATIC void send_error(uint16_t conn_handle, uint8_t opcode, uint16_t handle, ui
struct bt_att_hdr h;
struct bt_att_error_rsp r;
} rsp = { {
.code = BT_ATT_OP_ERROR_RSP,
}, {
.request = opcode,
}
};
.code = BT_ATT_OP_ERROR_RSP,
}, {
.request = opcode,
}};
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *) &rsp);
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *)&rsp);
}
STATIC void send_req(uint16_t conn_handle, size_t request_length, uint8_t* request_buffer) {
STATIC void send_req(uint16_t conn_handle, size_t request_length, uint8_t *request_buffer) {
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, request_length, request_buffer);
}
STATIC int send_req_wait_for_rsp(uint16_t conn_handle, size_t request_length, uint8_t* request_buffer, uint8_t response_buffer[]) {
STATIC int send_req_wait_for_rsp(uint16_t conn_handle, size_t request_length, uint8_t *request_buffer, uint8_t response_buffer[]) {
// We expect a particular kind of response after this request.
expected_rsp.conn_handle = conn_handle;
// The response opcode is the request opcode + 1.
@ -192,9 +191,9 @@ void bleio_att_reset(void) {
}
bool att_connect_to_address(bt_addr_le_t *addr) {
//FIX
// FIX
if (hci_le_create_conn(0x0060, 0x0030, 0x00, addr, 0x00,
0x0006, 0x000c, 0x0000, 0x00c8, 0x0004, 0x0006) != 0) {
0x0006, 0x000c, 0x0000, 0x00c8, 0x0004, 0x0006) != 0) {
return false;
}
@ -229,7 +228,7 @@ bool att_disconnect(uint16_t conn_handle) {
return !att_handle_is_connected(conn_handle);
}
//FIX
// FIX
// STATIC bool discover_services(uint16_t conn_handle, BLERemoteDevice* device, const char* serviceUuidFilter) {
// uint16_t reqStart_handle = 0x0001;
// uint16_t reqEnd_handle = 0xffff;
@ -406,7 +405,7 @@ bool att_disconnect(uint16_t conn_handle) {
// return true;
// }
bool att_discover_attributes(bt_addr_le_t *addr, const char* service_uuid_filter) {
bool att_discover_attributes(bt_addr_le_t *addr, const char *service_uuid_filter) {
uint16_t conn_handle = att_conn_handle(addr);
if (conn_handle == 0xffff) {
return false;
@ -418,7 +417,7 @@ bool att_discover_attributes(bt_addr_le_t *addr, const char* service_uuid_filter
}
// find the device entry for the peeer
//FIX BLERemoteDevice* device = NULL;
// FIX BLERemoteDevice* device = NULL;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
// if (bleio_connections[i].conn_handle == conn_handle) {
@ -454,7 +453,7 @@ bool att_discover_attributes(bt_addr_le_t *addr, const char* service_uuid_filter
}
// discover services
//FIX
// FIX
// if (!att_discover_services(conn_handle, device, service_uuid_filter)) {
// return false;
// }
@ -481,10 +480,10 @@ void att_set_timeout(unsigned long timeout_in) {
}
void att_add_connection(uint16_t handle, uint8_t role, bt_addr_le_t *peer_addr, uint16_t interval, uint16_t latency, uint16_t supervision_timeout, uint8_t master_clock_accuracy) {
(void) interval;
(void) latency;
(void) supervision_timeout;
(void) master_clock_accuracy;
(void)interval;
(void)latency;
(void)supervision_timeout;
(void)master_clock_accuracy;
int peer_index = -1;
@ -508,7 +507,7 @@ void att_add_connection(uint16_t handle, uint8_t role, bt_addr_le_t *peer_addr,
void att_remove_connection(uint16_t conn_handle, uint8_t reason) {
(void) reason;
(void)reason;
int peer_index = -1;
int peer_count = 0;
@ -580,7 +579,7 @@ bool att_is_connected(void) {
}
bool att_address_is_connected(bt_addr_le_t *addr) {
return (att_conn_handle(addr) != 0xffff);
return att_conn_handle(addr) != 0xffff;
}
bool att_handle_is_connected(uint16_t handle) {
@ -624,10 +623,10 @@ bool att_disconnect_all(void) {
bleio_connections[i].mtu = BT_ATT_DEFAULT_LE_MTU;
}
return (num_disconnects > 0);
return num_disconnects > 0;
}
bool att_notify(uint16_t handle, const uint8_t* value, int length) {
bool att_notify(uint16_t handle, const uint8_t *value, int length) {
int num_notifications = 0;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
@ -643,20 +642,21 @@ bool att_notify(uint16_t handle, const uint8_t* value, int length) {
size_t allowed_length = MIN((uint16_t)(bleio_connections[i].mtu - sizeof(notify_t)), (uint16_t)length);
uint8_t notify_bytes[sizeof(notify_t) + allowed_length];
notify_t *notify = (notify_t *) notify_bytes;
notify->hdr.code = BT_ATT_OP_NOTIFY;;
notify_t *notify = (notify_t *)notify_bytes;
notify->hdr.code = BT_ATT_OP_NOTIFY;
;
notify->ntf.handle = handle;
memcpy(notify->ntf.value, value, allowed_length);
hci_send_acl_pkt(bleio_connections[i].conn_handle, BT_L2CAP_CID_ATT,
sizeof(notify_bytes), notify_bytes);
sizeof(notify_bytes), notify_bytes);
num_notifications++;
}
return (num_notifications > 0);
return num_notifications > 0;
}
bool att_indicate(uint16_t handle, const uint8_t* value, int length) {
bool att_indicate(uint16_t handle, const uint8_t *value, int length) {
int num_indications = 0;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
@ -672,15 +672,16 @@ bool att_indicate(uint16_t handle, const uint8_t* value, int length) {
size_t allowed_length = MIN((uint16_t)(bleio_connections[i].mtu - sizeof(indicate_t)), (uint16_t)length);
uint8_t indicate_bytes[sizeof(indicate_t) + allowed_length];
indicate_t *indicate = (indicate_t *) indicate_bytes;
indicate->hdr.code = BT_ATT_OP_INDICATE;;
indicate_t *indicate = (indicate_t *)indicate_bytes;
indicate->hdr.code = BT_ATT_OP_INDICATE;
;
indicate->ind.handle = handle;
memcpy(indicate->ind.value, value, allowed_length);
confirm = false;
hci_send_acl_pkt(bleio_connections[i].conn_handle, BT_L2CAP_CID_ATT,
sizeof(indicate_bytes), indicate_bytes);
sizeof(indicate_bytes), indicate_bytes);
while (!confirm) {
// RUN_BACKGROUND_TASKS includes hci_poll_for_incoming_pkt();
@ -694,11 +695,11 @@ bool att_indicate(uint16_t handle, const uint8_t* value, int length) {
num_indications++;
}
return (num_indications > 0);
return num_indications > 0;
}
STATIC void process_error(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
struct bt_att_error_rsp *rsp = (struct bt_att_error_rsp *) data;
struct bt_att_error_rsp *rsp = (struct bt_att_error_rsp *)data;
if (dlen != sizeof(struct bt_att_error_rsp)) {
// Incorrect size; ignore.
@ -714,7 +715,7 @@ STATIC void process_error(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
}
STATIC void process_mtu_req(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
struct bt_att_exchange_mtu_req *req = (struct bt_att_exchange_mtu_req *) data;
struct bt_att_exchange_mtu_req *req = (struct bt_att_exchange_mtu_req *)data;
if (dlen != sizeof(struct bt_att_exchange_mtu_req)) {
send_error(conn_handle, BT_ATT_OP_MTU_REQ, BLE_GATT_HANDLE_INVALID, BT_ATT_ERR_INVALID_PDU);
@ -738,17 +739,16 @@ STATIC void process_mtu_req(uint16_t conn_handle, uint8_t dlen, uint8_t data[])
struct bt_att_hdr h;
struct bt_att_exchange_mtu_rsp r;
} rsp = { {
.code = BT_ATT_OP_MTU_RSP,
}, {
.mtu = mtu,
}
};
.code = BT_ATT_OP_MTU_RSP,
}, {
.mtu = mtu,
}};
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *) &rsp);
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *)&rsp);
}
STATIC void process_mtu_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
struct bt_att_exchange_mtu_rsp *rsp = (struct bt_att_exchange_mtu_rsp *) data;
struct bt_att_exchange_mtu_rsp *rsp = (struct bt_att_exchange_mtu_rsp *)data;
if (dlen != sizeof(struct bt_att_exchange_mtu_rsp)) {
return;
@ -765,7 +765,7 @@ STATIC void process_mtu_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t data[])
}
STATIC void process_find_info_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_find_info_req *req = (struct bt_att_find_info_req *) data;
struct bt_att_find_info_req *req = (struct bt_att_find_info_req *)data;
if (dlen != sizeof(struct bt_att_find_info_req)) {
send_error(conn_handle, BT_ATT_OP_FIND_INFO_REQ, req->start_handle, BT_ATT_ERR_INVALID_PDU);
@ -778,7 +778,7 @@ STATIC void process_find_info_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
} rsp_t;
uint8_t rsp_bytes[mtu];
rsp_t *rsp = (rsp_t *) rsp_bytes;
rsp_t *rsp = (rsp_t *)rsp_bytes;
rsp->h.code = BT_ATT_OP_FIND_INFO_RSP;
// Keeps track of total length of the response.
@ -832,20 +832,20 @@ STATIC void process_find_info_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
}
if (sizeof_uuid == 2) {
struct bt_att_info_16 *info_16 = (struct bt_att_info_16 *) &rsp_bytes[rsp_length];
struct bt_att_info_16 *info_16 = (struct bt_att_info_16 *)&rsp_bytes[rsp_length];
info_16->handle = handle;
info_16->uuid = common_hal_bleio_uuid_get_uuid16(uuid);
rsp_length += sizeof(struct bt_att_info_16);
} else {
struct bt_att_info_128 *info_128 = (struct bt_att_info_128 *) &rsp_bytes[rsp_length];
struct bt_att_info_128 *info_128 = (struct bt_att_info_128 *)&rsp_bytes[rsp_length];
info_128->handle = handle;
common_hal_bleio_uuid_get_uuid128(uuid, info_128->uuid);
rsp_length += sizeof(struct bt_att_info_128);
}
no_data =false;
no_data = false;
} // end for
@ -861,14 +861,13 @@ int att_find_info_req(uint16_t conn_handle, uint16_t start_handle, uint16_t end_
struct bt_att_hdr h;
struct bt_att_find_info_req r;
} req = { {
.code = BT_ATT_OP_FIND_INFO_REQ,
}, {
.start_handle = start_handle,
.end_handle = end_handle,
}
};
.code = BT_ATT_OP_FIND_INFO_REQ,
}, {
.start_handle = start_handle,
.end_handle = end_handle,
}};
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *) &req, response_buffer);
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *)&req, response_buffer);
}
STATIC void process_find_info_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
@ -880,7 +879,7 @@ STATIC void process_find_info_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t da
}
STATIC void process_find_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_find_type_req *req = (struct bt_att_find_type_req *) data;
struct bt_att_find_type_req *req = (struct bt_att_find_type_req *)data;
if (dlen < sizeof(struct bt_att_find_type_req)) {
send_error(conn_handle, BT_ATT_OP_FIND_TYPE_RSP, req->start_handle, BT_ATT_ERR_INVALID_PDU);
@ -893,7 +892,7 @@ STATIC void process_find_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
response[0] = BT_ATT_OP_FIND_TYPE_RSP;
response_length = 1;
//FIX
// FIX
// if (find_type_req->type == BLE_UUID_SERVICE_PRIMARY) {
// for (uint16_t i = (find_type_req->start_handle - 1); i < GATT.attributeCount() && i <= (find_type_req->end_handle - 1); i++) {
// BLELocalAttribute* attribute = GATT.attribute(i);
@ -926,7 +925,7 @@ STATIC void process_find_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
}
void process_read_group_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_read_group_req *req = (struct bt_att_read_group_req *) data;
struct bt_att_read_group_req *req = (struct bt_att_read_group_req *)data;
uint16_t type_uuid = req->uuid[0] | (req->uuid[1] << 8);
// We only support returning services for BT_ATT_OP_READ_GROUP_REQ, which is typically used
@ -944,7 +943,7 @@ void process_read_group_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, ui
} rsp_t;
uint8_t rsp_bytes[mtu];
rsp_t *rsp = (rsp_t *) rsp_bytes;
rsp_t *rsp = (rsp_t *)rsp_bytes;
rsp->h.code = BT_ATT_OP_READ_GROUP_RSP;
rsp->r.len = 0;
@ -991,7 +990,7 @@ void process_read_group_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, ui
// There may be multiple chunks in this transmission.
rsp->r.len = data_length;
struct bt_att_group_data *group_data = (struct bt_att_group_data *) &rsp_bytes[rsp_length];
struct bt_att_group_data *group_data = (struct bt_att_group_data *)&rsp_bytes[rsp_length];
group_data->start_handle = service->start_handle;
group_data->end_handle = service->end_handle;
@ -1017,7 +1016,7 @@ int att_read_group_req(uint16_t conn_handle, uint16_t start_handle, uint16_t end
} req_t;
uint8_t req_bytes[sizeof(req_t) + sizeof(uuid)];
req_t *req = (req_t *) req_bytes;
req_t *req = (req_t *)req_bytes;
req->h.code = BT_ATT_OP_READ_GROUP_REQ;
req->r.start_handle = start_handle;
@ -1047,7 +1046,7 @@ STATIC void process_read_or_read_blob_req(uint16_t conn_handle, uint16_t mtu, ui
return;
}
struct bt_att_read_req *req = (struct bt_att_read_req *) data;
struct bt_att_read_req *req = (struct bt_att_read_req *)data;
handle = req->handle;
response_opcode = BT_ATT_OP_READ_RSP;
@ -1057,7 +1056,7 @@ STATIC void process_read_or_read_blob_req(uint16_t conn_handle, uint16_t mtu, ui
return;
}
struct bt_att_read_blob_req *req = (struct bt_att_read_blob_req *) data;
struct bt_att_read_blob_req *req = (struct bt_att_read_blob_req *)data;
handle = req->handle;
offset = req->offset;
response_opcode = BT_ATT_OP_READ_BLOB_RSP;
@ -1077,7 +1076,7 @@ STATIC void process_read_or_read_blob_req(uint16_t conn_handle, uint16_t mtu, ui
} rsp_t;
uint8_t rsp_bytes[mtu];
rsp_t *rsp = (rsp_t *) rsp_bytes;
rsp_t *rsp = (rsp_t *)rsp_bytes;
rsp->h.code = response_opcode;
// Keeps track of total length of the response.
@ -1105,7 +1104,7 @@ STATIC void process_read_or_read_blob_req(uint16_t conn_handle, uint16_t mtu, ui
return;
}
characteristic_declaration_t *char_decl = (characteristic_declaration_t *) rsp->r.value;
characteristic_declaration_t *char_decl = (characteristic_declaration_t *)rsp->r.value;
// Convert from the bleio properties bit values to the BLE spec properties bit values.
// They are not the same :(.
@ -1160,7 +1159,7 @@ STATIC void process_read_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t data[])
}
STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_read_type_req *req = (struct bt_att_read_type_req *) data;
struct bt_att_read_type_req *req = (struct bt_att_read_type_req *)data;
uint16_t type_uuid = req->uuid[0] | (req->uuid[1] << 8);
if (dlen != sizeof(struct bt_att_read_type_req) + sizeof(type_uuid)) {
@ -1174,7 +1173,7 @@ STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
} rsp_t;
uint8_t rsp_bytes[mtu];
rsp_t *rsp = (rsp_t *) rsp_bytes;
rsp_t *rsp = (rsp_t *)rsp_bytes;
rsp->h.code = BT_ATT_OP_READ_TYPE_RSP;
rsp->r.len = 0;
@ -1233,11 +1232,11 @@ STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
// There may be multiple chunks in this transmission.
rsp->r.len = data_length;
struct bt_att_data *att_data = (struct bt_att_data *) &rsp_bytes[rsp_length];
struct bt_att_data *att_data = (struct bt_att_data *)&rsp_bytes[rsp_length];
att_data->handle = characteristic->decl_handle;
characteristic_declaration_t *char_decl = (characteristic_declaration_t *) att_data->value;
characteristic_declaration_t *char_decl = (characteristic_declaration_t *)att_data->value;
// Convert from the bleio properties bit values to the BLE spec properties bit values.
// They are not the same :(.
@ -1255,7 +1254,7 @@ STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
// See if request is for a descriptor value with a 16-bit UUID, such as the CCCD.
bleio_descriptor_obj_t *descriptor = MP_OBJ_TO_PTR(attribute_obj);
if (bleio_uuid_get_uuid16_or_unknown(descriptor->uuid) == type_uuid) {
struct bt_att_data *att_data = (struct bt_att_data *) &rsp_bytes[rsp_length];
struct bt_att_data *att_data = (struct bt_att_data *)&rsp_bytes[rsp_length];
att_data->handle = handle;
@ -1277,7 +1276,7 @@ STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
bleio_characteristic_obj_t *characteristic = MP_OBJ_TO_PTR(attribute_obj);
if (bleio_uuid_get_uuid16_or_unknown(characteristic->uuid) == type_uuid) {
struct bt_att_data *att_data = (struct bt_att_data *) &rsp_bytes[rsp_length];
struct bt_att_data *att_data = (struct bt_att_data *)&rsp_bytes[rsp_length];
att_data->handle = handle;
@ -1299,7 +1298,7 @@ STATIC void process_read_type_req(uint16_t conn_handle, uint16_t mtu, uint8_t dl
if (no_data) {
send_error(conn_handle, BT_ATT_OP_READ_TYPE_REQ,
req->start_handle, BT_ATT_ERR_ATTRIBUTE_NOT_FOUND);
req->start_handle, BT_ATT_ERR_ATTRIBUTE_NOT_FOUND);
} else {
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, rsp_length, rsp_bytes);
}
@ -1312,7 +1311,7 @@ int att_read_type_req(uint16_t conn_handle, uint16_t start_handle, uint16_t end_
} req_t;
uint8_t req_bytes[sizeof(req_t) + sizeof(type)];
req_t *req = (req_t *) req_bytes;
req_t *req = (req_t *)req_bytes;
req->h.code = BT_ATT_OP_READ_TYPE_REQ;
req->r.start_handle = start_handle;
@ -1334,7 +1333,7 @@ STATIC void process_read_type_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t da
// Handles BT_ATT_OP_WRITE_REQ or BT_ATT_OP_WRITE_
STATIC void process_write_req_or_cmd(uint16_t conn_handle, uint16_t mtu, uint8_t op, uint8_t dlen, uint8_t data[]) {
// struct bt_att_write_cmd is identical, so don't bother to split code paths based on opcode.
struct bt_att_write_req *req = (struct bt_att_write_req *) data;
struct bt_att_write_req *req = (struct bt_att_write_req *)data;
bool with_response = (op == BT_ATT_OP_WRITE_REQ);
@ -1397,7 +1396,7 @@ STATIC void process_write_req_or_cmd(uint16_t conn_handle, uint16_t mtu, uint8_t
.code = BT_ATT_OP_WRITE_RSP,
};
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *) &rsp);
hci_send_acl_pkt(conn_handle, BT_L2CAP_CID_ATT, sizeof(rsp), (uint8_t *)&rsp);
}
}
@ -1410,7 +1409,7 @@ STATIC void process_write_rsp(uint16_t conn_handle, uint8_t dlen, uint8_t data[]
}
STATIC void process_prepare_write_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_prepare_write_req *req = (struct bt_att_prepare_write_req *) data;
struct bt_att_prepare_write_req *req = (struct bt_att_prepare_write_req *)data;
if (dlen < sizeof(struct bt_att_prepare_write_req)) {
send_error(conn_handle, BT_ATT_OP_PREPARE_WRITE_REQ, BLE_GATT_HANDLE_INVALID, BT_ATT_ERR_INVALID_PDU);
@ -1419,7 +1418,7 @@ STATIC void process_prepare_write_req(uint16_t conn_handle, uint16_t mtu, uint8_
uint16_t handle = req->handle;
uint16_t offset = req->offset;
(void) offset;
(void)offset;
if (handle > bleio_adapter_max_attribute_handle(&common_hal_bleio_adapter_obj)) {
send_error(conn_handle, BT_ATT_OP_PREPARE_WRITE_REQ, handle, BT_ATT_ERR_ATTRIBUTE_NOT_FOUND);
@ -1433,7 +1432,7 @@ STATIC void process_prepare_write_req(uint16_t conn_handle, uint16_t mtu, uint8_
return;
}
bleio_characteristic_obj_t* characteristic = MP_OBJ_TO_PTR(attribute);
bleio_characteristic_obj_t *characteristic = MP_OBJ_TO_PTR(attribute);
if (handle != characteristic->handle) {
send_error(conn_handle, BT_ATT_OP_PREPARE_WRITE_REQ, handle, BT_ATT_ERR_ATTRIBUTE_NOT_LONG);
@ -1445,7 +1444,7 @@ STATIC void process_prepare_write_req(uint16_t conn_handle, uint16_t mtu, uint8_
return;
}
//FIX if (long_write_handle == BLE_GATT_HANDLE_INVALID)
// FIX if (long_write_handle == BLE_GATT_HANDLE_INVALID)
// int valueSize = characteristic->valueSize();
// long_write_value = (uint8_t*)realloc(long_write_value, valueSize);
@ -1480,7 +1479,7 @@ STATIC void process_prepare_write_req(uint16_t conn_handle, uint16_t mtu, uint8_
}
STATIC void process_exec_write_req(uint16_t conn_handle, uint16_t mtu, uint8_t dlen, uint8_t data[]) {
struct bt_att_exec_write_req *req = (struct bt_att_exec_write_req *) data;
struct bt_att_exec_write_req *req = (struct bt_att_exec_write_req *)data;
if (dlen != sizeof(struct bt_att_exec_write_req)) {
send_error(conn_handle, BT_ATT_OP_EXEC_WRITE_REQ, BLE_GATT_HANDLE_INVALID, BT_ATT_ERR_INVALID_PDU);
@ -1488,11 +1487,11 @@ STATIC void process_exec_write_req(uint16_t conn_handle, uint16_t mtu, uint8_t d
}
if (long_write_handle && (req->flags & 0x01)) {
//FIX BLELocalCharacteristic* characteristic = (BLELocalCharacteristic*)GATT.attribute(long_write_handle - 1);
// FIX BLELocalCharacteristic* characteristic = (BLELocalCharacteristic*)GATT.attribute(long_write_handle - 1);
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
if (bleio_connections[i].conn_handle == conn_handle) {
//FIX characteristic->writeValue(BLEDevice(bleio_connections[i].address_type, bleio_connections[i].address), long_write_value, long_write_value_length);
// FIX characteristic->writeValue(BLEDevice(bleio_connections[i].address_type, bleio_connections[i].address), long_write_value, long_write_value_length);
break;
}
}
@ -1516,16 +1515,16 @@ STATIC void process_notify_or_indicate(uint16_t conn_handle, uint8_t opcode, uin
}
// struct bt_att_notify and bt_att_indicate are identical.
//FIXunused struct bt_att_notify *req = (struct bt_att_notify *) data;
// FIXunused struct bt_att_notify *req = (struct bt_att_notify *) data;
//FIXunused uint8_t handle = req->handle;
// FIXunused uint8_t handle = req->handle;
for (size_t i = 0; i < BLEIO_TOTAL_CONNECTION_COUNT; i++) {
if (bleio_connections[i].conn_handle != conn_handle) {
continue;
}
//FIX BLERemoteDevice* device = bleio_connections[i].device;
// FIX BLERemoteDevice* device = bleio_connections[i].device;
// if (!device) {
// break;
@ -1562,9 +1561,9 @@ STATIC void process_notify_or_indicate(uint16_t conn_handle, uint8_t opcode, uin
}
STATIC void process_confirm(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
(void) conn_handle;
(void) dlen;
(void) data;
(void)conn_handle;
(void)dlen;
(void)data;
confirm = true;
}
@ -1574,7 +1573,7 @@ bool att_exchange_mtu(uint16_t conn_handle) {
struct bt_att_exchange_mtu_req req = {
.mtu = max_mtu,
};
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *) &req, response_buffer);
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *)&req, response_buffer);
}
int att_read_req(uint16_t conn_handle, uint16_t handle, uint8_t response_buffer[]) {
@ -1582,23 +1581,22 @@ int att_read_req(uint16_t conn_handle, uint16_t handle, uint8_t response_buffer[
struct bt_att_hdr h;
struct bt_att_read_req r;
} req = { {
.code = BT_ATT_OP_READ_REQ,
}, {
.handle = handle,
}
};
.code = BT_ATT_OP_READ_REQ,
}, {
.handle = handle,
}};
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *) &req, response_buffer);
return send_req_wait_for_rsp(conn_handle, sizeof(req), (uint8_t *)&req, response_buffer);
}
int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t* data, uint8_t data_len, uint8_t response_buffer[]) {
int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len, uint8_t response_buffer[]) {
typedef struct __packed {
struct bt_att_hdr h;
struct bt_att_write_req r;
} req_t;
uint8_t req_bytes[sizeof(req_t) + data_len];
req_t *req = (req_t *) req_bytes;
req_t *req = (req_t *)req_bytes;
req->h.code = BT_ATT_OP_WRITE_REQ;
req->r.handle = handle;
memcpy(req->r.value, data, data_len);
@ -1606,14 +1604,14 @@ int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t* data, ui
return send_req_wait_for_rsp(conn_handle, sizeof(req_bytes), req_bytes, response_buffer);
}
void att_write_cmd(uint16_t conn_handle, uint16_t handle, const uint8_t* data, uint8_t data_len) {
void att_write_cmd(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len) {
typedef struct __packed {
struct bt_att_hdr h;
struct bt_att_write_cmd r;
} cmd_t;
uint8_t cmd_bytes[sizeof(cmd_t) + data_len];
cmd_t *cmd = (cmd_t *) cmd_bytes;
cmd_t *cmd = (cmd_t *)cmd_bytes;
cmd->h.code = BT_ATT_OP_WRITE_CMD;
cmd->r.handle = handle;
memcpy(cmd->r.value, data, data_len);
@ -1715,7 +1713,7 @@ void att_process_data(uint16_t conn_handle, uint8_t dlen, uint8_t data[]) {
}
}
//FIX Do we need all of these?
// FIX Do we need all of these?
void check_att_err(uint8_t err) {
const compressed_string_t *msg = NULL;
switch (err) {

View File

@ -32,19 +32,19 @@
void bleio_att_reset(void);
//FIX void att_set_event_handler(BLEDeviceEvent event, BLEDeviceEventHandler eventHandler);
// FIX void att_set_event_handler(BLEDeviceEvent event, BLEDeviceEventHandler eventHandler);
bool att_address_is_connected(bt_addr_le_t *addr);
bool att_connect_to_address(bt_addr_le_t *addr);
bool att_disconnect(uint16_t conn_handle);
bool att_disconnect_all(void);
bool att_discover_attributes(bt_addr_le_t *addr, const char* service_uuid_filter);
bool att_discover_attributes(bt_addr_le_t *addr, const char *service_uuid_filter);
bool att_exchange_mtu(uint16_t conn_handle);
bool att_handle_is_connected(uint16_t handle);
bool att_indicate(uint16_t handle, const uint8_t* value, int length);
bool att_indicate(uint16_t handle, const uint8_t *value, int length);
bool att_is_connected(void);
bool att_notify(uint16_t handle, const uint8_t* value, int length);
bool att_notify(uint16_t handle, const uint8_t *value, int length);
int att_read_req(uint16_t conn_handle, uint16_t handle, uint8_t response_buffer[]);
int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t* data, uint8_t data_len, uint8_t response_buffer[]);
int att_write_req(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len, uint8_t response_buffer[]);
uint16_t att_conn_handle(bt_addr_le_t *addr);
uint16_t att_mtu(uint16_t handle);
void att_add_connection(uint16_t handle, uint8_t role, bt_addr_le_t *peer_addr, uint16_t interval, uint16_t latency, uint16_t supervision_timeout, uint8_t master_clock_accuracy);
@ -52,6 +52,6 @@ void att_process_data(uint16_t conn_handle, uint8_t dlen, uint8_t data[]);
void att_remove_connection(uint16_t conn_handle, uint8_t reason);
void att_set_max_mtu(uint16_t max_mtu);
void att_set_timeout(unsigned long timeout);
void att_write_cmd(uint16_t conn_handle, uint16_t handle, const uint8_t* data, uint8_t data_len);
void att_write_cmd(uint16_t conn_handle, uint16_t handle, const uint8_t *data, uint8_t data_len);
#endif // MICROPY_INCLUDED_DEVICES_BLE_HCI_COMMON_HAL_BLEIO_ATT_H

View File

@ -27,7 +27,7 @@
#include <string.h>
#include "py/mphal.h" //*****************************
#include "py/mphal.h" // *****************************
#include "supervisor/shared/tick.h"
#include "shared-bindings/_bleio/__init__.h"
#include "common-hal/_bleio/Adapter.h"
@ -63,8 +63,8 @@ typedef struct __attribute__ ((packed)) {
typedef struct __attribute__ ((packed)) {
uint8_t pkt_type;
uint16_t handle : 12;
uint8_t pb: 2; // Packet boundary flag: ACL_DATA_PB values.
uint8_t bc: 2; // Broadcast flag: always 0b00 for BLE.
uint8_t pb : 2; // Packet boundary flag: ACL_DATA_PB values.
uint8_t bc : 2; // Broadcast flag: always 0b00 for BLE.
uint16_t data_len; // length of data[] in this packet.
uint8_t data[];
} h4_hci_acl_pkt_t;
@ -89,7 +89,7 @@ typedef struct __attribute__ ((packed)) {
//////////////////////////////////////////////////////////////////////
// Static storage:
//FIX size
// FIX size
#define RX_BUFFER_SIZE (3 + 255)
#define ACL_DATA_BUFFER_SIZE (255)
@ -107,7 +107,7 @@ STATIC bool cmd_response_received;
STATIC uint16_t cmd_response_opcode;
STATIC uint8_t cmd_response_status;
STATIC size_t cmd_response_len;
STATIC uint8_t* cmd_response_data;
STATIC uint8_t *cmd_response_data;
STATIC volatile bool hci_poll_in_progress = false;
@ -119,7 +119,7 @@ STATIC volatile bool hci_poll_in_progress = false;
#endif // HCI_DEBUG
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;
if (pkt->pb != ACL_DATA_PB_MIDDLE) {
// This is the start of a fragmented acl_data packet or is a full packet.
@ -132,7 +132,7 @@ STATIC void process_acl_data_pkt(uint8_t pkt_len, uint8_t pkt_data[]) {
acl_data_len += pkt->data_len;
}
acl_data_t *acl = (acl_data_t *) &acl_data_buffer;
acl_data_t *acl = (acl_data_t *)&acl_data_buffer;
if (acl_data_len != sizeof(acl) + acl->acl_data_len) {
// We don't have the full packet yet.
return;
@ -167,18 +167,17 @@ STATIC void process_num_comp_pkts(uint16_t handle, uint16_t num_pkts) {
}
}
STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
{
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t*) pkt_data;
STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[]) {
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t *)pkt_data;
switch (pkt->evt) {
case BT_HCI_EVT_DISCONN_COMPLETE: {
struct bt_hci_evt_disconn_complete *disconn_complete =
(struct bt_hci_evt_disconn_complete*) pkt->params;
(void) disconn_complete;
(struct bt_hci_evt_disconn_complete *)pkt->params;
(void)disconn_complete;
att_remove_connection(disconn_complete->handle, disconn_complete->reason);
//FIX L2CAPSignaling.removeConnection(disconn_complete->handle, disconn_complete->reason);
// FIX L2CAPSignaling.removeConnection(disconn_complete->handle, disconn_complete->reason);
break;
}
@ -188,7 +187,7 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
struct bt_hci_evt_cc_status cc_status;
} __packed;
struct cmd_complete_with_status *evt = (struct cmd_complete_with_status *) pkt->params;
struct cmd_complete_with_status *evt = (struct cmd_complete_with_status *)pkt->params;
num_command_packets_allowed = evt->cmd_complete.ncmd;
@ -197,7 +196,7 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
cmd_response_status = evt->cc_status.status;
// All the bytes following cmd_complete, -including- the status byte, which is
// included in all the _bt_hci_rp_* structs.
cmd_response_data = (uint8_t *) &evt->cc_status;
cmd_response_data = (uint8_t *)&evt->cc_status;
// Includes status byte.
cmd_response_len = pkt->param_len - sizeof_field(struct cmd_complete_with_status, cmd_complete);
@ -205,7 +204,7 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
}
case BT_HCI_EVT_CMD_STATUS: {
struct bt_hci_evt_cmd_status *evt = (struct bt_hci_evt_cmd_status *) pkt->params;
struct bt_hci_evt_cmd_status *evt = (struct bt_hci_evt_cmd_status *)pkt->params;
num_command_packets_allowed = evt->ncmd;
@ -220,7 +219,7 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
case BT_HCI_EVT_NUM_COMPLETED_PACKETS: {
struct bt_hci_evt_num_completed_packets *evt =
(struct bt_hci_evt_num_completed_packets *) pkt->params;
(struct bt_hci_evt_num_completed_packets *)pkt->params;
// Start at zero-th pair: (conn handle, num completed packets).
struct bt_hci_handle_count *handle_and_count = &(evt->h[0]);
@ -232,8 +231,8 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
}
case BT_HCI_EVT_LE_META_EVENT: {
struct bt_hci_evt_le_meta_event *meta_evt = (struct bt_hci_evt_le_meta_event *) pkt->params;
uint8_t *le_evt = pkt->params + sizeof (struct bt_hci_evt_le_meta_event);
struct bt_hci_evt_le_meta_event *meta_evt = (struct bt_hci_evt_le_meta_event *)pkt->params;
uint8_t *le_evt = pkt->params + sizeof (struct bt_hci_evt_le_meta_event);
if (meta_evt->subevent == BT_HCI_EVT_LE_CONN_COMPLETE) {
// Advertising stops when connection occurs.
@ -243,7 +242,7 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
bleio_adapter_advertising_was_stopped(&common_hal_bleio_adapter_obj);
struct bt_hci_evt_le_conn_complete *le_conn_complete =
(struct bt_hci_evt_le_conn_complete *) le_evt;
(struct bt_hci_evt_le_conn_complete *)le_evt;
if (le_conn_complete->status == BT_HCI_ERR_SUCCESS) {
att_add_connection(
@ -258,9 +257,9 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
}
} else if (meta_evt->subevent == BT_HCI_EVT_LE_ADVERTISING_REPORT) {
struct bt_hci_evt_le_advertising_info *le_advertising_info =
(struct bt_hci_evt_le_advertising_info *) le_evt;
(struct bt_hci_evt_le_advertising_info *)le_evt;
if (le_advertising_info->evt_type == BT_HCI_ADV_DIRECT_IND) {
//FIX
// FIX
// last byte is RSSI
// GAP.handleLeAdvertisingReport(leAdvertisingReport->type,
// leAdvertisingReport->peerBdaddrType,
@ -275,9 +274,9 @@ STATIC void process_evt_pkt(size_t pkt_len, uint8_t pkt_data[])
}
default:
#if HCI_DEBUG
#if HCI_DEBUG
mp_printf(&mp_plat_print, "process_evt_pkt: Unknown event: %02x\n");
#endif
#endif
break;
}
}
@ -333,7 +332,7 @@ hci_result_t hci_poll_for_incoming_pkt(void) {
case H4_ACL:
if (rx_idx >= sizeof(h4_hci_acl_pkt_t)) {
const size_t total_len =
sizeof(h4_hci_acl_pkt_t) + ((h4_hci_acl_pkt_t *) rx_buffer)->data_len;
sizeof(h4_hci_acl_pkt_t) + ((h4_hci_acl_pkt_t *)rx_buffer)->data_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
@ -346,7 +345,7 @@ hci_result_t hci_poll_for_incoming_pkt(void) {
case H4_EVT:
if (rx_idx >= sizeof(h4_hci_evt_pkt_t)) {
const size_t total_len =
sizeof(h4_hci_evt_pkt_t) + ((h4_hci_evt_pkt_t *) rx_buffer)->param_len;
sizeof(h4_hci_evt_pkt_t) + ((h4_hci_evt_pkt_t *)rx_buffer)->param_len;
if (rx_idx == total_len) {
packet_is_complete = true;
}
@ -374,23 +373,23 @@ hci_result_t hci_poll_for_incoming_pkt(void) {
switch (rx_buffer[0]) {
case H4_ACL:
#if HCI_DEBUG
#if HCI_DEBUG
dump_acl_pkt(false, pkt_len, rx_buffer);
#endif
#endif
process_acl_data_pkt(pkt_len, rx_buffer);
break;
case H4_EVT:
#if HCI_DEBUG
#if HCI_DEBUG
dump_evt_pkt(false, pkt_len, rx_buffer);
#endif
#endif
process_evt_pkt(pkt_len, rx_buffer);
break;
default:
#if HCI_DEBUG
#if HCI_DEBUG
mp_printf(&mp_plat_print, "Unknown HCI packet type: %d\n", rx_buffer[0]);
#endif
#endif
break;
}
@ -425,21 +424,21 @@ STATIC hci_result_t write_pkt(uint8_t *buffer, size_t len) {
return HCI_OK;
}
STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void* params) {
STATIC hci_result_t send_command(uint16_t opcode, uint8_t params_len, void *params) {
uint8_t cmd_pkt_len = sizeof(h4_hci_cmd_pkt_t) + params_len;
uint8_t tx_buffer[cmd_pkt_len];
// cmd header is at the beginning of tx_buffer
h4_hci_cmd_pkt_t *cmd_pkt = (h4_hci_cmd_pkt_t *) tx_buffer;
h4_hci_cmd_pkt_t *cmd_pkt = (h4_hci_cmd_pkt_t *)tx_buffer;
cmd_pkt->pkt_type = H4_CMD;
cmd_pkt->opcode = opcode;
cmd_pkt->param_len = params_len;
memcpy(cmd_pkt->params, params, params_len);
#if HCI_DEBUG
dump_cmd_pkt(true, sizeof(tx_buffer), tx_buffer);
#endif
#if HCI_DEBUG
dump_cmd_pkt(true, sizeof(tx_buffer), tx_buffer);
#endif
int result = write_pkt(tx_buffer, cmd_pkt_len);
if (result != HCI_OK) {
@ -478,8 +477,8 @@ hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, u
const size_t buf_len = sizeof(h4_hci_acl_pkt_t) + sizeof(acl_data_t) + data_len;
uint8_t tx_buffer[buf_len];
h4_hci_acl_pkt_t *acl_pkt = (h4_hci_acl_pkt_t *) tx_buffer;
acl_data_t *acl_data = (acl_data_t *) acl_pkt->data;
h4_hci_acl_pkt_t *acl_pkt = (h4_hci_acl_pkt_t *)tx_buffer;
acl_data_t *acl_data = (acl_data_t *)acl_pkt->data;
acl_pkt->pkt_type = H4_ACL;
acl_pkt->handle = handle;
acl_pkt->pb = ACL_DATA_PB_FIRST_FLUSH;
@ -490,9 +489,9 @@ hci_result_t hci_send_acl_pkt(uint16_t handle, uint8_t cid, uint16_t data_len, u
memcpy(&acl_data->acl_data, data, data_len);
#if HCI_DEBUG
dump_acl_pkt(true, buf_len, tx_buffer);
#endif
#if HCI_DEBUG
dump_acl_pkt(true, buf_len, tx_buffer);
#endif
pending_pkt++;
@ -512,7 +511,7 @@ hci_result_t hci_read_local_version(uint8_t *hci_version, uint16_t *hci_revision
hci_result_t result = send_command(BT_HCI_OP_READ_LOCAL_VERSION_INFO, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_local_version_info *response =
(struct bt_hci_rp_read_local_version_info *) cmd_response_data;
(struct bt_hci_rp_read_local_version_info *)cmd_response_data;
*hci_version = response->hci_version;
*hci_revision = response->hci_revision;
*lmp_version = response->lmp_version;
@ -526,7 +525,7 @@ hci_result_t hci_read_local_version(uint8_t *hci_version, uint16_t *hci_revision
hci_result_t hci_read_bd_addr(bt_addr_t *addr) {
int result = send_command(BT_HCI_OP_READ_BD_ADDR, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_bd_addr *response = (struct bt_hci_rp_read_bd_addr *) cmd_response_data;
struct bt_hci_rp_read_bd_addr *response = (struct bt_hci_rp_read_bd_addr *)cmd_response_data;
memcpy(addr->val, response->bdaddr.val, sizeof_field(bt_addr_t, val));
}
@ -536,7 +535,7 @@ hci_result_t hci_read_bd_addr(bt_addr_t *addr) {
hci_result_t hci_read_rssi(uint16_t handle, int *rssi) {
int result = send_command(BT_HCI_OP_READ_RSSI, sizeof(handle), &handle);
if (result == HCI_OK) {
struct bt_hci_rp_read_rssi *response = (struct bt_hci_rp_read_rssi *) cmd_response_data;
struct bt_hci_rp_read_rssi *response = (struct bt_hci_rp_read_rssi *)cmd_response_data;
*rssi = response->rssi;
}
@ -551,7 +550,7 @@ hci_result_t hci_le_read_buffer_size(uint16_t *le_max_len, uint8_t *le_max_num)
int result = send_command(BT_HCI_OP_LE_READ_BUFFER_SIZE, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_buffer_size *response =
(struct bt_hci_rp_le_read_buffer_size *) cmd_response_data;
(struct bt_hci_rp_le_read_buffer_size *)cmd_response_data;
*le_max_len = response->le_max_len;
*le_max_num = response->le_max_num;
}
@ -563,7 +562,7 @@ hci_result_t hci_read_buffer_size(uint16_t *acl_max_len, uint8_t *sco_max_len, u
int result = send_command(BT_HCI_OP_READ_BUFFER_SIZE, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_read_buffer_size *response =
(struct bt_hci_rp_read_buffer_size *) cmd_response_data;
(struct bt_hci_rp_read_buffer_size *)cmd_response_data;
*acl_max_len = response->acl_max_len;
*sco_max_len = response->sco_max_len;
*acl_max_num = response->acl_max_num;
@ -608,10 +607,10 @@ hci_result_t hci_le_set_extended_advertising_parameters(uint8_t handle, uint16_t
.scan_req_notify_enable = scan_req_notify_enable,
};
// Assumes little-endian.
memcpy(params.prim_min_interval, (void *) &prim_min_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_min_interval));
memcpy(params.prim_max_interval, (void *) &prim_max_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_max_interval));
memcpy(params.prim_min_interval, (void *)&prim_min_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_min_interval));
memcpy(params.prim_max_interval, (void *)&prim_max_interval,
sizeof_field(struct bt_hci_cp_le_set_ext_adv_param, prim_max_interval));
memcpy(params.peer_addr.a.val, peer_addr->a.val, sizeof_field(bt_addr_le_t, a.val));
return send_command(BT_HCI_OP_LE_SET_EXT_ADV_PARAM, sizeof(params), &params);
}
@ -620,7 +619,7 @@ hci_result_t hci_le_read_maximum_advertising_data_length(uint16_t *max_adv_data_
int result = send_command(BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_max_adv_data_len *response =
(struct bt_hci_rp_le_read_max_adv_data_len *) cmd_response_data;
(struct bt_hci_rp_le_read_max_adv_data_len *)cmd_response_data;
*max_adv_data_len = response->max_adv_data_len;
}
@ -631,9 +630,9 @@ hci_result_t hci_le_read_local_supported_features(uint8_t features[8]) {
int result = send_command(BT_HCI_OP_LE_READ_LOCAL_FEATURES, 0, NULL);
if (result == HCI_OK) {
struct bt_hci_rp_le_read_local_features *response =
(struct bt_hci_rp_le_read_local_features *) cmd_response_data;
(struct bt_hci_rp_le_read_local_features *)cmd_response_data;
memcpy(features, response->features,
sizeof_field(struct bt_hci_rp_le_read_local_features, features));
sizeof_field(struct bt_hci_rp_le_read_local_features, features));
}
return result;
@ -685,7 +684,7 @@ hci_result_t hci_le_set_advertising_enable(uint8_t enable) {
hci_result_t hci_le_set_extended_advertising_enable(uint8_t enable, uint8_t set_num, uint8_t handle[], uint16_t duration[], uint8_t max_ext_adv_evts[]) {
uint8_t params[sizeof(struct bt_hci_cp_le_set_ext_adv_enable) +
set_num * (sizeof(struct bt_hci_ext_adv_set))];
struct bt_hci_cp_le_set_ext_adv_enable *params_p = (struct bt_hci_cp_le_set_ext_adv_enable *) &params;
struct bt_hci_cp_le_set_ext_adv_enable *params_p = (struct bt_hci_cp_le_set_ext_adv_enable *)&params;
params_p->enable = enable;
params_p->set_num = set_num;
for (size_t i = 0; i < set_num; i++) {

View File

@ -26,248 +26,462 @@
// This file is #include'd in hci.c when HCI_DEBUG is non-zero.
STATIC const char* att_opcode_name(uint16_t opcode) {
STATIC const char *att_opcode_name(uint16_t opcode) {
switch (opcode) {
case BT_ATT_OP_ERROR_RSP: return "ERROR_RSP";
case BT_ATT_OP_MTU_REQ: return "MTU_REQ";
case BT_ATT_OP_MTU_RSP: return "MTU_RSP";
case BT_ATT_OP_FIND_INFO_REQ: return "FIND_INFO_REQ";
case BT_ATT_OP_FIND_INFO_RSP: return "FIND_INFO_RSP";
case BT_ATT_OP_FIND_TYPE_REQ: return "FIND_TYPE_REQ";
case BT_ATT_OP_FIND_TYPE_RSP: return "FIND_TYPE_RSP";
case BT_ATT_OP_READ_TYPE_REQ: return "READ_TYPE_REQ";
case BT_ATT_OP_READ_TYPE_RSP: return "READ_TYPE_RSP";
case BT_ATT_OP_READ_REQ: return "READ_REQ";
case BT_ATT_OP_READ_RSP: return "READ_RSP";
case BT_ATT_OP_READ_BLOB_REQ: return "READ_BLOB_REQ";
case BT_ATT_OP_READ_BLOB_RSP: return "READ_BLOB_RSP";
case BT_ATT_OP_READ_MULT_REQ: return "READ_MULT_REQ";
case BT_ATT_OP_READ_MULT_RSP: return "READ_MULT_RSP";
case BT_ATT_OP_READ_GROUP_REQ: return "READ_GROUP_REQ";
case BT_ATT_OP_READ_GROUP_RSP: return "READ_GROUP_RSP";
case BT_ATT_OP_WRITE_REQ: return "WRITE_REQ";
case BT_ATT_OP_WRITE_RSP: return "WRITE_RSP";
case BT_ATT_OP_PREPARE_WRITE_REQ: return "PREPARE_WRITE_REQ";
case BT_ATT_OP_PREPARE_WRITE_RSP: return "PREPARE_WRITE_RSP";
case BT_ATT_OP_EXEC_WRITE_REQ: return "EXEC_WRITE_REQ";
case BT_ATT_OP_EXEC_WRITE_RSP: return "EXEC_WRITE_RSP";
case BT_ATT_OP_NOTIFY: return "NOTIFY";
case BT_ATT_OP_INDICATE: return "INDICATE";
case BT_ATT_OP_CONFIRM: return "CONFIRM";
case BT_ATT_OP_READ_MULT_VL_REQ: return "READ_MULT_VL_REQ";
case BT_ATT_OP_READ_MULT_VL_RSP: return "READ_MULT_VL_RSP";
case BT_ATT_OP_NOTIFY_MULT: return "NOTIFY_MULT";
case BT_ATT_OP_WRITE_CMD: return "WRITE_CMD";
case BT_ATT_OP_SIGNED_WRITE_CMD: return "SIGNED_WRITE_CMD";
default: return "";
case BT_ATT_OP_ERROR_RSP:
return "ERROR_RSP";
case BT_ATT_OP_MTU_REQ:
return "MTU_REQ";
case BT_ATT_OP_MTU_RSP:
return "MTU_RSP";
case BT_ATT_OP_FIND_INFO_REQ:
return "FIND_INFO_REQ";
case BT_ATT_OP_FIND_INFO_RSP:
return "FIND_INFO_RSP";
case BT_ATT_OP_FIND_TYPE_REQ:
return "FIND_TYPE_REQ";
case BT_ATT_OP_FIND_TYPE_RSP:
return "FIND_TYPE_RSP";
case BT_ATT_OP_READ_TYPE_REQ:
return "READ_TYPE_REQ";
case BT_ATT_OP_READ_TYPE_RSP:
return "READ_TYPE_RSP";
case BT_ATT_OP_READ_REQ:
return "READ_REQ";
case BT_ATT_OP_READ_RSP:
return "READ_RSP";
case BT_ATT_OP_READ_BLOB_REQ:
return "READ_BLOB_REQ";
case BT_ATT_OP_READ_BLOB_RSP:
return "READ_BLOB_RSP";
case BT_ATT_OP_READ_MULT_REQ:
return "READ_MULT_REQ";
case BT_ATT_OP_READ_MULT_RSP:
return "READ_MULT_RSP";
case BT_ATT_OP_READ_GROUP_REQ:
return "READ_GROUP_REQ";
case BT_ATT_OP_READ_GROUP_RSP:
return "READ_GROUP_RSP";
case BT_ATT_OP_WRITE_REQ:
return "WRITE_REQ";
case BT_ATT_OP_WRITE_RSP:
return "WRITE_RSP";
case BT_ATT_OP_PREPARE_WRITE_REQ:
return "PREPARE_WRITE_REQ";
case BT_ATT_OP_PREPARE_WRITE_RSP:
return "PREPARE_WRITE_RSP";
case BT_ATT_OP_EXEC_WRITE_REQ:
return "EXEC_WRITE_REQ";
case BT_ATT_OP_EXEC_WRITE_RSP:
return "EXEC_WRITE_RSP";
case BT_ATT_OP_NOTIFY:
return "NOTIFY";
case BT_ATT_OP_INDICATE:
return "INDICATE";
case BT_ATT_OP_CONFIRM:
return "CONFIRM";
case BT_ATT_OP_READ_MULT_VL_REQ:
return "READ_MULT_VL_REQ";
case BT_ATT_OP_READ_MULT_VL_RSP:
return "READ_MULT_VL_RSP";
case BT_ATT_OP_NOTIFY_MULT:
return "NOTIFY_MULT";
case BT_ATT_OP_WRITE_CMD:
return "WRITE_CMD";
case BT_ATT_OP_SIGNED_WRITE_CMD:
return "SIGNED_WRITE_CMD";
default:
return "";
}
}
STATIC const char* hci_evt_name(uint8_t evt) {
STATIC const char *hci_evt_name(uint8_t evt) {
switch (evt) {
case BT_HCI_EVT_UNKNOWN: return "UNKNOWN";
case BT_HCI_EVT_VENDOR: return "VENDOR";
case BT_HCI_EVT_INQUIRY_COMPLETE: return "INQUIRY_COMPLETE";
case BT_HCI_EVT_CONN_COMPLETE: return "CONN_COMPLETE";
case BT_HCI_EVT_CONN_REQUEST: return "CONN_REQUEST";
case BT_HCI_EVT_DISCONN_COMPLETE: return "DISCONN_COMPLETE";
case BT_HCI_EVT_AUTH_COMPLETE: return "AUTH_COMPLETE";
case BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE: return "REMOTE_NAME_REQ_COMPLETE";
case BT_HCI_EVT_ENCRYPT_CHANGE: return "ENCRYPT_CHANGE";
case BT_HCI_EVT_REMOTE_FEATURES: return "REMOTE_FEATURES";
case BT_HCI_EVT_REMOTE_VERSION_INFO: return "REMOTE_VERSION_INFO";
case BT_HCI_EVT_CMD_COMPLETE: return "CMD_COMPLETE";
case BT_HCI_EVT_CMD_STATUS: return "CMD_STATUS";
case BT_HCI_EVT_ROLE_CHANGE: return "ROLE_CHANGE";
case BT_HCI_EVT_NUM_COMPLETED_PACKETS: return "NUM_COMPLETED_PACKETS";
case BT_HCI_EVT_PIN_CODE_REQ: return "PIN_CODE_REQ";
case BT_HCI_EVT_LINK_KEY_REQ: return "LINK_KEY_REQ";
case BT_HCI_EVT_LINK_KEY_NOTIFY: return "LINK_KEY_NOTIFY";
case BT_HCI_EVT_DATA_BUF_OVERFLOW: return "DATA_BUF_OVERFLOW";
case BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI: return "INQUIRY_RESULT_WITH_RSSI";
case BT_HCI_EVT_REMOTE_EXT_FEATURES: return "REMOTE_EXT_FEATURES";
case BT_HCI_EVT_SYNC_CONN_COMPLETE: return "SYNC_CONN_COMPLETE";
case BT_HCI_EVT_EXTENDED_INQUIRY_RESULT: return "EXTENDED_INQUIRY_RESULT";
case BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE: return "ENCRYPT_KEY_REFRESH_COMPLETE";
case BT_HCI_EVT_IO_CAPA_REQ: return "IO_CAPA_REQ";
case BT_HCI_EVT_IO_CAPA_RESP: return "IO_CAPA_RESP";
case BT_HCI_EVT_USER_CONFIRM_REQ: return "USER_CONFIRM_REQ";
case BT_HCI_EVT_USER_PASSKEY_REQ: return "USER_PASSKEY_REQ";
case BT_HCI_EVT_SSP_COMPLETE: return "SSP_COMPLETE";
case BT_HCI_EVT_USER_PASSKEY_NOTIFY: return "USER_PASSKEY_NOTIFY";
case BT_HCI_EVT_LE_META_EVENT: return "LE_META_EVENT";
case BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP: return "AUTH_PAYLOAD_TIMEOUT_EXP";
default: return "";
case BT_HCI_EVT_UNKNOWN:
return "UNKNOWN";
case BT_HCI_EVT_VENDOR:
return "VENDOR";
case BT_HCI_EVT_INQUIRY_COMPLETE:
return "INQUIRY_COMPLETE";
case BT_HCI_EVT_CONN_COMPLETE:
return "CONN_COMPLETE";
case BT_HCI_EVT_CONN_REQUEST:
return "CONN_REQUEST";
case BT_HCI_EVT_DISCONN_COMPLETE:
return "DISCONN_COMPLETE";
case BT_HCI_EVT_AUTH_COMPLETE:
return "AUTH_COMPLETE";
case BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE:
return "REMOTE_NAME_REQ_COMPLETE";
case BT_HCI_EVT_ENCRYPT_CHANGE:
return "ENCRYPT_CHANGE";
case BT_HCI_EVT_REMOTE_FEATURES:
return "REMOTE_FEATURES";
case BT_HCI_EVT_REMOTE_VERSION_INFO:
return "REMOTE_VERSION_INFO";
case BT_HCI_EVT_CMD_COMPLETE:
return "CMD_COMPLETE";
case BT_HCI_EVT_CMD_STATUS:
return "CMD_STATUS";
case BT_HCI_EVT_ROLE_CHANGE:
return "ROLE_CHANGE";
case BT_HCI_EVT_NUM_COMPLETED_PACKETS:
return "NUM_COMPLETED_PACKETS";
case BT_HCI_EVT_PIN_CODE_REQ:
return "PIN_CODE_REQ";
case BT_HCI_EVT_LINK_KEY_REQ:
return "LINK_KEY_REQ";
case BT_HCI_EVT_LINK_KEY_NOTIFY:
return "LINK_KEY_NOTIFY";
case BT_HCI_EVT_DATA_BUF_OVERFLOW:
return "DATA_BUF_OVERFLOW";
case BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI:
return "INQUIRY_RESULT_WITH_RSSI";
case BT_HCI_EVT_REMOTE_EXT_FEATURES:
return "REMOTE_EXT_FEATURES";
case BT_HCI_EVT_SYNC_CONN_COMPLETE:
return "SYNC_CONN_COMPLETE";
case BT_HCI_EVT_EXTENDED_INQUIRY_RESULT:
return "EXTENDED_INQUIRY_RESULT";
case BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE:
return "ENCRYPT_KEY_REFRESH_COMPLETE";
case BT_HCI_EVT_IO_CAPA_REQ:
return "IO_CAPA_REQ";
case BT_HCI_EVT_IO_CAPA_RESP:
return "IO_CAPA_RESP";
case BT_HCI_EVT_USER_CONFIRM_REQ:
return "USER_CONFIRM_REQ";
case BT_HCI_EVT_USER_PASSKEY_REQ:
return "USER_PASSKEY_REQ";
case BT_HCI_EVT_SSP_COMPLETE:
return "SSP_COMPLETE";
case BT_HCI_EVT_USER_PASSKEY_NOTIFY:
return "USER_PASSKEY_NOTIFY";
case BT_HCI_EVT_LE_META_EVENT:
return "LE_META_EVENT";
case BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP:
return "AUTH_PAYLOAD_TIMEOUT_EXP";
default:
return "";
}
}
STATIC const char* hci_evt_le_name(uint8_t evt_le) {
STATIC const char *hci_evt_le_name(uint8_t evt_le) {
switch (evt_le) {
case BT_HCI_EVT_LE_CONN_COMPLETE: return "LE_CONN_COMPLETE";
case BT_HCI_EVT_LE_ADVERTISING_REPORT: return "LE_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE: return "LE_CONN_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_LTK_REQUEST: return "LE_LTK_REQUEST";
case BT_HCI_EVT_LE_CONN_PARAM_REQ: return "LE_CONN_PARAM_REQ";
case BT_HCI_EVT_LE_DATA_LEN_CHANGE: return "LE_DATA_LEN_CHANGE";
case BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE: return "LE_P256_PUBLIC_KEY_COMPLETE";
case BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE: return "LE_GENERATE_DHKEY_COMPLETE";
case BT_HCI_EVT_LE_ENH_CONN_COMPLETE: return "LE_ENH_CONN_COMPLETE";
case BT_HCI_EVT_LE_DIRECT_ADV_REPORT: return "LE_DIRECT_ADV_REPORT";
case BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE: return "LE_PHY_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT: return "LE_EXT_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED: return "LE_PER_ADV_SYNC_ESTABLISHED";
case BT_HCI_EVT_LE_PER_ADVERTISING_REPORT: return "LE_PER_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_LOST: return "LE_PER_ADV_SYNC_LOST";
case BT_HCI_EVT_LE_SCAN_TIMEOUT: return "LE_SCAN_TIMEOUT";
case BT_HCI_EVT_LE_ADV_SET_TERMINATED: return "LE_ADV_SET_TERMINATED";
case BT_HCI_EVT_LE_SCAN_REQ_RECEIVED: return "LE_SCAN_REQ_RECEIVED";
case BT_HCI_EVT_LE_CHAN_SEL_ALGO: return "LE_CHAN_SEL_ALGO";
default: return "";
case BT_HCI_EVT_LE_CONN_COMPLETE:
return "LE_CONN_COMPLETE";
case BT_HCI_EVT_LE_ADVERTISING_REPORT:
return "LE_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE:
return "LE_CONN_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_LTK_REQUEST:
return "LE_LTK_REQUEST";
case BT_HCI_EVT_LE_CONN_PARAM_REQ:
return "LE_CONN_PARAM_REQ";
case BT_HCI_EVT_LE_DATA_LEN_CHANGE:
return "LE_DATA_LEN_CHANGE";
case BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE:
return "LE_P256_PUBLIC_KEY_COMPLETE";
case BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE:
return "LE_GENERATE_DHKEY_COMPLETE";
case BT_HCI_EVT_LE_ENH_CONN_COMPLETE:
return "LE_ENH_CONN_COMPLETE";
case BT_HCI_EVT_LE_DIRECT_ADV_REPORT:
return "LE_DIRECT_ADV_REPORT";
case BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE:
return "LE_PHY_UPDATE_COMPLETE";
case BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT:
return "LE_EXT_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED:
return "LE_PER_ADV_SYNC_ESTABLISHED";
case BT_HCI_EVT_LE_PER_ADVERTISING_REPORT:
return "LE_PER_ADVERTISING_REPORT";
case BT_HCI_EVT_LE_PER_ADV_SYNC_LOST:
return "LE_PER_ADV_SYNC_LOST";
case BT_HCI_EVT_LE_SCAN_TIMEOUT:
return "LE_SCAN_TIMEOUT";
case BT_HCI_EVT_LE_ADV_SET_TERMINATED:
return "LE_ADV_SET_TERMINATED";
case BT_HCI_EVT_LE_SCAN_REQ_RECEIVED:
return "LE_SCAN_REQ_RECEIVED";
case BT_HCI_EVT_LE_CHAN_SEL_ALGO:
return "LE_CHAN_SEL_ALGO";
default:
return "";
}
}
STATIC const char* hci_opcode_name(uint16_t opcode) {
STATIC const char *hci_opcode_name(uint16_t opcode) {
switch (opcode) {
case BT_OP_NOP: return "NOP";
case BT_HCI_OP_INQUIRY: return "INQUIRY";
case BT_HCI_OP_INQUIRY_CANCEL: return "INQUIRY_CANCEL";
case BT_HCI_OP_CONNECT: return "CONNECT";
case BT_HCI_OP_DISCONNECT: return "DISCONNECT";
case BT_HCI_OP_CONNECT_CANCEL: return "CONNECT_CANCEL";
case BT_HCI_OP_ACCEPT_CONN_REQ: return "ACCEPT_CONN_REQ";
case BT_HCI_OP_SETUP_SYNC_CONN: return "SETUP_SYNC_CONN";
case BT_HCI_OP_ACCEPT_SYNC_CONN_REQ: return "ACCEPT_SYNC_CONN_REQ";
case BT_HCI_OP_REJECT_CONN_REQ: return "REJECT_CONN_REQ";
case BT_HCI_OP_LINK_KEY_REPLY: return "LINK_KEY_REPLY";
case BT_HCI_OP_LINK_KEY_NEG_REPLY: return "LINK_KEY_NEG_REPLY";
case BT_HCI_OP_PIN_CODE_REPLY: return "PIN_CODE_REPLY";
case BT_HCI_OP_PIN_CODE_NEG_REPLY: return "PIN_CODE_NEG_REPLY";
case BT_HCI_OP_AUTH_REQUESTED: return "AUTH_REQUESTED";
case BT_HCI_OP_SET_CONN_ENCRYPT: return "SET_CONN_ENCRYPT";
case BT_HCI_OP_REMOTE_NAME_REQUEST: return "REMOTE_NAME_REQUEST";
case BT_HCI_OP_REMOTE_NAME_CANCEL: return "REMOTE_NAME_CANCEL";
case BT_HCI_OP_READ_REMOTE_FEATURES: return "READ_REMOTE_FEATURES";
case BT_HCI_OP_READ_REMOTE_EXT_FEATURES: return "READ_REMOTE_EXT_FEATURES";
case BT_HCI_OP_READ_REMOTE_VERSION_INFO: return "READ_REMOTE_VERSION_INFO";
case BT_HCI_OP_IO_CAPABILITY_REPLY: return "IO_CAPABILITY_REPLY";
case BT_HCI_OP_USER_CONFIRM_REPLY: return "USER_CONFIRM_REPLY";
case BT_HCI_OP_USER_CONFIRM_NEG_REPLY: return "USER_CONFIRM_NEG_REPLY";
case BT_HCI_OP_USER_PASSKEY_REPLY: return "USER_PASSKEY_REPLY";
case BT_HCI_OP_USER_PASSKEY_NEG_REPLY: return "USER_PASSKEY_NEG_REPLY";
case BT_HCI_OP_IO_CAPABILITY_NEG_REPLY: return "IO_CAPABILITY_NEG_REPLY";
case BT_HCI_OP_SET_EVENT_MASK: return "SET_EVENT_MASK";
case BT_HCI_OP_RESET: return "RESET";
case BT_HCI_OP_WRITE_LOCAL_NAME: return "WRITE_LOCAL_NAME";
case BT_HCI_OP_WRITE_PAGE_TIMEOUT: return "WRITE_PAGE_TIMEOUT";
case BT_HCI_OP_WRITE_SCAN_ENABLE: return "WRITE_SCAN_ENABLE";
case BT_HCI_OP_READ_TX_POWER_LEVEL: return "READ_TX_POWER_LEVEL";
case BT_HCI_OP_SET_CTL_TO_HOST_FLOW: return "SET_CTL_TO_HOST_FLOW";
case BT_HCI_OP_HOST_BUFFER_SIZE: return "HOST_BUFFER_SIZE";
case BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS: return "HOST_NUM_COMPLETED_PACKETS";
case BT_HCI_OP_WRITE_INQUIRY_MODE: return "WRITE_INQUIRY_MODE";
case BT_HCI_OP_WRITE_SSP_MODE: return "WRITE_SSP_MODE";
case BT_HCI_OP_SET_EVENT_MASK_PAGE_2: return "SET_EVENT_MASK_PAGE_2";
case BT_HCI_OP_LE_WRITE_LE_HOST_SUPP: return "LE_WRITE_LE_HOST_SUPP";
case BT_HCI_OP_WRITE_SC_HOST_SUPP: return "WRITE_SC_HOST_SUPP";
case BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT: return "READ_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT: return "WRITE_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_READ_LOCAL_VERSION_INFO: return "READ_LOCAL_VERSION_INFO";
case BT_HCI_OP_READ_SUPPORTED_COMMANDS: return "READ_SUPPORTED_COMMANDS";
case BT_HCI_OP_READ_LOCAL_EXT_FEATURES: return "READ_LOCAL_EXT_FEATURES";
case BT_HCI_OP_READ_LOCAL_FEATURES: return "READ_LOCAL_FEATURES";
case BT_HCI_OP_READ_BUFFER_SIZE: return "READ_BUFFER_SIZE";
case BT_HCI_OP_READ_BD_ADDR: return "READ_BD_ADDR";
case BT_HCI_OP_READ_RSSI: return "READ_RSSI";
case BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE: return "READ_ENCRYPTION_KEY_SIZE";
case BT_HCI_OP_LE_SET_EVENT_MASK: return "LE_SET_EVENT_MASK";
case BT_HCI_OP_LE_READ_BUFFER_SIZE: return "LE_READ_BUFFER_SIZE";
case BT_HCI_OP_LE_READ_LOCAL_FEATURES: return "LE_READ_LOCAL_FEATURES";
case BT_HCI_OP_LE_SET_RANDOM_ADDRESS: return "LE_SET_RANDOM_ADDRESS";
case BT_HCI_OP_LE_SET_ADV_PARAM: return "LE_SET_ADV_PARAM";
case BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER: return "LE_READ_ADV_CHAN_TX_POWER";
case BT_HCI_OP_LE_SET_ADV_DATA: return "LE_SET_ADV_DATA";
case BT_HCI_OP_LE_SET_SCAN_RSP_DATA: return "LE_SET_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_ADV_ENABLE: return "LE_SET_ADV_ENABLE";
case BT_HCI_OP_LE_SET_SCAN_PARAM: return "LE_SET_SCAN_PARAM";
case BT_HCI_OP_LE_SET_SCAN_ENABLE: return "LE_SET_SCAN_ENABLE";
case BT_HCI_OP_LE_CREATE_CONN: return "LE_CREATE_CONN";
case BT_HCI_OP_LE_CREATE_CONN_CANCEL: return "LE_CREATE_CONN_CANCEL";
case BT_HCI_OP_LE_READ_WL_SIZE: return "LE_READ_WL_SIZE";
case BT_HCI_OP_LE_CLEAR_WL: return "LE_CLEAR_WL";
case BT_HCI_OP_LE_ADD_DEV_TO_WL: return "LE_ADD_DEV_TO_WL";
case BT_HCI_OP_LE_REM_DEV_FROM_WL: return "LE_REM_DEV_FROM_WL";
case BT_HCI_OP_LE_CONN_UPDATE: return "LE_CONN_UPDATE";
case BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF: return "LE_SET_HOST_CHAN_CLASSIF";
case BT_HCI_OP_LE_READ_CHAN_MAP: return "LE_READ_CHAN_MAP";
case BT_HCI_OP_LE_READ_REMOTE_FEATURES: return "LE_READ_REMOTE_FEATURES";
case BT_HCI_OP_LE_ENCRYPT: return "LE_ENCRYPT";
case BT_HCI_OP_LE_RAND: return "LE_RAND";
case BT_HCI_OP_LE_START_ENCRYPTION: return "LE_START_ENCRYPTION";
case BT_HCI_OP_LE_LTK_REQ_REPLY: return "LE_LTK_REQ_REPLY";
case BT_HCI_OP_LE_LTK_REQ_NEG_REPLY: return "LE_LTK_REQ_NEG_REPLY";
case BT_HCI_OP_LE_READ_SUPP_STATES: return "LE_READ_SUPP_STATES";
case BT_HCI_OP_LE_RX_TEST: return "LE_RX_TEST";
case BT_HCI_OP_LE_TX_TEST: return "LE_TX_TEST";
case BT_HCI_OP_LE_TEST_END: return "LE_TEST_END";
case BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY: return "LE_CONN_PARAM_REQ_REPLY";
case BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY: return "LE_CONN_PARAM_REQ_NEG_REPLY";
case BT_HCI_OP_LE_SET_DATA_LEN: return "LE_SET_DATA_LEN";
case BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN: return "LE_READ_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN: return "LE_WRITE_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_P256_PUBLIC_KEY: return "LE_P256_PUBLIC_KEY";
case BT_HCI_OP_LE_GENERATE_DHKEY: return "LE_GENERATE_DHKEY";
case BT_HCI_OP_LE_ADD_DEV_TO_RL: return "LE_ADD_DEV_TO_RL";
case BT_HCI_OP_LE_REM_DEV_FROM_RL: return "LE_REM_DEV_FROM_RL";
case BT_HCI_OP_LE_CLEAR_RL: return "LE_CLEAR_RL";
case BT_HCI_OP_LE_READ_RL_SIZE: return "LE_READ_RL_SIZE";
case BT_HCI_OP_LE_READ_PEER_RPA: return "LE_READ_PEER_RPA";
case BT_HCI_OP_LE_READ_LOCAL_RPA: return "LE_READ_LOCAL_RPA";
case BT_HCI_OP_LE_SET_ADDR_RES_ENABLE: return "LE_SET_ADDR_RES_ENABLE";
case BT_HCI_OP_LE_SET_RPA_TIMEOUT: return "LE_SET_RPA_TIMEOUT";
case BT_HCI_OP_LE_READ_MAX_DATA_LEN: return "LE_READ_MAX_DATA_LEN";
case BT_HCI_OP_LE_READ_PHY: return "LE_READ_PHY";
case BT_HCI_OP_LE_SET_DEFAULT_PHY: return "LE_SET_DEFAULT_PHY";
case BT_HCI_OP_LE_SET_PHY: return "LE_SET_PHY";
case BT_HCI_OP_LE_ENH_RX_TEST: return "LE_ENH_RX_TEST";
case BT_HCI_OP_LE_ENH_TX_TEST: return "LE_ENH_TX_TEST";
case BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR: return "LE_SET_ADV_SET_RANDOM_ADDR";
case BT_HCI_OP_LE_SET_EXT_ADV_PARAM: return "LE_SET_EXT_ADV_PARAM";
case BT_HCI_OP_LE_SET_EXT_ADV_DATA: return "LE_SET_EXT_ADV_DATA";
case BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA: return "LE_SET_EXT_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_EXT_ADV_ENABLE: return "LE_SET_EXT_ADV_ENABLE";
case BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN: return "LE_READ_MAX_ADV_DATA_LEN";
case BT_HCI_OP_LE_READ_NUM_ADV_SETS: return "LE_READ_NUM_ADV_SETS";
case BT_HCI_OP_LE_REMOVE_ADV_SET: return "LE_REMOVE_ADV_SET";
case BT_HCI_OP_CLEAR_ADV_SETS: return "CLEAR_ADV_SETS";
case BT_HCI_OP_LE_SET_PER_ADV_PARAM: return "LE_SET_PER_ADV_PARAM";
case BT_HCI_OP_LE_SET_PER_ADV_DATA: return "LE_SET_PER_ADV_DATA";
case BT_HCI_OP_LE_SET_PER_ADV_ENABLE: return "LE_SET_PER_ADV_ENABLE";
case BT_HCI_OP_LE_SET_EXT_SCAN_PARAM: return "LE_SET_EXT_SCAN_PARAM";
case BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE: return "LE_SET_EXT_SCAN_ENABLE";
case BT_HCI_OP_LE_EXT_CREATE_CONN: return "LE_EXT_CREATE_CONN";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC: return "LE_PER_ADV_CREATE_SYNC";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL: return "LE_PER_ADV_CREATE_SYNC_CANCEL";
case BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC: return "LE_PER_ADV_TERMINATE_SYNC";
case BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST: return "LE_ADD_DEV_TO_PER_ADV_LIST";
case BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST: return "LE_REM_DEV_FROM_PER_ADV_LIST";
case BT_HCI_OP_LE_CLEAR_PER_ADV_LIST: return "LE_CLEAR_PER_ADV_LIST";
case BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE: return "LE_READ_PER_ADV_LIST_SIZE";
case BT_HCI_OP_LE_READ_TX_POWER: return "LE_READ_TX_POWER";
case BT_HCI_OP_LE_READ_RF_PATH_COMP: return "LE_READ_RF_PATH_COMP";
case BT_HCI_OP_LE_WRITE_RF_PATH_COMP: return "LE_WRITE_RF_PATH_COMP";
case BT_HCI_OP_LE_SET_PRIVACY_MODE: return "LE_SET_PRIVACY_MODE";
default: return "";
case BT_OP_NOP:
return "NOP";
case BT_HCI_OP_INQUIRY:
return "INQUIRY";
case BT_HCI_OP_INQUIRY_CANCEL:
return "INQUIRY_CANCEL";
case BT_HCI_OP_CONNECT:
return "CONNECT";
case BT_HCI_OP_DISCONNECT:
return "DISCONNECT";
case BT_HCI_OP_CONNECT_CANCEL:
return "CONNECT_CANCEL";
case BT_HCI_OP_ACCEPT_CONN_REQ:
return "ACCEPT_CONN_REQ";
case BT_HCI_OP_SETUP_SYNC_CONN:
return "SETUP_SYNC_CONN";
case BT_HCI_OP_ACCEPT_SYNC_CONN_REQ:
return "ACCEPT_SYNC_CONN_REQ";
case BT_HCI_OP_REJECT_CONN_REQ:
return "REJECT_CONN_REQ";
case BT_HCI_OP_LINK_KEY_REPLY:
return "LINK_KEY_REPLY";
case BT_HCI_OP_LINK_KEY_NEG_REPLY:
return "LINK_KEY_NEG_REPLY";
case BT_HCI_OP_PIN_CODE_REPLY:
return "PIN_CODE_REPLY";
case BT_HCI_OP_PIN_CODE_NEG_REPLY:
return "PIN_CODE_NEG_REPLY";
case BT_HCI_OP_AUTH_REQUESTED:
return "AUTH_REQUESTED";
case BT_HCI_OP_SET_CONN_ENCRYPT:
return "SET_CONN_ENCRYPT";
case BT_HCI_OP_REMOTE_NAME_REQUEST:
return "REMOTE_NAME_REQUEST";
case BT_HCI_OP_REMOTE_NAME_CANCEL:
return "REMOTE_NAME_CANCEL";
case BT_HCI_OP_READ_REMOTE_FEATURES:
return "READ_REMOTE_FEATURES";
case BT_HCI_OP_READ_REMOTE_EXT_FEATURES:
return "READ_REMOTE_EXT_FEATURES";
case BT_HCI_OP_READ_REMOTE_VERSION_INFO:
return "READ_REMOTE_VERSION_INFO";
case BT_HCI_OP_IO_CAPABILITY_REPLY:
return "IO_CAPABILITY_REPLY";
case BT_HCI_OP_USER_CONFIRM_REPLY:
return "USER_CONFIRM_REPLY";
case BT_HCI_OP_USER_CONFIRM_NEG_REPLY:
return "USER_CONFIRM_NEG_REPLY";
case BT_HCI_OP_USER_PASSKEY_REPLY:
return "USER_PASSKEY_REPLY";
case BT_HCI_OP_USER_PASSKEY_NEG_REPLY:
return "USER_PASSKEY_NEG_REPLY";
case BT_HCI_OP_IO_CAPABILITY_NEG_REPLY:
return "IO_CAPABILITY_NEG_REPLY";
case BT_HCI_OP_SET_EVENT_MASK:
return "SET_EVENT_MASK";
case BT_HCI_OP_RESET:
return "RESET";
case BT_HCI_OP_WRITE_LOCAL_NAME:
return "WRITE_LOCAL_NAME";
case BT_HCI_OP_WRITE_PAGE_TIMEOUT:
return "WRITE_PAGE_TIMEOUT";
case BT_HCI_OP_WRITE_SCAN_ENABLE:
return "WRITE_SCAN_ENABLE";
case BT_HCI_OP_READ_TX_POWER_LEVEL:
return "READ_TX_POWER_LEVEL";
case BT_HCI_OP_SET_CTL_TO_HOST_FLOW:
return "SET_CTL_TO_HOST_FLOW";
case BT_HCI_OP_HOST_BUFFER_SIZE:
return "HOST_BUFFER_SIZE";
case BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS:
return "HOST_NUM_COMPLETED_PACKETS";
case BT_HCI_OP_WRITE_INQUIRY_MODE:
return "WRITE_INQUIRY_MODE";
case BT_HCI_OP_WRITE_SSP_MODE:
return "WRITE_SSP_MODE";
case BT_HCI_OP_SET_EVENT_MASK_PAGE_2:
return "SET_EVENT_MASK_PAGE_2";
case BT_HCI_OP_LE_WRITE_LE_HOST_SUPP:
return "LE_WRITE_LE_HOST_SUPP";
case BT_HCI_OP_WRITE_SC_HOST_SUPP:
return "WRITE_SC_HOST_SUPP";
case BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT:
return "READ_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT:
return "WRITE_AUTH_PAYLOAD_TIMEOUT";
case BT_HCI_OP_READ_LOCAL_VERSION_INFO:
return "READ_LOCAL_VERSION_INFO";
case BT_HCI_OP_READ_SUPPORTED_COMMANDS:
return "READ_SUPPORTED_COMMANDS";
case BT_HCI_OP_READ_LOCAL_EXT_FEATURES:
return "READ_LOCAL_EXT_FEATURES";
case BT_HCI_OP_READ_LOCAL_FEATURES:
return "READ_LOCAL_FEATURES";
case BT_HCI_OP_READ_BUFFER_SIZE:
return "READ_BUFFER_SIZE";
case BT_HCI_OP_READ_BD_ADDR:
return "READ_BD_ADDR";
case BT_HCI_OP_READ_RSSI:
return "READ_RSSI";
case BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE:
return "READ_ENCRYPTION_KEY_SIZE";
case BT_HCI_OP_LE_SET_EVENT_MASK:
return "LE_SET_EVENT_MASK";
case BT_HCI_OP_LE_READ_BUFFER_SIZE:
return "LE_READ_BUFFER_SIZE";
case BT_HCI_OP_LE_READ_LOCAL_FEATURES:
return "LE_READ_LOCAL_FEATURES";
case BT_HCI_OP_LE_SET_RANDOM_ADDRESS:
return "LE_SET_RANDOM_ADDRESS";
case BT_HCI_OP_LE_SET_ADV_PARAM:
return "LE_SET_ADV_PARAM";
case BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER:
return "LE_READ_ADV_CHAN_TX_POWER";
case BT_HCI_OP_LE_SET_ADV_DATA:
return "LE_SET_ADV_DATA";
case BT_HCI_OP_LE_SET_SCAN_RSP_DATA:
return "LE_SET_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_ADV_ENABLE:
return "LE_SET_ADV_ENABLE";
case BT_HCI_OP_LE_SET_SCAN_PARAM:
return "LE_SET_SCAN_PARAM";
case BT_HCI_OP_LE_SET_SCAN_ENABLE:
return "LE_SET_SCAN_ENABLE";
case BT_HCI_OP_LE_CREATE_CONN:
return "LE_CREATE_CONN";
case BT_HCI_OP_LE_CREATE_CONN_CANCEL:
return "LE_CREATE_CONN_CANCEL";
case BT_HCI_OP_LE_READ_WL_SIZE:
return "LE_READ_WL_SIZE";
case BT_HCI_OP_LE_CLEAR_WL:
return "LE_CLEAR_WL";
case BT_HCI_OP_LE_ADD_DEV_TO_WL:
return "LE_ADD_DEV_TO_WL";
case BT_HCI_OP_LE_REM_DEV_FROM_WL:
return "LE_REM_DEV_FROM_WL";
case BT_HCI_OP_LE_CONN_UPDATE:
return "LE_CONN_UPDATE";
case BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF:
return "LE_SET_HOST_CHAN_CLASSIF";
case BT_HCI_OP_LE_READ_CHAN_MAP:
return "LE_READ_CHAN_MAP";
case BT_HCI_OP_LE_READ_REMOTE_FEATURES:
return "LE_READ_REMOTE_FEATURES";
case BT_HCI_OP_LE_ENCRYPT:
return "LE_ENCRYPT";
case BT_HCI_OP_LE_RAND:
return "LE_RAND";
case BT_HCI_OP_LE_START_ENCRYPTION:
return "LE_START_ENCRYPTION";
case BT_HCI_OP_LE_LTK_REQ_REPLY:
return "LE_LTK_REQ_REPLY";
case BT_HCI_OP_LE_LTK_REQ_NEG_REPLY:
return "LE_LTK_REQ_NEG_REPLY";
case BT_HCI_OP_LE_READ_SUPP_STATES:
return "LE_READ_SUPP_STATES";
case BT_HCI_OP_LE_RX_TEST:
return "LE_RX_TEST";
case BT_HCI_OP_LE_TX_TEST:
return "LE_TX_TEST";
case BT_HCI_OP_LE_TEST_END:
return "LE_TEST_END";
case BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY:
return "LE_CONN_PARAM_REQ_REPLY";
case BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY:
return "LE_CONN_PARAM_REQ_NEG_REPLY";
case BT_HCI_OP_LE_SET_DATA_LEN:
return "LE_SET_DATA_LEN";
case BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN:
return "LE_READ_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN:
return "LE_WRITE_DEFAULT_DATA_LEN";
case BT_HCI_OP_LE_P256_PUBLIC_KEY:
return "LE_P256_PUBLIC_KEY";
case BT_HCI_OP_LE_GENERATE_DHKEY:
return "LE_GENERATE_DHKEY";
case BT_HCI_OP_LE_ADD_DEV_TO_RL:
return "LE_ADD_DEV_TO_RL";
case BT_HCI_OP_LE_REM_DEV_FROM_RL:
return "LE_REM_DEV_FROM_RL";
case BT_HCI_OP_LE_CLEAR_RL:
return "LE_CLEAR_RL";
case BT_HCI_OP_LE_READ_RL_SIZE:
return "LE_READ_RL_SIZE";
case BT_HCI_OP_LE_READ_PEER_RPA:
return "LE_READ_PEER_RPA";
case BT_HCI_OP_LE_READ_LOCAL_RPA:
return "LE_READ_LOCAL_RPA";
case BT_HCI_OP_LE_SET_ADDR_RES_ENABLE:
return "LE_SET_ADDR_RES_ENABLE";
case BT_HCI_OP_LE_SET_RPA_TIMEOUT:
return "LE_SET_RPA_TIMEOUT";
case BT_HCI_OP_LE_READ_MAX_DATA_LEN:
return "LE_READ_MAX_DATA_LEN";
case BT_HCI_OP_LE_READ_PHY:
return "LE_READ_PHY";
case BT_HCI_OP_LE_SET_DEFAULT_PHY:
return "LE_SET_DEFAULT_PHY";
case BT_HCI_OP_LE_SET_PHY:
return "LE_SET_PHY";
case BT_HCI_OP_LE_ENH_RX_TEST:
return "LE_ENH_RX_TEST";
case BT_HCI_OP_LE_ENH_TX_TEST:
return "LE_ENH_TX_TEST";
case BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR:
return "LE_SET_ADV_SET_RANDOM_ADDR";
case BT_HCI_OP_LE_SET_EXT_ADV_PARAM:
return "LE_SET_EXT_ADV_PARAM";
case BT_HCI_OP_LE_SET_EXT_ADV_DATA:
return "LE_SET_EXT_ADV_DATA";
case BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA:
return "LE_SET_EXT_SCAN_RSP_DATA";
case BT_HCI_OP_LE_SET_EXT_ADV_ENABLE:
return "LE_SET_EXT_ADV_ENABLE";
case BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN:
return "LE_READ_MAX_ADV_DATA_LEN";
case BT_HCI_OP_LE_READ_NUM_ADV_SETS:
return "LE_READ_NUM_ADV_SETS";
case BT_HCI_OP_LE_REMOVE_ADV_SET:
return "LE_REMOVE_ADV_SET";
case BT_HCI_OP_CLEAR_ADV_SETS:
return "CLEAR_ADV_SETS";
case BT_HCI_OP_LE_SET_PER_ADV_PARAM:
return "LE_SET_PER_ADV_PARAM";
case BT_HCI_OP_LE_SET_PER_ADV_DATA:
return "LE_SET_PER_ADV_DATA";
case BT_HCI_OP_LE_SET_PER_ADV_ENABLE:
return "LE_SET_PER_ADV_ENABLE";
case BT_HCI_OP_LE_SET_EXT_SCAN_PARAM:
return "LE_SET_EXT_SCAN_PARAM";
case BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE:
return "LE_SET_EXT_SCAN_ENABLE";
case BT_HCI_OP_LE_EXT_CREATE_CONN:
return "LE_EXT_CREATE_CONN";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC:
return "LE_PER_ADV_CREATE_SYNC";
case BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL:
return "LE_PER_ADV_CREATE_SYNC_CANCEL";
case BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC:
return "LE_PER_ADV_TERMINATE_SYNC";
case BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST:
return "LE_ADD_DEV_TO_PER_ADV_LIST";
case BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST:
return "LE_REM_DEV_FROM_PER_ADV_LIST";
case BT_HCI_OP_LE_CLEAR_PER_ADV_LIST:
return "LE_CLEAR_PER_ADV_LIST";
case BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE:
return "LE_READ_PER_ADV_LIST_SIZE";
case BT_HCI_OP_LE_READ_TX_POWER:
return "LE_READ_TX_POWER";
case BT_HCI_OP_LE_READ_RF_PATH_COMP:
return "LE_READ_RF_PATH_COMP";
case BT_HCI_OP_LE_WRITE_RF_PATH_COMP:
return "LE_WRITE_RF_PATH_COMP";
case BT_HCI_OP_LE_SET_PRIVACY_MODE:
return "LE_SET_PRIVACY_MODE";
default:
return "";
}
}
STATIC void dump_cmd_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_cmd_pkt_t *pkt = (h4_hci_cmd_pkt_t *) pkt_data;
h4_hci_cmd_pkt_t *pkt = (h4_hci_cmd_pkt_t *)pkt_data;
mp_printf(&mp_plat_print,
"%s HCI COMMAND (%x) op: %s (%04x), len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
hci_opcode_name(pkt->opcode), pkt->opcode, pkt->param_len);
"%s HCI COMMAND (%x) op: %s (%04x), len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
hci_opcode_name(pkt->opcode), pkt->opcode, pkt->param_len);
for (size_t i = 0; i < pkt->param_len; i++) {
mp_printf(&mp_plat_print, "%02x ", pkt->params[i]);
}
@ -278,12 +492,12 @@ STATIC void dump_cmd_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
}
STATIC void dump_acl_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t *) pkt_data;
acl_data_t *acl = (acl_data_t *) pkt->data;
h4_hci_acl_pkt_t *pkt = (h4_hci_acl_pkt_t *)pkt_data;
acl_data_t *acl = (acl_data_t *)pkt->data;
mp_printf(&mp_plat_print,
"%s HCI ACLDATA (%x) ",
tx ? "TX->" : "RX<-", pkt->pkt_type);
"%s HCI ACLDATA (%x) ",
tx ? "TX->" : "RX<-", pkt->pkt_type);
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,
@ -292,14 +506,14 @@ STATIC void dump_acl_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
}
mp_printf(&mp_plat_print,
"handle: %04x, pb: %d, bc: %d, data_len: %d, ",
pkt->handle, pkt->pb, pkt->bc, pkt->data_len);
"handle: %04x, pb: %d, bc: %d, data_len: %d, ",
pkt->handle, pkt->pb, pkt->bc, pkt->data_len);
if (pkt->pb != ACL_DATA_PB_MIDDLE) {
// This is the start of a fragmented acl_data packet or is a full packet.
mp_printf(&mp_plat_print,
"acl data_len: %d, cid: %04x, data: ",
acl->acl_data_len, acl->cid);
"acl data_len: %d, cid: %04x, data: ",
acl->acl_data_len, acl->cid);
for (size_t i = 0; i < acl->acl_data_len; i++) {
mp_printf(&mp_plat_print, "%02x ", acl->acl_data[i]);
}
@ -316,15 +530,15 @@ STATIC void dump_acl_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
}
STATIC void dump_evt_pkt(bool tx, uint8_t pkt_len, uint8_t pkt_data[]) {
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t *) pkt_data;
h4_hci_evt_pkt_t *pkt = (h4_hci_evt_pkt_t *)pkt_data;
mp_printf(&mp_plat_print,
"%s HCI EVENT (%x) evt: %s (%02x), param_len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
pkt->evt == BT_HCI_EVT_LE_META_EVENT
"%s HCI EVENT (%x) evt: %s (%02x), param_len: %d, data: ",
tx ? "TX->" : "RX<-",
pkt->pkt_type,
pkt->evt == BT_HCI_EVT_LE_META_EVENT
? hci_evt_le_name(pkt->params[0])
: hci_evt_name(pkt->evt),
pkt->evt, pkt->param_len);
pkt->evt, pkt->param_len);
for (size_t i = 0; i < pkt->param_len; i++) {
mp_printf(&mp_plat_print, "%02x ", pkt->params[i]);
}

View File

@ -29,40 +29,36 @@
/** Bluetooth Device Address */
typedef struct {
uint8_t val[6];
uint8_t val[6];
} bt_addr_t;
/** Bluetooth LE Device Address */
typedef struct {
uint8_t type;
bt_addr_t a;
uint8_t type;
bt_addr_t a;
} bt_addr_le_t;
#define BT_ADDR_ANY ((bt_addr_t[]) { { { 0, 0, 0, 0, 0, 0 } } })
#define BT_ADDR_NONE ((bt_addr_t[]) { { \
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } })
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } })
#define BT_ADDR_LE_ANY ((bt_addr_le_t[]) { { 0, { { 0, 0, 0, 0, 0, 0 } } } })
#define BT_ADDR_LE_NONE ((bt_addr_le_t[]) { { 0, \
{ { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } } })
{ { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } } } })
static inline int bt_addr_cmp(const bt_addr_t *a, const bt_addr_t *b)
{
return memcmp(a, b, sizeof(*a));
static inline int bt_addr_cmp(const bt_addr_t *a, const bt_addr_t *b) {
return memcmp(a, b, sizeof(*a));
}
static inline int bt_addr_le_cmp(const bt_addr_le_t *a, const bt_addr_le_t *b)
{
return memcmp(a, b, sizeof(*a));
static inline int bt_addr_le_cmp(const bt_addr_le_t *a, const bt_addr_le_t *b) {
return memcmp(a, b, sizeof(*a));
}
static inline void bt_addr_copy(bt_addr_t *dst, const bt_addr_t *src)
{
memcpy(dst, src, sizeof(*dst));
static inline void bt_addr_copy(bt_addr_t *dst, const bt_addr_t *src) {
memcpy(dst, src, sizeof(*dst));
}
static inline void bt_addr_le_copy(bt_addr_le_t *dst, const bt_addr_le_t *src)
{
memcpy(dst, src, sizeof(*dst));
static inline void bt_addr_le_copy(bt_addr_le_t *dst, const bt_addr_le_t *src) {
memcpy(dst, src, sizeof(*dst));
}
#define BT_ADDR_IS_RPA(a) (((a)->val[5] & 0xc0) == 0x40)
@ -76,22 +72,20 @@ static inline void bt_addr_le_copy(bt_addr_le_t *dst, const bt_addr_le_t *src)
int bt_addr_le_create_nrpa(bt_addr_le_t *addr);
int bt_addr_le_create_static(bt_addr_le_t *addr);
static inline bool bt_addr_le_is_rpa(const bt_addr_le_t *addr)
{
if (addr->type != BT_ADDR_LE_RANDOM) {
return false;
}
static inline bool bt_addr_le_is_rpa(const bt_addr_le_t *addr) {
if (addr->type != BT_ADDR_LE_RANDOM) {
return false;
}
return BT_ADDR_IS_RPA(&addr->a);
return BT_ADDR_IS_RPA(&addr->a);
}
static inline bool bt_addr_le_is_identity(const bt_addr_le_t *addr)
{
if (addr->type == BT_ADDR_LE_PUBLIC) {
return true;
}
static inline bool bt_addr_le_is_identity(const bt_addr_le_t *addr) {
if (addr->type == BT_ADDR_LE_PUBLIC) {
return true;
}
return BT_ADDR_IS_STATIC(&addr->a);
return BT_ADDR_IS_STATIC(&addr->a);
}
/**

View File

@ -12,30 +12,30 @@
#define ZEPHYR_INCLUDE_BLUETOOTH_ATT_H_
/* Error codes for Error response PDU */
#define BT_ATT_ERR_INVALID_HANDLE 0x01
#define BT_ATT_ERR_READ_NOT_PERMITTED 0x02
#define BT_ATT_ERR_WRITE_NOT_PERMITTED 0x03
#define BT_ATT_ERR_INVALID_PDU 0x04
#define BT_ATT_ERR_AUTHENTICATION 0x05
#define BT_ATT_ERR_NOT_SUPPORTED 0x06
#define BT_ATT_ERR_INVALID_OFFSET 0x07
#define BT_ATT_ERR_AUTHORIZATION 0x08
#define BT_ATT_ERR_PREPARE_QUEUE_FULL 0x09
#define BT_ATT_ERR_ATTRIBUTE_NOT_FOUND 0x0a
#define BT_ATT_ERR_ATTRIBUTE_NOT_LONG 0x0b
#define BT_ATT_ERR_ENCRYPTION_KEY_SIZE 0x0c
#define BT_ATT_ERR_INVALID_ATTRIBUTE_LEN 0x0d
#define BT_ATT_ERR_UNLIKELY 0x0e
#define BT_ATT_ERR_INSUFFICIENT_ENCRYPTION 0x0f
#define BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE 0x10
#define BT_ATT_ERR_INSUFFICIENT_RESOURCES 0x11
#define BT_ATT_ERR_DB_OUT_OF_SYNC 0x12
#define BT_ATT_ERR_VALUE_NOT_ALLOWED 0x13
#define BT_ATT_ERR_INVALID_HANDLE 0x01
#define BT_ATT_ERR_READ_NOT_PERMITTED 0x02
#define BT_ATT_ERR_WRITE_NOT_PERMITTED 0x03
#define BT_ATT_ERR_INVALID_PDU 0x04
#define BT_ATT_ERR_AUTHENTICATION 0x05
#define BT_ATT_ERR_NOT_SUPPORTED 0x06
#define BT_ATT_ERR_INVALID_OFFSET 0x07
#define BT_ATT_ERR_AUTHORIZATION 0x08
#define BT_ATT_ERR_PREPARE_QUEUE_FULL 0x09
#define BT_ATT_ERR_ATTRIBUTE_NOT_FOUND 0x0a
#define BT_ATT_ERR_ATTRIBUTE_NOT_LONG 0x0b
#define BT_ATT_ERR_ENCRYPTION_KEY_SIZE 0x0c
#define BT_ATT_ERR_INVALID_ATTRIBUTE_LEN 0x0d
#define BT_ATT_ERR_UNLIKELY 0x0e
#define BT_ATT_ERR_INSUFFICIENT_ENCRYPTION 0x0f
#define BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE 0x10
#define BT_ATT_ERR_INSUFFICIENT_RESOURCES 0x11
#define BT_ATT_ERR_DB_OUT_OF_SYNC 0x12
#define BT_ATT_ERR_VALUE_NOT_ALLOWED 0x13
/* Common Profile Error Codes (from CSS) */
#define BT_ATT_ERR_WRITE_REQ_REJECTED 0xfc
#define BT_ATT_ERR_CCC_IMPROPER_CONF 0xfd
#define BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe
#define BT_ATT_ERR_OUT_OF_RANGE 0xff
#define BT_ATT_ERR_WRITE_REQ_REJECTED 0xfc
#define BT_ATT_ERR_CCC_IMPROPER_CONF 0xfd
#define BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe
#define BT_ATT_ERR_OUT_OF_RANGE 0xff
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_ATT_H_ */

View File

@ -13,260 +13,260 @@
// for __packed
#include <sys/cdefs.h>
#define BT_EATT_PSM 0x27
#define BT_ATT_DEFAULT_LE_MTU 23
#define BT_ATT_TIMEOUT K_SECONDS(30)
#define BT_EATT_PSM 0x27
#define BT_ATT_DEFAULT_LE_MTU 23
#define BT_ATT_TIMEOUT K_SECONDS(30)
//FIX #if BT_L2CAP_RX_MTU < CONFIG_BT_L2CAP_TX_MTU
// FIX #if BT_L2CAP_RX_MTU < CONFIG_BT_L2CAP_TX_MTU
// #define BT_ATT_MTU BT_L2CAP_RX_MTU
// #else
// #define BT_ATT_MTU CONFIG_BT_L2CAP_TX_MTU
// #endif
struct bt_att_hdr {
uint8_t code;
uint8_t code;
} __packed;
#define BT_ATT_OP_ERROR_RSP 0x01
#define BT_ATT_OP_ERROR_RSP 0x01
struct bt_att_error_rsp {
uint8_t request;
uint16_t handle;
uint8_t error;
uint8_t request;
uint16_t handle;
uint8_t error;
} __packed;
#define BT_ATT_OP_MTU_REQ 0x02
#define BT_ATT_OP_MTU_REQ 0x02
struct bt_att_exchange_mtu_req {
uint16_t mtu;
uint16_t mtu;
} __packed;
#define BT_ATT_OP_MTU_RSP 0x03
#define BT_ATT_OP_MTU_RSP 0x03
struct bt_att_exchange_mtu_rsp {
uint16_t mtu;
uint16_t mtu;
} __packed;
/* Find Information Request */
#define BT_ATT_OP_FIND_INFO_REQ 0x04
#define BT_ATT_OP_FIND_INFO_REQ 0x04
struct bt_att_find_info_req {
uint16_t start_handle;
uint16_t end_handle;
uint16_t start_handle;
uint16_t end_handle;
} __packed;
/* Format field values for BT_ATT_OP_FIND_INFO_RSP */
#define BT_ATT_INFO_16 0x01
#define BT_ATT_INFO_128 0x02
#define BT_ATT_INFO_16 0x01
#define BT_ATT_INFO_128 0x02
struct bt_att_info_16 {
uint16_t handle;
uint16_t uuid;
uint16_t handle;
uint16_t uuid;
} __packed;
struct bt_att_info_128 {
uint16_t handle;
uint8_t uuid[16];
uint16_t handle;
uint8_t uuid[16];
} __packed;
/* Find Information Response */
#define BT_ATT_OP_FIND_INFO_RSP 0x05
#define BT_ATT_OP_FIND_INFO_RSP 0x05
struct bt_att_find_info_rsp {
uint8_t format;
uint8_t info[];
uint8_t format;
uint8_t info[];
} __packed;
/* Find By Type Value Request */
#define BT_ATT_OP_FIND_TYPE_REQ 0x06
#define BT_ATT_OP_FIND_TYPE_REQ 0x06
struct bt_att_find_type_req {
uint16_t start_handle;
uint16_t end_handle;
uint16_t type;
uint8_t value[];
uint16_t start_handle;
uint16_t end_handle;
uint16_t type;
uint8_t value[];
} __packed;
struct bt_att_handle_group {
uint16_t start_handle;
uint16_t end_handle;
uint16_t start_handle;
uint16_t end_handle;
} __packed;
/* Find By Type Value Response */
#define BT_ATT_OP_FIND_TYPE_RSP 0x07
#define BT_ATT_OP_FIND_TYPE_RSP 0x07
struct bt_att_find_type_rsp {
uint8_t _dummy[0];
struct bt_att_handle_group list[];
uint8_t _dummy[0];
struct bt_att_handle_group list[];
} __packed;
/* Read By Type Request */
#define BT_ATT_OP_READ_TYPE_REQ 0x08
#define BT_ATT_OP_READ_TYPE_REQ 0x08
struct bt_att_read_type_req {
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
} __packed;
struct bt_att_data {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;
/* Read By Type Response */
#define BT_ATT_OP_READ_TYPE_RSP 0x09
#define BT_ATT_OP_READ_TYPE_RSP 0x09
struct bt_att_read_type_rsp {
uint8_t len;
struct bt_att_data data[];
uint8_t len;
struct bt_att_data data[];
} __packed;
/* Read Request */
#define BT_ATT_OP_READ_REQ 0x0a
#define BT_ATT_OP_READ_REQ 0x0a
struct bt_att_read_req {
uint16_t handle;
uint16_t handle;
} __packed;
/* Read Response */
#define BT_ATT_OP_READ_RSP 0x0b
#define BT_ATT_OP_READ_RSP 0x0b
struct bt_att_read_rsp {
uint8_t _dummy[0];
uint8_t value[];
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read Blob Request */
#define BT_ATT_OP_READ_BLOB_REQ 0x0c
#define BT_ATT_OP_READ_BLOB_REQ 0x0c
struct bt_att_read_blob_req {
uint16_t handle;
uint16_t offset;
uint16_t handle;
uint16_t offset;
} __packed;
/* Read Blob Response */
#define BT_ATT_OP_READ_BLOB_RSP 0x0d
#define BT_ATT_OP_READ_BLOB_RSP 0x0d
struct bt_att_read_blob_rsp {
uint8_t _dummy[0];
uint8_t value[];
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read Multiple Request */
#define BT_ATT_READ_MULT_MIN_LEN_REQ 0x04
#define BT_ATT_READ_MULT_MIN_LEN_REQ 0x04
#define BT_ATT_OP_READ_MULT_REQ 0x0e
#define BT_ATT_OP_READ_MULT_REQ 0x0e
struct bt_att_read_mult_req {
uint8_t _dummy[0];
uint16_t handles[];
uint8_t _dummy[0];
uint16_t handles[];
} __packed;
/* Read Multiple Respose */
#define BT_ATT_OP_READ_MULT_RSP 0x0f
#define BT_ATT_OP_READ_MULT_RSP 0x0f
struct bt_att_read_mult_rsp {
uint8_t _dummy[0];
uint8_t value[];
uint8_t _dummy[0];
uint8_t value[];
} __packed;
/* Read by Group Type Request */
#define BT_ATT_OP_READ_GROUP_REQ 0x10
#define BT_ATT_OP_READ_GROUP_REQ 0x10
struct bt_att_read_group_req {
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
uint16_t start_handle;
uint16_t end_handle;
uint8_t uuid[];
} __packed;
struct bt_att_group_data {
uint16_t start_handle;
uint16_t end_handle;
uint8_t value[];
uint16_t start_handle;
uint16_t end_handle;
uint8_t value[];
} __packed;
/* Read by Group Type Response */
#define BT_ATT_OP_READ_GROUP_RSP 0x11
#define BT_ATT_OP_READ_GROUP_RSP 0x11
struct bt_att_read_group_rsp {
uint8_t len;
struct bt_att_group_data data[];
uint8_t len;
struct bt_att_group_data data[];
} __packed;
/* Write Request */
#define BT_ATT_OP_WRITE_REQ 0x12
#define BT_ATT_OP_WRITE_REQ 0x12
struct bt_att_write_req {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;
/* Write Response */
#define BT_ATT_OP_WRITE_RSP 0x13
#define BT_ATT_OP_WRITE_RSP 0x13
/* Prepare Write Request */
#define BT_ATT_OP_PREPARE_WRITE_REQ 0x16
#define BT_ATT_OP_PREPARE_WRITE_REQ 0x16
struct bt_att_prepare_write_req {
uint16_t handle;
uint16_t offset;
uint8_t value[];
uint16_t handle;
uint16_t offset;
uint8_t value[];
} __packed;
/* Prepare Write Respond */
#define BT_ATT_OP_PREPARE_WRITE_RSP 0x17
#define BT_ATT_OP_PREPARE_WRITE_RSP 0x17
struct bt_att_prepare_write_rsp {
uint16_t handle;
uint16_t offset;
uint8_t value[];
uint16_t handle;
uint16_t offset;
uint8_t value[];
} __packed;
/* Execute Write Request */
#define BT_ATT_FLAG_CANCEL 0x00
#define BT_ATT_FLAG_EXEC 0x01
#define BT_ATT_FLAG_CANCEL 0x00
#define BT_ATT_FLAG_EXEC 0x01
#define BT_ATT_OP_EXEC_WRITE_REQ 0x18
#define BT_ATT_OP_EXEC_WRITE_REQ 0x18
struct bt_att_exec_write_req {
uint8_t flags;
uint8_t flags;
} __packed;
/* Execute Write Response */
#define BT_ATT_OP_EXEC_WRITE_RSP 0x19
#define BT_ATT_OP_EXEC_WRITE_RSP 0x19
/* Handle Value Notification */
#define BT_ATT_OP_NOTIFY 0x1b
#define BT_ATT_OP_NOTIFY 0x1b
struct bt_att_notify {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;
/* Handle Value Indication */
#define BT_ATT_OP_INDICATE 0x1d
#define BT_ATT_OP_INDICATE 0x1d
struct bt_att_indicate {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;
/* Handle Value Confirm */
#define BT_ATT_OP_CONFIRM 0x1e
#define BT_ATT_OP_CONFIRM 0x1e
struct bt_att_signature {
uint8_t value[12];
uint8_t value[12];
} __packed;
#define BT_ATT_OP_READ_MULT_VL_REQ 0x20
#define BT_ATT_OP_READ_MULT_VL_REQ 0x20
struct bt_att_read_mult_vl_req {
uint8_t _dummy[0];
uint16_t handles[];
uint8_t _dummy[0];
uint16_t handles[];
} __packed;
/* Read Multiple Respose */
#define BT_ATT_OP_READ_MULT_VL_RSP 0x21
#define BT_ATT_OP_READ_MULT_VL_RSP 0x21
struct bt_att_read_mult_vl_rsp {
uint16_t len;
uint8_t value[];
uint16_t len;
uint8_t value[];
} __packed;
/* Handle Multiple Value Notification */
#define BT_ATT_OP_NOTIFY_MULT 0x23
#define BT_ATT_OP_NOTIFY_MULT 0x23
struct bt_att_notify_mult {
uint16_t handle;
uint16_t len;
uint8_t value[];
uint16_t handle;
uint16_t len;
uint8_t value[];
} __packed;
/* Write Command */
#define BT_ATT_OP_WRITE_CMD 0x52
#define BT_ATT_OP_WRITE_CMD 0x52
struct bt_att_write_cmd {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;
/* Signed Write Command */
#define BT_ATT_OP_SIGNED_WRITE_CMD 0xd2
#define BT_ATT_OP_SIGNED_WRITE_CMD 0xd2
struct bt_att_signed_write_cmd {
uint16_t handle;
uint8_t value[];
uint16_t handle;
uint8_t value[];
} __packed;

File diff suppressed because it is too large Load Diff

View File

@ -50,20 +50,20 @@ extern "C" {
int bt_send(struct net_buf *buf);
enum {
/** Passthrough mode
*
* While in this mode the buffers are passed as is between the stack
* and the driver.
*/
BT_HCI_RAW_MODE_PASSTHROUGH = 0x00,
/** Passthrough mode
*
* While in this mode the buffers are passed as is between the stack
* and the driver.
*/
BT_HCI_RAW_MODE_PASSTHROUGH = 0x00,
/** H:4 mode
*
* While in this mode H:4 headers will added into the buffers
* according to the buffer type when coming from the stack and will be
* removed and used to set the buffer type.
*/
BT_HCI_RAW_MODE_H4 = 0x01,
/** H:4 mode
*
* While in this mode H:4 headers will added into the buffers
* according to the buffer type when coming from the stack and will be
* removed and used to set the buffer type.
*/
BT_HCI_RAW_MODE_H4 = 0x01,
};
/** @brief Set Bluetooth RAW channel mode
@ -93,31 +93,31 @@ uint8_t bt_hci_raw_get_mode(void);
* @param _func Handler function to be called.
*/
#define BT_HCI_RAW_CMD_EXT(_op, _min_len, _func) \
{ \
.op = _op, \
.min_len = _min_len, \
.func = _func, \
}
{ \
.op = _op, \
.min_len = _min_len, \
.func = _func, \
}
struct bt_hci_raw_cmd_ext {
/** Opcode of the command */
uint16_t op;
/** Opcode of the command */
uint16_t op;
/** Minimal length of the command */
size_t min_len;
/** Minimal length of the command */
size_t min_len;
/** Handler function.
*
* Handler function to be called when a command is intercepted.
*
* @param buf Buffer containing the command.
*
* @return HCI Status code or BT_HCI_ERR_EXT_HANDLED if command has
* been handled already and a response has been sent as oppose to
* BT_HCI_ERR_SUCCESS which just indicates that the command can be
* sent to the controller to be processed.
*/
uint8_t (*func)(struct net_buf *buf);
/** Handler function.
*
* Handler function to be called when a command is intercepted.
*
* @param buf Buffer containing the command.
*
* @return HCI Status code or BT_HCI_ERR_EXT_HANDLED if command has
* been handled already and a response has been sent as oppose to
* BT_HCI_ERR_SUCCESS which just indicates that the command can be
* sent to the controller to be processed.
*/
uint8_t (*func)(struct net_buf *buf);
};
/** @brief Register Bluetooth RAW command extension table

View File

@ -32,11 +32,11 @@ extern "C" {
#define BT_VS_CMD_BIT_READ_TX_POWER 14
#define BT_VS_CMD_SUP_FEAT(cmd) BT_LE_FEAT_TEST(cmd, \
BT_VS_CMD_BIT_SUP_FEAT)
BT_VS_CMD_BIT_SUP_FEAT)
#define BT_VS_CMD_READ_STATIC_ADDRS(cmd) BT_LE_FEAT_TEST(cmd, \
BT_VS_CMD_BIT_READ_STATIC_ADDRS)
BT_VS_CMD_BIT_READ_STATIC_ADDRS)
#define BT_VS_CMD_READ_KEY_ROOTS(cmd) BT_LE_FEAT_TEST(cmd, \
BT_VS_CMD_BIT_READ_KEY_ROOTS)
BT_VS_CMD_BIT_READ_KEY_ROOTS)
#define BT_HCI_VS_HW_PLAT_INTEL 0x0001
#define BT_HCI_VS_HW_PLAT_NORDIC 0x0002
@ -50,44 +50,44 @@ extern "C" {
#define BT_HCI_VS_FW_VAR_VS_CTLR 0x0002
#define BT_HCI_VS_FW_VAR_FW_LOADER 0x0003
#define BT_HCI_VS_FW_VAR_RESCUE_IMG 0x0004
#define BT_HCI_OP_VS_READ_VERSION_INFO BT_OP(BT_OGF_VS, 0x0001)
#define BT_HCI_OP_VS_READ_VERSION_INFO BT_OP(BT_OGF_VS, 0x0001)
struct bt_hci_rp_vs_read_version_info {
uint8_t status;
uint16_t hw_platform;
uint16_t hw_variant;
uint8_t fw_variant;
uint8_t fw_version;
uint16_t fw_revision;
uint32_t fw_build;
uint8_t status;
uint16_t hw_platform;
uint16_t hw_variant;
uint8_t fw_variant;
uint8_t fw_version;
uint16_t fw_revision;
uint32_t fw_build;
} __packed;
#define BT_HCI_OP_VS_READ_SUPPORTED_COMMANDS BT_OP(BT_OGF_VS, 0x0002)
#define BT_HCI_OP_VS_READ_SUPPORTED_COMMANDS BT_OP(BT_OGF_VS, 0x0002)
struct bt_hci_rp_vs_read_supported_commands {
uint8_t status;
uint8_t commands[64];
uint8_t status;
uint8_t commands[64];
} __packed;
#define BT_HCI_OP_VS_READ_SUPPORTED_FEATURES BT_OP(BT_OGF_VS, 0x0003)
#define BT_HCI_OP_VS_READ_SUPPORTED_FEATURES BT_OP(BT_OGF_VS, 0x0003)
struct bt_hci_rp_vs_read_supported_features {
uint8_t status;
uint8_t features[8];
uint8_t status;
uint8_t features[8];
} __packed;
#define BT_HCI_OP_VS_SET_EVENT_MASK BT_OP(BT_OGF_VS, 0x0004)
struct bt_hci_cp_vs_set_event_mask {
uint8_t event_mask[8];
uint8_t event_mask[8];
} __packed;
#define BT_HCI_VS_RESET_SOFT 0x00
#define BT_HCI_VS_RESET_HARD 0x01
#define BT_HCI_OP_VS_RESET BT_OP(BT_OGF_VS, 0x0005)
struct bt_hci_cp_vs_reset {
uint8_t type;
uint8_t type;
} __packed;
#define BT_HCI_OP_VS_WRITE_BD_ADDR BT_OP(BT_OGF_VS, 0x0006)
struct bt_hci_cp_vs_write_bd_addr {
bt_addr_t bdaddr;
bt_addr_t bdaddr;
} __packed;
#define BT_HCI_VS_TRACE_DISABLED 0x00
@ -97,60 +97,60 @@ struct bt_hci_cp_vs_write_bd_addr {
#define BT_HCI_VS_TRACE_VDC 0x01
#define BT_HCI_OP_VS_SET_TRACE_ENABLE BT_OP(BT_OGF_VS, 0x0007)
struct bt_hci_cp_vs_set_trace_enable {
uint8_t enable;
uint8_t type;
uint8_t enable;
uint8_t type;
} __packed;
#define BT_HCI_OP_VS_READ_BUILD_INFO BT_OP(BT_OGF_VS, 0x0008)
struct bt_hci_rp_vs_read_build_info {
uint8_t status;
uint8_t info[];
uint8_t status;
uint8_t info[];
} __packed;
struct bt_hci_vs_static_addr {
bt_addr_t bdaddr;
uint8_t ir[16];
bt_addr_t bdaddr;
uint8_t ir[16];
} __packed;
#define BT_HCI_OP_VS_READ_STATIC_ADDRS BT_OP(BT_OGF_VS, 0x0009)
struct bt_hci_rp_vs_read_static_addrs {
uint8_t status;
uint8_t num_addrs;
struct bt_hci_vs_static_addr a[];
uint8_t status;
uint8_t num_addrs;
struct bt_hci_vs_static_addr a[];
} __packed;
#define BT_HCI_OP_VS_READ_KEY_HIERARCHY_ROOTS BT_OP(BT_OGF_VS, 0x000a)
struct bt_hci_rp_vs_read_key_hierarchy_roots {
uint8_t status;
uint8_t ir[16];
uint8_t er[16];
uint8_t status;
uint8_t ir[16];
uint8_t er[16];
} __packed;
#define BT_HCI_OP_VS_READ_CHIP_TEMP BT_OP(BT_OGF_VS, 0x000b)
struct bt_hci_rp_vs_read_chip_temp {
uint8_t status;
int8_t temps;
uint8_t status;
int8_t temps;
} __packed;
struct bt_hci_vs_cmd {
uint16_t vendor_id;
uint16_t opcode_base;
uint16_t vendor_id;
uint16_t opcode_base;
} __packed;
#define BT_HCI_VS_VID_ANDROID 0x0001
#define BT_HCI_VS_VID_MICROSOFT 0x0002
#define BT_HCI_OP_VS_READ_HOST_STACK_CMDS BT_OP(BT_OGF_VS, 0x000c)
struct bt_hci_rp_vs_read_host_stack_cmds {
uint8_t status;
uint8_t num_cmds;
struct bt_hci_vs_cmd c[];
uint8_t status;
uint8_t num_cmds;
struct bt_hci_vs_cmd c[];
} __packed;
#define BT_HCI_VS_SCAN_REQ_REPORTS_DISABLED 0x00
#define BT_HCI_VS_SCAN_REQ_REPORTS_ENABLED 0x01
#define BT_HCI_OP_VS_SET_SCAN_REQ_REPORTS BT_OP(BT_OGF_VS, 0x000d)
struct bt_hci_cp_vs_set_scan_req_reports {
uint8_t enable;
uint8_t enable;
} __packed;
#define BT_HCI_VS_LL_HANDLE_TYPE_ADV 0x00
@ -159,37 +159,37 @@ struct bt_hci_cp_vs_set_scan_req_reports {
#define BT_HCI_VS_LL_TX_POWER_LEVEL_NO_PREF 0x7F
#define BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL BT_OP(BT_OGF_VS, 0x000e)
struct bt_hci_cp_vs_write_tx_power_level {
uint8_t handle_type;
uint16_t handle;
int8_t tx_power_level;
uint8_t handle_type;
uint16_t handle;
int8_t tx_power_level;
} __packed;
struct bt_hci_rp_vs_write_tx_power_level {
uint8_t status;
uint8_t handle_type;
uint16_t handle;
int8_t selected_tx_power;
uint8_t status;
uint8_t handle_type;
uint16_t handle;
int8_t selected_tx_power;
} __packed;
#define BT_HCI_OP_VS_READ_TX_POWER_LEVEL BT_OP(BT_OGF_VS, 0x000f)
struct bt_hci_cp_vs_read_tx_power_level {
uint8_t handle_type;
uint16_t handle;
uint8_t handle_type;
uint16_t handle;
} __packed;
struct bt_hci_rp_vs_read_tx_power_level {
uint8_t status;
uint8_t handle_type;
uint16_t handle;
int8_t tx_power_level;
uint8_t status;
uint8_t handle_type;
uint16_t handle;
int8_t tx_power_level;
} __packed;
#define BT_HCI_OP_VS_READ_USB_TRANSPORT_MODE BT_OP(BT_OGF_VS, 0x0010)
struct bt_hci_rp_vs_read_usb_transport_mode {
uint8_t status;
uint8_t num_supported_modes;
uint8_t supported_mode[];
uint8_t status;
uint8_t num_supported_modes;
uint8_t supported_mode[];
} __packed;
#define BT_HCI_VS_USB_H2_MODE 0x00
@ -198,19 +198,19 @@ struct bt_hci_rp_vs_read_usb_transport_mode {
#define BT_HCI_OP_VS_SET_USB_TRANSPORT_MODE BT_OP(BT_OGF_VS, 0x0011)
struct bt_hci_cp_vs_set_usb_transport_mode {
uint8_t mode;
uint8_t mode;
} __packed;
/* Events */
struct bt_hci_evt_vs {
uint8_t subevent;
uint8_t subevent;
} __packed;
#define BT_HCI_EVT_VS_FATAL_ERROR 0x02
struct bt_hci_evt_vs_fatal_error {
uint64_t pc;
uint8_t err_info[];
uint64_t pc;
uint8_t err_info[];
} __packed;
#define BT_HCI_VS_TRACE_LMP_TX 0x01
@ -220,14 +220,14 @@ struct bt_hci_evt_vs_fatal_error {
#define BT_HCI_VS_TRACE_LE_CONN_IND 0x05
#define BT_HCI_EVT_VS_TRACE_INFO 0x03
struct bt_hci_evt_vs_trace_info {
uint8_t type;
uint8_t data[];
uint8_t type;
uint8_t data[];
} __packed;
#define BT_HCI_EVT_VS_SCAN_REQ_RX 0x04
struct bt_hci_evt_vs_scan_req_rx {
bt_addr_le_t addr;
int8_t rssi;
bt_addr_le_t addr;
int8_t rssi;
} __packed;
/* Event mask bits */
@ -243,133 +243,133 @@ struct bt_hci_evt_vs_scan_req_rx {
#define BT_HCI_MESH_EVT_PREFIX 0xF0
struct bt_hci_cp_mesh {
uint8_t opcode;
uint8_t opcode;
} __packed;
#define BT_HCI_OC_MESH_GET_OPTS 0x00
struct bt_hci_rp_mesh_get_opts {
uint8_t status;
uint8_t opcode;
uint8_t revision;
uint8_t ch_map;
int8_t min_tx_power;
int8_t max_tx_power;
uint8_t max_scan_filter;
uint8_t max_filter_pattern;
uint8_t max_adv_slot;
uint8_t max_tx_window;
uint8_t evt_prefix_len;
uint8_t evt_prefix;
uint8_t status;
uint8_t opcode;
uint8_t revision;
uint8_t ch_map;
int8_t min_tx_power;
int8_t max_tx_power;
uint8_t max_scan_filter;
uint8_t max_filter_pattern;
uint8_t max_adv_slot;
uint8_t max_tx_window;
uint8_t evt_prefix_len;
uint8_t evt_prefix;
} __packed;
#define BT_HCI_MESH_PATTERN_LEN_MAX 0x0f
#define BT_HCI_OC_MESH_SET_SCAN_FILTER 0x01
struct bt_hci_mesh_pattern {
uint8_t pattern_len;
uint8_t pattern[];
uint8_t pattern_len;
uint8_t pattern[];
} __packed;
struct bt_hci_cp_mesh_set_scan_filter {
uint8_t scan_filter;
uint8_t filter_dup;
uint8_t num_patterns;
struct bt_hci_mesh_pattern patterns[];
uint8_t scan_filter;
uint8_t filter_dup;
uint8_t num_patterns;
struct bt_hci_mesh_pattern patterns[];
} __packed;
struct bt_hci_rp_mesh_set_scan_filter {
uint8_t status;
uint8_t opcode;
uint8_t scan_filter;
uint8_t status;
uint8_t opcode;
uint8_t scan_filter;
} __packed;
#define BT_HCI_OC_MESH_ADVERTISE 0x02
struct bt_hci_cp_mesh_advertise {
uint8_t adv_slot;
uint8_t own_addr_type;
bt_addr_t random_addr;
uint8_t ch_map;
int8_t tx_power;
uint8_t min_tx_delay;
uint8_t max_tx_delay;
uint8_t retx_count;
uint8_t retx_interval;
uint8_t scan_delay;
uint16_t scan_duration;
uint8_t scan_filter;
uint8_t data_len;
uint8_t data[31];
uint8_t adv_slot;
uint8_t own_addr_type;
bt_addr_t random_addr;
uint8_t ch_map;
int8_t tx_power;
uint8_t min_tx_delay;
uint8_t max_tx_delay;
uint8_t retx_count;
uint8_t retx_interval;
uint8_t scan_delay;
uint16_t scan_duration;
uint8_t scan_filter;
uint8_t data_len;
uint8_t data[31];
} __packed;
struct bt_hci_rp_mesh_advertise {
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
} __packed;
#define BT_HCI_OC_MESH_ADVERTISE_TIMED 0x03
struct bt_hci_cp_mesh_advertise_timed {
uint8_t adv_slot;
uint8_t own_addr_type;
bt_addr_t random_addr;
uint8_t ch_map;
int8_t tx_power;
uint8_t retx_count;
uint8_t retx_interval;
uint32_t instant;
uint16_t tx_delay;
uint16_t tx_window;
uint8_t data_len;
uint8_t data[31];
uint8_t adv_slot;
uint8_t own_addr_type;
bt_addr_t random_addr;
uint8_t ch_map;
int8_t tx_power;
uint8_t retx_count;
uint8_t retx_interval;
uint32_t instant;
uint16_t tx_delay;
uint16_t tx_window;
uint8_t data_len;
uint8_t data[31];
} __packed;
struct bt_hci_rp_mesh_advertise_timed {
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
} __packed;
#define BT_HCI_OC_MESH_ADVERTISE_CANCEL 0x04
struct bt_hci_cp_mesh_advertise_cancel {
uint8_t adv_slot;
uint8_t adv_slot;
} __packed;
struct bt_hci_rp_mesh_advertise_cancel {
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
uint8_t status;
uint8_t opcode;
uint8_t adv_slot;
} __packed;
#define BT_HCI_OC_MESH_SET_SCANNING 0x05
struct bt_hci_cp_mesh_set_scanning {
uint8_t enable;
uint8_t ch_map;
uint8_t scan_filter;
uint8_t enable;
uint8_t ch_map;
uint8_t scan_filter;
} __packed;
struct bt_hci_rp_mesh_set_scanning {
uint8_t status;
uint8_t opcode;
uint8_t status;
uint8_t opcode;
} __packed;
/* Events */
struct bt_hci_evt_mesh {
uint8_t prefix;
uint8_t subevent;
uint8_t prefix;
uint8_t subevent;
} __packed;
#define BT_HCI_EVT_MESH_ADV_COMPLETE 0x00
struct bt_hci_evt_mesh_adv_complete {
uint8_t adv_slot;
uint8_t adv_slot;
} __packed;
#define BT_HCI_EVT_MESH_SCANNING_REPORT 0x01
struct bt_hci_evt_mesh_scan_report {
bt_addr_le_t addr;
uint8_t chan;
int8_t rssi;
uint32_t instant;
uint8_t data_len;
uint8_t data[];
bt_addr_le_t addr;
uint8_t chan;
int8_t rssi;
uint32_t instant;
uint8_t data_len;
uint8_t data[];
} __packed;
struct bt_hci_evt_mesh_scanning_report {
uint8_t num_reports;
struct bt_hci_evt_mesh_scan_report reports[];
uint8_t num_reports;
struct bt_hci_evt_mesh_scan_report reports[];
} __packed;
#ifdef __cplusplus

View File

@ -15,8 +15,8 @@
#include <string.h>
enum l2cap_conn_list_action {
BT_L2CAP_CHAN_LOOKUP,
BT_L2CAP_CHAN_DETACH,
BT_L2CAP_CHAN_LOOKUP,
BT_L2CAP_CHAN_DETACH,
};
#define BT_L2CAP_CID_BR_SIG 0x0001
@ -28,14 +28,14 @@ enum l2cap_conn_list_action {
#define BT_L2CAP_PSM_RFCOMM 0x0003
struct bt_l2cap_hdr {
uint16_t len;
uint16_t cid;
uint16_t len;
uint16_t cid;
} __packed;
struct bt_l2cap_sig_hdr {
uint8_t code;
uint8_t ident;
uint16_t len;
uint8_t code;
uint8_t ident;
uint16_t len;
} __packed;
#define BT_L2CAP_REJ_NOT_UNDERSTOOD 0x0000
@ -44,19 +44,19 @@ struct bt_l2cap_sig_hdr {
#define BT_L2CAP_CMD_REJECT 0x01
struct bt_l2cap_cmd_reject {
uint16_t reason;
uint8_t data[];
uint16_t reason;
uint8_t data[];
} __packed;
struct bt_l2cap_cmd_reject_cid_data {
uint16_t scid;
uint16_t dcid;
uint16_t scid;
uint16_t dcid;
} __packed;
#define BT_L2CAP_CONN_REQ 0x02
struct bt_l2cap_conn_req {
uint16_t psm;
uint16_t scid;
uint16_t psm;
uint16_t scid;
} __packed;
/* command statuses in reposnse */
@ -74,10 +74,10 @@ struct bt_l2cap_conn_req {
#define BT_L2CAP_CONN_RSP 0x03
struct bt_l2cap_conn_rsp {
uint16_t dcid;
uint16_t scid;
uint16_t result;
uint16_t status;
uint16_t dcid;
uint16_t scid;
uint16_t result;
uint16_t status;
} __packed;
#define BT_L2CAP_CONF_SUCCESS 0x0000
@ -86,17 +86,17 @@ struct bt_l2cap_conn_rsp {
#define BT_L2CAP_CONF_REQ 0x04
struct bt_l2cap_conf_req {
uint16_t dcid;
uint16_t flags;
uint8_t data[];
uint16_t dcid;
uint16_t flags;
uint8_t data[];
} __packed;
#define BT_L2CAP_CONF_RSP 0x05
struct bt_l2cap_conf_rsp {
uint16_t scid;
uint16_t flags;
uint16_t result;
uint8_t data[];
uint16_t scid;
uint16_t flags;
uint16_t result;
uint8_t data[];
} __packed;
/* Option type used by MTU config request data */
@ -106,21 +106,21 @@ struct bt_l2cap_conf_rsp {
#define BT_L2CAP_CONF_MASK 0x7f
struct bt_l2cap_conf_opt {
uint8_t type;
uint8_t len;
uint8_t data[];
uint8_t type;
uint8_t len;
uint8_t data[];
} __packed;
#define BT_L2CAP_DISCONN_REQ 0x06
struct bt_l2cap_disconn_req {
uint16_t dcid;
uint16_t scid;
uint16_t dcid;
uint16_t scid;
} __packed;
#define BT_L2CAP_DISCONN_RSP 0x07
struct bt_l2cap_disconn_rsp {
uint16_t dcid;
uint16_t scid;
uint16_t dcid;
uint16_t scid;
} __packed;
#define BT_L2CAP_INFO_FEAT_MASK 0x0002
@ -128,7 +128,7 @@ struct bt_l2cap_disconn_rsp {
#define BT_L2CAP_INFO_REQ 0x0a
struct bt_l2cap_info_req {
uint16_t type;
uint16_t type;
} __packed;
/* info result */
@ -137,17 +137,17 @@ struct bt_l2cap_info_req {
#define BT_L2CAP_INFO_RSP 0x0b
struct bt_l2cap_info_rsp {
uint16_t type;
uint16_t result;
uint8_t data[];
uint16_t type;
uint16_t result;
uint8_t data[];
} __packed;
#define BT_L2CAP_CONN_PARAM_REQ 0x12
struct bt_l2cap_conn_param_req {
uint16_t min_interval;
uint16_t max_interval;
uint16_t latency;
uint16_t timeout;
uint16_t min_interval;
uint16_t max_interval;
uint16_t latency;
uint16_t timeout;
} __packed;
#define BT_L2CAP_CONN_PARAM_ACCEPTED 0x0000
@ -155,16 +155,16 @@ struct bt_l2cap_conn_param_req {
#define BT_L2CAP_CONN_PARAM_RSP 0x13
struct bt_l2cap_conn_param_rsp {
uint16_t result;
uint16_t result;
} __packed;
#define BT_L2CAP_LE_CONN_REQ 0x14
struct bt_l2cap_le_conn_req {
uint16_t psm;
uint16_t scid;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t psm;
uint16_t scid;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
} __packed;
/* valid results in conn response on LE */
@ -182,42 +182,42 @@ struct bt_l2cap_le_conn_req {
#define BT_L2CAP_LE_CONN_RSP 0x15
struct bt_l2cap_le_conn_rsp {
uint16_t dcid;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t result;
uint16_t dcid;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t result;
} __packed;
#define BT_L2CAP_LE_CREDITS 0x16
struct bt_l2cap_le_credits {
uint16_t cid;
uint16_t credits;
uint16_t cid;
uint16_t credits;
} __packed;
#define BT_L2CAP_ECRED_CONN_REQ 0x17
struct bt_l2cap_ecred_conn_req {
uint16_t psm;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t scid[];
uint16_t psm;
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t scid[];
} __packed;
#define BT_L2CAP_ECRED_CONN_RSP 0x18
struct bt_l2cap_ecred_conn_rsp {
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t result;
uint16_t dcid[];
uint16_t mtu;
uint16_t mps;
uint16_t credits;
uint16_t result;
uint16_t dcid[];
} __packed;
#define BT_L2CAP_ECRED_RECONF_REQ 0x19
struct bt_l2cap_ecred_reconf_req {
uint16_t mtu;
uint16_t mps;
uint16_t scid[];
uint16_t mtu;
uint16_t mps;
uint16_t scid[];
} __packed;
#define BT_L2CAP_RECONF_SUCCESS 0x0000
@ -226,5 +226,5 @@ struct bt_l2cap_ecred_reconf_req {
#define BT_L2CAP_ECRED_RECONF_RSP 0x1a
struct bt_l2cap_ecred_reconf_rsp {
uint16_t result;
uint16_t result;
} __packed;

View File

@ -1,6 +0,0 @@
User-agent: *
Allow: /*/latest/
Allow: /en/latest/ # Fallback for bots that don't understand wildcards
Allow: /*/6.0.x/
Allow: /en/6.0.x/ # Fallback for bots that don't understand wildcards
Disallow: /

View File

@ -32,6 +32,39 @@ from concurrent.futures import ThreadPoolExecutor
SUPPORTED_PORTS = ['atmel-samd', 'cxd56', 'esp32s2', 'litex', 'mimxrt10xx', 'nrf', 'raspberrypi', 'stm']
aliases_by_board = {
"circuitplayground_express": [
"circuitplayground_express_4h",
"circuitplayground_express_digikey_pycon2019",
],
"pybadge": ["edgebadge"],
"pyportal": ["pyportal_pynt"],
"gemma_m0": ["gemma_m0_pycon2018"],
"pewpew10": ["pewpew13"],
}
aliases_brand_names = {
"circuitplayground_express_4h":
"Adafruit Circuit Playground Express 4-H",
"circuitplayground_express_digikey_pycon2019":
"Circuit Playground Express Digi-Key PyCon 2019",
"edgebadge":
"Adafruit EdgeBadge",
"pyportal_pynt":
"Adafruit PyPortal Pynt",
"gemma_m0_pycon2018":
"Adafruit Gemma M0 PyCon 2018",
"pewpew13":
"PewPew 13",
}
additional_modules = {
"fontio": "CIRCUITPY_DISPLAYIO",
"terminalio": "CIRCUITPY_DISPLAYIO",
# "socket": "CIRCUITPY_NETWORK",
"adafruit_bus_device": "CIRCUITPY_BUSDEVICE",
}
def get_circuitpython_root_dir():
""" The path to the root './circuitpython' directory
"""
@ -71,8 +104,11 @@ def build_module_map():
full_build = False
for module in modules:
full_name = module
search_name = module.lstrip("_")
re_pattern = "CIRCUITPY_{}\s*\??=\s*(.+)".format(search_name.upper())
if module in additional_modules:
search_identifier = additional_modules[module]
else:
search_identifier = 'CIRCUITPY_'+module.lstrip("_").upper()
re_pattern = f"{re.escape(search_identifier)}\s*\??=\s*(.+)"
find_config = re.findall(re_pattern, configs)
if not find_config:
continue
@ -84,11 +120,12 @@ def build_module_map():
else:
default_val = "None"
base[search_name] = {
base[module] = {
"name": full_name,
"full_build": str(full_build),
"default_value": default_val,
"excluded": {}
"excluded": {},
"key": search_identifier,
}
return base
@ -164,14 +201,28 @@ def support_matrix_by_board(use_branded_name=True):
board_modules = []
for module in base:
key = f'CIRCUITPY_{module.upper()}'
key = base[module]['key']
if int(lookup_setting(settings, key, '0')):
board_modules.append(base[module]['name'])
board_modules.sort()
return (board_name, sorted(board_modules))
# generate alias boards too
board_matrix = [(board_name, board_modules)]
if entry.name in aliases_by_board:
for alias in aliases_by_board[entry.name]:
if use_branded_name:
if alias in aliases_brand_names:
alias = aliases_brand_names[alias]
else:
alias = alias.replace("_"," ").title()
board_matrix.append( (alias, board_modules) )
return board_matrix # this is now a list of (board,modules)
executor = ThreadPoolExecutor(max_workers=os.cpu_count())
boards = dict(sorted(executor.map(support_matrix, all_ports_all_boards())))
mapped_exec = executor.map(support_matrix, all_ports_all_boards())
# flatmap with comprehensions
boards = dict(sorted([board for matrix in mapped_exec for board in matrix]))
#print(json.dumps(boards, indent=2))
return boards

View File

@ -57,7 +57,7 @@ STATIC void nibble_write(mp_soft_qspi_obj_t *self, uint8_t v) {
}
STATIC int mp_soft_qspi_ioctl(void *self_in, uint32_t cmd) {
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
switch (cmd) {
case MP_QSPI_IOCTL_INIT:
@ -67,7 +67,7 @@ STATIC int mp_soft_qspi_ioctl(void *self_in, uint32_t cmd) {
// Configure pins
mp_hal_pin_write(self->clk, 0);
mp_hal_pin_output(self->clk);
//mp_hal_pin_write(self->clk, 1);
// mp_hal_pin_write(self->clk, 1);
mp_hal_pin_output(self->io0);
mp_hal_pin_input(self->io1);
mp_hal_pin_write(self->io2, 1);
@ -155,19 +155,19 @@ STATIC void mp_soft_qspi_qwrite(mp_soft_qspi_obj_t *self, size_t len, const uint
SCK_LOW(self);
}
//mp_hal_pin_input(self->io1);
// mp_hal_pin_input(self->io1);
}
STATIC void mp_soft_qspi_write_cmd_data(void *self_in, uint8_t cmd, size_t len, uint32_t data) {
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
uint32_t cmd_buf = cmd | data << 8;
CS_LOW(self);
mp_soft_qspi_transfer(self, 1 + len, (uint8_t*)&cmd_buf, NULL);
mp_soft_qspi_transfer(self, 1 + len, (uint8_t *)&cmd_buf, NULL);
CS_HIGH(self);
}
STATIC void mp_soft_qspi_write_cmd_addr_data(void *self_in, uint8_t cmd, uint32_t addr, size_t len, const uint8_t *src) {
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
uint8_t cmd_buf[4] = {cmd, addr >> 16, addr >> 8, addr};
CS_LOW(self);
mp_soft_qspi_transfer(self, 4, cmd_buf, NULL);
@ -176,16 +176,16 @@ STATIC void mp_soft_qspi_write_cmd_addr_data(void *self_in, uint8_t cmd, uint32_
}
STATIC uint32_t mp_soft_qspi_read_cmd(void *self_in, uint8_t cmd, size_t len) {
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
uint32_t cmd_buf = cmd;
CS_LOW(self);
mp_soft_qspi_transfer(self, 1 + len, (uint8_t*)&cmd_buf, (uint8_t*)&cmd_buf);
mp_soft_qspi_transfer(self, 1 + len, (uint8_t *)&cmd_buf, (uint8_t *)&cmd_buf);
CS_HIGH(self);
return cmd_buf >> 8;
}
STATIC void mp_soft_qspi_read_cmd_qaddr_qdata(void *self_in, uint8_t cmd, uint32_t addr, size_t len, uint8_t *dest) {
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
uint8_t cmd_buf[7] = {cmd, addr >> 16, addr >> 8, addr};
CS_LOW(self);
mp_soft_qspi_transfer(self, 1, cmd_buf, NULL);

View File

@ -27,7 +27,7 @@
#include "drivers/bus/spi.h"
int mp_soft_spi_ioctl(void *self_in, uint32_t cmd) {
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t*)self_in;
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t *)self_in;
switch (cmd) {
case MP_SPI_IOCTL_INIT:
@ -45,7 +45,7 @@ int mp_soft_spi_ioctl(void *self_in, uint32_t cmd) {
}
void mp_soft_spi_transfer(void *self_in, size_t len, const uint8_t *src, uint8_t *dest) {
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t*)self_in;
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t *)self_in;
uint32_t delay_half = self->delay_half;
// only MSB transfer is implemented

View File

@ -50,9 +50,15 @@ STATIC mp_obj_t machine_mem_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t va
uintptr_t addr = MICROPY_MACHINE_MEM_GET_READ_ADDR(index, self->elem_size);
uint32_t val;
switch (self->elem_size) {
case 1: val = (*(uint8_t*)addr); break;
case 2: val = (*(uint16_t*)addr); break;
default: val = (*(uint32_t*)addr); break;
case 1:
val = (*(uint8_t *)addr);
break;
case 2:
val = (*(uint16_t *)addr);
break;
default:
val = (*(uint32_t *)addr);
break;
}
return mp_obj_new_int(val);
} else {
@ -60,9 +66,15 @@ STATIC mp_obj_t machine_mem_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t va
uintptr_t addr = MICROPY_MACHINE_MEM_GET_WRITE_ADDR(index, self->elem_size);
uint32_t val = mp_obj_get_int_truncated(value);
switch (self->elem_size) {
case 1: (*(uint8_t*)addr) = val; break;
case 2: (*(uint16_t*)addr) = val; break;
default: (*(uint32_t*)addr) = val; break;
case 1:
(*(uint8_t *)addr) = val;
break;
case 2:
(*(uint16_t *)addr) = val;
break;
default:
(*(uint32_t *)addr) = val;
break;
}
return mp_const_none;
}

View File

@ -26,7 +26,7 @@ STATIC mp_obj_t signal_make_new(const mp_obj_type_t *type, size_t n_args, const
bool invert = false;
#if defined(MICROPY_PY_MACHINE_PIN_MAKE_NEW)
mp_pin_p_t *pin_p = (mp_pin_t*)mp_proto_get(QSTR_pin_protocol, pin);
mp_pin_p_t *pin_p = (mp_pin_t *)mp_proto_get(QSTR_pin_protocol, pin);
if (pin_p == NULL) {
// If first argument isn't a Pin-like object, we filter out "invert"
@ -64,8 +64,7 @@ STATIC mp_obj_t signal_make_new(const mp_obj_type_t *type, size_t n_args, const
pin = MICROPY_PY_MACHINE_PIN_MAKE_NEW(NULL, n_args, n_kw, pin_args);
mp_local_free(pin_args);
}
else
} else
#endif
// Otherwise there should be 1 or 2 args
{
@ -154,7 +153,7 @@ const mp_obj_type_t machine_signal_type = {
.make_new = signal_make_new,
.call = signal_call,
.protocol = &signal_pin_p,
.locals_dict = (void*)&signal_locals_dict,
.locals_dict = (void *)&signal_locals_dict,
};
#endif // MICROPY_PY_MACHINE

View File

@ -34,9 +34,9 @@ typedef struct _mp_obj_btree_t {
STATIC const mp_obj_type_t btree_type;
#define CHECK_ERROR(res) \
if (res == RET_ERROR) { \
mp_raise_OSError(errno); \
}
if (res == RET_ERROR) { \
mp_raise_OSError(errno); \
}
void __dbpanic(DB *db) {
printf("__dbpanic(%p)\n", db);
@ -74,8 +74,8 @@ STATIC mp_obj_t btree_put(size_t n_args, const mp_obj_t *args) {
(void)n_args;
mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]);
DBT key, val;
key.data = (void*)mp_obj_str_get_data(args[1], &key.size);
val.data = (void*)mp_obj_str_get_data(args[2], &val.size);
key.data = (void *)mp_obj_str_get_data(args[1], &key.size);
val.data = (void *)mp_obj_str_get_data(args[2], &val.size);
return MP_OBJ_NEW_SMALL_INT(__bt_put(self->db, &key, &val, 0));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_put_obj, 3, 4, btree_put);
@ -83,7 +83,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_put_obj, 3, 4, btree_put);
STATIC mp_obj_t btree_get(size_t n_args, const mp_obj_t *args) {
mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]);
DBT key, val;
key.data = (void*)mp_obj_str_get_data(args[1], &key.size);
key.data = (void *)mp_obj_str_get_data(args[1], &key.size);
int res = __bt_get(self->db, &key, &val, 0);
if (res == RET_SPECIAL) {
if (n_args > 2) {
@ -102,7 +102,7 @@ STATIC mp_obj_t btree_seq(size_t n_args, const mp_obj_t *args) {
int flags = MP_OBJ_SMALL_INT_VALUE(args[1]);
DBT key, val;
if (n_args > 2) {
key.data = (void*)mp_obj_str_get_data(args[2], &key.size);
key.data = (void *)mp_obj_str_get_data(args[2], &key.size);
}
int res = __bt_seq(self->db, &key, &val, flags);
@ -177,7 +177,7 @@ STATIC mp_obj_t btree_iternext(mp_obj_t self_in) {
if (self->start_key != MP_OBJ_NULL) {
int flags = R_FIRST;
if (self->start_key != mp_const_none) {
key.data = (void*)mp_obj_str_get_data(self->start_key, &key.size);
key.data = (void *)mp_obj_str_get_data(self->start_key, &key.size);
flags = R_CURSOR;
} else if (desc) {
flags = R_LAST;
@ -195,7 +195,7 @@ STATIC mp_obj_t btree_iternext(mp_obj_t self_in) {
if (self->end_key != mp_const_none) {
DBT end_key;
end_key.data = (void*)mp_obj_str_get_data(self->end_key, &end_key.size);
end_key.data = (void *)mp_obj_str_get_data(self->end_key, &end_key.size);
BTREE *t = self->db->internal;
int cmp = t->bt_cmp(&key, &end_key);
if (desc) {
@ -230,7 +230,7 @@ STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
if (value == MP_OBJ_NULL) {
// delete
DBT key;
key.data = (void*)mp_obj_str_get_data(index, &key.size);
key.data = (void *)mp_obj_str_get_data(index, &key.size);
int res = __bt_delete(self->db, &key, 0);
if (res == RET_SPECIAL) {
nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
@ -240,7 +240,7 @@ STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
} else if (value == MP_OBJ_SENTINEL) {
// load
DBT key, val;
key.data = (void*)mp_obj_str_get_data(index, &key.size);
key.data = (void *)mp_obj_str_get_data(index, &key.size);
int res = __bt_get(self->db, &key, &val, 0);
if (res == RET_SPECIAL) {
nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
@ -250,8 +250,8 @@ STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
} else {
// store
DBT key, val;
key.data = (void*)mp_obj_str_get_data(index, &key.size);
val.data = (void*)mp_obj_str_get_data(value, &val.size);
key.data = (void *)mp_obj_str_get_data(index, &key.size);
val.data = (void *)mp_obj_str_get_data(value, &val.size);
int res = __bt_put(self->db, &key, &val, 0);
CHECK_ERROR(res);
return mp_const_none;
@ -263,7 +263,7 @@ STATIC mp_obj_t btree_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs
switch (op) {
case MP_BINARY_OP_CONTAINS: {
DBT key, val;
key.data = (void*)mp_obj_str_get_data(rhs_in, &key.size);
key.data = (void *)mp_obj_str_get_data(rhs_in, &key.size);
int res = __bt_get(self->db, &key, &val, 0);
CHECK_ERROR(res);
return mp_obj_new_bool(res != RET_SPECIAL);
@ -296,7 +296,7 @@ STATIC const mp_obj_type_t btree_type = {
.iternext = btree_iternext,
.binary_op = btree_binary_op,
.subscr = btree_subscr,
.locals_dict = (void*)&btree_locals_dict,
.locals_dict = (void *)&btree_locals_dict,
};
STATIC FILEVTABLE btree_stream_fvtable = {
@ -324,14 +324,14 @@ STATIC mp_obj_t mod_btree_open(size_t n_args, const mp_obj_t *pos_args, mp_map_t
mp_arg_val_t minkeypage;
} args;
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args,
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t*)&args);
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t *)&args);
BTREEINFO openinfo = {0};
openinfo.flags = args.flags.u_int;
openinfo.cachesize = args.cachesize.u_int;
openinfo.psize = args.pagesize.u_int;
openinfo.minkeypage = args.minkeypage.u_int;
DB *db = __bt_open(pos_args[0], &btree_stream_fvtable, &openinfo, /*dflags*/0);
DB *db = __bt_open(pos_args[0], &btree_stream_fvtable, &openinfo, /*dflags*/ 0);
if (db == NULL) {
mp_raise_OSError(errno);
}
@ -350,7 +350,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_btree_globals, mp_module_btree_globals_tab
const mp_obj_module_t mp_module_btree = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_btree_globals,
.globals = (mp_obj_dict_t *)&mp_module_btree_globals,
};
#endif // MICROPY_PY_BTREE

View File

@ -22,8 +22,8 @@ typedef struct _mp_obj_framebuf_t {
uint8_t format;
} mp_obj_framebuf_t;
typedef void (*setpixel_t)(const mp_obj_framebuf_t*, int, int, uint32_t);
typedef uint32_t (*getpixel_t)(const mp_obj_framebuf_t*, int, int);
typedef void (*setpixel_t)(const mp_obj_framebuf_t *, int, int, uint32_t);
typedef uint32_t (*getpixel_t)(const mp_obj_framebuf_t *, int, int);
typedef void (*fill_rect_t)(const mp_obj_framebuf_t *, int, int, int, int, uint32_t);
typedef struct _mp_framebuf_p_t {
@ -47,20 +47,20 @@ typedef struct _mp_framebuf_p_t {
STATIC void mono_horiz_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
size_t index = (x + y * fb->stride) >> 3;
int offset = fb->format == FRAMEBUF_MHMSB ? x & 0x07 : 7 - (x & 0x07);
((uint8_t*)fb->buf)[index] = (((uint8_t*)fb->buf)[index] & ~(0x01 << offset)) | ((col != 0) << offset);
((uint8_t *)fb->buf)[index] = (((uint8_t *)fb->buf)[index] & ~(0x01 << offset)) | ((col != 0) << offset);
}
STATIC uint32_t mono_horiz_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
size_t index = (x + y * fb->stride) >> 3;
int offset = fb->format == FRAMEBUF_MHMSB ? x & 0x07 : 7 - (x & 0x07);
return (((uint8_t*)fb->buf)[index] >> (offset)) & 0x01;
return (((uint8_t *)fb->buf)[index] >> (offset)) & 0x01;
}
STATIC void mono_horiz_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
int reverse = fb->format == FRAMEBUF_MHMSB;
int advance = fb->stride >> 3;
while (w--) {
uint8_t *b = &((uint8_t*)fb->buf)[(x >> 3) + y * advance];
uint8_t *b = &((uint8_t *)fb->buf)[(x >> 3) + y * advance];
int offset = reverse ? x & 7 : 7 - (x & 7);
for (int hh = h; hh; --hh) {
*b = (*b & ~(0x01 << offset)) | ((col != 0) << offset);
@ -75,16 +75,16 @@ STATIC void mono_horiz_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int
STATIC void mvlsb_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
size_t index = (y >> 3) * fb->stride + x;
uint8_t offset = y & 0x07;
((uint8_t*)fb->buf)[index] = (((uint8_t*)fb->buf)[index] & ~(0x01 << offset)) | ((col != 0) << offset);
((uint8_t *)fb->buf)[index] = (((uint8_t *)fb->buf)[index] & ~(0x01 << offset)) | ((col != 0) << offset);
}
STATIC uint32_t mvlsb_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
return (((uint8_t*)fb->buf)[(y >> 3) * fb->stride + x] >> (y & 0x07)) & 0x01;
return (((uint8_t *)fb->buf)[(y >> 3) * fb->stride + x] >> (y & 0x07)) & 0x01;
}
STATIC void mvlsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
while (h--) {
uint8_t *b = &((uint8_t*)fb->buf)[(y >> 3) * fb->stride + x];
uint8_t *b = &((uint8_t *)fb->buf)[(y >> 3) * fb->stride + x];
uint8_t offset = y & 0x07;
for (int ww = w; ww; --ww) {
*b = (*b & ~(0x01 << offset)) | ((col != 0) << offset);
@ -97,15 +97,15 @@ STATIC void mvlsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, in
// Functions for RGB565 format
STATIC void rgb565_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
((uint16_t*)fb->buf)[x + y * fb->stride] = col;
((uint16_t *)fb->buf)[x + y * fb->stride] = col;
}
STATIC uint32_t rgb565_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
return ((uint16_t*)fb->buf)[x + y * fb->stride];
return ((uint16_t *)fb->buf)[x + y * fb->stride];
}
STATIC void rgb565_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
uint16_t *b = &((uint16_t*)fb->buf)[x + y * fb->stride];
uint16_t *b = &((uint16_t *)fb->buf)[x + y * fb->stride];
while (h--) {
for (int ww = w; ww; --ww) {
*b++ = col;
@ -117,7 +117,7 @@ STATIC void rgb565_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, i
// Functions for GS2_HMSB format
STATIC void gs2_hmsb_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
uint8_t *pixel = &((uint8_t*)fb->buf)[(x + y * fb->stride) >> 2];
uint8_t *pixel = &((uint8_t *)fb->buf)[(x + y * fb->stride) >> 2];
uint8_t shift = (x & 0x3) << 1;
uint8_t mask = 0x3 << shift;
uint8_t color = (col & 0x3) << shift;
@ -125,14 +125,14 @@ STATIC void gs2_hmsb_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_
}
STATIC uint32_t gs2_hmsb_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
uint8_t pixel = ((uint8_t*)fb->buf)[(x + y * fb->stride) >> 2];
uint8_t pixel = ((uint8_t *)fb->buf)[(x + y * fb->stride) >> 2];
uint8_t shift = (x & 0x3) << 1;
return (pixel >> shift) & 0x3;
}
STATIC void gs2_hmsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
for (int xx=x; xx < x+w; xx++) {
for (int yy=y; yy < y+h; yy++) {
for (int xx = x; xx < x + w; xx++) {
for (int yy = y; yy < y + h; yy++) {
gs2_hmsb_setpixel(fb, xx, yy, col);
}
}
@ -141,7 +141,7 @@ STATIC void gs2_hmsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w,
// Functions for GS4_HMSB format
STATIC void gs4_hmsb_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
uint8_t *pixel = &((uint8_t*)fb->buf)[(x + y * fb->stride) >> 1];
uint8_t *pixel = &((uint8_t *)fb->buf)[(x + y * fb->stride) >> 1];
if (x % 2) {
*pixel = ((uint8_t)col & 0x0f) | (*pixel & 0xf0);
@ -152,15 +152,15 @@ STATIC void gs4_hmsb_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_
STATIC uint32_t gs4_hmsb_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
if (x % 2) {
return ((uint8_t*)fb->buf)[(x + y * fb->stride) >> 1] & 0x0f;
return ((uint8_t *)fb->buf)[(x + y * fb->stride) >> 1] & 0x0f;
}
return ((uint8_t*)fb->buf)[(x + y * fb->stride) >> 1] >> 4;
return ((uint8_t *)fb->buf)[(x + y * fb->stride) >> 1] >> 4;
}
STATIC void gs4_hmsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
col &= 0x0f;
uint8_t *pixel_pair = &((uint8_t*)fb->buf)[(x + y * fb->stride) >> 1];
uint8_t *pixel_pair = &((uint8_t *)fb->buf)[(x + y * fb->stride) >> 1];
uint8_t col_shifted_left = col << 4;
uint8_t col_pixel_pair = col_shifted_left | col;
int pixel_count_till_next_line = (fb->stride - w) >> 1;
@ -192,16 +192,16 @@ STATIC void gs4_hmsb_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w,
// Functions for GS8 format
STATIC void gs8_setpixel(const mp_obj_framebuf_t *fb, int x, int y, uint32_t col) {
uint8_t *pixel = &((uint8_t*)fb->buf)[(x + y * fb->stride)];
uint8_t *pixel = &((uint8_t *)fb->buf)[(x + y * fb->stride)];
*pixel = col & 0xff;
}
STATIC uint32_t gs8_getpixel(const mp_obj_framebuf_t *fb, int x, int y) {
return ((uint8_t*)fb->buf)[(x + y * fb->stride)];
return ((uint8_t *)fb->buf)[(x + y * fb->stride)];
}
STATIC void gs8_fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, uint32_t col) {
uint8_t *pixel = &((uint8_t*)fb->buf)[(x + y * fb->stride)];
uint8_t *pixel = &((uint8_t *)fb->buf)[(x + y * fb->stride)];
while (h--) {
memset(pixel, col, w);
pixel += fb->stride;
@ -287,7 +287,7 @@ STATIC mp_obj_t framebuf_make_new(const mp_obj_type_t *type, size_t n_args, cons
STATIC const mp_obj_type_t mp_type_framebuf;
// Helper to ensure we have the native super class instead of a subclass.
static mp_obj_framebuf_t* native_framebuf(mp_obj_t framebuf_obj) {
static mp_obj_framebuf_t *native_framebuf(mp_obj_t framebuf_obj) {
mp_obj_t native_framebuf = mp_instance_cast_to_native_base(framebuf_obj, &mp_type_framebuf);
mp_obj_assert_native_inited(native_framebuf);
return MP_OBJ_TO_PTR(native_framebuf);
@ -384,9 +384,9 @@ STATIC mp_obj_t framebuf_rect(size_t n_args, const mp_obj_t *args) {
mp_int_t col = mp_obj_get_int(args[5]);
fill_rect(self, x, y, w, 1, col);
fill_rect(self, x, y + h- 1, w, 1, col);
fill_rect(self, x, y + h - 1, w, 1, col);
fill_rect(self, x, y, 1, h, col);
fill_rect(self, x + w- 1, y, 1, h, col);
fill_rect(self, x + w - 1, y, 1, h, col);
return mp_const_none;
}
@ -423,9 +423,15 @@ STATIC mp_obj_t framebuf_line(size_t n_args, const mp_obj_t *args) {
bool steep;
if (dy > dx) {
mp_int_t temp;
temp = x1; x1 = y1; y1 = temp;
temp = dx; dx = dy; dy = temp;
temp = sx; sx = sy; sy = temp;
temp = x1;
x1 = y1;
y1 = temp;
temp = dx;
dx = dy;
dy = temp;
temp = sx;
sx = sy;
sy = temp;
steep = true;
} else {
steep = false;
@ -473,7 +479,7 @@ STATIC mp_obj_t framebuf_blit(size_t n_args, const mp_obj_t *args) {
(y >= self->height) ||
(-x >= source->width) ||
(-y >= source->height)
) {
) {
// Out of bounds, no-op.
return mp_const_none;
}
@ -547,7 +553,7 @@ STATIC mp_obj_t framebuf_text(size_t n_args, const mp_obj_t *args) {
// loop over chars
for (; *str; ++str) {
// get char and make sure its in range of font
int chr = *(uint8_t*)str;
int chr = *(uint8_t *)str;
if (chr < 32 || chr > 127) {
chr = 127;
}
@ -590,7 +596,7 @@ STATIC const mp_obj_type_t mp_type_framebuf = {
.name = MP_QSTR_FrameBuffer,
.make_new = framebuf_make_new,
.buffer_p = { .get_buffer = framebuf_get_buffer },
.locals_dict = (mp_obj_dict_t*)&framebuf_locals_dict,
.locals_dict = (mp_obj_dict_t *)&framebuf_locals_dict,
};
// this factory function is provided for backwards compatibility with old FrameBuffer1 class
@ -633,7 +639,7 @@ STATIC MP_DEFINE_CONST_DICT(framebuf_module_globals, framebuf_module_globals_tab
const mp_obj_module_t mp_module_framebuf = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&framebuf_module_globals,
.globals = (mp_obj_dict_t *)&framebuf_module_globals,
};
#endif // MICROPY_PY_FRAMEBUF

View File

@ -19,7 +19,7 @@
#include "lwip/init.h"
#include "lwip/tcp.h"
#include "lwip/udp.h"
//#include "lwip/raw.h"
// #include "lwip/raw.h"
#include "lwip/dns.h"
#include "lwip/igmp.h"
#if LWIP_VERSION_MAJOR < 2
@ -71,7 +71,7 @@ void mod_lwip_register_poll(void (*poll)(void *arg), void *poll_arg);
void mod_lwip_deregister_poll(void (*poll)(void *arg), void *poll_arg);
STATIC void slip_lwip_poll(void *netif) {
slipif_poll((struct netif*)netif);
slipif_poll((struct netif *)netif);
}
STATIC const mp_obj_type_t lwip_slip_type;
@ -120,7 +120,7 @@ STATIC mp_obj_t lwip_slip_make_new(mp_obj_t type_in, size_t n_args, size_t n_kw,
struct netif *n = &lwip_slip_obj.lwip_netif;
if (netif_add(n, &iplocal, IP_ADDR_BROADCAST, &ipremote, NULL, slipif_init, ip_input) == NULL) {
mp_raise_ValueError("out of memory");
mp_raise_ValueError("out of memory");
}
netif_set_up(n);
netif_set_default(n);
@ -146,7 +146,7 @@ STATIC const mp_obj_type_t lwip_slip_type = {
{ &mp_type_type },
.name = MP_QSTR_slip,
.make_new = lwip_slip_make_new,
.locals_dict = (mp_obj_dict_t*)&lwip_slip_locals_dict,
.locals_dict = (mp_obj_dict_t *)&lwip_slip_locals_dict,
};
#endif // MICROPY_PY_LWIP_SLIP
@ -158,7 +158,7 @@ STATIC const mp_obj_type_t lwip_slip_type = {
// lwIP 2 changed LWIP_VERSION and it can no longer be used in macros,
// so we define our own equivalent version that can.
#define LWIP_VERSION_MACRO (LWIP_VERSION_MAJOR << 24 | LWIP_VERSION_MINOR << 16 \
| LWIP_VERSION_REVISION << 8 | LWIP_VERSION_RC)
| LWIP_VERSION_REVISION << 8 | LWIP_VERSION_RC)
// Extension to lwIP error codes
#define _ERR_BADF -16
@ -271,11 +271,11 @@ typedef struct _lwip_socket_obj_t {
} lwip_socket_obj_t;
static inline void poll_sockets(void) {
#ifdef MICROPY_EVENT_POLL_HOOK
#ifdef MICROPY_EVENT_POLL_HOOK
MICROPY_EVENT_POLL_HOOK;
#else
#else
mp_hal_delay_ms(1);
#endif
#endif
}
/*******************************************************************************/
@ -295,7 +295,7 @@ STATIC void _lwip_udp_incoming(void *arg, struct udp_pcb *upcb, struct pbuf *p,
STATIC void _lwip_udp_incoming(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
#endif
{
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
if (socket->incoming.pbuf != NULL) {
// That's why they call it "unreliable". No room in the inn, drop the packet.
@ -309,7 +309,7 @@ STATIC void _lwip_udp_incoming(void *arg, struct udp_pcb *upcb, struct pbuf *p,
// Callback for general tcp errors.
STATIC void _lwip_tcp_error(void *arg, err_t err) {
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
// Pass the error code back via the connection variable.
socket->state = err;
@ -319,7 +319,7 @@ STATIC void _lwip_tcp_error(void *arg, err_t err) {
// Callback for tcp connection requests. Error code err is unused. (See tcp.h)
STATIC err_t _lwip_tcp_connected(void *arg, struct tcp_pcb *tpcb, err_t err) {
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
socket->state = STATE_CONNECTED;
return ERR_OK;
@ -337,9 +337,8 @@ STATIC err_t _lwip_tcp_recv_unaccepted(void *arg, struct tcp_pcb *pcb, struct pb
// "Poll" (idle) callback to be called ASAP after accept callback
// to execute Python callback function, as it can't be executed
// from accept callback itself.
STATIC err_t _lwip_tcp_accept_finished(void *arg, struct tcp_pcb *pcb)
{
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
STATIC err_t _lwip_tcp_accept_finished(void *arg, struct tcp_pcb *pcb) {
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
tcp_poll(pcb, NULL, 0);
exec_user_callback(socket);
return ERR_OK;
@ -347,7 +346,7 @@ STATIC err_t _lwip_tcp_accept_finished(void *arg, struct tcp_pcb *pcb)
// Callback for incoming tcp connections.
STATIC err_t _lwip_tcp_accept(void *arg, struct tcp_pcb *newpcb, err_t err) {
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
tcp_recv(newpcb, _lwip_tcp_recv_unaccepted);
if (socket->incoming.connection != NULL) {
@ -369,7 +368,7 @@ STATIC err_t _lwip_tcp_accept(void *arg, struct tcp_pcb *newpcb, err_t err) {
// Callback for inbound tcp packets.
STATIC err_t _lwip_tcp_recv(void *arg, struct tcp_pcb *tcpb, struct pbuf *p, err_t err) {
lwip_socket_obj_t *socket = (lwip_socket_obj_t*)arg;
lwip_socket_obj_t *socket = (lwip_socket_obj_t *)arg;
if (p == NULL) {
// Other side has closed connection.
@ -443,7 +442,9 @@ STATIC mp_uint_t lwip_udp_receive(lwip_socket_obj_t *socket, byte *buf, mp_uint_
if (socket->timeout != -1) {
for (mp_uint_t retries = socket->timeout / 100; retries--;) {
mp_hal_delay_ms(100);
if (socket->incoming.pbuf != NULL) break;
if (socket->incoming.pbuf != NULL) {
break;
}
}
if (socket->incoming.pbuf == NULL) {
*_errno = MP_ETIMEDOUT;
@ -467,16 +468,16 @@ STATIC mp_uint_t lwip_udp_receive(lwip_socket_obj_t *socket, byte *buf, mp_uint_
pbuf_free(p);
socket->incoming.pbuf = NULL;
return (mp_uint_t) result;
return (mp_uint_t)result;
}
// For use in stream virtual methods
#define STREAM_ERROR_CHECK(socket) \
if (socket->state < 0) { \
*_errno = error_lookup_table[-socket->state]; \
return MP_STREAM_ERROR; \
} \
assert(socket->pcb.tcp);
if (socket->state < 0) { \
*_errno = error_lookup_table[-socket->state]; \
return MP_STREAM_ERROR; \
} \
assert(socket->pcb.tcp);
// Helper function for send/sendto to handle TCP packets
@ -575,7 +576,7 @@ STATIC mp_uint_t lwip_tcp_receive(lwip_socket_obj_t *socket, byte *buf, mp_uint_
len = remaining;
}
memcpy(buf, (byte*)p->payload + socket->recv_offset, len);
memcpy(buf, (byte *)p->payload + socket->recv_offset, len);
remaining -= len;
if (remaining == 0) {
@ -622,10 +623,15 @@ STATIC mp_obj_t lwip_socket_make_new(const mp_obj_type_t *type, size_t n_args, s
}
switch (socket->type) {
case MOD_NETWORK_SOCK_STREAM: socket->pcb.tcp = tcp_new(); break;
case MOD_NETWORK_SOCK_DGRAM: socket->pcb.udp = udp_new(); break;
//case MOD_NETWORK_SOCK_RAW: socket->pcb.raw = raw_new(); break;
default: mp_raise_OSError(MP_EINVAL);
case MOD_NETWORK_SOCK_STREAM:
socket->pcb.tcp = tcp_new();
break;
case MOD_NETWORK_SOCK_DGRAM:
socket->pcb.udp = udp_new();
break;
// case MOD_NETWORK_SOCK_RAW: socket->pcb.raw = raw_new(); break;
default:
mp_raise_OSError(MP_EINVAL);
}
if (socket->pcb.tcp == NULL) {
@ -635,7 +641,7 @@ STATIC mp_obj_t lwip_socket_make_new(const mp_obj_type_t *type, size_t n_args, s
switch (socket->type) {
case MOD_NETWORK_SOCK_STREAM: {
// Register the socket object as our callback argument.
tcp_arg(socket->pcb.tcp, (void*)socket);
tcp_arg(socket->pcb.tcp, (void *)socket);
// Register our error callback.
tcp_err(socket->pcb.tcp, _lwip_tcp_error);
break;
@ -643,7 +649,7 @@ STATIC mp_obj_t lwip_socket_make_new(const mp_obj_type_t *type, size_t n_args, s
case MOD_NETWORK_SOCK_DGRAM: {
// Register our receive callback now. Since UDP sockets don't require binding or connection
// before use, there's no other good time to do it.
udp_recv(socket->pcb.udp, _lwip_udp_incoming, (void*)socket);
udp_recv(socket->pcb.udp, _lwip_udp_incoming, (void *)socket);
break;
}
}
@ -731,7 +737,9 @@ STATIC mp_obj_t lwip_socket_accept(mp_obj_t self_in) {
} else if (socket->timeout != -1) {
for (mp_uint_t retries = socket->timeout / 100; retries--;) {
mp_hal_delay_ms(100);
if (socket->incoming.connection != NULL) break;
if (socket->incoming.connection != NULL) {
break;
}
}
if (socket->incoming.connection == NULL) {
mp_raise_OSError(MP_ETIMEDOUT);
@ -759,7 +767,7 @@ STATIC mp_obj_t lwip_socket_accept(mp_obj_t self_in) {
socket2->state = STATE_CONNECTED;
socket2->recv_offset = 0;
socket2->callback = MP_OBJ_NULL;
tcp_arg(socket2->pcb.tcp, (void*)socket2);
tcp_arg(socket2->pcb.tcp, (void *)socket2);
tcp_err(socket2->pcb.tcp, _lwip_tcp_error);
tcp_recv(socket2->pcb.tcp, _lwip_tcp_recv);
@ -815,7 +823,9 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
if (socket->timeout != -1) {
for (mp_uint_t retries = socket->timeout / 100; retries--;) {
mp_hal_delay_ms(100);
if (socket->state != STATE_CONNECTING) break;
if (socket->state != STATE_CONNECTING) {
break;
}
}
if (socket->state == STATE_CONNECTING) {
mp_raise_OSError(MP_EINPROGRESS);
@ -826,9 +836,9 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
}
}
if (socket->state == STATE_CONNECTED) {
err = ERR_OK;
err = ERR_OK;
} else {
err = socket->state;
err = socket->state;
}
break;
}
@ -896,11 +906,11 @@ STATIC mp_obj_t lwip_socket_recv(mp_obj_t self_in, mp_obj_t len_in) {
mp_uint_t ret = 0;
switch (socket->type) {
case MOD_NETWORK_SOCK_STREAM: {
ret = lwip_tcp_receive(socket, (byte*)vstr.buf, len, &_errno);
ret = lwip_tcp_receive(socket, (byte *)vstr.buf, len, &_errno);
break;
}
case MOD_NETWORK_SOCK_DGRAM: {
ret = lwip_udp_receive(socket, (byte*)vstr.buf, len, NULL, NULL, &_errno);
ret = lwip_udp_receive(socket, (byte *)vstr.buf, len, NULL, NULL, &_errno);
break;
}
}
@ -963,12 +973,12 @@ STATIC mp_obj_t lwip_socket_recvfrom(mp_obj_t self_in, mp_obj_t len_in) {
switch (socket->type) {
case MOD_NETWORK_SOCK_STREAM: {
memcpy(ip, &socket->peer, sizeof(socket->peer));
port = (mp_uint_t) socket->peer_port;
ret = lwip_tcp_receive(socket, (byte*)vstr.buf, len, &_errno);
port = (mp_uint_t)socket->peer_port;
ret = lwip_tcp_receive(socket, (byte *)vstr.buf, len, &_errno);
break;
}
case MOD_NETWORK_SOCK_DGRAM: {
ret = lwip_udp_receive(socket, (byte*)vstr.buf, len, ip, &port, &_errno);
ret = lwip_udp_receive(socket, (byte *)vstr.buf, len, ip, &port, &_errno);
break;
}
}
@ -1017,7 +1027,7 @@ STATIC mp_obj_t lwip_socket_sendall(mp_obj_t self_in, mp_obj_t buf_in) {
mp_raise_OSError(_errno);
}
bufinfo.len -= ret;
bufinfo.buf = (char*)bufinfo.buf + ret;
bufinfo.buf = (char *)bufinfo.buf + ret;
}
break;
}
@ -1095,7 +1105,7 @@ STATIC mp_obj_t lwip_socket_setsockopt(size_t n_args, const mp_obj_t *args) {
}
// POSIX setsockopt has order: group addr, if addr, lwIP has it vice-versa
err_t err = igmp_joingroup((ip_addr_t*)bufinfo.buf + 1, bufinfo.buf);
err_t err = igmp_joingroup((ip_addr_t *)bufinfo.buf + 1, bufinfo.buf);
if (err != ERR_OK) {
mp_raise_OSError(error_lookup_table[-err]);
}
@ -1192,8 +1202,10 @@ STATIC mp_uint_t lwip_socket_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_
}
break;
}
case MOD_NETWORK_SOCK_DGRAM: udp_remove(socket->pcb.udp); break;
//case MOD_NETWORK_SOCK_RAW: raw_remove(socket->pcb.raw); break;
case MOD_NETWORK_SOCK_DGRAM:
udp_remove(socket->pcb.udp);
break;
// case MOD_NETWORK_SOCK_RAW: raw_remove(socket->pcb.raw); break;
}
socket->pcb.tcp = NULL;
socket->state = _ERR_BADF;
@ -1252,7 +1264,7 @@ STATIC const mp_obj_type_t lwip_socket_type = {
.print = lwip_socket_print,
.make_new = lwip_socket_make_new,
.protocol = &lwip_socket_stream_p,
.locals_dict = (mp_obj_dict_t*)&lwip_socket_locals_dict,
.locals_dict = (mp_obj_dict_t *)&lwip_socket_locals_dict,
};
/******************************************************************************/
@ -1272,18 +1284,18 @@ void sys_arch_unprotect(sys_prot_t state) {
// itself a "list" but isn't; we only support a single interface.
typedef struct nic_poll {
void (* poll)(void *arg);
void (*poll)(void *arg);
void *poll_arg;
} nic_poll_t;
STATIC nic_poll_t lwip_poll_list;
void mod_lwip_register_poll(void (* poll)(void *arg), void *poll_arg) {
void mod_lwip_register_poll(void (*poll)(void *arg), void *poll_arg) {
lwip_poll_list.poll = poll;
lwip_poll_list.poll_arg = poll_arg;
}
void mod_lwip_deregister_poll(void (* poll)(void *arg), void *poll_arg) {
void mod_lwip_deregister_poll(void (*poll)(void *arg), void *poll_arg) {
lwip_poll_list.poll = NULL;
}
@ -1350,9 +1362,9 @@ STATIC mp_obj_t lwip_getaddrinfo(size_t n_args, const mp_obj_t *args) {
}
}
if (!((family == 0 || family == MOD_NETWORK_AF_INET)
&& (type == 0 || type == MOD_NETWORK_SOCK_STREAM)
&& proto == 0
&& flags == 0)) {
&& (type == 0 || type == MOD_NETWORK_SOCK_STREAM)
&& proto == 0
&& flags == 0)) {
mp_warning("unsupported getaddrinfo constraints");
}
}
@ -1360,7 +1372,7 @@ STATIC mp_obj_t lwip_getaddrinfo(size_t n_args, const mp_obj_t *args) {
getaddrinfo_state_t state;
state.status = 0;
err_t ret = dns_gethostbyname(host, (ip_addr_t*)&state.ipaddr, lwip_getaddrinfo_cb, &state);
err_t ret = dns_gethostbyname(host, (ip_addr_t *)&state.ipaddr, lwip_getaddrinfo_cb, &state);
switch (ret) {
case ERR_OK:
// cached
@ -1386,8 +1398,8 @@ STATIC mp_obj_t lwip_getaddrinfo(size_t n_args, const mp_obj_t *args) {
tuple->items[1] = MP_OBJ_NEW_SMALL_INT(MOD_NETWORK_SOCK_STREAM);
tuple->items[2] = MP_OBJ_NEW_SMALL_INT(0);
tuple->items[3] = MP_OBJ_NEW_QSTR(MP_QSTR_);
tuple->items[4] = netutils_format_inet_addr((uint8_t*)&state.ipaddr, port, NETUTILS_BIG);
return mp_obj_new_list(1, (mp_obj_t*)&tuple);
tuple->items[4] = netutils_format_inet_addr((uint8_t *)&state.ipaddr, port, NETUTILS_BIG);
return mp_obj_new_list(1, (mp_obj_t *)&tuple);
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(lwip_getaddrinfo_obj, 2, 6, lwip_getaddrinfo);
@ -1409,9 +1421,9 @@ STATIC const mp_rom_map_elem_t mp_module_lwip_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_print_pcbs), MP_ROM_PTR(&lwip_print_pcbs_obj) },
// objects
{ MP_ROM_QSTR(MP_QSTR_socket), MP_ROM_PTR(&lwip_socket_type) },
#if MICROPY_PY_LWIP_SLIP
#if MICROPY_PY_LWIP_SLIP
{ MP_ROM_QSTR(MP_QSTR_slip), MP_ROM_PTR(&lwip_slip_type) },
#endif
#endif
// class constants
{ MP_ROM_QSTR(MP_QSTR_AF_INET), MP_ROM_INT(MOD_NETWORK_AF_INET) },
{ MP_ROM_QSTR(MP_QSTR_AF_INET6), MP_ROM_INT(MOD_NETWORK_AF_INET6) },
@ -1431,7 +1443,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_lwip_globals, mp_module_lwip_globals_table
const mp_obj_module_t mp_module_lwip = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_lwip_globals,
.globals = (mp_obj_dict_t *)&mp_module_lwip_globals,
};
#endif // MICROPY_PY_LWIP

View File

@ -105,7 +105,7 @@ STATIC mp_obj_t onewire_crc8(mp_obj_t data) {
mp_get_buffer_raise(data, &bufinfo, MP_BUFFER_READ);
uint8_t crc = 0;
for (size_t i = 0; i < bufinfo.len; ++i) {
uint8_t byte = ((uint8_t*)bufinfo.buf)[i];
uint8_t byte = ((uint8_t *)bufinfo.buf)[i];
for (int b = 0; b < 8; ++b) {
uint8_t fb_bit = (crc ^ byte) & 0x01;
if (fb_bit == 0x01) {
@ -137,5 +137,5 @@ STATIC MP_DEFINE_CONST_DICT(onewire_module_globals, onewire_module_globals_table
const mp_obj_module_t mp_module_onewire = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&onewire_module_globals,
.globals = (mp_obj_dict_t *)&onewire_module_globals,
};

View File

@ -12,11 +12,11 @@
#include "extmod/modubinascii.h"
static void check_not_unicode(const mp_obj_t arg) {
#if MICROPY_CPYTHON_COMPAT
#if MICROPY_CPYTHON_COMPAT
if (MP_OBJ_IS_STR(arg)) {
mp_raise_TypeError(translate("a bytes-like object is required"));
}
#endif
#endif
}
mp_obj_t mod_binascii_hexlify(size_t n_args, const mp_obj_t *args) {
@ -41,7 +41,7 @@ mp_obj_t mod_binascii_hexlify(size_t n_args, const mp_obj_t *args) {
sep = mp_obj_str_get_str(args[1]);
}
vstr_init_len(&vstr, out_len);
byte *in = bufinfo.buf, *out = (byte*)vstr.buf;
byte *in = bufinfo.buf, *out = (byte *)vstr.buf;
for (mp_uint_t i = bufinfo.len; i--;) {
byte d = (*in >> 4);
if (d > 9) {
@ -70,7 +70,7 @@ mp_obj_t mod_binascii_unhexlify(mp_obj_t data) {
}
vstr_t vstr;
vstr_init_len(&vstr, bufinfo.len / 2);
byte *in = bufinfo.buf, *out = (byte*)vstr.buf;
byte *in = bufinfo.buf, *out = (byte *)vstr.buf;
byte hex_byte = 0;
for (mp_uint_t i = bufinfo.len; i--;) {
byte hex_ch = *in++;
@ -161,7 +161,7 @@ mp_obj_t mod_binascii_b2a_base64(mp_obj_t data) {
vstr_init_len(&vstr, ((bufinfo.len != 0) ? (((bufinfo.len - 1) / 3) + 1) * 4 : 0) + 1);
// First pass, we convert input buffer to numeric base 64 values
byte *in = bufinfo.buf, *out = (byte*)vstr.buf;
byte *in = bufinfo.buf, *out = (byte *)vstr.buf;
mp_uint_t i;
for (i = bufinfo.len; i >= 3; i -= 3) {
*out++ = (in[0] & 0xFC) >> 2;
@ -175,8 +175,7 @@ mp_obj_t mod_binascii_b2a_base64(mp_obj_t data) {
if (i == 2) {
*out++ = (in[0] & 0x03) << 4 | (in[1] & 0xF0) >> 4;
*out++ = (in[1] & 0x0F) << 2;
}
else {
} else {
*out++ = (in[0] & 0x03) << 4;
*out++ = 64;
}
@ -184,7 +183,7 @@ mp_obj_t mod_binascii_b2a_base64(mp_obj_t data) {
}
// Second pass, we convert number base 64 values to actual base64 ascii encoding
out = (byte*)vstr.buf;
out = (byte *)vstr.buf;
for (mp_uint_t j = vstr.len - 1; j--;) {
if (*out < 26) {
*out += 'A';
@ -193,7 +192,7 @@ mp_obj_t mod_binascii_b2a_base64(mp_obj_t data) {
} else if (*out < 62) {
*out += '0' - 52;
} else if (*out == 62) {
*out ='+';
*out = '+';
} else if (*out == 63) {
*out = '/';
} else {
@ -237,7 +236,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_binascii_globals, mp_module_binascii_globa
const mp_obj_module_t mp_module_ubinascii = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_binascii_globals,
.globals = (mp_obj_dict_t *)&mp_module_binascii_globals,
};
#endif //MICROPY_PY_UBINASCII
#endif // MICROPY_PY_UBINASCII

View File

@ -105,7 +105,7 @@ STATIC mp_obj_t uctypes_struct_make_new(const mp_obj_type_t *type, size_t n_args
mp_arg_check_num(n_args, kw_args, 2, 3, false);
mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t);
o->base.type = type;
o->addr = (void*)(uintptr_t)mp_obj_int_get_truncated(args[0]);
o->addr = (void *)(uintptr_t)mp_obj_int_get_truncated(args[0]);
o->desc = args[1];
o->flags = LAYOUT_NATIVE;
if (n_args == 3) {
@ -125,8 +125,12 @@ STATIC void uctypes_struct_print(const mp_print_t *print, mp_obj_t self_in, mp_p
mp_int_t offset = MP_OBJ_SMALL_INT_VALUE(t->items[0]);
uint agg_type = GET_TYPE(offset, AGG_TYPE_BITS);
switch (agg_type) {
case PTR: typen = "PTR"; break;
case ARRAY: typen = "ARRAY"; break;
case PTR:
typen = "PTR";
break;
case ARRAY:
typen = "ARRAY";
break;
}
} else {
typen = "ERROR";
@ -157,10 +161,10 @@ STATIC mp_uint_t uctypes_struct_agg_size(mp_obj_tuple_t *t, int layout_type, mp_
case STRUCT:
return uctypes_struct_size(t->items[1], layout_type, max_field_size);
case PTR:
if (sizeof(void*) > *max_field_size) {
*max_field_size = sizeof(void*);
if (sizeof(void *) > *max_field_size) {
*max_field_size = sizeof(void *);
}
return sizeof(void*);
return sizeof(void *);
case ARRAY: {
mp_int_t arr_sz = MP_OBJ_SMALL_INT_VALUE(t->items[1]);
uint val_type = GET_TYPE(arr_sz, VAL_TYPE_BITS);
@ -189,7 +193,7 @@ STATIC mp_uint_t uctypes_struct_agg_size(mp_obj_tuple_t *t, int layout_type, mp_
STATIC mp_uint_t uctypes_struct_size(mp_obj_t desc_in, int layout_type, mp_uint_t *max_field_size) {
if (!MP_OBJ_IS_TYPE(desc_in, &mp_type_dict)) {
if (MP_OBJ_IS_TYPE(desc_in, &mp_type_tuple)) {
return uctypes_struct_agg_size((mp_obj_tuple_t*)MP_OBJ_TO_PTR(desc_in), layout_type, max_field_size);
return uctypes_struct_agg_size((mp_obj_tuple_t *)MP_OBJ_TO_PTR(desc_in), layout_type, max_field_size);
} else if (MP_OBJ_IS_SMALL_INT(desc_in)) {
// We allow sizeof on both type definitions and structures/structure fields,
// but scalar structure field is lowered into native Python int, so all
@ -276,11 +280,11 @@ static inline void set_unaligned(uint val_type, byte *p, int big_endian, mp_obj_
static inline mp_uint_t get_aligned_basic(uint val_type, void *p) {
switch (val_type) {
case UINT8:
return *(uint8_t*)p;
return *(uint8_t *)p;
case UINT16:
return *(uint16_t*)p;
return *(uint16_t *)p;
case UINT32:
return *(uint32_t*)p;
return *(uint32_t *)p;
}
assert(0);
return 0;
@ -289,11 +293,14 @@ static inline mp_uint_t get_aligned_basic(uint val_type, void *p) {
static inline void set_aligned_basic(uint val_type, void *p, mp_uint_t v) {
switch (val_type) {
case UINT8:
*(uint8_t*)p = (uint8_t)v; return;
*(uint8_t *)p = (uint8_t)v;
return;
case UINT16:
*(uint16_t*)p = (uint16_t)v; return;
*(uint16_t *)p = (uint16_t)v;
return;
case UINT32:
*(uint32_t*)p = (uint32_t)v; return;
*(uint32_t *)p = (uint32_t)v;
return;
}
assert(0);
}
@ -301,26 +308,26 @@ static inline void set_aligned_basic(uint val_type, void *p, mp_uint_t v) {
STATIC mp_obj_t get_aligned(uint val_type, void *p, mp_int_t index) {
switch (val_type) {
case UINT8:
return MP_OBJ_NEW_SMALL_INT(((uint8_t*)p)[index]);
return MP_OBJ_NEW_SMALL_INT(((uint8_t *)p)[index]);
case INT8:
return MP_OBJ_NEW_SMALL_INT(((int8_t*)p)[index]);
return MP_OBJ_NEW_SMALL_INT(((int8_t *)p)[index]);
case UINT16:
return MP_OBJ_NEW_SMALL_INT(((uint16_t*)p)[index]);
return MP_OBJ_NEW_SMALL_INT(((uint16_t *)p)[index]);
case INT16:
return MP_OBJ_NEW_SMALL_INT(((int16_t*)p)[index]);
return MP_OBJ_NEW_SMALL_INT(((int16_t *)p)[index]);
case UINT32:
return mp_obj_new_int_from_uint(((uint32_t*)p)[index]);
return mp_obj_new_int_from_uint(((uint32_t *)p)[index]);
case INT32:
return mp_obj_new_int(((int32_t*)p)[index]);
return mp_obj_new_int(((int32_t *)p)[index]);
case UINT64:
return mp_obj_new_int_from_ull(((uint64_t*)p)[index]);
return mp_obj_new_int_from_ull(((uint64_t *)p)[index]);
case INT64:
return mp_obj_new_int_from_ll(((int64_t*)p)[index]);
return mp_obj_new_int_from_ll(((int64_t *)p)[index]);
#if MICROPY_PY_BUILTINS_FLOAT
case FLOAT32:
return mp_obj_new_float((mp_float_t)((float*)p)[index]);
return mp_obj_new_float((mp_float_t)((float *)p)[index]);
case FLOAT64:
return mp_obj_new_float(((double*)p)[index]);
return mp_obj_new_float(((double *)p)[index]);
#endif
default:
assert(0);
@ -333,9 +340,9 @@ STATIC void set_aligned(uint val_type, void *p, mp_int_t index, mp_obj_t val) {
if (val_type == FLOAT32 || val_type == FLOAT64) {
mp_float_t v = mp_obj_get_float(val);
if (val_type == FLOAT32) {
((float*)p)[index] = v;
((float *)p)[index] = v;
} else {
((double*)p)[index] = v;
((double *)p)[index] = v;
}
return;
}
@ -343,21 +350,27 @@ STATIC void set_aligned(uint val_type, void *p, mp_int_t index, mp_obj_t val) {
mp_int_t v = mp_obj_get_int_truncated(val);
switch (val_type) {
case UINT8:
((uint8_t*)p)[index] = (uint8_t)v; return;
((uint8_t *)p)[index] = (uint8_t)v;
return;
case INT8:
((int8_t*)p)[index] = (int8_t)v; return;
((int8_t *)p)[index] = (int8_t)v;
return;
case UINT16:
((uint16_t*)p)[index] = (uint16_t)v; return;
((uint16_t *)p)[index] = (uint16_t)v;
return;
case INT16:
((int16_t*)p)[index] = (int16_t)v; return;
((int16_t *)p)[index] = (int16_t)v;
return;
case UINT32:
((uint32_t*)p)[index] = (uint32_t)v; return;
((uint32_t *)p)[index] = (uint32_t)v;
return;
case INT32:
((int32_t*)p)[index] = (int32_t)v; return;
((int32_t *)p)[index] = (int32_t)v;
return;
case INT64:
case UINT64:
if (sizeof(mp_int_t) == 8) {
((uint64_t*)p)[index] = (uint64_t)v;
((uint64_t *)p)[index] = (uint64_t)v;
} else {
// TODO: Doesn't offer atomic store semantics, but should at least try
set_unaligned(val_type, p, MP_ENDIANNESS_BIG, val);
@ -373,7 +386,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
// TODO: Support at least OrderedDict in addition
if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_dict)) {
mp_raise_TypeError(translate("struct: no fields"));
mp_raise_TypeError(translate("struct: no fields"));
}
mp_obj_t deref = mp_obj_dict_get(self->desc, MP_OBJ_NEW_QSTR(attr));
@ -381,7 +394,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
mp_int_t offset = MP_OBJ_SMALL_INT_VALUE(deref);
mp_uint_t val_type = GET_TYPE(offset, VAL_TYPE_BITS);
offset &= VALUE_MASK(VAL_TYPE_BITS);
//printf("scalar type=%d offset=%x\n", val_type, offset);
// printf("scalar type=%d offset=%x\n", val_type, offset);
if (val_type <= INT64 || val_type == FLOAT32 || val_type == FLOAT64) {
// printf("size=%d\n", GET_SCALAR_SIZE(val_type));
@ -451,7 +464,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
mp_int_t offset = MP_OBJ_SMALL_INT_VALUE(sub->items[0]);
mp_uint_t agg_type = GET_TYPE(offset, AGG_TYPE_BITS);
offset &= VALUE_MASK(AGG_TYPE_BITS);
//printf("agg type=%d offset=%x\n", agg_type, offset);
// printf("agg type=%d offset=%x\n", agg_type, offset);
switch (agg_type) {
case STRUCT: {
@ -475,7 +488,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
o->desc = MP_OBJ_FROM_PTR(sub);
o->addr = self->addr + offset;
o->flags = self->flags;
//printf("PTR/ARR base addr=%p\n", o->addr);
// printf("PTR/ARR base addr=%p\n", o->addr);
return MP_OBJ_FROM_PTR(o);
}
}
@ -555,7 +568,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t base_in, mp_obj_t index_in, mp_ob
}
} else if (agg_type == PTR) {
byte *p = *(void**)self->addr;
byte *p = *(void **)self->addr;
if (MP_OBJ_IS_SMALL_INT(t->items[1])) {
uint val_type = GET_TYPE(MP_OBJ_SMALL_INT_VALUE(t->items[1]), VAL_TYPE_BITS);
return get_aligned(val_type, p, index);
@ -603,7 +616,7 @@ MP_DEFINE_CONST_FUN_OBJ_1(uctypes_struct_addressof_obj, uctypes_struct_addressof
/// captured by reference (and thus memory pointed by bytearray may change
/// or become invalid at later time). Use bytes_at() to capture by value.
STATIC mp_obj_t uctypes_struct_bytearray_at(mp_obj_t ptr, mp_obj_t size) {
return mp_obj_new_bytearray_by_ref(mp_obj_int_get_truncated(size), (void*)(uintptr_t)mp_obj_int_get_truncated(ptr));
return mp_obj_new_bytearray_by_ref(mp_obj_int_get_truncated(size), (void *)(uintptr_t)mp_obj_int_get_truncated(ptr));
}
MP_DEFINE_CONST_FUN_OBJ_2(uctypes_struct_bytearray_at_obj, uctypes_struct_bytearray_at);
@ -612,7 +625,7 @@ MP_DEFINE_CONST_FUN_OBJ_2(uctypes_struct_bytearray_at_obj, uctypes_struct_bytear
/// captured by value, i.e. copied. Use bytearray_at() to capture by reference
/// ("zero copy").
STATIC mp_obj_t uctypes_struct_bytes_at(mp_obj_t ptr, mp_obj_t size) {
return mp_obj_new_bytes((void*)(uintptr_t)mp_obj_int_get_truncated(ptr), mp_obj_int_get_truncated(size));
return mp_obj_new_bytes((void *)(uintptr_t)mp_obj_int_get_truncated(ptr), mp_obj_int_get_truncated(size));
}
MP_DEFINE_CONST_FUN_OBJ_2(uctypes_struct_bytes_at_obj, uctypes_struct_bytes_at);
@ -690,7 +703,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_uctypes_globals, mp_module_uctypes_globals
const mp_obj_module_t mp_module_uctypes = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_uctypes_globals,
.globals = (mp_obj_dict_t *)&mp_module_uctypes_globals,
};
#endif

View File

@ -49,8 +49,8 @@ STATIC mp_obj_t uhashlib_sha256_make_new(const mp_obj_type_t *type, size_t n_arg
mp_arg_check_num(n_args, kw_args, 0, 1, false);
mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(mbedtls_sha256_context));
o->base.type = type;
mbedtls_sha256_init((mbedtls_sha256_context*)&o->state);
mbedtls_sha256_starts((mbedtls_sha256_context*)&o->state, 0);
mbedtls_sha256_init((mbedtls_sha256_context *)&o->state);
mbedtls_sha256_starts((mbedtls_sha256_context *)&o->state, 0);
if (n_args == 1) {
uhashlib_sha256_update(MP_OBJ_FROM_PTR(o), args[0]);
}
@ -61,7 +61,7 @@ STATIC mp_obj_t uhashlib_sha256_update(mp_obj_t self_in, mp_obj_t arg) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(arg, &bufinfo, MP_BUFFER_READ);
mbedtls_sha256_update((mbedtls_sha256_context*)&self->state, bufinfo.buf, bufinfo.len);
mbedtls_sha256_update((mbedtls_sha256_context *)&self->state, bufinfo.buf, bufinfo.len);
return mp_const_none;
}
@ -69,25 +69,25 @@ STATIC mp_obj_t uhashlib_sha256_digest(mp_obj_t self_in) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
vstr_t vstr;
vstr_init_len(&vstr, 32);
mbedtls_sha256_finish((mbedtls_sha256_context*)&self->state, (unsigned char *)vstr.buf);
mbedtls_sha256_finish((mbedtls_sha256_context *)&self->state, (unsigned char *)vstr.buf);
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
}
#else
static void check_not_unicode(const mp_obj_t arg) {
#if MICROPY_CPYTHON_COMPAT
#if MICROPY_CPYTHON_COMPAT
if (MP_OBJ_IS_STR(arg)) {
mp_raise_TypeError(translate("a bytes-like object is required"));
}
#endif
#endif
}
STATIC mp_obj_t uhashlib_sha256_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) {
mp_arg_check_num(n_args, kw_args, 0, 1, false);
mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(CRYAL_SHA256_CTX));
o->base.type = type;
sha256_init((CRYAL_SHA256_CTX*)o->state);
sha256_init((CRYAL_SHA256_CTX *)o->state);
if (n_args == 1) {
uhashlib_sha256_update(MP_OBJ_FROM_PTR(o), args[0]);
}
@ -99,7 +99,7 @@ STATIC mp_obj_t uhashlib_sha256_update(mp_obj_t self_in, mp_obj_t arg) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(arg, &bufinfo, MP_BUFFER_READ);
sha256_update((CRYAL_SHA256_CTX*)self->state, bufinfo.buf, bufinfo.len);
sha256_update((CRYAL_SHA256_CTX *)self->state, bufinfo.buf, bufinfo.len);
return mp_const_none;
}
@ -107,7 +107,7 @@ STATIC mp_obj_t uhashlib_sha256_digest(mp_obj_t self_in) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
vstr_t vstr;
vstr_init_len(&vstr, SHA256_BLOCK_SIZE);
sha256_final((CRYAL_SHA256_CTX*)self->state, (byte*)vstr.buf);
sha256_final((CRYAL_SHA256_CTX *)self->state, (byte *)vstr.buf);
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
}
#endif
@ -126,7 +126,7 @@ STATIC const mp_obj_type_t uhashlib_sha256_type = {
{ &mp_type_type },
.name = MP_QSTR_sha256,
.make_new = uhashlib_sha256_make_new,
.locals_dict = (void*)&uhashlib_sha256_locals_dict,
.locals_dict = (void *)&uhashlib_sha256_locals_dict,
};
#endif
@ -138,7 +138,7 @@ STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args,
mp_arg_check_num(n_args, kw_args, 0, 1, false);
mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(SHA1_CTX));
o->base.type = type;
SHA1_Init((SHA1_CTX*)o->state);
SHA1_Init((SHA1_CTX *)o->state);
if (n_args == 1) {
uhashlib_sha1_update(MP_OBJ_FROM_PTR(o), args[0]);
}
@ -150,7 +150,7 @@ STATIC mp_obj_t uhashlib_sha1_update(mp_obj_t self_in, mp_obj_t arg) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(arg, &bufinfo, MP_BUFFER_READ);
SHA1_Update((SHA1_CTX*)self->state, bufinfo.buf, bufinfo.len);
SHA1_Update((SHA1_CTX *)self->state, bufinfo.buf, bufinfo.len);
return mp_const_none;
}
@ -158,7 +158,7 @@ STATIC mp_obj_t uhashlib_sha1_digest(mp_obj_t self_in) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
vstr_t vstr;
vstr_init_len(&vstr, SHA1_SIZE);
SHA1_Final((byte*)vstr.buf, (SHA1_CTX*)self->state);
SHA1_Final((byte *)vstr.buf, (SHA1_CTX *)self->state);
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
}
#endif
@ -168,8 +168,8 @@ STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args,
mp_arg_check_num(n_args, n_kw, 0, 1, false);
mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(mbedtls_sha1_context));
o->base.type = type;
mbedtls_sha1_init((mbedtls_sha1_context*)o->state);
mbedtls_sha1_starts((mbedtls_sha1_context*)o->state);
mbedtls_sha1_init((mbedtls_sha1_context *)o->state);
mbedtls_sha1_starts((mbedtls_sha1_context *)o->state);
if (n_args == 1) {
uhashlib_sha1_update(MP_OBJ_FROM_PTR(o), args[0]);
}
@ -180,7 +180,7 @@ STATIC mp_obj_t uhashlib_sha1_update(mp_obj_t self_in, mp_obj_t arg) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(arg, &bufinfo, MP_BUFFER_READ);
mbedtls_sha1_update((mbedtls_sha1_context*)self->state, bufinfo.buf, bufinfo.len);
mbedtls_sha1_update((mbedtls_sha1_context *)self->state, bufinfo.buf, bufinfo.len);
return mp_const_none;
}
@ -188,8 +188,8 @@ STATIC mp_obj_t uhashlib_sha1_digest(mp_obj_t self_in) {
mp_obj_hash_t *self = MP_OBJ_TO_PTR(self_in);
vstr_t vstr;
vstr_init_len(&vstr, 20);
mbedtls_sha1_finish((mbedtls_sha1_context*)self->state, (byte*)vstr.buf);
mbedtls_sha1_free((mbedtls_sha1_context*)self->state);
mbedtls_sha1_finish((mbedtls_sha1_context *)self->state, (byte *)vstr.buf);
mbedtls_sha1_free((mbedtls_sha1_context *)self->state);
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
}
#endif
@ -207,7 +207,7 @@ STATIC const mp_obj_type_t uhashlib_sha1_type = {
{ &mp_type_type },
.name = MP_QSTR_sha1,
.make_new = uhashlib_sha1_make_new,
.locals_dict = (void*)&uhashlib_sha1_locals_dict,
.locals_dict = (void *)&uhashlib_sha1_locals_dict,
};
#endif
@ -225,11 +225,11 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_uhashlib_globals, mp_module_uhashlib_globa
const mp_obj_module_t mp_module_uhashlib = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_uhashlib_globals,
.globals = (mp_obj_dict_t *)&mp_module_uhashlib_globals,
};
#if MICROPY_PY_UHASHLIB_SHA256
#include "crypto-algorithms/sha256.c"
#endif
#endif //MICROPY_PY_UHASHLIB
#endif // MICROPY_PY_UHASHLIB

View File

@ -95,7 +95,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_uheapq_globals, mp_module_uheapq_globals_t
const mp_obj_module_t mp_module_uheapq = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_uheapq_globals,
.globals = (mp_obj_dict_t *)&mp_module_uheapq_globals,
};
#endif //MICROPY_PY_UHEAPQ
#endif // MICROPY_PY_UHEAPQ

View File

@ -85,8 +85,8 @@ STATIC byte ujson_stream_next(ujson_stream_t *s) {
#define CIRCUITPY_JSON_READ_CHUNK_SIZE 64
STATIC mp_uint_t ujson_python_readinto(mp_obj_t obj, void *buf, mp_uint_t size, int *errcode) {
(void) size; // Ignore size because we know it's always 1.
ujson_stream_t* s = obj;
(void)size; // Ignore size because we know it's always 1.
ujson_stream_t *s = obj;
if (s->start == s->end) {
*errcode = 0;
@ -99,7 +99,7 @@ STATIC mp_uint_t ujson_python_readinto(mp_obj_t obj, void *buf, mp_uint_t size,
s->end = mp_obj_get_int(ret);
}
*((uint8_t *)buf) = ((uint8_t*) s->bytearray_obj.items)[s->start];
*((uint8_t *)buf) = ((uint8_t *)s->bytearray_obj.items)[s->start];
s->start++;
return 1;
}
@ -139,7 +139,7 @@ STATIC mp_obj_t _mod_ujson_load(mp_obj_t stream_obj, bool return_first_json) {
mp_obj_t stack_key = MP_OBJ_NULL;
S_NEXT(s);
for (;;) {
cont:
cont:
if (S_END(s)) {
break;
}
@ -186,11 +186,21 @@ STATIC mp_obj_t _mod_ujson_load(mp_obj_t stream_obj, bool return_first_json) {
if (c == '\\') {
c = S_NEXT(s);
switch (c) {
case 'b': c = 0x08; break;
case 'f': c = 0x0c; break;
case 'n': c = 0x0a; break;
case 'r': c = 0x0d; break;
case 't': c = 0x09; break;
case 'b':
c = 0x08;
break;
case 'f':
c = 0x0c;
break;
case 'n':
c = 0x0a;
break;
case 'r':
c = 0x0d;
break;
case 't':
c = 0x09;
break;
case 'u': {
mp_uint_t num = 0;
for (int i = 0; i < 4; i++) {
@ -216,7 +226,16 @@ STATIC mp_obj_t _mod_ujson_load(mp_obj_t stream_obj, bool return_first_json) {
next = mp_obj_new_str(vstr.buf, vstr.len);
break;
case '-':
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
bool flt = false;
vstr_reset(&vstr);
for (;;) {
@ -298,7 +317,7 @@ STATIC mp_obj_t _mod_ujson_load(mp_obj_t stream_obj, bool return_first_json) {
}
}
}
success:
success:
// It is legal for a stream to have contents after JSON.
// E.g., A UART is not closed after receiving an object; in load() we will
// return the first complete JSON object, while in loads() we will retain
@ -319,7 +338,7 @@ STATIC mp_obj_t _mod_ujson_load(mp_obj_t stream_obj, bool return_first_json) {
vstr_clear(&vstr);
return stack_top;
fail:
fail:
mp_raise_ValueError(translate("syntax error in JSON"));
}
@ -331,18 +350,18 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_load_obj, mod_ujson_load);
STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) {
size_t len;
const char *buf = mp_obj_str_get_data(obj, &len);
vstr_t vstr = {len, len, (char*)buf, true};
vstr_t vstr = {len, len, (char *)buf, true};
mp_obj_stringio_t sio = {{&mp_type_stringio}, &vstr, 0, MP_OBJ_NULL};
return _mod_ujson_load(MP_OBJ_FROM_PTR(&sio), false);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_loads_obj, mod_ujson_loads);
STATIC const mp_rom_map_elem_t mp_module_ujson_globals_table[] = {
#if CIRCUITPY
#if CIRCUITPY
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_json) },
#else
#else
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ujson) },
#endif
#endif
{ MP_ROM_QSTR(MP_QSTR_dump), MP_ROM_PTR(&mod_ujson_dump_obj) },
{ MP_ROM_QSTR(MP_QSTR_dumps), MP_ROM_PTR(&mod_ujson_dumps_obj) },
{ MP_ROM_QSTR(MP_QSTR_load), MP_ROM_PTR(&mod_ujson_load_obj) },
@ -353,7 +372,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_ujson_globals, mp_module_ujson_globals_tab
const mp_obj_module_t mp_module_ujson = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_ujson_globals,
.globals = (mp_obj_dict_t *)&mp_module_ujson_globals,
};
#endif //MICROPY_PY_UJSON
#endif // MICROPY_PY_UJSON

View File

@ -18,15 +18,14 @@
STATIC uint32_t yasmarang_pad = 0xeda4baba, yasmarang_n = 69, yasmarang_d = 233;
STATIC uint8_t yasmarang_dat = 0;
STATIC uint32_t yasmarang(void)
{
yasmarang_pad += yasmarang_dat + yasmarang_d * yasmarang_n;
yasmarang_pad = (yasmarang_pad<<3) + (yasmarang_pad>>29);
yasmarang_n = yasmarang_pad | 2;
yasmarang_d ^= (yasmarang_pad<<31) + (yasmarang_pad>>1);
yasmarang_dat ^= (char) yasmarang_pad ^ (yasmarang_d>>8) ^ 1;
STATIC uint32_t yasmarang(void) {
yasmarang_pad += yasmarang_dat + yasmarang_d * yasmarang_n;
yasmarang_pad = (yasmarang_pad << 3) + (yasmarang_pad >> 29);
yasmarang_n = yasmarang_pad | 2;
yasmarang_d ^= (yasmarang_pad << 31) + (yasmarang_pad >> 1);
yasmarang_dat ^= (char)yasmarang_pad ^ (yasmarang_d >> 8) ^ 1;
return (yasmarang_pad^(yasmarang_d<<5)^(yasmarang_pad>>18)^(yasmarang_dat<<1));
return yasmarang_pad ^ (yasmarang_d << 5) ^ (yasmarang_pad >> 18) ^ (yasmarang_dat << 1);
} /* yasmarang */
// End of Yasmarang
@ -148,9 +147,11 @@ STATIC mp_float_t yasmarang_float(void) {
union {
mp_float_t f;
#if MP_ENDIANNESS_LITTLE
struct { mp_float_int_t frc:MP_FLOAT_FRAC_BITS, exp:MP_FLOAT_EXP_BITS, sgn:1; } p;
struct { mp_float_int_t frc : MP_FLOAT_FRAC_BITS, exp : MP_FLOAT_EXP_BITS, sgn : 1;
} p;
#else
struct { mp_float_int_t sgn:1, exp:MP_FLOAT_EXP_BITS, frc:MP_FLOAT_FRAC_BITS; } p;
struct { mp_float_int_t sgn : 1, exp : MP_FLOAT_EXP_BITS, frc : MP_FLOAT_FRAC_BITS;
} p;
#endif
} u;
u.p.sgn = 0;
@ -198,7 +199,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_urandom_globals, mp_module_urandom_globals
const mp_obj_module_t mp_module_urandom = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_urandom_globals,
.globals = (mp_obj_dict_t *)&mp_module_urandom_globals,
};
#endif //MICROPY_PY_URANDOM
#endif // MICROPY_PY_URANDOM

View File

@ -18,7 +18,9 @@
#include "re1.5/re1.5.h"
#if CIRCUITPY_RE_DEBUG
#define FLAG_DEBUG 0x1000
#endif
typedef struct _mp_obj_re_t {
mp_obj_base_t base;
@ -52,7 +54,7 @@ STATIC mp_obj_t match_group(mp_obj_t self_in, mp_obj_t no_in) {
return mp_const_none;
}
return mp_obj_new_str_of_type(mp_obj_get_type(self->str),
(const byte*)start, self->caps[no * 2 + 1] - start);
(const byte *)start, self->caps[no * 2 + 1] - start);
}
MP_DEFINE_CONST_FUN_OBJ_2(match_group_obj, match_group);
@ -141,7 +143,7 @@ STATIC const mp_obj_type_t match_type = {
{ &mp_type_type },
.name = MP_QSTR_match,
.print = match_print,
.locals_dict = (void*)&match_locals_dict,
.locals_dict = (void *)&match_locals_dict,
};
STATIC void re_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
@ -157,7 +159,7 @@ STATIC mp_obj_t ure_exec(bool is_anchored, uint n_args, const mp_obj_t *args) {
size_t len;
subj.begin = mp_obj_str_get_data(args[1], &len);
subj.end = subj.begin + len;
#if MICROPY_PY_URE_MATCH_SPAN_START_END
#if MICROPY_PY_URE_MATCH_SPAN_START_END
if (n_args > 2) {
const mp_obj_type_t *self_type = mp_obj_get_type(args[1]);
mp_int_t str_len = MP_OBJ_SMALL_INT_VALUE(mp_obj_len_maybe(args[1]));
@ -185,14 +187,14 @@ STATIC mp_obj_t ure_exec(bool is_anchored, uint n_args, const mp_obj_t *args) {
subj.begin = (const char *)pos_ptr;
subj.end = (const char *)endpos_ptr;
}
#endif
#endif
int caps_num = (self->re.sub + 1) * 2;
mp_obj_match_t *match = m_new_obj_var(mp_obj_match_t, char*, caps_num);
mp_obj_match_t *match = m_new_obj_var(mp_obj_match_t, char *, caps_num);
// cast is a workaround for a bug in msvc: it treats const char** as a const pointer instead of a pointer to pointer to const char
memset((char*)match->caps, 0, caps_num * sizeof(char*));
memset((char *)match->caps, 0, caps_num * sizeof(char *));
int res = re1_5_recursiveloopprog(&self->re, &subj, match->caps, caps_num, is_anchored);
if (res == 0) {
m_del_var(mp_obj_match_t, char*, caps_num, match);
m_del_var(mp_obj_match_t, char *, caps_num, match);
return mp_const_none;
}
@ -227,10 +229,10 @@ STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
}
mp_obj_t retval = mp_obj_new_list(0, NULL);
const char **caps = mp_local_alloc(caps_num * sizeof(char*));
const char **caps = mp_local_alloc(caps_num * sizeof(char *));
while (true) {
// cast is a workaround for a bug in msvc: it treats const char** as a const pointer instead of a pointer to pointer to const char
memset((char**)caps, 0, caps_num * sizeof(char*));
memset((char **)caps, 0, caps_num * sizeof(char *));
int res = re1_5_recursiveloopprog(&self->re, &subj, caps, caps_num, false);
// if we didn't have a match, or had an empty match, it's time to stop
@ -238,7 +240,7 @@ STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
break;
}
mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte*)subj.begin, caps[0] - subj.begin);
mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte *)subj.begin, caps[0] - subj.begin);
mp_obj_list_append(retval, s);
if (self->re.sub > 0) {
mp_raise_NotImplementedError(translate("Splitting with sub-captures"));
@ -249,9 +251,9 @@ STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
}
}
// cast is a workaround for a bug in msvc (see above)
mp_local_free((char**)caps);
mp_local_free((char **)caps);
mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte*)subj.begin, subj.end - subj.begin);
mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte *)subj.begin, subj.end - subj.begin);
mp_obj_list_append(retval, s);
return retval;
}
@ -278,14 +280,14 @@ STATIC mp_obj_t re_sub_helper(mp_obj_t self_in, size_t n_args, const mp_obj_t *a
vstr_t vstr_return;
vstr_return.buf = NULL; // We'll init the vstr after the first match
mp_obj_match_t *match = mp_local_alloc(sizeof(mp_obj_match_t) + caps_num * sizeof(char*));
mp_obj_match_t *match = mp_local_alloc(sizeof(mp_obj_match_t) + caps_num * sizeof(char *));
match->base.type = &match_type;
match->num_matches = caps_num / 2; // caps_num counts start and end pointers
match->str = where;
for (;;) {
// cast is a workaround for a bug in msvc: it treats const char** as a const pointer instead of a pointer to pointer to const char
memset((char*)match->caps, 0, caps_num * sizeof(char*));
memset((char *)match->caps, 0, caps_num * sizeof(char *));
int res = re1_5_recursiveloopprog(&self->re, &subj, match->caps, caps_num, false);
// If we didn't have a match, or had an empty match, it's time to stop
@ -302,7 +304,7 @@ STATIC mp_obj_t re_sub_helper(mp_obj_t self_in, size_t n_args, const mp_obj_t *a
vstr_add_strn(&vstr_return, subj.begin, match->caps[0] - subj.begin);
// Get replacement string
const char* repl = mp_obj_str_get_str((mp_obj_is_callable(replace) ? mp_call_function_1(replace, MP_OBJ_FROM_PTR(match)) : replace));
const char *repl = mp_obj_str_get_str((mp_obj_is_callable(replace) ? mp_call_function_1(replace, MP_OBJ_FROM_PTR(match)) : replace));
// Append replacement string to result, substituting any regex groups
while (*repl != '\0') {
@ -384,13 +386,13 @@ STATIC MP_DEFINE_CONST_DICT(re_locals_dict, re_locals_dict_table);
STATIC const mp_obj_type_t re_type = {
{ &mp_type_type },
#if CIRCUITPY
#if CIRCUITPY
.name = MP_QSTR_re,
#else
#else
.name = MP_QSTR_ure,
#endif
#endif
.print = re_print,
.locals_dict = (void*)&re_locals_dict,
.locals_dict = (void *)&re_locals_dict,
};
STATIC mp_obj_t mod_re_compile(size_t n_args, const mp_obj_t *args) {
@ -401,18 +403,24 @@ STATIC mp_obj_t mod_re_compile(size_t n_args, const mp_obj_t *args) {
}
mp_obj_re_t *o = m_new_obj_var(mp_obj_re_t, char, size);
o->base.type = &re_type;
#if CIRCUITPY_RE_DEBUG
int flags = 0;
if (n_args > 1) {
flags = mp_obj_get_int(args[1]);
}
#else
(void)n_args;
#endif
int error = re1_5_compilecode(&o->re, re_str);
if (error != 0) {
error:
error:
mp_raise_ValueError(translate("Error in regex"));
}
#if CIRCUITPY_RE_DEBUG
if (flags & FLAG_DEBUG) {
re1_5_dumpcode(&o->re);
}
#endif
return MP_OBJ_FROM_PTR(o);
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_re_compile_obj, 1, 2, mod_re_compile);
@ -445,25 +453,27 @@ MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_re_sub_obj, 3, 5, mod_re_sub);
#endif
STATIC const mp_rom_map_elem_t mp_module_re_globals_table[] = {
#if CIRCUITPY
#if CIRCUITPY
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_re) },
#else
#else
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ure) },
#endif
#endif
{ MP_ROM_QSTR(MP_QSTR_compile), MP_ROM_PTR(&mod_re_compile_obj) },
{ MP_ROM_QSTR(MP_QSTR_match), MP_ROM_PTR(&mod_re_match_obj) },
{ MP_ROM_QSTR(MP_QSTR_search), MP_ROM_PTR(&mod_re_search_obj) },
#if MICROPY_PY_URE_SUB
{ MP_ROM_QSTR(MP_QSTR_sub), MP_ROM_PTR(&mod_re_sub_obj) },
#endif
#if CIRCUITPY_RE_DEBUG
{ MP_ROM_QSTR(MP_QSTR_DEBUG), MP_ROM_INT(FLAG_DEBUG) },
#endif
};
STATIC MP_DEFINE_CONST_DICT(mp_module_re_globals, mp_module_re_globals_table);
const mp_obj_module_t mp_module_ure = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_re_globals,
.globals = (mp_obj_dict_t *)&mp_module_re_globals,
};
// Source files #include'd here to make sure they're compiled in
@ -471,8 +481,10 @@ const mp_obj_module_t mp_module_ure = {
#define re1_5_fatal(x) assert(!x)
#include "re1.5/compilecode.c"
#if CIRCUITPY_RE_DEBUG
#include "re1.5/dumpcode.c"
#endif
#include "re1.5/recursiveloop.c"
#include "re1.5/charclass.c"
#endif //MICROPY_PY_URE
#endif // MICROPY_PY_URE

View File

@ -45,9 +45,9 @@ STATIC void poll_map_add(mp_map_t *poll_map, const mp_obj_t *obj, mp_uint_t obj_
} else {
// object exists; update its flags
if (or_flags) {
((poll_obj_t*)elem->value)->flags |= flags;
((poll_obj_t *)elem->value)->flags |= flags;
} else {
((poll_obj_t*)elem->value)->flags = flags;
((poll_obj_t *)elem->value)->flags = flags;
}
}
}
@ -61,7 +61,7 @@ STATIC mp_uint_t poll_map_poll(mp_map_t *poll_map, mp_uint_t *rwx_num) {
continue;
}
poll_obj_t *poll_obj = (poll_obj_t*)poll_map->table[i].value;
poll_obj_t *poll_obj = (poll_obj_t *)poll_map->table[i].value;
int errcode;
mp_int_t ret = poll_obj->ioctl(poll_obj->obj, MP_STREAM_POLL, poll_obj->flags, &errcode);
poll_obj->flags_ret = ret;
@ -138,15 +138,15 @@ STATIC mp_obj_t select_select(uint n_args, const mp_obj_t *args) {
if (!MP_MAP_SLOT_IS_FILLED(&poll_map, i)) {
continue;
}
poll_obj_t *poll_obj = (poll_obj_t*)poll_map.table[i].value;
poll_obj_t *poll_obj = (poll_obj_t *)poll_map.table[i].value;
if (poll_obj->flags_ret & MP_STREAM_POLL_RD) {
((mp_obj_list_t*)list_array[0])->items[rwx_len[0]++] = poll_obj->obj;
((mp_obj_list_t *)list_array[0])->items[rwx_len[0]++] = poll_obj->obj;
}
if (poll_obj->flags_ret & MP_STREAM_POLL_WR) {
((mp_obj_list_t*)list_array[1])->items[rwx_len[1]++] = poll_obj->obj;
((mp_obj_list_t *)list_array[1])->items[rwx_len[1]++] = poll_obj->obj;
}
if ((poll_obj->flags_ret & ~(MP_STREAM_POLL_RD | MP_STREAM_POLL_WR)) != 0) {
((mp_obj_list_t*)list_array[2])->items[rwx_len[2]++] = poll_obj->obj;
((mp_obj_list_t *)list_array[2])->items[rwx_len[2]++] = poll_obj->obj;
}
}
mp_map_deinit(&poll_map);
@ -199,7 +199,7 @@ STATIC mp_obj_t poll_modify(mp_obj_t self_in, mp_obj_t obj_in, mp_obj_t eventmas
if (elem == NULL) {
mp_raise_OSError(MP_ENOENT);
}
((poll_obj_t*)elem->value)->flags = mp_obj_get_int(eventmask_in);
((poll_obj_t *)elem->value)->flags = mp_obj_get_int(eventmask_in);
return mp_const_none;
}
MP_DEFINE_CONST_FUN_OBJ_3(poll_modify_obj, poll_modify);
@ -249,7 +249,7 @@ STATIC mp_obj_t poll_poll(uint n_args, const mp_obj_t *args) {
if (!MP_MAP_SLOT_IS_FILLED(&self->poll_map, i)) {
continue;
}
poll_obj_t *poll_obj = (poll_obj_t*)self->poll_map.table[i].value;
poll_obj_t *poll_obj = (poll_obj_t *)self->poll_map.table[i].value;
if (poll_obj->flags_ret != 0) {
mp_obj_t tuple[2] = {poll_obj->obj, MP_OBJ_NEW_SMALL_INT(poll_obj->flags_ret)};
ret_list->items[n_ready++] = mp_obj_new_tuple(2, tuple);
@ -292,7 +292,7 @@ STATIC mp_obj_t poll_iternext(mp_obj_t self_in) {
if (!MP_MAP_SLOT_IS_FILLED(&self->poll_map, i)) {
continue;
}
poll_obj_t *poll_obj = (poll_obj_t*)self->poll_map.table[i].value;
poll_obj_t *poll_obj = (poll_obj_t *)self->poll_map.table[i].value;
if (poll_obj->flags_ret != 0) {
mp_obj_tuple_t *t = MP_OBJ_TO_PTR(self->ret_tuple);
t->items[0] = poll_obj->obj;
@ -324,7 +324,7 @@ STATIC const mp_obj_type_t mp_type_poll = {
.name = MP_QSTR_poll,
.getiter = mp_identity_getiter,
.iternext = poll_iternext,
.locals_dict = (void*)&poll_locals_dict,
.locals_dict = (void *)&poll_locals_dict,
};
/// \function poll()
@ -352,7 +352,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_select_globals, mp_module_select_globals_t
const mp_obj_module_t mp_module_uselect = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_select_globals,
.globals = (mp_obj_dict_t *)&mp_module_select_globals,
};
#endif // MICROPY_PY_USELECT

View File

@ -34,11 +34,11 @@ struct ssl_args {
STATIC const mp_obj_type_t ussl_socket_type;
STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
#if MICROPY_PY_USSL_FINALISER
#if MICROPY_PY_USSL_FINALISER
mp_obj_ssl_socket_t *o = m_new_obj_with_finaliser(mp_obj_ssl_socket_t);
#else
#else
mp_obj_ssl_socket_t *o = m_new_obj(mp_obj_ssl_socket_t);
#endif
#endif
o->base.type = &ussl_socket_type;
o->buf = NULL;
o->bytes_left = 0;
@ -54,13 +54,13 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
if (args->key.u_obj != mp_const_none) {
size_t len;
const byte *data = (const byte*)mp_obj_str_get_data(args->key.u_obj, &len);
const byte *data = (const byte *)mp_obj_str_get_data(args->key.u_obj, &len);
int res = ssl_obj_memory_load(o->ssl_ctx, SSL_OBJ_RSA_KEY, data, len, NULL);
if (res != SSL_OK) {
mp_raise_ValueError(translate("invalid key"));
}
data = (const byte*)mp_obj_str_get_data(args->cert.u_obj, &len);
data = (const byte *)mp_obj_str_get_data(args->cert.u_obj, &len);
res = ssl_obj_memory_load(o->ssl_ctx, SSL_OBJ_X509_CERT, data, len, NULL);
if (res != SSL_OK) {
mp_raise_ValueError(translate("invalid cert"));
@ -73,7 +73,7 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
SSL_EXTENSIONS *ext = ssl_ext_new();
if (args->server_hostname.u_obj != mp_const_none) {
ext->host_name = (char*)mp_obj_str_get_str(args->server_hostname.u_obj);
ext->host_name = (char *)mp_obj_str_get_str(args->server_hostname.u_obj);
}
o->ssl_sock = ssl_client_new(o->ssl_ctx, (long)sock, NULL, 0, ext);
@ -192,9 +192,9 @@ STATIC const mp_rom_map_elem_t ussl_socket_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&mp_stream_write_obj) },
{ MP_ROM_QSTR(MP_QSTR_setblocking), MP_ROM_PTR(&socket_setblocking_obj) },
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&mp_stream_close_obj) },
#if MICROPY_PY_USSL_FINALISER
#if MICROPY_PY_USSL_FINALISER
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&mp_stream_close_obj) },
#endif
#endif
};
STATIC MP_DEFINE_CONST_DICT(ussl_socket_locals_dict, ussl_socket_locals_dict_table);
@ -214,7 +214,7 @@ STATIC const mp_obj_type_t ussl_socket_type = {
.getiter = NULL,
.iternext = NULL,
.protocol = &ussl_socket_stream_p,
.locals_dict = (void*)&ussl_socket_locals_dict,
.locals_dict = (void *)&ussl_socket_locals_dict,
};
STATIC mp_obj_t mod_ssl_wrap_socket(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
@ -231,7 +231,7 @@ STATIC mp_obj_t mod_ssl_wrap_socket(size_t n_args, const mp_obj_t *pos_args, mp_
struct ssl_args args;
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args,
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t*)&args);
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t *)&args);
return MP_OBJ_FROM_PTR(socket_new(sock, &args));
}
@ -246,7 +246,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_ssl_globals, mp_module_ssl_globals_table);
const mp_obj_module_t mp_module_ussl = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_ssl_globals,
.globals = (mp_obj_dict_t *)&mp_module_ssl_globals,
};
#endif // MICROPY_PY_USSL

View File

@ -53,7 +53,7 @@ STATIC void mbedtls_debug(void *ctx, int level, const char *file, int line, cons
#endif
STATIC int _mbedtls_ssl_send(void *ctx, const byte *buf, size_t len) {
mp_obj_t sock = *(mp_obj_t*)ctx;
mp_obj_t sock = *(mp_obj_t *)ctx;
const mp_stream_p_t *sock_stream = mp_get_stream(sock);
int err;
@ -70,7 +70,7 @@ STATIC int _mbedtls_ssl_send(void *ctx, const byte *buf, size_t len) {
}
STATIC int _mbedtls_ssl_recv(void *ctx, byte *buf, size_t len) {
mp_obj_t sock = *(mp_obj_t*)ctx;
mp_obj_t sock = *(mp_obj_t *)ctx;
const mp_stream_p_t *sock_stream = mp_get_stream(sock);
int err;
@ -91,11 +91,11 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
// Verify the socket object has the full stream protocol
mp_get_stream_raise(sock, MP_STREAM_OP_READ | MP_STREAM_OP_WRITE | MP_STREAM_OP_IOCTL);
#if MICROPY_PY_USSL_FINALISER
#if MICROPY_PY_USSL_FINALISER
mp_obj_ssl_socket_t *o = m_new_obj_with_finaliser(mp_obj_ssl_socket_t);
#else
#else
mp_obj_ssl_socket_t *o = m_new_obj(mp_obj_ssl_socket_t);
#endif
#endif
o->base.type = &ussl_socket_type;
o->sock = sock;
@ -119,9 +119,9 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
}
ret = mbedtls_ssl_config_defaults(&o->conf,
args->server_side.u_bool ? MBEDTLS_SSL_IS_SERVER : MBEDTLS_SSL_IS_CLIENT,
MBEDTLS_SSL_TRANSPORT_STREAM,
MBEDTLS_SSL_PRESET_DEFAULT);
args->server_side.u_bool ? MBEDTLS_SSL_IS_SERVER : MBEDTLS_SSL_IS_CLIENT,
MBEDTLS_SSL_TRANSPORT_STREAM,
MBEDTLS_SSL_PRESET_DEFAULT);
if (ret != 0) {
goto cleanup;
}
@ -149,13 +149,13 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
if (args->key.u_obj != MP_OBJ_NULL) {
size_t key_len;
const byte *key = (const byte*)mp_obj_str_get_data(args->key.u_obj, &key_len);
const byte *key = (const byte *)mp_obj_str_get_data(args->key.u_obj, &key_len);
// len should include terminating null
ret = mbedtls_pk_parse_key(&o->pkey, key, key_len + 1, NULL, 0);
assert(ret == 0);
size_t cert_len;
const byte *cert = (const byte*)mp_obj_str_get_data(args->cert.u_obj, &cert_len);
const byte *cert = (const byte *)mp_obj_str_get_data(args->cert.u_obj, &cert_len);
// len should include terminating null
ret = mbedtls_x509_crt_parse(&o->cert, cert, cert_len + 1);
assert(ret == 0);
@ -194,7 +194,7 @@ STATIC mp_obj_t mod_ssl_getpeercert(mp_obj_t o_in, mp_obj_t binary_form) {
if (!mp_obj_is_true(binary_form)) {
mp_raise_NotImplementedError(NULL);
}
const mbedtls_x509_crt* peer_cert = mbedtls_ssl_get_peer_cert(&o->ssl);
const mbedtls_x509_crt *peer_cert = mbedtls_ssl_get_peer_cert(&o->ssl);
return mp_obj_new_bytes(peer_cert->raw.p, peer_cert->raw.len);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_ssl_getpeercert_obj, mod_ssl_getpeercert);
@ -275,9 +275,9 @@ STATIC const mp_rom_map_elem_t ussl_socket_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&mp_stream_write_obj) },
{ MP_ROM_QSTR(MP_QSTR_setblocking), MP_ROM_PTR(&socket_setblocking_obj) },
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&mp_stream_close_obj) },
#if MICROPY_PY_USSL_FINALISER
#if MICROPY_PY_USSL_FINALISER
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&mp_stream_close_obj) },
#endif
#endif
{ MP_ROM_QSTR(MP_QSTR_getpeercert), MP_ROM_PTR(&mod_ssl_getpeercert_obj) },
};
@ -298,7 +298,7 @@ STATIC const mp_obj_type_t ussl_socket_type = {
.getiter = NULL,
.iternext = NULL,
.protocol = &ussl_socket_stream_p,
.locals_dict = (void*)&ussl_socket_locals_dict,
.locals_dict = (void *)&ussl_socket_locals_dict,
};
STATIC mp_obj_t mod_ssl_wrap_socket(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
@ -315,7 +315,7 @@ STATIC mp_obj_t mod_ssl_wrap_socket(size_t n_args, const mp_obj_t *pos_args, mp_
struct ssl_args args;
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args,
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t*)&args);
MP_ARRAY_SIZE(allowed_args), allowed_args, (mp_arg_val_t *)&args);
return MP_OBJ_FROM_PTR(socket_new(sock, &args));
}
@ -330,7 +330,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_ssl_globals, mp_module_ssl_globals_table);
const mp_obj_module_t mp_module_ussl = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_ssl_globals,
.globals = (mp_obj_dict_t *)&mp_module_ssl_globals,
};
#endif // MICROPY_PY_USSL

View File

@ -171,9 +171,12 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_utimeq_dump_obj, mod_utimeq_dump);
STATIC mp_obj_t utimeq_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
mp_obj_utimeq_t *self = MP_OBJ_TO_PTR(self_in);
switch (op) {
case MP_UNARY_OP_BOOL: return mp_obj_new_bool(self->len != 0);
case MP_UNARY_OP_LEN: return MP_OBJ_NEW_SMALL_INT(self->len);
default: return MP_OBJ_NULL; // op not supported
case MP_UNARY_OP_BOOL:
return mp_obj_new_bool(self->len != 0);
case MP_UNARY_OP_LEN:
return MP_OBJ_NEW_SMALL_INT(self->len);
default:
return MP_OBJ_NULL; // op not supported
}
}
@ -193,7 +196,7 @@ STATIC const mp_obj_type_t utimeq_type = {
.name = MP_QSTR_utimeq,
.make_new = utimeq_make_new,
.unary_op = utimeq_unary_op,
.locals_dict = (void*)&utimeq_locals_dict,
.locals_dict = (void *)&utimeq_locals_dict,
};
STATIC const mp_rom_map_elem_t mp_module_utimeq_globals_table[] = {
@ -205,7 +208,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_utimeq_globals, mp_module_utimeq_globals_t
const mp_obj_module_t mp_module_utimeq = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_utimeq_globals,
.globals = (mp_obj_dict_t *)&mp_module_utimeq_globals,
};
#endif //MICROPY_PY_UTIMEQ
#endif // MICROPY_PY_UTIMEQ

View File

@ -31,9 +31,9 @@ typedef struct _mp_obj_decompio_t {
} mp_obj_decompio_t;
STATIC int read_src_stream(TINF_DATA *data) {
byte *p = (void*)data;
byte *p = (void *)data;
p -= offsetof(mp_obj_decompio_t, decomp);
mp_obj_decompio_t *self = (mp_obj_decompio_t*)p;
mp_obj_decompio_t *self = (mp_obj_decompio_t *)p;
const mp_stream_p_t *stream = mp_get_stream(self->src_stream);
int err;
@ -73,7 +73,7 @@ STATIC mp_obj_t decompio_make_new(const mp_obj_type_t *type, size_t n_args, cons
} else if (dict_opt >= 0) {
dict_opt = uzlib_zlib_parse_header(&o->decomp);
if (dict_opt < 0) {
header_error:
header_error:
mp_raise_ValueError(translate("compression header"));
}
dict_sz = 1 << dict_opt;
@ -92,7 +92,7 @@ STATIC mp_uint_t decompio_read(mp_obj_t o_in, void *buf, mp_uint_t size, int *er
}
o->decomp.dest = buf;
o->decomp.dest_limit = (unsigned char*)buf+size;
o->decomp.dest_limit = (unsigned char *)buf + size;
int st = uzlib_uncompress_chksum(&o->decomp);
if (st == TINF_DONE) {
o->eof = true;
@ -101,7 +101,7 @@ STATIC mp_uint_t decompio_read(mp_obj_t o_in, void *buf, mp_uint_t size, int *er
*errcode = MP_EINVAL;
return MP_STREAM_ERROR;
}
return o->decomp.dest - (byte*)buf;
return o->decomp.dest - (byte *)buf;
}
STATIC const mp_rom_map_elem_t decompio_locals_dict_table[] = {
@ -122,7 +122,7 @@ STATIC const mp_obj_type_t decompio_type = {
.name = MP_QSTR_DecompIO,
.make_new = decompio_make_new,
.protocol = &decompio_stream_p,
.locals_dict = (void*)&decompio_locals_dict,
.locals_dict = (void *)&decompio_locals_dict,
};
STATIC mp_obj_t mod_uzlib_decompress(size_t n_args, const mp_obj_t *args) {
@ -138,7 +138,7 @@ STATIC mp_obj_t mod_uzlib_decompress(size_t n_args, const mp_obj_t *args) {
byte *dest_buf = m_new(byte, dest_buf_size);
decomp->dest = dest_buf;
decomp->dest_limit = dest_buf+dest_buf_size;
decomp->dest_limit = dest_buf + dest_buf_size;
DEBUG_printf("uzlib: Initial out buffer: " UINT_FMT " bytes\n", decomp->destSize);
decomp->source = bufinfo.buf;
decomp->source_limit = (unsigned char *)bufinfo.buf + bufinfo.len;
@ -173,7 +173,7 @@ STATIC mp_obj_t mod_uzlib_decompress(size_t n_args, const mp_obj_t *args) {
mp_uint_t final_sz = decomp->dest - dest_buf;
DEBUG_printf("uzlib: Resizing from " UINT_FMT " to final size: " UINT_FMT " bytes\n", dest_buf_size, final_sz);
dest_buf = (byte*)m_renew(byte, dest_buf, dest_buf_size, final_sz);
dest_buf = (byte *)m_renew(byte, dest_buf, dest_buf_size, final_sz);
mp_obj_t res = mp_obj_new_bytearray_by_ref(final_sz, dest_buf);
m_del_obj(TINF_DATA, decomp);
return res;
@ -193,7 +193,7 @@ STATIC MP_DEFINE_CONST_DICT(mp_module_uzlib_globals, mp_module_uzlib_globals_tab
const mp_obj_module_t mp_module_uzlib = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_uzlib_globals,
.globals = (mp_obj_dict_t *)&mp_module_uzlib_globals,
};
// Source files #include'd here to make sure they're compiled in

View File

@ -127,7 +127,7 @@ STATIC void handle_op(mp_obj_webrepl_t *self) {
open_args[1] = MP_OBJ_NEW_QSTR(MP_QSTR_wb);
}
self->cur_file = mp_builtin_open(2, open_args, (mp_map_t*)&mp_const_empty_map);
self->cur_file = mp_builtin_open(2, open_args, (mp_map_t *)&mp_const_empty_map);
#if 0
struct mp_stream_seek_t seek = { .offset = self->hdr.offset, .whence = 0 };
@ -161,13 +161,13 @@ STATIC mp_uint_t _webrepl_read(mp_obj_t self_in, void *buf, mp_uint_t size, int
mp_obj_webrepl_t *self = self_in;
const mp_stream_p_t *sock_stream = mp_get_stream(self->sock);
mp_uint_t out_sz = sock_stream->read(self->sock, buf, size, errcode);
//DEBUG_printf("webrepl: Read %d initial bytes from websocket\n", out_sz);
// DEBUG_printf("webrepl: Read %d initial bytes from websocket\n", out_sz);
if (out_sz == 0 || out_sz == MP_STREAM_ERROR) {
return out_sz;
}
if (self->state == STATE_PASSWD) {
char c = *(char*)buf;
char c = *(char *)buf;
if (c == '\r' || c == '\n') {
self->hdr.fname[self->data_to_recv] = 0;
DEBUG_printf("webrepl: entered password: %s\n", self->hdr.fname);
@ -195,8 +195,8 @@ STATIC mp_uint_t _webrepl_read(mp_obj_t self_in, void *buf, mp_uint_t size, int
DEBUG_printf("webrepl: received bin data, hdr_to_recv: %d, data_to_recv=%d\n", self->hdr_to_recv, self->data_to_recv);
if (self->hdr_to_recv != 0) {
char *p = (char*)&self->hdr + sizeof(self->hdr) - self->hdr_to_recv;
*p++ = *(char*)buf;
char *p = (char *)&self->hdr + sizeof(self->hdr) - self->hdr_to_recv;
*p++ = *(char *)buf;
if (--self->hdr_to_recv != 0) {
mp_uint_t hdr_sz = sock_stream->read(self->sock, p, self->hdr_to_recv, errcode);
if (hdr_sz == MP_STREAM_ERROR) {
@ -217,7 +217,7 @@ STATIC mp_uint_t _webrepl_read(mp_obj_t self_in, void *buf, mp_uint_t size, int
if (self->data_to_recv != 0) {
static byte filebuf[512];
filebuf[0] = *(byte*)buf;
filebuf[0] = *(byte *)buf;
mp_uint_t buf_sz = 1;
if (--self->data_to_recv != 0) {
size_t to_read = MIN(sizeof(filebuf) - 1, self->data_to_recv);
@ -321,7 +321,7 @@ STATIC const mp_obj_type_t webrepl_type = {
.name = MP_QSTR__webrepl,
.make_new = webrepl_make_new,
.protocol = &webrepl_stream_p,
.locals_dict = (mp_obj_dict_t*)&webrepl_locals_dict,
.locals_dict = (mp_obj_dict_t *)&webrepl_locals_dict,
};
STATIC const mp_rom_map_elem_t webrepl_module_globals_table[] = {
@ -334,7 +334,7 @@ STATIC MP_DEFINE_CONST_DICT(webrepl_module_globals, webrepl_module_globals_table
const mp_obj_module_t mp_module_webrepl = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&webrepl_module_globals,
.globals = (mp_obj_dict_t *)&webrepl_module_globals,
};
#endif // MICROPY_PY_WEBREPL

View File

@ -50,11 +50,11 @@ STATIC mp_obj_t websocket_make_new(const mp_obj_type_t *type, size_t n_args, con
if (n_args > 1 && args[1] == mp_const_true) {
o->opts |= BLOCKING_WRITE;
}
return MP_OBJ_FROM_PTR(o);
return MP_OBJ_FROM_PTR(o);
}
STATIC mp_uint_t websocket_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode) {
mp_obj_websocket_t *self = MP_OBJ_TO_PTR(self_in);
mp_obj_websocket_t *self = MP_OBJ_TO_PTR(self_in);
const mp_stream_p_t *stream_p = mp_get_stream(self->sock);
while (1) {
if (self->to_recv != 0) {
@ -162,7 +162,7 @@ STATIC mp_uint_t websocket_read(mp_obj_t self_in, void *buf, mp_uint_t size, int
self->msg_sz -= out_sz;
if (self->msg_sz == 0) {
byte last_state;
no_payload:
no_payload:
last_state = self->state;
self->state = FRAME_HEADER;
self->to_recv = 2;
@ -179,7 +179,7 @@ no_payload:
return 0;
}
//DEBUG_printf("Finished receiving ctrl message %x, ignoring\n", self->last_flags);
// DEBUG_printf("Finished receiving ctrl message %x, ignoring\n", self->last_flags);
continue;
}
}
@ -196,7 +196,7 @@ no_payload:
}
STATIC mp_uint_t websocket_write(mp_obj_t self_in, const void *buf, mp_uint_t size, int *errcode) {
mp_obj_websocket_t *self = MP_OBJ_TO_PTR(self_in);
mp_obj_websocket_t *self = MP_OBJ_TO_PTR(self_in);
assert(size < 0x10000);
byte header[4] = {0x80 | (self->opts & FRAME_OPCODE_MASK)};
int hdr_sz;
@ -276,7 +276,7 @@ STATIC const mp_obj_type_t websocket_type = {
.name = MP_QSTR_websocket,
.make_new = websocket_make_new,
.protocol = &websocket_stream_p,
.locals_dict = (void*)&websocket_locals_dict,
.locals_dict = (void *)&websocket_locals_dict,
};
STATIC const mp_rom_map_elem_t websocket_module_globals_table[] = {
@ -288,7 +288,7 @@ STATIC MP_DEFINE_CONST_DICT(websocket_module_globals, websocket_module_globals_t
const mp_obj_module_t mp_module_websocket = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&websocket_module_globals,
.globals = (mp_obj_dict_t *)&websocket_module_globals,
};
#endif // MICROPY_PY_WEBSOCKET

View File

@ -8,9 +8,9 @@
((code ? memmove(code + at + num, code + at, pc - at) : 0), pc += num)
#define REL(at, to) (to - at - 2)
#define EMIT(at, byte) (code ? (code[at] = byte) : (at))
#define EMIT_CHECKED(at, byte) (_emit_checked(at, code, byte, &err))
#define PC (prog->bytelen)
static char unescape(char c) {
switch (c) {
case 'a':
@ -33,9 +33,17 @@ static char unescape(char c) {
}
static void _emit_checked(int at, char *code, int val, bool *err) {
*err |= val != (int8_t)val;
if (code) {
code[at] = val;
}
}
static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
{
char *code = sizecode ? NULL : prog->insts;
bool err = false;
int start = PC;
int term = PC;
int alt_label = 0;
@ -96,7 +104,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
EMIT(PC++, *re);
}
}
EMIT(term + 1, cnt);
EMIT_CHECKED(term + 1, cnt);
break;
}
case '(': {
@ -107,7 +115,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
if (capture) {
sub = ++prog->sub;
EMIT(PC++, Save);
EMIT(PC++, 2 * sub);
EMIT_CHECKED(PC++, 2 * sub);
prog->len++;
} else {
re += 2;
@ -118,7 +126,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
if (capture) {
EMIT(PC++, Save);
EMIT(PC++, 2 * sub + 1);
EMIT_CHECKED(PC++, 2 * sub + 1);
prog->len++;
}
@ -133,7 +141,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
} else {
EMIT(term, Split);
}
EMIT(term + 1, REL(term, PC));
EMIT_CHECKED(term + 1, REL(term, PC));
prog->len++;
term = PC;
break;
@ -141,7 +149,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
if (PC == term) return NULL; // nothing to repeat
INSERT_CODE(term, 2, PC);
EMIT(PC, Jmp);
EMIT(PC + 1, REL(PC, term));
EMIT_CHECKED(PC + 1, REL(PC, term));
PC += 2;
if (re[1] == '?') {
EMIT(term, RSplit);
@ -149,7 +157,7 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
} else {
EMIT(term, Split);
}
EMIT(term + 1, REL(term, PC));
EMIT_CHECKED(term + 1, REL(term, PC));
prog->len += 2;
term = PC;
break;
@ -161,20 +169,20 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
} else {
EMIT(PC, RSplit);
}
EMIT(PC + 1, REL(PC, term));
EMIT_CHECKED(PC + 1, REL(PC, term));
PC += 2;
prog->len++;
term = PC;
break;
case '|':
if (alt_label) {
EMIT(alt_label, REL(alt_label, PC) + 1);
EMIT_CHECKED(alt_label, REL(alt_label, PC) + 1);
}
INSERT_CODE(start, 2, PC);
EMIT(PC++, Jmp);
alt_label = PC++;
EMIT(start, Split);
EMIT(start + 1, REL(start, PC));
EMIT_CHECKED(start + 1, REL(start, PC));
prog->len += 2;
term = PC;
break;
@ -192,9 +200,9 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
}
if (alt_label) {
EMIT(alt_label, REL(alt_label, PC) + 1);
EMIT_CHECKED(alt_label, REL(alt_label, PC) + 1);
}
return re;
return err ? NULL : re;
}
int re1_5_sizecode(const char *re)

@ -1 +1 @@
Subproject commit 2ecad9586d088ee66f1b208ff2204906eba9e987
Subproject commit ef65415b5503ae71cc0a9064197f2e3fa5365d74

View File

@ -65,7 +65,7 @@ STATIC mp_obj_t time_ticks_diff(mp_obj_t end_in, mp_obj_t start_in) {
// Optimized formula avoiding if conditions. We adjust difference "forward",
// wrap it around and adjust back.
mp_int_t diff = ((end - start + MICROPY_PY_UTIME_TICKS_PERIOD / 2) & (MICROPY_PY_UTIME_TICKS_PERIOD - 1))
- MICROPY_PY_UTIME_TICKS_PERIOD / 2;
- MICROPY_PY_UTIME_TICKS_PERIOD / 2;
return MP_OBJ_NEW_SMALL_INT(diff);
}
MP_DEFINE_CONST_FUN_OBJ_2(mp_utime_ticks_diff_obj, time_ticks_diff);

View File

@ -75,7 +75,7 @@ STATIC mp_vfs_mount_t *lookup_path(mp_obj_t path_in, mp_obj_t *path_out) {
mp_vfs_mount_t *vfs = mp_vfs_lookup_path(path, &p_out);
if (vfs != MP_VFS_NONE && vfs != MP_VFS_ROOT) {
*path_out = mp_obj_new_str_of_type(mp_obj_get_type(path_in),
(const byte*)p_out, strlen(p_out));
(const byte *)p_out, strlen(p_out));
}
return vfs;
}
@ -106,7 +106,7 @@ mp_import_stat_t mp_vfs_import_stat(const char *path) {
}
// If the mounted object has the VFS protocol, call its import_stat helper
const mp_vfs_proto_t *proto = (mp_vfs_proto_t*)mp_proto_get(MP_QSTR_protocol_vfs, vfs->obj);
const mp_vfs_proto_t *proto = (mp_vfs_proto_t *)mp_proto_get(MP_QSTR_protocol_vfs, vfs->obj);
if (proto != NULL) {
return proto->import_stat(MP_OBJ_TO_PTR(vfs->obj), path_out);
}
@ -168,7 +168,7 @@ mp_obj_t mp_vfs_mount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args
vfs->next = NULL;
// call the underlying object to do any mounting operation
mp_vfs_proxy_call(vfs, MP_QSTR_mount, 2, (mp_obj_t*)&args);
mp_vfs_proxy_call(vfs, MP_QSTR_mount, 2, (mp_obj_t *)&args);
// check that the destination mount point is unused
const char *path_out;
@ -245,7 +245,7 @@ mp_obj_t mp_vfs_open(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args)
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
mp_vfs_mount_t *vfs = lookup_path(args[ARG_file].u_obj, &args[ARG_file].u_obj);
return mp_vfs_proxy_call(vfs, MP_QSTR_open, 2, (mp_obj_t*)&args);
return mp_vfs_proxy_call(vfs, MP_QSTR_open, 2, (mp_obj_t *)&args);
}
MP_DEFINE_CONST_FUN_OBJ_KW(mp_vfs_open_obj, 0, mp_vfs_open);
@ -314,7 +314,7 @@ mp_obj_t mp_vfs_ilistdir_it_iternext(mp_obj_t self_in) {
mp_obj_tuple_t *t = MP_OBJ_TO_PTR(mp_obj_new_tuple(3, NULL));
t->items[0] = mp_obj_new_str_of_type(
self->is_str ? &mp_type_str : &mp_type_bytes,
(const byte*)vfs->str + 1, vfs->len - 1);
(const byte *)vfs->str + 1, vfs->len - 1);
t->items[1] = MP_OBJ_NEW_SMALL_INT(MP_S_IFDIR);
t->items[2] = MP_OBJ_NEW_SMALL_INT(0); // no inode number
return MP_OBJ_FROM_PTR(t);

View File

@ -12,8 +12,8 @@
// return values of mp_vfs_lookup_path
// ROOT is 0 so that the default current directory is the root directory
#define MP_VFS_NONE ((mp_vfs_mount_t*)1)
#define MP_VFS_ROOT ((mp_vfs_mount_t*)0)
#define MP_VFS_NONE ((mp_vfs_mount_t *)1)
#define MP_VFS_ROOT ((mp_vfs_mount_t *)0)
// MicroPython's port-standardized versions of stat constants
#define MP_S_IFDIR (0x4000)

View File

@ -136,7 +136,7 @@ STATIC mp_obj_t mp_vfs_fat_ilistdir_it_iternext(mp_obj_t self_in) {
if (self->is_str) {
t->items[0] = mp_obj_new_str(fn, strlen(fn));
} else {
t->items[0] = mp_obj_new_bytes((const byte*)fn, strlen(fn));
t->items[0] = mp_obj_new_bytes((const byte *)fn, strlen(fn));
}
if (fno.fattrib & AM_DIR) {
// dir
@ -234,9 +234,9 @@ STATIC mp_obj_t fat_vfs_rename(mp_obj_t vfs_in, mp_obj_t path_in, mp_obj_t path_
mp_raise_OSError(fresult_to_errno_table[res]);
}
if ((fno.fattrib & AM_DIR) != 0 &&
strlen(new_path) > strlen(old_path) &&
new_path[strlen(old_path)] == '/' &&
strncmp(old_path, new_path, strlen(old_path)) == 0) {
strlen(new_path) > strlen(old_path) &&
new_path[strlen(old_path)] == '/' &&
strncmp(old_path, new_path, strlen(old_path)) == 0) {
mp_raise_OSError(MP_EINVAL);
}
@ -324,11 +324,11 @@ STATIC mp_obj_t fat_vfs_stat(mp_obj_t vfs_in, mp_obj_t path_in) {
} else {
mode |= MP_S_IFREG;
}
#if MICROPY_LONGINT_IMPL == MICROPY_LONGINT_IMPL_NONE
#if MICROPY_LONGINT_IMPL == MICROPY_LONGINT_IMPL_NONE
// On non-longint builds, the number of seconds since 1970 (epoch) is too
// large to fit in a smallint, so just return 31-DEC-1999 (0).
mp_obj_t seconds = MP_OBJ_NEW_SMALL_INT(946684800);
#else
#else
mp_obj_t seconds = mp_obj_new_int_from_uint(
timeutils_seconds_since_epoch(
1980 + ((fno.fdate >> 9) & 0x7f),
@ -338,7 +338,7 @@ STATIC mp_obj_t fat_vfs_stat(mp_obj_t vfs_in, mp_obj_t path_in) {
(fno.ftime >> 5) & 0x3f,
2 * (fno.ftime & 0x1f)
));
#endif
#endif
t->items[0] = MP_OBJ_NEW_SMALL_INT(mode); // st_mode
t->items[1] = MP_OBJ_NEW_SMALL_INT(0); // st_ino
t->items[2] = MP_OBJ_NEW_SMALL_INT(0); // st_dev
@ -434,7 +434,7 @@ STATIC mp_obj_t vfs_fat_setlabel(mp_obj_t self_in, mp_obj_t label_in) {
const char *label_str = mp_obj_str_get_str(label_in);
FRESULT res = f_setlabel(&self->fatfs, label_str);
if (res != FR_OK) {
if(res == FR_WRITE_PROTECTED) {
if (res == FR_WRITE_PROTECTED) {
mp_raise_msg(&mp_type_OSError, translate("Read-only filesystem"));
}
mp_raise_OSError(fresult_to_errno_table[res]);
@ -467,9 +467,9 @@ STATIC const mp_rom_map_elem_t fat_vfs_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_statvfs), MP_ROM_PTR(&fat_vfs_statvfs_obj) },
{ MP_ROM_QSTR(MP_QSTR_mount), MP_ROM_PTR(&vfs_fat_mount_obj) },
{ MP_ROM_QSTR(MP_QSTR_umount), MP_ROM_PTR(&fat_vfs_umount_obj) },
#if MICROPY_FATFS_USE_LABEL
#if MICROPY_FATFS_USE_LABEL
{ MP_ROM_QSTR(MP_QSTR_label), MP_ROM_PTR(&fat_vfs_label_obj) },
#endif
#endif
};
STATIC MP_DEFINE_CONST_DICT(fat_vfs_locals_dict, fat_vfs_locals_dict_table);
@ -483,7 +483,7 @@ const mp_obj_type_t mp_fat_vfs_type = {
.name = MP_QSTR_VfsFat,
.make_new = fat_vfs_make_new,
.protocol = &fat_vfs_proto,
.locals_dict = (mp_obj_dict_t*)&fat_vfs_locals_dict,
.locals_dict = (mp_obj_dict_t *)&fat_vfs_locals_dict,
};

View File

@ -26,32 +26,31 @@
typedef void *bdev_t;
STATIC fs_user_mount_t *disk_get_device(void *bdev) {
return (fs_user_mount_t*)bdev;
return (fs_user_mount_t *)bdev;
}
/*-----------------------------------------------------------------------*/
/* Read Sector(s) */
/*-----------------------------------------------------------------------*/
DRESULT disk_read (
bdev_t pdrv, /* Physical drive nmuber (0..) */
DRESULT disk_read(
bdev_t pdrv, /* Physical drive */
BYTE *buff, /* Data buffer to store read data */
DWORD sector, /* Sector address (LBA) */
UINT count /* Number of sectors to read (1..128) */
)
{
) {
fs_user_mount_t *vfs = disk_get_device(pdrv);
if (vfs == NULL) {
return RES_PARERR;
}
if (vfs->flags & FSUSER_NATIVE) {
mp_uint_t (*f)(uint8_t*, uint32_t, uint32_t) = (void*)(uintptr_t)vfs->readblocks[2];
mp_uint_t (*f)(uint8_t *, uint32_t, uint32_t) = (void *)(uintptr_t)vfs->readblocks[2];
if (f(buff, sector, count) != 0) {
return RES_ERROR;
}
} else {
mp_obj_array_t ar = {{&mp_type_bytearray}, BYTEARRAY_TYPECODE, 0, count * SECSIZE(&vfs->fatfs), buff};
mp_obj_array_t ar = {{&mp_type_bytearray}, BYTEARRAY_TYPECODE, 0, count *SECSIZE(&vfs->fatfs), buff};
vfs->readblocks[2] = MP_OBJ_NEW_SMALL_INT(sector);
vfs->readblocks[3] = MP_OBJ_FROM_PTR(&ar);
nlr_buf_t nlr;
@ -74,13 +73,12 @@ DRESULT disk_read (
/* Write Sector(s) */
/*-----------------------------------------------------------------------*/
DRESULT disk_write (
bdev_t pdrv, /* Physical drive nmuber (0..) */
DRESULT disk_write(
bdev_t pdrv, /* Physical drive */
const BYTE *buff, /* Data to be written */
DWORD sector, /* Sector address (LBA) */
UINT count /* Number of sectors to write (1..128) */
)
{
) {
fs_user_mount_t *vfs = disk_get_device(pdrv);
if (vfs == NULL) {
return RES_PARERR;
@ -92,12 +90,12 @@ DRESULT disk_write (
}
if (vfs->flags & FSUSER_NATIVE) {
mp_uint_t (*f)(const uint8_t*, uint32_t, uint32_t) = (void*)(uintptr_t)vfs->writeblocks[2];
mp_uint_t (*f)(const uint8_t *, uint32_t, uint32_t) = (void *)(uintptr_t)vfs->writeblocks[2];
if (f(buff, sector, count) != 0) {
return RES_ERROR;
}
} else {
mp_obj_array_t ar = {{&mp_type_bytearray}, BYTEARRAY_TYPECODE, 0, count * SECSIZE(&vfs->fatfs), (void*)buff};
mp_obj_array_t ar = {{&mp_type_bytearray}, BYTEARRAY_TYPECODE, 0, count *SECSIZE(&vfs->fatfs), (void *)buff};
vfs->writeblocks[2] = MP_OBJ_NEW_SMALL_INT(sector);
vfs->writeblocks[3] = MP_OBJ_FROM_PTR(&ar);
nlr_buf_t nlr;
@ -121,12 +119,11 @@ DRESULT disk_write (
/* Miscellaneous Functions */
/*-----------------------------------------------------------------------*/
DRESULT disk_ioctl (
bdev_t pdrv, /* Physical drive nmuber (0..) */
DRESULT disk_ioctl(
bdev_t pdrv, /* Physical drive */
BYTE cmd, /* Control code */
void *buff /* Buffer to send/receive control data */
)
{
) {
fs_user_mount_t *vfs = disk_get_device(pdrv);
if (vfs == NULL) {
return RES_PARERR;
@ -145,8 +142,8 @@ DRESULT disk_ioctl (
uint8_t bp_op = op_map[cmd & 7];
if (bp_op != 0) {
if (vfs->flags & FSUSER_NATIVE) {
bool (*f)(size_t, mp_int_t*) = (void*)(uintptr_t)vfs->u.ioctl[2];
if (!f(bp_op, (mp_int_t*) &out_value)) {
bool (*f)(size_t, mp_int_t *) = (void *)(uintptr_t)vfs->u.ioctl[2];
if (!f(bp_op, (mp_int_t *)&out_value)) {
return RES_ERROR;
}
} else {
@ -190,26 +187,26 @@ DRESULT disk_ioctl (
return RES_OK;
case GET_SECTOR_COUNT: {
*((DWORD*)buff) = out_value;
*((DWORD *)buff) = out_value;
return RES_OK;
}
case GET_SECTOR_SIZE: {
if (out_value == 0) {
// Default sector size
*((WORD*)buff) = 512;
*((WORD *)buff) = 512;
} else {
*((WORD*)buff) = out_value;
*((WORD *)buff) = out_value;
}
#if _MAX_SS != _MIN_SS
// need to store ssize because we use it in disk_read/disk_write
vfs->fatfs.ssize = *((WORD*)buff);
vfs->fatfs.ssize = *((WORD *)buff);
#endif
return RES_OK;
}
case GET_BLOCK_SIZE:
*((DWORD*)buff) = 1; // erase block size in units of sector size
*((DWORD *)buff) = 1; // erase block size in units of sector size
return RES_OK;
case IOCTL_INIT:
@ -223,7 +220,7 @@ DRESULT disk_ioctl (
} else {
stat = 0;
}
*((DSTATUS*)buff) = stat;
*((DSTATUS *)buff) = stat;
return RES_OK;
}

View File

@ -83,7 +83,7 @@ STATIC mp_uint_t file_obj_ioctl(mp_obj_t o_in, mp_uint_t request, uintptr_t arg,
pyb_file_obj_t *self = MP_OBJ_TO_PTR(o_in);
if (request == MP_STREAM_SEEK) {
struct mp_stream_seek_t *s = (struct mp_stream_seek_t*)(uintptr_t)arg;
struct mp_stream_seek_t *s = (struct mp_stream_seek_t *)(uintptr_t)arg;
switch (s->whence) {
case 0: // SEEK_SET
@ -248,7 +248,7 @@ const mp_obj_type_t mp_type_vfs_fat_fileio = {
.getiter = mp_identity_getiter,
.iternext = mp_stream_unbuffered_iter,
.protocol = &fileio_stream_p,
.locals_dict = (mp_obj_dict_t*)&rawfile_locals_dict,
.locals_dict = (mp_obj_dict_t *)&rawfile_locals_dict,
};
#endif
@ -268,7 +268,7 @@ const mp_obj_type_t mp_type_vfs_fat_textio = {
.getiter = mp_identity_getiter,
.iternext = mp_stream_unbuffered_iter,
.protocol = &textio_stream_p,
.locals_dict = (mp_obj_dict_t*)&rawfile_locals_dict,
.locals_dict = (mp_obj_dict_t *)&rawfile_locals_dict,
};
// Factory function for I/O stream classes

View File

@ -42,7 +42,7 @@ STATIC mp_obj_t vfs_posix_get_path_obj(mp_obj_vfs_posix_t *self, mp_obj_t path)
}
}
STATIC mp_obj_t vfs_posix_fun1_helper(mp_obj_t self_in, mp_obj_t path_in, int (*f)(const char*)) {
STATIC mp_obj_t vfs_posix_fun1_helper(mp_obj_t self_in, mp_obj_t path_in, int (*f)(const char *)) {
mp_obj_vfs_posix_t *self = MP_OBJ_TO_PTR(self_in);
int ret = f(vfs_posix_get_path_str(self, path_in));
if (ret != 0) {
@ -168,7 +168,7 @@ STATIC mp_obj_t vfs_posix_ilistdir_it_iternext(mp_obj_t self_in) {
if (self->is_str) {
t->items[0] = mp_obj_new_str(fn, strlen(fn));
} else {
t->items[0] = mp_obj_new_bytes((const byte*)fn, strlen(fn));
t->items[0] = mp_obj_new_bytes((const byte *)fn, strlen(fn));
}
#ifdef _DIRENT_HAVE_D_TYPE
@ -338,7 +338,7 @@ const mp_obj_type_t mp_type_vfs_posix = {
.name = MP_QSTR_VfsPosix,
.make_new = vfs_posix_make_new,
.protocol = &vfs_posix_proto,
.locals_dict = (mp_obj_dict_t*)&vfs_posix_locals_dict,
.locals_dict = (mp_obj_dict_t *)&vfs_posix_locals_dict,
};
#endif // MICROPY_VFS_POSIX

View File

@ -58,7 +58,7 @@ mp_obj_t mp_vfs_posix_file_open(const mp_obj_type_t *type, mp_obj_t file_in, mp_
case '+':
mode_rw = O_RDWR;
break;
#if MICROPY_PY_IO_FILEIO
#if MICROPY_PY_IO_FILEIO
// If we don't have io.FileIO, then files are in text mode implicitly
case 'b':
type = &mp_type_vfs_posix_fileio;
@ -66,7 +66,7 @@ mp_obj_t mp_vfs_posix_file_open(const mp_obj_type_t *type, mp_obj_t file_in, mp_
case 't':
type = &mp_type_vfs_posix_textio;
break;
#endif
#endif
}
}
@ -159,7 +159,7 @@ STATIC mp_uint_t vfs_posix_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintptr_
}
return 0;
case MP_STREAM_SEEK: {
struct mp_stream_seek_t *s = (struct mp_stream_seek_t*)arg;
struct mp_stream_seek_t *s = (struct mp_stream_seek_t *)arg;
off_t off = lseek(o->fd, s->offset, s->whence);
if (off == (off_t)-1) {
*errcode = errno;
@ -213,7 +213,7 @@ const mp_obj_type_t mp_type_vfs_posix_fileio = {
.getiter = mp_identity_getiter,
.iternext = mp_stream_unbuffered_iter,
.protocol = &fileio_stream_p,
.locals_dict = (mp_obj_dict_t*)&rawfile_locals_dict,
.locals_dict = (mp_obj_dict_t *)&rawfile_locals_dict,
};
#endif
@ -233,10 +233,10 @@ const mp_obj_type_t mp_type_vfs_posix_textio = {
.getiter = mp_identity_getiter,
.iternext = mp_stream_unbuffered_iter,
.protocol = &textio_stream_p,
.locals_dict = (mp_obj_dict_t*)&rawfile_locals_dict,
.locals_dict = (mp_obj_dict_t *)&rawfile_locals_dict,
};
const mp_obj_vfs_posix_file_t mp_sys_stdin_obj = {{&mp_type_textio}, STDIN_FILENO};
const mp_obj_vfs_posix_file_t mp_sys_stdin_obj = {{&mp_type_textio}, STDIN_FILENO};
const mp_obj_vfs_posix_file_t mp_sys_stdout_obj = {{&mp_type_textio}, STDOUT_FILENO};
const mp_obj_vfs_posix_file_t mp_sys_stderr_obj = {{&mp_type_textio}, STDERR_FILENO};

View File

@ -21,7 +21,7 @@ typedef struct _mp_reader_vfs_t {
} mp_reader_vfs_t;
STATIC mp_uint_t mp_reader_vfs_readbyte(void *data) {
mp_reader_vfs_t *reader = (mp_reader_vfs_t*)data;
mp_reader_vfs_t *reader = (mp_reader_vfs_t *)data;
if (reader->pos >= reader->len) {
if (reader->len < sizeof(reader->buf)) {
return MP_READER_EOF;
@ -43,7 +43,7 @@ STATIC mp_uint_t mp_reader_vfs_readbyte(void *data) {
}
STATIC void mp_reader_vfs_close(void *data) {
mp_reader_vfs_t *reader = (mp_reader_vfs_t*)data;
mp_reader_vfs_t *reader = (mp_reader_vfs_t *)data;
mp_stream_close(reader->file);
m_del_obj(mp_reader_vfs_t, reader);
}
@ -51,7 +51,7 @@ STATIC void mp_reader_vfs_close(void *data) {
void mp_reader_new_file(mp_reader_t *reader, const char *filename) {
mp_reader_vfs_t *rf = m_new_obj(mp_reader_vfs_t);
mp_obj_t arg = mp_obj_new_str(filename, strlen(filename));
rf->file = mp_vfs_open(1, &arg, (mp_map_t*)&mp_const_empty_map);
rf->file = mp_vfs_open(1, &arg, (mp_map_t *)&mp_const_empty_map);
int errcode;
rf->len = mp_stream_rw(rf->file, rf->buf, sizeof(rf->buf), &errcode, MP_STREAM_RW_READ | MP_STREAM_RW_ONCE);
if (errcode != 0) {

View File

@ -7,13 +7,13 @@
#include "py/proto.h"
int mp_virtual_pin_read(mp_obj_t pin) {
mp_obj_base_t* s = (mp_obj_base_t*)MP_OBJ_TO_PTR(pin);
mp_obj_base_t *s = (mp_obj_base_t *)MP_OBJ_TO_PTR(pin);
const mp_pin_p_t *pin_p = mp_proto_get(MP_QSTR_protocol_pin, s);
return pin_p->ioctl(pin, MP_PIN_READ, 0, NULL);
}
void mp_virtual_pin_write(mp_obj_t pin, int value) {
mp_obj_base_t* s = (mp_obj_base_t*)MP_OBJ_TO_PTR(pin);
mp_obj_base_t *s = (mp_obj_base_t *)MP_OBJ_TO_PTR(pin);
const mp_pin_p_t *pin_p = mp_proto_get(MP_QSTR_protocol_pin, s);
pin_p->ioctl(pin, MP_PIN_WRITE, value, NULL);
}

@ -1 +1 @@
Subproject commit bc58a654964c799e972719a63ff12694998f3549
Subproject commit 7a5de1ad777e95b0f4fab7bbd35678c7d319b1b5

View File

@ -65,7 +65,7 @@ void netutils_parse_ipv4_addr(mp_obj_t addr_in, uint8_t *out_ip, netutils_endian
}
const char *s = addr_str;
const char *s_top = addr_str + addr_len;
for (mp_uint_t i = 3 ; ; i--) {
for (mp_uint_t i = 3; ; i--) {
mp_uint_t val = 0;
for (; s < s_top && *s != '.'; s++) {
val = val * 10 + *s - '0';

View File

@ -36,11 +36,11 @@
#define LEAPOCH ((31 + 29) * 86400)
#define DAYS_PER_400Y (365*400 + 97)
#define DAYS_PER_100Y (365*100 + 24)
#define DAYS_PER_4Y (365*4 + 1)
#define DAYS_PER_400Y (365 * 400 + 97)
#define DAYS_PER_100Y (365 * 100 + 24)
#define DAYS_PER_4Y (365 * 4 + 1)
STATIC const uint16_t days_since_jan1[]= { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };
STATIC const uint16_t days_since_jan1[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };
bool timeutils_is_leap_year(mp_uint_t year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
@ -164,7 +164,7 @@ void timeutils_seconds_since_epoch_to_struct_time(mp_uint_t t, timeutils_struct_
}
mp_uint_t timeutils_seconds_since_epoch(mp_uint_t year, mp_uint_t month, mp_uint_t date,
mp_uint_t hour, mp_uint_t minute, mp_uint_t second) {
mp_uint_t hour, mp_uint_t minute, mp_uint_t second) {
mp_uint_t t = timeutils_seconds_since_2000(year, month, date, hour, minute, second);
return t + EPOCH1970_EPOCH2000_DIFF_SECS;
}

View File

@ -30,14 +30,14 @@
#define EPOCH1970_EPOCH2000_DIFF_SECS 946684800
typedef struct _timeutils_struct_time_t {
uint16_t tm_year; // i.e. 2014
uint8_t tm_mon; // 1..12
uint8_t tm_mday; // 1..31
uint8_t tm_hour; // 0..23
uint8_t tm_min; // 0..59
uint8_t tm_sec; // 0..59
uint8_t tm_wday; // 0..6 0 = Monday
uint16_t tm_yday; // 1..366
uint16_t tm_year; // i.e. 2014
uint8_t tm_mon; // 1..12
uint8_t tm_mday; // 1..31
uint8_t tm_hour; // 0..23
uint8_t tm_min; // 0..59
uint8_t tm_sec; // 0..59
uint8_t tm_wday; // 0..6 0 = Monday
uint16_t tm_yday; // 1..366
} timeutils_struct_time_t;
bool timeutils_is_leap_year(mp_uint_t year);
@ -53,7 +53,7 @@ mp_uint_t timeutils_seconds_since_2000(mp_uint_t year, mp_uint_t month,
void timeutils_seconds_since_epoch_to_struct_time(mp_uint_t t, timeutils_struct_time_t *tm);
mp_uint_t timeutils_seconds_since_epoch(mp_uint_t year, mp_uint_t month, mp_uint_t date,
mp_uint_t hour, mp_uint_t minute, mp_uint_t second);
mp_uint_t hour, mp_uint_t minute, mp_uint_t second);
mp_uint_t timeutils_mktime(mp_uint_t year, mp_int_t month, mp_int_t mday,
mp_int_t hours, mp_int_t minutes, mp_int_t seconds);

@ -1 +1 @@
Subproject commit 280297bdb7aec67adf347ec046943a48a71647df
Subproject commit ab4d30fd6bca02c73eb9b4ff82db0b2b0f403344

View File

@ -26,10 +26,10 @@
#include "lib/utils/buffer_helper.h"
void normalize_buffer_bounds(int32_t* start, int32_t end, size_t* length) {
void normalize_buffer_bounds(int32_t *start, int32_t end, size_t *length) {
if (end < 0) {
end += *length;
} else if (((size_t) end) > *length) {
} else if (((size_t)end) > *length) {
end = *length;
}
if (*start < 0) {

View File

@ -30,6 +30,6 @@
#include <stdint.h>
#include <string.h>
void normalize_buffer_bounds(int32_t* start, int32_t end, size_t* length);
void normalize_buffer_bounds(int32_t *start, int32_t end, size_t *length);
#endif // MICROPY_INCLUDED_LIB_UTILS_BUFFER_HELPER_H

View File

@ -29,6 +29,6 @@
#include "py/obj.h"
STATIC mp_obj_t default___enter__(mp_obj_t self_in) {
return self_in;
return self_in;
}
MP_DEFINE_CONST_FUN_OBJ_1(default___enter___obj, default___enter__);

View File

@ -108,7 +108,7 @@ STATIC void strn_print_strn(void *data, const char *str, size_t len) {
// when linkings against it statically.
// GCC 9 gives a warning about missing attributes so it's excluded until
// uClibc+GCC9 support is needed.
int __GI_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __attribute__((weak, alias ("vsnprintf")));
int __GI_vsnprintf(char *str, size_t size, const char *fmt, va_list ap) __attribute__((weak, alias("vsnprintf")));
#endif
int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
@ -134,4 +134,4 @@ int snprintf(char *str, size_t size, const char *fmt, ...) {
return ret;
}
#endif //MICROPY_USE_INTERNAL_PRINTF
#endif // MICROPY_USE_INTERNAL_PRINTF

32
lib/utils/pyexec.c Executable file → Normal file
View File

@ -85,7 +85,7 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
} else if (exec_flags & EXEC_FLAG_SOURCE_IS_FILENAME) {
lex = mp_lexer_new_from_file(source);
} else {
lex = (mp_lexer_t*)source;
lex = (mp_lexer_t *)source;
}
// source is a lexer, parse and compile the script
qstr source_name = lex->source_name;
@ -95,7 +95,7 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
mp_parse_tree_t parse_tree = mp_parse(lex, input_kind);
module_fun = mp_compile(&parse_tree, source_name, MP_EMIT_OPT_NONE, exec_flags & EXEC_FLAG_IS_REPL);
// Clear the parse tree because it has a heap pointer we don't need anymore.
*((uint32_t volatile*) &parse_tree.chunk) = 0;
*((uint32_t volatile *)&parse_tree.chunk) = 0;
#else
mp_raise_msg(&mp_type_RuntimeError, translate("script compilation not supported"));
#endif
@ -132,12 +132,12 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
if (mp_obj_is_subclass_fast(mp_obj_get_type((mp_obj_t)nlr.ret_val), &mp_type_SystemExit)) {
// at the moment, the value of SystemExit is unused
ret = pyexec_system_exit;
#if CIRCUITPY_ALARM
#if CIRCUITPY_ALARM
} else if (mp_obj_is_subclass_fast(mp_obj_get_type((mp_obj_t)nlr.ret_val), &mp_type_DeepSleepRequest)) {
ret = PYEXEC_DEEP_SLEEP;
#endif
#endif
} else {
if ((mp_obj_t) nlr.ret_val != MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) {
if ((mp_obj_t)nlr.ret_val != MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) {
mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val);
}
ret = PYEXEC_EXCEPTION;
@ -169,8 +169,8 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
size_t n_pool, n_qstr, n_str_data_bytes, n_total_bytes;
qstr_pool_info(&n_pool, &n_qstr, &n_str_data_bytes, &n_total_bytes);
printf("qstr:\n n_pool=" UINT_FMT "\n n_qstr=" UINT_FMT "\n "
"n_str_data_bytes=" UINT_FMT "\n n_total_bytes=" UINT_FMT "\n",
(unsigned)n_pool, (unsigned)n_qstr, (unsigned)n_str_data_bytes, (unsigned)n_total_bytes);
"n_str_data_bytes=" UINT_FMT "\n n_total_bytes=" UINT_FMT "\n",
(unsigned)n_pool, (unsigned)n_qstr, (unsigned)n_str_data_bytes, (unsigned)n_total_bytes);
}
#if MICROPY_ENABLE_GC
@ -195,7 +195,7 @@ typedef struct _repl_t {
// but it was moved to MP_STATE_VM(repl_line) as containing
// root pointer. Still keep structure in case more state
// will be added later.
//vstr_t line;
// vstr_t line;
bool cont_line;
} repl_t;
@ -307,10 +307,10 @@ STATIC int pyexec_friendly_repl_process_char(int c) {
} else {
if (ret == CHAR_CTRL_C) {
// cancel everything
mp_hal_stdout_tx_str("\r\n");
repl.cont_line = false;
goto input_restart;
// cancel everything
mp_hal_stdout_tx_str("\r\n");
repl.cont_line = false;
goto input_restart;
} else if (ret == CHAR_CTRL_D) {
// stop entering compound statement
goto exec;
@ -326,13 +326,13 @@ STATIC int pyexec_friendly_repl_process_char(int c) {
return 0;
}
exec: ;
exec:;
int ret = parse_compile_execute(MP_STATE_VM(repl_line), MP_PARSE_SINGLE_INPUT, EXEC_FLAG_ALLOW_DEBUGGING | EXEC_FLAG_IS_REPL | EXEC_FLAG_SOURCE_IS_VSTR, NULL);
if (ret & PYEXEC_FORCED_EXIT) {
return ret;
}
input_restart:
input_restart:
vstr_reset(MP_STATE_VM(repl_line));
repl.cont_line = false;
readline_init(MP_STATE_VM(repl_line), ">>> ");
@ -409,11 +409,11 @@ int pyexec_friendly_repl(void) {
vstr_t line;
vstr_init(&line, 32);
#if defined(USE_HOST_MODE) && MICROPY_HW_HAS_LCD
#if defined(USE_HOST_MODE) && MICROPY_HW_HAS_LCD
// in host mode, we enable the LCD for the repl
mp_obj_t lcd_o = mp_call_function_0(mp_load_name(qstr_from_str("LCD")));
mp_call_function_1(mp_load_attr(lcd_o, qstr_from_str("light")), mp_const_true);
#endif
#endif
friendly_repl_reset:
mp_hal_stdout_tx_str("\r\n");

View File

@ -35,7 +35,7 @@ typedef enum {
typedef struct {
int return_code;
const mp_obj_type_t * exception_type;
const mp_obj_type_t *exception_type;
int exception_line;
} pyexec_result_t;

View File

@ -20,7 +20,7 @@ void mp_hal_stdout_tx_strn_cooked(const char *str, size_t len) {
i = 1;
}
// Lump all characters on the next line together.
while((last_cr || str[i] != '\n') && i < len) {
while ((last_cr || str[i] != '\n') && i < len) {
last_cr = str[i] == '\r';
i++;
}

View File

@ -65,7 +65,7 @@ STATIC mp_uint_t stdio_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *er
if (c == '\r') {
c = '\n';
}
((byte*)buf)[i] = c;
((byte *)buf)[i] = c;
}
return size;
} else {
@ -87,7 +87,7 @@ STATIC mp_uint_t stdio_write(mp_obj_t self_in, const void *buf, mp_uint_t size,
STATIC mp_uint_t stdio_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_t arg, int *errcode) {
sys_stdio_obj_t *self = MP_OBJ_TO_PTR(self_in);
(void) self;
(void)self;
// For now, pretend we actually flush the stdio stream.
if (request == MP_STREAM_FLUSH) {
@ -106,9 +106,9 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(stdio_obj___exit___obj, 4, 4, stdio_o
// TODO gc hook to close the file if not already closed
STATIC const mp_rom_map_elem_t stdio_locals_dict_table[] = {
#if MICROPY_PY_SYS_STDIO_BUFFER
#if MICROPY_PY_SYS_STDIO_BUFFER
{ MP_ROM_QSTR(MP_QSTR_buffer), MP_ROM_PTR(&stdio_buffer_obj) },
#endif
#endif
{ MP_ROM_QSTR(MP_QSTR_read), MP_ROM_PTR(&mp_stream_read_obj) },
{ MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&mp_stream_readinto_obj) },
{ MP_ROM_QSTR(MP_QSTR_readline), MP_ROM_PTR(&mp_stream_unbuffered_readline_obj)},
@ -138,7 +138,7 @@ STATIC const mp_obj_type_t stdio_obj_type = {
.getiter = mp_identity_getiter,
.iternext = mp_stream_unbuffered_iter,
.protocol = &stdio_obj_stream_p,
.locals_dict = (mp_obj_dict_t*)&stdio_locals_dict,
.locals_dict = (mp_obj_dict_t *)&stdio_locals_dict,
};
const sys_stdio_obj_t mp_sys_stdin_obj = {{&stdio_obj_type}, .fd = STDIO_FD_IN};
@ -148,7 +148,7 @@ const sys_stdio_obj_t mp_sys_stderr_obj = {{&stdio_obj_type}, .fd = STDIO_FD_ERR
#if MICROPY_PY_SYS_STDIO_BUFFER
STATIC mp_uint_t stdio_buffer_read(mp_obj_t self_in, void *buf, mp_uint_t size, int *errcode) {
for (uint i = 0; i < size; i++) {
((byte*)buf)[i] = mp_hal_stdin_rx_chr();
((byte *)buf)[i] = mp_hal_stdin_rx_chr();
}
return size;
}

View File

@ -6,15 +6,15 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-01-15 19:49+0000\n"
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
"PO-Revision-Date: 2021-04-07 12:23+0000\n"
"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ID\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.5-dev\n"
"X-Generator: Weblate 4.6-dev\n"
#: main.c
msgid ""
@ -29,6 +29,8 @@ msgid ""
"\n"
"Code stopped by auto-reload.\n"
msgstr ""
"\n"
"Kode berhenti oleh auto-reload.\n"
#: supervisor/shared/safe_mode.c
msgid ""
@ -78,6 +80,7 @@ msgstr "%q sedang digunakan"
#: 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/raspberrypi/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"
@ -342,6 +345,10 @@ msgstr "Semua perangkat SPI sedang digunakan"
msgid "All UART peripherals are in use"
msgstr "Semua perangkat UART sedang digunakan"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "Semua channel event sedang digunakan"
@ -411,6 +418,10 @@ msgstr "AnalogOut hanya 16 bit. Nilai harus kurang dari 65536."
msgid "AnalogOut not supported on given pin"
msgstr "pin yang dipakai tidak mendukung AnalogOut"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -527,6 +538,7 @@ msgid "Buffer is too small"
msgstr "Buffer terlalu kecil"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr "Panjang buffer %d terlalu besar. Itu harus kurang dari %d"
@ -556,6 +568,7 @@ msgstr "Buffer terlalu pendek untuk %d byte"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr "Pin bus %d sudah digunakan"
@ -678,7 +691,7 @@ msgstr "Tidak dapat transfer tanpa pin MOSI dan MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
"Tidak dapat membuat variasi frekuensi pada penghitung waktu yang sudah "
@ -765,14 +778,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Tidak dapat menginisialisasi UART"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Tidak dapat menginisialisasi kanal"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Tidak dapat menginisialisasi timer"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr "Tidak dapat menginisialisasi ulang kanal"
@ -793,7 +798,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr "Tidak dapat memulai PWM"
@ -849,9 +854,8 @@ msgid "Data chunk must follow fmt chunk"
msgstr "Potongan data harus mengikuti fmt chunk"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Data too large for advertisement packet"
msgstr "Tidak bisa menyesuaikan data ke dalam paket advertisment"
msgstr "Data terlalu besar untuk paket advertisment"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length."
@ -950,11 +954,11 @@ msgstr "Diharapkan tuple dengan panjang %d, didapatkan %d"
msgid "Extended advertisements with scan response not supported."
msgstr "Penyebaran yang diperluas dengan respon pindai tidak didukung."
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr "FFT didefinisikan hanya untuk ndarrays"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -967,9 +971,9 @@ msgid "Failed sending command."
msgstr "Gagal mengirim perintah."
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
#, c-format
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX"
msgstr "Gagal memperoleh mutex, err 0x%04x"
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/raspberrypi/common-hal/busio/UART.c
@ -981,6 +985,7 @@ msgstr "Gagal untuk mengalokasikan buffer RX"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -994,6 +999,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Gagal terhubung: kesalahan internal"
@ -1011,9 +1020,9 @@ msgid "Failed to parse MP3 file"
msgstr "Gagal mengurai file MP3"
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX"
msgstr "Gagal melepaskan mutex, err 0x%04x"
#: supervisor/shared/safe_mode.c
msgid "Failed to write internal flash."
@ -1042,7 +1051,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr "Frekuensi harus cocok dengan PWMOut yang ada menggunakan timer ini"
@ -1061,10 +1070,6 @@ msgstr ""
msgid "Group already used"
msgstr "Grup sudah digunakan"
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "Grup penuh"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1197,6 +1202,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "%q pada tidak valid"
@ -1224,7 +1230,9 @@ msgid "Invalid DAC pin supplied"
msgstr "Pin DAC yang diberikan tidak valid"
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "Frekuensi PWM tidak valid"
@ -1272,14 +1280,10 @@ msgstr "File tidak valid"
msgid "Invalid format chunk size"
msgstr "Ukuran potongan format tidak valid"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Frekuensi yang diberikan tidak valid"
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr "Akses memori tidak valid."
@ -1325,10 +1329,6 @@ msgstr "Pin untuk channel kanan tidak valid"
msgid "Invalid pins"
msgstr "Pin-pin tidak valid"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr "Pin untuk PWMOut tidak valid"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1581,18 +1581,6 @@ msgstr "Tidak ada kunci yang ditentukan"
msgid "No long integer support"
msgstr "Tidak ada dukungan bilangan bulat yang panjang"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Tidak ada lagi penghitung waktu yang tersedia pada pin ini."
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1624,8 +1612,12 @@ msgid "No timer available"
msgstr "Penghitung waktu tidak tersedia"
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgstr "Pernyataan kegagalan Perangkat Lunak Nordic."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
@ -1633,9 +1625,8 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#: shared-bindings/_bleio/CharacteristicBuffer.c
#, fuzzy
msgid "Not connected"
msgstr "Tidak dapat menyambungkan ke AP"
msgstr "Tidak terhubung"
#: shared-bindings/audiobusio/I2SOut.c shared-bindings/audioio/AudioOut.c
#: shared-bindings/audiopwmio/PWMAudioOut.c
@ -1644,7 +1635,7 @@ msgstr "Tidak berfungsi"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
msgstr "Tidak menjalankan kode yang disimpan.\n"
#: shared-bindings/_bleio/__init__.c
msgid "Not settable"
@ -1760,7 +1751,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr "ParallelBus belum didukung"
@ -1819,6 +1809,10 @@ msgstr ""
"ideal. Jika ini tidak dapat dihindari, berikan allow_inefficient=True ke "
"konstruktor"
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1853,6 +1847,8 @@ msgstr "Buffer awalan harus ada di heap"
#: main.c
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
msgstr ""
"Tekan sembarang tombol untuk masuk ke REPL. Tekan CTRL-D untuk memuat ulang."
"\n"
#: main.c
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
@ -1931,10 +1927,9 @@ msgstr "Baca-saja"
msgid "Read-only filesystem"
msgstr "sistem file (filesystem) bersifat Read-only"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#, fuzzy
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr "sistem file (filesystem) bersifat Read-only"
msgstr "Objek Read-only"
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
msgid "Received response was invalid"
@ -2007,14 +2002,6 @@ msgstr "Nilai sampel terlalu tinggi. Nilai harus kurang dari %d"
msgid "Scan already in progess. Stop with stop_scan."
msgstr "Pindai sudah dalam proses. Hentikan dengan stop_scan."
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr "Pin CTS yang dipilih tidak valid"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr "Pin RTS yang dipilih tidak valid"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2162,11 +2149,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr "Untuk keluar, silahkan reset board tanpa "
@ -2304,8 +2286,8 @@ msgstr "Kesalahan keamanan tidak dikenal: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr "Kesalahan perangkat lunak tidak dikenal: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
@ -2327,15 +2309,14 @@ msgid "Unsupported baudrate"
msgstr "Baudrate tidak didukung"
#: shared-module/displayio/display_core.c
#, fuzzy
msgid "Unsupported display bus type"
msgstr "Baudrate tidak didukung"
msgstr "Tipe bus tampilan tidak didukung"
#: shared-module/audiocore/WaveFile.c
msgid "Unsupported format"
msgstr "Format tidak didukung"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "Operasi yang tidak didukung"
@ -2467,11 +2448,11 @@ msgstr "alamatnya kosong"
msgid "arg is an empty sequence"
msgstr "arg berisi urutan kosong"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr "Argumen argsort harus berupa ndarray"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2479,10 +2460,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr "argumen memiliki tipe yang salah"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2492,7 +2469,8 @@ msgstr "argumen num/types tidak cocok"
msgid "argument should be a '%q' not a '%q'"
msgstr "argumen harus berupa '%q' bukan '%q'"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr "argumen harus berupa ndarrays"
@ -2505,11 +2483,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr "diperlukan array/byte di sisi kanan"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr "berusaha mendapatkan argmin/argmax dari urutan kosong"
@ -2517,15 +2495,15 @@ msgstr "berusaha mendapatkan argmin/argmax dari urutan kosong"
msgid "attributes not supported yet"
msgstr "atribut belum didukung"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2561,7 +2539,7 @@ msgstr ""
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2569,14 +2547,13 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
#: shared-module/struct/__init__.c
#, fuzzy
msgid "buffer size must match format"
msgstr "buffers harus mempunyai panjang yang sama"
msgstr "ukuran buffer harus sesuai dengan format"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "buffer slices must be of equal length"
@ -2827,19 +2804,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2847,15 +2824,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2892,14 +2869,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -3015,11 +2996,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -3027,11 +3008,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -3043,7 +3020,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3076,7 +3053,7 @@ msgstr "fungsi diharapkan setidaknya %d argumen, hanya mendapatkan %d"
msgid "function got multiple values for argument '%q'"
msgstr "fungsi mendapatkan nilai ganda untuk argumen '%q'"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3151,8 +3128,9 @@ msgstr "lapisan (padding) tidak benar"
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "index keluar dari jangkauan"
@ -3164,7 +3142,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3184,7 +3162,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3192,15 +3170,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3216,23 +3194,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3244,7 +3222,7 @@ msgstr ""
msgid "integer required"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3257,6 +3235,11 @@ msgstr ""
msgid "invalid arguments"
msgstr "argumen-argumen tidak valid"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "cert tidak valid"
@ -3265,6 +3248,16 @@ msgstr "cert tidak valid"
msgid "invalid dupterm index"
msgstr "indeks dupterm tidak valid"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "format tidak valid"
@ -3318,11 +3311,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3390,11 +3379,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3416,15 +3401,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3445,7 +3430,7 @@ msgstr ""
msgid "module not found"
msgstr "modul tidak ditemukan"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3563,10 +3548,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3635,7 +3616,7 @@ msgstr ""
msgid "odd-length string"
msgstr "panjang data string memiliki keganjilan (odd-length)"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3665,8 +3646,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3674,7 +3655,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3691,11 +3672,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3728,7 +3717,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr "parameter harus menjadi register dalam urutan r0 sampai r3"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3751,6 +3740,7 @@ msgstr "Muncul dari PulseIn yang kosong"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3770,12 +3760,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3795,6 +3788,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3811,7 +3808,7 @@ msgstr "antrian meluap (overflow)"
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3846,7 +3843,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3893,7 +3890,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3917,19 +3914,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr "memulai ulang software(soft reboot)\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -4020,9 +4017,8 @@ msgid "timeout must be < 655.35 secs"
msgstr ""
#: shared-bindings/_bleio/CharacteristicBuffer.c
#, fuzzy
msgid "timeout must be >= 0.0"
msgstr "bits harus memilki nilai 8"
msgstr "waktu habis harus >= 0,0"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v1 card"
@ -4044,7 +4040,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4057,11 +4053,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4203,10 +4199,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4236,21 +4228,22 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
msgstr "indeks sumbu salah"
#: extmod/ulab/code/ulab_create.c
msgid "wrong axis specified"
msgstr ""
msgstr "sumbu yang ditentukan salah"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
msgstr "tipe input salah"
#: extmod/ulab/code/ulab_create.c py/objstr.c
msgid "wrong number of arguments"
msgstr ""
msgstr "jumlah argumen salah"
#: py/runtime.c
msgid "wrong number of values to unpack"
@ -4260,7 +4253,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4284,18 +4277,48 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
msgstr "zi harus ndarray"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
msgstr "zi harus berjenis float"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
#~ msgid "Nordic Soft Device failure assertion."
#~ msgstr "Pernyataan kegagalan Perangkat Lunak Nordic."
#~ msgid "Unknown soft device error: %04x"
#~ msgstr "Kesalahan perangkat lunak tidak dikenal: %04x"
#~ msgid "Selected CTS pin not valid"
#~ msgstr "Pin CTS yang dipilih tidak valid"
#~ msgid "Selected RTS pin not valid"
#~ msgstr "Pin RTS yang dipilih tidak valid"
#~ msgid "Could not initialize channel"
#~ msgstr "Tidak dapat menginisialisasi kanal"
#~ msgid "Could not initialize timer"
#~ msgstr "Tidak dapat menginisialisasi timer"
#~ msgid "Invalid frequency supplied"
#~ msgstr "Frekuensi yang diberikan tidak valid"
#~ msgid "Invalid pins for PWMOut"
#~ msgstr "Pin untuk PWMOut tidak valid"
#~ msgid "No more timers available on this pin."
#~ msgstr "Tidak ada lagi penghitung waktu yang tersedia pada pin ini."
#~ msgid "Group full"
#~ msgstr "Grup penuh"
#~ msgid "SDA or SCL needs a pull up"
#~ msgstr "SDA atau SCL membutuhkan pull up"

View File

@ -73,6 +73,7 @@ msgstr ""
#: 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/raspberrypi/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"
@ -341,6 +342,10 @@ msgstr ""
msgid "All UART peripherals are in use"
msgstr ""
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr ""
@ -410,6 +415,10 @@ msgstr ""
msgid "AnalogOut not supported on given pin"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -524,6 +533,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -553,6 +563,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr ""
@ -669,7 +680,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -752,14 +763,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -780,7 +783,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -936,11 +939,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -967,6 +970,7 @@ msgstr ""
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -980,6 +984,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1028,7 +1036,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1047,10 +1055,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr ""
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1181,6 +1185,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr ""
@ -1208,7 +1213,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr ""
@ -1256,14 +1263,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1310,10 +1313,6 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1566,18 +1565,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1609,7 +1596,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1738,7 +1729,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1794,6 +1784,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1906,7 +1900,7 @@ msgstr ""
msgid "Read-only filesystem"
msgstr ""
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr ""
@ -1981,14 +1975,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2129,11 +2115,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2270,7 +2251,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2298,7 +2279,7 @@ msgstr ""
msgid "Unsupported format"
msgstr ""
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr ""
@ -2424,11 +2405,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2436,10 +2417,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2449,7 +2426,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2462,11 +2440,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2474,15 +2452,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2518,7 +2496,7 @@ msgstr ""
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2526,7 +2504,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2783,19 +2761,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2803,15 +2781,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2848,14 +2826,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2971,11 +2953,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -2983,11 +2965,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -2999,7 +2977,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3032,7 +3010,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3107,8 +3085,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr ""
@ -3120,7 +3099,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3140,7 +3119,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3148,15 +3127,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3172,23 +3151,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3200,7 +3179,7 @@ msgstr ""
msgid "integer required"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3213,6 +3192,11 @@ msgstr ""
msgid "invalid arguments"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr ""
@ -3221,6 +3205,16 @@ msgstr ""
msgid "invalid dupterm index"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr ""
@ -3274,11 +3268,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3346,11 +3336,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3372,15 +3358,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3401,7 +3387,7 @@ msgstr ""
msgid "module not found"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3519,10 +3505,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3591,7 +3573,7 @@ msgstr ""
msgid "odd-length string"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3620,8 +3602,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3629,7 +3611,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3646,11 +3628,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3683,7 +3673,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3706,6 +3696,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3725,12 +3716,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3750,6 +3744,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3766,7 +3764,7 @@ msgstr ""
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3801,7 +3799,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3848,7 +3846,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3872,19 +3870,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -3998,7 +3996,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4011,11 +4009,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4157,10 +4155,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4190,7 +4184,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4198,7 +4192,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4214,7 +4209,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4238,14 +4233,14 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""

View File

@ -76,6 +76,7 @@ msgstr "Používá se %q"
#: 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/raspberrypi/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"
@ -340,6 +341,10 @@ msgstr ""
msgid "All UART peripherals are in use"
msgstr ""
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr ""
@ -409,6 +414,10 @@ msgstr ""
msgid "AnalogOut not supported on given pin"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -523,6 +532,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -552,6 +562,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr ""
@ -668,7 +679,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -750,14 +761,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -778,7 +781,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -934,11 +937,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -965,6 +968,7 @@ msgstr ""
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -978,6 +982,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1026,7 +1034,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1045,10 +1053,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr ""
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1179,6 +1183,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr ""
@ -1206,7 +1211,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr ""
@ -1254,14 +1261,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1307,10 +1310,6 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1563,18 +1562,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1606,7 +1593,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1734,7 +1725,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1790,6 +1780,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1902,7 +1896,7 @@ msgstr ""
msgid "Read-only filesystem"
msgstr ""
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr ""
@ -1977,14 +1971,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2125,11 +2111,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2266,7 +2247,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2294,7 +2275,7 @@ msgstr ""
msgid "Unsupported format"
msgstr ""
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr ""
@ -2420,11 +2401,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2432,10 +2413,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2445,7 +2422,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2458,11 +2436,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2470,15 +2448,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2514,7 +2492,7 @@ msgstr ""
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2522,7 +2500,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2779,19 +2757,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2799,15 +2777,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2844,14 +2822,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2967,11 +2949,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -2979,11 +2961,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -2995,7 +2973,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3028,7 +3006,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3103,8 +3081,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr ""
@ -3116,7 +3095,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3136,7 +3115,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3144,15 +3123,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3168,23 +3147,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3196,7 +3175,7 @@ msgstr ""
msgid "integer required"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3209,6 +3188,11 @@ msgstr ""
msgid "invalid arguments"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr ""
@ -3217,6 +3201,16 @@ msgstr ""
msgid "invalid dupterm index"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr ""
@ -3270,11 +3264,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3342,11 +3332,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3368,15 +3354,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3397,7 +3383,7 @@ msgstr ""
msgid "module not found"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3515,10 +3501,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3587,7 +3569,7 @@ msgstr ""
msgid "odd-length string"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3616,8 +3598,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3625,7 +3607,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3642,11 +3624,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3679,7 +3669,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3702,6 +3692,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3721,12 +3712,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3746,6 +3740,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3762,7 +3760,7 @@ msgstr ""
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3797,7 +3795,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3844,7 +3842,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3868,19 +3866,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -3994,7 +3992,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4007,11 +4005,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4153,10 +4151,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4186,7 +4180,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4194,7 +4188,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4210,7 +4205,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4234,15 +4229,15 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-02-25 00:24+0000\n"
"PO-Revision-Date: 2021-03-16 00:47+0000\n"
"Last-Translator: Daniel Glocker <mystboy666@gmail.com>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.5\n"
"X-Generator: Weblate 4.5.2-dev\n"
#: main.c
msgid ""
@ -81,6 +81,7 @@ msgstr "%q in Benutzung"
#: 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/raspberrypi/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"
@ -346,6 +347,10 @@ msgstr "Alle SPI-Peripheriegeräte sind in Benutzung"
msgid "All UART peripherals are in use"
msgstr "Alle UART-Peripheriegeräte sind in Benutzung"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "Alle event Kanäle werden benutzt"
@ -415,6 +420,10 @@ msgstr "AnalogOut kann nur 16 Bit. Der Wert muss unter 65536 liegen."
msgid "AnalogOut not supported on given pin"
msgstr "AnalogOut ist an diesem Pin nicht unterstützt"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -533,6 +542,7 @@ msgid "Buffer is too small"
msgstr "Der Puffer ist zu klein"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr "Die Pufferlänge %d ist zu groß. Sie muss kleiner als %d sein"
@ -562,6 +572,7 @@ msgstr "Puffer um %d Bytes zu kurz"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr "Bus pin %d wird schon benutzt"
@ -679,7 +690,7 @@ msgstr "Übertragung ohne MOSI- und MISO-Pins nicht möglich."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "sizeof scalar kann nicht eindeutig bestimmt werden"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
"Die Frequenz eines bereits verwendeten Timers kann nicht variiert werden"
@ -767,14 +778,6 @@ msgstr "Konnte SDKarte nicht initialisieren"
msgid "Could not initialize UART"
msgstr "Konnte UART nicht initialisieren"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Kanal konnte nicht initialisiert werden"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Timer konnte nicht initialisiert werden"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr "Kanal konnte nicht neu initiiert werden"
@ -795,7 +798,7 @@ msgstr "Clock konnte nicht ermittelt werden"
msgid "Could not set address"
msgstr "Konnte Adresse nicht setzen"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr "PWM konnte nicht gestartet werden"
@ -952,11 +955,11 @@ msgid "Extended advertisements with scan response not supported."
msgstr ""
"Erweiterte Werbung (advertising) mit Scanantwort wird nicht unterstützt."
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr "FFT ist nur für ndarrays definiert"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr "FFT ist nur für lineare Arrays implementiert"
@ -983,6 +986,7 @@ msgstr "Konnte keinen RX Buffer allozieren"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -996,6 +1000,10 @@ msgstr "Zuweisung des Wifi Speichers ist fehlgeschlagen"
msgid "Failed to allocate wifi scan memory"
msgstr "Zuweisung des Wifi Scan Speichers ist fehlgeschlagen"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Verbindung fehlgeschlagen: interner Fehler"
@ -1044,7 +1052,7 @@ msgstr "Format nicht unterstützt"
msgid "Framebuffer requires %d bytes"
msgstr "Framepuffer benötigt %d bytes"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
"Die Frequenz muss mit dem vorhandenen PWMOut unter Verwendung dieses Timers "
@ -1065,10 +1073,6 @@ msgstr "Generischer Fehler"
msgid "Group already used"
msgstr "Gruppe schon benutzt"
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "Gruppe voll"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1201,6 +1205,7 @@ msgstr "Ungültiger %q"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "Ungültiger %q Pin"
@ -1228,7 +1233,9 @@ msgid "Invalid DAC pin supplied"
msgstr "Ungültiger DAC-Pin angegeben"
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "Ungültige PWM Frequenz"
@ -1276,14 +1283,10 @@ msgstr "Ungültige Datei"
msgid "Invalid format chunk size"
msgstr "Ungültige format chunk size"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr "Ungültige Frequenz"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Ungültige Frequenz geliefert"
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr "Ungültiger Speicherzugriff."
@ -1329,10 +1332,6 @@ msgstr "Ungültiger Pin für rechten Kanal"
msgid "Invalid pins"
msgstr "Ungültige Pins"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr "Ungültige Pins für PWMOut"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1587,18 +1586,6 @@ msgstr "Es wurde kein Schlüssel angegeben"
msgid "No long integer support"
msgstr "Keine langen Integer (long) unterstützt"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "An diesem Pin sind keine Timer mehr verfügbar."
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1630,8 +1617,12 @@ msgid "No timer available"
msgstr "Kein Timer verfügbar"
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgstr "Fehlerbehauptung für Nordic Soft Device."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
@ -1649,7 +1640,7 @@ msgstr "Spielt nicht ab"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
msgstr "Gespeicherter Code wird nicht ausgeführt.\n"
#: shared-bindings/_bleio/__init__.c
msgid "Not settable"
@ -1764,7 +1755,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr "ParallelBus wird noch nicht unterstützt"
@ -1823,6 +1813,10 @@ msgstr ""
"Bytes verbraucht. Wenn dies nicht vermieden werden kann, übergeben Sie "
"allow_inefficient = True an den Konstruktor"
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1857,6 +1851,8 @@ msgstr "Der Präfixbuffer muss sich auf dem Heap befinden"
#: main.c
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
msgstr ""
"Drücke eine beliebige Taste um REPL zu betreten. Drücke STRG-D zum "
"neuladen.\n"
#: main.c
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
@ -1935,7 +1931,7 @@ msgstr "Nur lesen möglich, da Schreibgeschützt"
msgid "Read-only filesystem"
msgstr "Schreibgeschützte Dateisystem"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr "Schreibgeschützte Objekt"
@ -2010,14 +2006,6 @@ msgstr "Abtastrate zu hoch. Wert muss unter %d liegen"
msgid "Scan already in progess. Stop with stop_scan."
msgstr "Scannen Sie bereits in Bearbeitung. Stoppen Sie mit stop_scan."
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr "Ausgewählter CTS-Pin ungültig"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr "Ausgewählter RTS-Pin ungültig"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2170,11 +2158,6 @@ msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
"Zeitbeschränkung ist zu groß: Maximale Zeitbeschränkung ist %d Sekunden"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr "Zum beenden, resette bitte das board ohne "
@ -2313,8 +2296,8 @@ msgstr "Unbekannter Sicherheitsfehler: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr "Unbekannter Soft Device-Fehler: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
@ -2345,7 +2328,7 @@ msgstr "Nicht unterstützter display bus type"
msgid "Unsupported format"
msgstr "Nicht unterstütztes Format"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "Nicht unterstützte Operation"
@ -2482,11 +2465,11 @@ msgstr "adresses ist leer"
msgid "arg is an empty sequence"
msgstr "arg ist eine leere Sequenz"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr "Das Argument argsort muss ein ndarray sein"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2494,10 +2477,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr "Argument hat falschen Typ"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr "Argument muss ein ndarray sein"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2507,7 +2486,8 @@ msgstr "Anzahl/Typen der Argumente passen nicht"
msgid "argument should be a '%q' not a '%q'"
msgstr "Argument sollte '%q' sein, nicht '%q'"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr "Argumente müssen ndarrays sein"
@ -2520,11 +2500,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr "Array/Bytes auf der rechten Seite erforderlich"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr "Sie haben versucht argmin/argmax von einer leeren Sequenz zu bekommen"
@ -2532,15 +2512,15 @@ msgstr "Sie haben versucht argmin/argmax von einer leeren Sequenz zu bekommen"
msgid "attributes not supported yet"
msgstr "Attribute werden noch nicht unterstützt"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2576,7 +2556,7 @@ msgstr "Es müssen 8 oder 16 bits_per_sample sein"
msgid "branch not in range"
msgstr "Zweig ist außerhalb der Reichweite"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2584,7 +2564,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr "Puffer muss ein bytes-artiges Objekt sein"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2851,19 +2831,19 @@ msgstr "constant muss ein integer sein"
msgid "conversion to object"
msgstr "Umwandlung zu Objekt"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr "Convolve-Argumente müssen lineare Arrays sein"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr "Convolve-Argumente müssen ndarrays sein"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr "Convolve Argumente dürfen nicht leer sein"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr "Vandermonde-Matrix konnte nicht invertiert werden"
@ -2871,15 +2851,15 @@ msgstr "Vandermonde-Matrix konnte nicht invertiert werden"
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2918,14 +2898,18 @@ msgstr "destination_length muss ein int >= 0 sein"
msgid "dict update sequence has wrong length"
msgstr "Die Wörterbuch-Aktualisierungssequenz hat eine falsche Länge"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr "diff Argument muss ein ndarray sein"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -3041,11 +3025,11 @@ msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein"
msgid "filesystem must provide mount method"
msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -3053,11 +3037,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr "Das erste Argument muss iterierbar sein"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr "Das erste Argument muss ein Ndarray sein"
@ -3069,7 +3049,7 @@ msgstr "Das erste Argument für super() muss type sein"
msgid "flattening order must be either 'C', or 'F'"
msgstr "Die Abflachungsreihenfolge muss entweder \"C\" oder \"F\" sein"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr "Das Flip-Argument muss ein Ndarray sein"
@ -3102,7 +3082,7 @@ msgstr "Funktion erwartet maximal %d Argumente, aber hat %d erhalten"
msgid "function got multiple values for argument '%q'"
msgstr "Funktion hat mehrere Werte für Argument '%q'"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3179,8 +3159,9 @@ msgstr "padding ist inkorrekt"
msgid "index is out of bounds"
msgstr "Index ist außerhalb der Grenzen"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "index außerhalb der Reichweite"
@ -3192,7 +3173,7 @@ msgstr "Indizes müssen Integer sein"
msgid "indices must be integers, slices, or Boolean lists"
msgstr "Indizes müssen Integer, Slices oder Boolesche Listen sein"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr "Ausgangswerte müssen iterierbar sein"
@ -3212,7 +3193,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr "Die Länge des Eingabearrays muss eine Potenz von 2 sein"
@ -3220,15 +3201,15 @@ msgstr "Die Länge des Eingabearrays muss eine Potenz von 2 sein"
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr "Eingabedaten müssen iterierbar sein"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr "Eingabematrix ist asymmetrisch"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr "Eingabematrix ist singulär"
@ -3244,23 +3225,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr "Die Eingabe muss eine quadratische Matrix sein"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr "Die Eingabe muss Tupel, Liste, Bereich oder Ndarray sein"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr "Eingabevektoren müssen gleich lang sein"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3272,7 +3253,7 @@ msgstr "int() arg 2 muss >= 2 und <= 36 sein"
msgid "integer required"
msgstr "integer erforderlich"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3285,6 +3266,11 @@ msgstr "Das Intervall muss im Bereich %s-%s sein"
msgid "invalid arguments"
msgstr "ungültige argumente"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "ungültiges cert"
@ -3293,6 +3279,16 @@ msgstr "ungültiges cert"
msgid "invalid dupterm index"
msgstr "ungültiger dupterm index"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "ungültiges Format"
@ -3346,11 +3342,7 @@ msgstr "issubclass() arg 1 muss eine Klasse sein"
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr "issubclass() arg 2 muss eine Klasse oder ein Tupel von Klassen sein"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr "iterables sind nicht gleich lang"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr "Iterationen sind nicht konvergiert (converged)"
@ -3424,11 +3416,7 @@ msgstr "map buffer zu klein"
msgid "math domain error"
msgstr "Mathe-Domain-Fehler"
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr "Matrix Dimensionen stimmen nicht überein"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr "Matrix ist nicht positiv definitiv"
@ -3450,15 +3438,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "maximale Rekursionstiefe überschritten"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3479,7 +3467,7 @@ msgstr ""
msgid "module not found"
msgstr "Modul nicht gefunden"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr "mehr Freiheitsgrade als Datenpunkte"
@ -3597,10 +3585,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr "keine 128-bit UUID"
@ -3670,7 +3654,7 @@ msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich"
msgid "odd-length string"
msgstr "String mit ungerader Länge"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3700,8 +3684,8 @@ msgid "only slices with step=1 (aka None) are supported"
msgstr ""
"Es werden nur Slices mit Schritt = 1 (auch bekannt als None) unterstützt"
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr "Operanden konnten nicht zusammen gesendet werden"
@ -3709,7 +3693,7 @@ msgstr "Operanden konnten nicht zusammen gesendet werden"
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr "Die Operation ist für ndarrays nicht implementiert"
@ -3728,11 +3712,19 @@ msgstr ""
"ord() erwartet einen Buchstaben(char) aber es wurde ein String mit Länge %d "
"gefunden"
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr "Außerhalb des Bereichs der Quelle"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr "Außerhalb des Bereichs des Ziels"
@ -3765,7 +3757,7 @@ msgstr "Die Parameter müssen Register der Reihenfolge a2 bis a5 sein"
msgid "parameters must be registers in sequence r0 to r3"
msgstr "Die Parameter müssen Register der Reihenfolge r0 bis r3 sein"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr "Pixelkoordinaten außerhalb der Grenzen"
@ -3788,6 +3780,7 @@ msgstr "pop von einem leeren PulseIn"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3807,12 +3800,15 @@ msgstr "pow () mit 3 Argumenten erfordert Integer"
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3832,6 +3828,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3848,7 +3848,7 @@ msgstr "Warteschlangenüberlauf"
msgid "raw f-strings are not implemented"
msgstr "rohe F-Strings sind nicht implementiert"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr "Real- und Imaginärteile müssen gleich lang sein"
@ -3883,7 +3883,7 @@ msgstr "rgb_pins[%d] dupliziert eine andere Pinbelegung"
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr "rgb_pins [%d] befindet sich nicht am selben Port wie clock"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3932,7 +3932,7 @@ msgstr "Vorzeichen mit ganzzahligem Formatbezeichner 'c' nicht erlaubt"
msgid "single '}' encountered in format string"
msgstr "einzelne '}' in Formatierungs-String gefunden"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr "Größe ist nur für ndarrays definiert"
@ -3956,19 +3956,19 @@ msgstr "small int Überlauf"
msgid "soft reboot\n"
msgstr "weicher reboot\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr "sortierungs Argument muss ein ndarray sein"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -4083,7 +4083,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr "zu viele Argumente mit dem angegebenen Format"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4096,11 +4096,11 @@ msgstr "zu viele Indizes"
msgid "too many values to unpack (expected %d)"
msgstr "zu viele Werte zum Auspacken (erwartet %d)"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4246,10 +4246,6 @@ msgstr "Wert muss in %d Byte(s) passen"
msgid "value_count must be > 0"
msgstr "value_count muss größer als 0 sein"
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr "Vektoren müssen die selbe Länge haben"
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4279,7 +4275,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr "Fenster muss <= Intervall sein"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4287,7 +4283,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr "falscher Eingabetyp"
@ -4303,7 +4300,7 @@ msgstr "falsche Anzahl zu entpackender Werte"
msgid "wrong operand type"
msgstr "falscher Operandentyp"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr "Falscher Ausgabetyp"
@ -4327,18 +4324,63 @@ msgstr "y Wert außerhalb der Grenzen"
msgid "zero step"
msgstr "Nullschritt"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
#~ msgid "argument must be ndarray"
#~ msgstr "Argument muss ein ndarray sein"
#~ msgid "matrix dimensions do not match"
#~ msgstr "Matrix Dimensionen stimmen nicht überein"
#~ msgid "vectors must have same lengths"
#~ msgstr "Vektoren müssen die selbe Länge haben"
#~ msgid "Nordic Soft Device failure assertion."
#~ msgstr "Fehlerbehauptung für Nordic Soft Device."
#~ msgid "Unknown soft device error: %04x"
#~ msgstr "Unbekannter Soft Device-Fehler: %04x"
#~ msgid "first argument must be an iterable"
#~ msgstr "Das erste Argument muss iterierbar sein"
#~ msgid "iterables are not of the same length"
#~ msgstr "iterables sind nicht gleich lang"
#~ msgid "Selected CTS pin not valid"
#~ msgstr "Ausgewählter CTS-Pin ungültig"
#~ msgid "Selected RTS pin not valid"
#~ msgstr "Ausgewählter RTS-Pin ungültig"
#~ msgid "Could not initialize channel"
#~ msgstr "Kanal konnte nicht initialisiert werden"
#~ msgid "Could not initialize timer"
#~ msgstr "Timer konnte nicht initialisiert werden"
#~ msgid "Invalid frequency supplied"
#~ msgstr "Ungültige Frequenz geliefert"
#~ msgid "Invalid pins for PWMOut"
#~ msgstr "Ungültige Pins für PWMOut"
#~ msgid "No more timers available on this pin."
#~ msgstr "An diesem Pin sind keine Timer mehr verfügbar."
#~ msgid "Group full"
#~ msgstr "Gruppe voll"
#~ msgid "bits must be 7, 8 or 9"
#~ msgstr "bits muss 7, 8 oder 9 sein"

View File

@ -73,6 +73,7 @@ msgstr ""
#: 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/raspberrypi/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"
@ -337,6 +338,10 @@ msgstr ""
msgid "All UART peripherals are in use"
msgstr ""
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr ""
@ -406,6 +411,10 @@ msgstr ""
msgid "AnalogOut not supported on given pin"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -520,6 +529,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -549,6 +559,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr ""
@ -665,7 +676,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -747,14 +758,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -775,7 +778,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -931,11 +934,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -962,6 +965,7 @@ msgstr ""
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -975,6 +979,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1023,7 +1031,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1042,10 +1050,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr ""
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1176,6 +1180,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr ""
@ -1203,7 +1208,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr ""
@ -1251,14 +1258,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1304,10 +1307,6 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1560,18 +1559,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1603,7 +1590,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1731,7 +1722,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1787,6 +1777,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1899,7 +1893,7 @@ msgstr ""
msgid "Read-only filesystem"
msgstr ""
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr ""
@ -1974,14 +1968,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2122,11 +2108,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2263,7 +2244,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2291,7 +2272,7 @@ msgstr ""
msgid "Unsupported format"
msgstr ""
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr ""
@ -2417,11 +2398,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2429,10 +2410,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2442,7 +2419,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2455,11 +2433,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2467,15 +2445,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2511,7 +2489,7 @@ msgstr ""
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2519,7 +2497,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2776,19 +2754,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2796,15 +2774,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2841,14 +2819,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2964,11 +2946,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -2976,11 +2958,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -2992,7 +2970,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3025,7 +3003,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3100,8 +3078,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr ""
@ -3113,7 +3092,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3133,7 +3112,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3141,15 +3120,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3165,23 +3144,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3193,7 +3172,7 @@ msgstr ""
msgid "integer required"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3206,6 +3185,11 @@ msgstr ""
msgid "invalid arguments"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr ""
@ -3214,6 +3198,16 @@ msgstr ""
msgid "invalid dupterm index"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr ""
@ -3267,11 +3261,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3339,11 +3329,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3365,15 +3351,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3394,7 +3380,7 @@ msgstr ""
msgid "module not found"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3512,10 +3498,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3584,7 +3566,7 @@ msgstr ""
msgid "odd-length string"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3613,8 +3595,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3622,7 +3604,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3639,11 +3621,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3676,7 +3666,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3699,6 +3689,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3718,12 +3709,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3743,6 +3737,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3759,7 +3757,7 @@ msgstr ""
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3794,7 +3792,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3841,7 +3839,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3865,19 +3863,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -3991,7 +3989,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4004,11 +4002,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4150,10 +4148,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4183,7 +4177,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4191,7 +4185,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4207,7 +4202,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4231,14 +4226,14 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-03-02 02:24+0000\n"
"PO-Revision-Date: 2021-04-05 22:35+0000\n"
"Last-Translator: Jose David M <jquintana202020@gmail.com>\n"
"Language-Team: \n"
"Language: es\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.5\n"
"X-Generator: Weblate 4.6-dev\n"
#: main.c
msgid ""
@ -84,6 +84,7 @@ msgstr "%q está siendo utilizado"
#: 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/raspberrypi/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"
@ -348,6 +349,10 @@ msgstr "Todos los periféricos SPI están siendo usados"
msgid "All UART peripherals are in use"
msgstr "Todos los periféricos UART están siendo usados"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr "Todos los canales esta en uso"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "Todos los canales de eventos estan siendo usados"
@ -419,6 +424,10 @@ msgstr "AnalogOut es solo de 16 bits. El valor debe ser menor que 65536."
msgid "AnalogOut not supported on given pin"
msgstr "El pin proporcionado no soporta AnalogOut"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -538,6 +547,7 @@ msgid "Buffer is too small"
msgstr "El buffer es muy pequeño"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr "Longitud del buffer %d es demasiado grande. Tiene que ser menor a %d"
@ -567,6 +577,7 @@ msgstr "Búffer muy corto por %d bytes"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr "Bus pin %d ya está siendo utilizado"
@ -687,7 +698,7 @@ msgstr "No se puede transmitir sin pines MOSI y MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "No se puede obtener inequívocamente sizeof escalar"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr "No puede variar la frecuencia en un temporizador que ya está en uso"
@ -773,14 +784,6 @@ msgstr "No se pudo inicializar SDCard"
msgid "Could not initialize UART"
msgstr "No se puede inicializar la UART"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "No se pudo inicializar el canal"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "No se pudo inicializar el temporizador"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr "No se pudo reiniciar el canal"
@ -801,7 +804,7 @@ msgstr "No puedo traer el reloj"
msgid "Could not set address"
msgstr "No se puede definir la dirección"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr "No se pudo iniciar PWM"
@ -957,11 +960,11 @@ msgstr "Se esperaba un tuple de %d, se obtuvo %d"
msgid "Extended advertisements with scan response not supported."
msgstr "No se admiten anuncios extendidos con respuesta de escaneo."
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr "FFT se define solo para ndarrays"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr "FFT solo esta implementado para arrays lineales"
@ -988,6 +991,7 @@ msgstr "Ha fallado la asignación del buffer RX"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -1001,6 +1005,10 @@ msgstr "Fallo al tomar memoria Wifi"
msgid "Failed to allocate wifi scan memory"
msgstr "Fallo al tomar memoria para búsqueda wifi"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Error al conectar: error interno"
@ -1049,7 +1057,7 @@ msgstr "Sin capacidades para el formato"
msgid "Framebuffer requires %d bytes"
msgstr "Framebuffer requiere %d bytes"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
"La frecuencia debe coincidir con PWMOut existente usando este temporizador"
@ -1069,10 +1077,6 @@ msgstr "Fallo Genérico"
msgid "Group already used"
msgstr "Grupo ya está siendo utilizado"
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "Group lleno"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1115,6 +1119,7 @@ msgstr "IV debe tener %d bytes de longitud"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "In-buffer elements must be <= 4 bytes long"
msgstr ""
"Los elementos del búfer de entrada deben ser de una longitud <= 4 bytes"
#: py/persistentcode.c
msgid ""
@ -1211,6 +1216,7 @@ msgstr "%q inválido"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "Pin %q inválido"
@ -1238,7 +1244,9 @@ msgid "Invalid DAC pin supplied"
msgstr "Pin suministrado inválido para DAC"
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "Frecuencia PWM inválida"
@ -1286,14 +1294,10 @@ msgstr "Archivo inválido"
msgid "Invalid format chunk size"
msgstr "Formato de fragmento de formato no válido"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr "Frecuencia inválida"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Frecuencia suministrada no válida"
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr "Acceso a memoria no válido."
@ -1339,10 +1343,6 @@ msgstr "Pin inválido para canal derecho"
msgid "Invalid pins"
msgstr "pines inválidos"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr "Pines inválidos para PWMOut"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1599,18 +1599,6 @@ msgstr "No se especificó ninguna llave"
msgid "No long integer support"
msgstr "No hay soporte de entero largo"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr "No hay más canales disponibles"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr "No hay más temporizadores disponibles"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "No hay más temporizadores disponibles en este pin."
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr "No hay una red con ese ssid"
@ -1642,8 +1630,12 @@ msgid "No timer available"
msgstr "No hay temporizador disponible"
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgstr "Fallo de aserción de dispositivo Nordic Soft."
msgid "Nordic system firmware failure assertion."
msgstr "Falla en la aserción del firmware del dispositivo Nordic."
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr "El firmware del sistema Nordic no tiene memoria"
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
@ -1742,7 +1734,7 @@ msgstr "Se acabaron los enchufes"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Out-buffer elements must be <= 4 bytes long"
msgstr ""
msgstr "Los elementos del búfer de salida deben ser de una longitud <= 4 bytes"
#: shared-bindings/bitops/__init__.c
#, c-format
@ -1771,14 +1763,13 @@ msgstr ""
#: ports/raspberrypi/common-hal/countio/Counter.c
msgid "PWM slice already in use"
msgstr ""
msgstr "Segmento PWM ya esta en uso"
#: ports/raspberrypi/common-hal/countio/Counter.c
msgid "PWM slice channel A already in use"
msgstr ""
msgstr "Segmento del PWM canal A ya esta en uso"
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr "ParallelBus todavía no soportado"
@ -1816,7 +1807,7 @@ msgstr "El pin es solo de entrada"
#: ports/raspberrypi/common-hal/countio/Counter.c
msgid "Pin must be on PWM Channel B"
msgstr ""
msgstr "El pin debe estar en el PWM canal B"
#: ports/atmel-samd/common-hal/countio/Counter.c
msgid "Pin must support hardware interrupts"
@ -1837,6 +1828,10 @@ msgstr ""
"ideales. Si esto no se puede evitar, pase allow_inefficient=True al "
"constructor"
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr "Los pines deben estar en orden secuencial"
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr "Los pines deben compartir la división PWM"
@ -1956,7 +1951,7 @@ msgstr "Solo-lectura"
msgid "Read-only filesystem"
msgstr "Sistema de archivos de solo-Lectura"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr "Objeto de solo-lectura"
@ -2031,14 +2026,6 @@ msgstr "Frecuencia de muestreo demasiado alta. Debe ser menor a %d"
msgid "Scan already in progess. Stop with stop_scan."
msgstr "Escaneo en progreso. Usa stop_scan para detener."
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr "Pin CTS seleccionado no válido"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr "Pin RTS seleccionado no válido"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2141,11 +2128,10 @@ msgid ""
"enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n"
msgstr ""
"La alimentación del microntrolador cayó. Asegúrate que tu fuente de "
"La alimentación del microntrolador bajó. Asegúrate que tu fuente de "
"alimentación\n"
"pueda aportar suficiente energía para todo el circuito y presiona reset "
"(luego de\n"
"expulsar CIRCUITPY)\n"
"(luego de expulsar CIRCUITPY)\n"
#: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's"
@ -2190,13 +2176,6 @@ msgstr ""
"Tiempo de espera demasiado largo: El tiempo máximo de espera es de %d "
"segundos"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
"El temporizador es utilizado para uso interno - declare los pines para PWM "
"más temprano en el programa"
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr "Para salir, por favor reinicia la tarjeta sin "
@ -2334,8 +2313,8 @@ msgstr "Error de seguridad desconocido: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr "Error leve desconocido en dispositivo: %04x"
msgid "Unknown system firmware error: %04x"
msgstr "Error desconocido en el firmware sistema: %04x"
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
@ -2364,7 +2343,7 @@ msgstr "Sin capacidad de bus tipo display"
msgid "Unsupported format"
msgstr "Formato no soportado"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "Operación no soportada"
@ -2499,11 +2478,11 @@ msgstr "addresses esta vacío"
msgid "arg is an empty sequence"
msgstr "argumento es una secuencia vacía"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr "El argumento para argsort debe ser un ndarray"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr "El argot no está implementado para arrays aplanados"
@ -2511,10 +2490,6 @@ msgstr "El argot no está implementado para arrays aplanados"
msgid "argument has wrong type"
msgstr "el argumento tiene un tipo erroneo"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr "argumento debe ser ndarray"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2524,7 +2499,8 @@ msgstr "argumento número/tipos no coinciden"
msgid "argument should be a '%q' not a '%q'"
msgstr "argumento deberia ser un '%q' no un '%q'"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr "argumentos deben ser ndarrays"
@ -2537,11 +2513,11 @@ msgstr "Longitud del array e índice tienen que ser iguales"
msgid "array/bytes required on right side"
msgstr "array/bytes requeridos en el lado derecho"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr "Intendo de obteber (arg)min/(arg)max de secuencia vacía"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr "intento de obtener argmin/argmax de una secuencia vacía"
@ -2549,15 +2525,15 @@ msgstr "intento de obtener argmin/argmax de una secuencia vacía"
msgid "attributes not supported yet"
msgstr "atributos aún no soportados"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr "Eje está fuera de sus límites"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr "Eje tiene que ser None, o un entero"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr "Eje demasiado largo"
@ -2593,7 +2569,7 @@ msgstr "bits_per_sample debe ser 8 ó 16"
msgid "branch not in range"
msgstr "la rama no está dentro del rango"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr "El buffer es mas pequeño que el requerido"
@ -2601,7 +2577,7 @@ msgstr "El buffer es mas pequeño que el requerido"
msgid "buffer must be a bytes-like object"
msgstr "buffer debe de ser un objeto bytes-like"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr "El tamaño del buffer debe ser un múltiplo del tamaño del elemento"
@ -2817,7 +2793,7 @@ msgstr "circulo solo puede ser registrado con un pariente"
#: shared-bindings/bitmaptools/__init__.c
msgid "clip point must be (x,y) tuple"
msgstr ""
msgstr "El punto de recorte debe ser una tupla (x, y)"
#: shared-bindings/msgpack/ExtType.c
msgid "code outside range 0~127"
@ -2863,19 +2839,19 @@ msgstr "constant debe ser un entero"
msgid "conversion to object"
msgstr "conversión a objeto"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr "los argumentos para convolve deben ser arreglos lineares"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr "los argumentos para convolve deben ser ndarrays"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr "los argumentos para convolve no deben estar vacíos"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr "no se pudo invertir la matriz de Vandermonde"
@ -2883,15 +2859,15 @@ msgstr "no se pudo invertir la matriz de Vandermonde"
msgid "couldn't determine SD card version"
msgstr "no se pudo determinar la versión de la tarjeta SD"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr "Cruce está definido para un array 1D de longitud 3"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr "los datos deben permitir iteración"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr "los datos deben ser de igual tamaño"
@ -2930,14 +2906,18 @@ msgstr "destination_length debe ser un int >= 0"
msgid "dict update sequence has wrong length"
msgstr "la secuencia de actualizacion del dict tiene una longitud incorrecta"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr "El argumento diff debe ser un ndarray"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr "Orden de diferenciación fuera de rango"
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr "las dimensiones no concuerdan"
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -3053,11 +3033,11 @@ msgstr "el archivo deberia ser una archivo abierto en modo byte"
msgid "filesystem must provide mount method"
msgstr "sistema de archivos debe proporcionar método de montaje"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr "se debe poder llamar al primer argumento"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr "el primer argumento debe ser una función"
@ -3065,11 +3045,7 @@ msgstr "el primer argumento debe ser una función"
msgid "first argument must be a tuple of ndarrays"
msgstr "Primer argumento tiene que ser una tupla de ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr "el primer argumento debe ser un iterable"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr "el primer argumento debe ser ndarray"
@ -3081,7 +3057,7 @@ msgstr "primer argumento para super() debe ser de tipo"
msgid "flattening order must be either 'C', or 'F'"
msgstr "el orden de aplanamiento debe ser 'C' o 'F'"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr "el argumento invertido debe ser un ndarray"
@ -3114,7 +3090,7 @@ msgstr "la función esperaba minimo %d argumentos, tiene %d"
msgid "function got multiple values for argument '%q'"
msgstr "la función tiene múltiples valores para el argumento '%q'"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr "la función tiene el mismo signo a extremos del intervalo"
@ -3189,8 +3165,9 @@ msgstr "relleno (padding) incorrecto"
msgid "index is out of bounds"
msgstr "el índice está fuera de límites"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "index fuera de rango"
@ -3202,7 +3179,7 @@ msgstr "indices deben ser enteros"
msgid "indices must be integers, slices, or Boolean lists"
msgstr "los índices deben ser enteros, particiones o listas de booleanos"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr "los valores iniciales deben permitir iteración"
@ -3222,7 +3199,7 @@ msgstr "Formas de entrada y salida no son compactibles"
msgid "input argument must be an integer, a tuple, or a list"
msgstr "argumento de entrada debe ser un entero, una tupla o una lista"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr "el tamaño del arreglo de entrada debe ser potencia de 2"
@ -3230,15 +3207,15 @@ msgstr "el tamaño del arreglo de entrada debe ser potencia de 2"
msgid "input arrays are not compatible"
msgstr "Arrays de entrada no son compactibles"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr "los datos de entrada deben ser iterables"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr "la matriz de entrada es asimétrica"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr "la matriz de entrada es singular"
@ -3254,23 +3231,23 @@ msgstr "Entrada tiene que ser un tensor de rango 2"
msgid "input must be an ndarray"
msgstr "Entrada tiene que ser un ndarray"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr "Entrada tiene que ser unidimensional"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr "la entrada debe ser una matriz cuadrada"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr "la entrada debe ser una tupla, lista, rango o ndarray"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr "los vectores de entrada deben ser de igual tamaño"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr "Entradas no son iterables"
@ -3282,7 +3259,7 @@ msgstr "int() arg 2 debe ser >= 2 y <= 36"
msgid "integer required"
msgstr "Entero requerido"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr "interp está definido para arreglos de 1D del mismo tamaño"
@ -3295,6 +3272,11 @@ msgstr "el intervalo debe ser der rango %s-%s"
msgid "invalid arguments"
msgstr "argumentos inválidos"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr "los bits_per_pixel %d no son validos, deben ser 1, 4, 8, 16, 24 o 32"
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "certificado inválido"
@ -3303,6 +3285,16 @@ msgstr "certificado inválido"
msgid "invalid dupterm index"
msgstr "index dupterm inválido"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr "el tamaño del elemento no es valido%d por bits_per_pixel %d\n"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr "el element_size %d,no es valido, debe ser 1,2 ó 4"
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "formato inválido"
@ -3356,11 +3348,7 @@ msgstr "issubclass() arg 1 debe ser una clase"
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr "issubclass() arg 2 debe ser una clase o tuple de clases"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr "los iterables no son del mismo tamaño"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr "las iteraciones no convergen"
@ -3431,11 +3419,7 @@ msgstr "map buffer muy pequeño"
msgid "math domain error"
msgstr "error de dominio matemático"
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr "las dimensiones de la matriz no coinciden"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr "matrix no es definida positiva"
@ -3457,15 +3441,15 @@ msgstr "Máximo número de dimensiones es 4"
msgid "maximum recursion depth exceeded"
msgstr "profundidad máxima de recursión excedida"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr "maxiter tiene que ser > 0"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr "maxiter debe ser > 0"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr "argumento median debe ser una matriz ndarray"
@ -3487,7 +3471,7 @@ msgstr ""
msgid "module not found"
msgstr "módulo no encontrado"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr "más grados de libertad que los puntos de datos"
@ -3607,10 +3591,6 @@ msgstr "el tiempo de espera non-zero deber ser > 0.01"
msgid "non-zero timeout must be >= interval"
msgstr "el tiempo de espera non-zero debe ser >= intervalo"
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr "norma está definida para arrays 1D y 2D"
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr "no es 128-bit UUID"
@ -3680,7 +3660,7 @@ msgstr "objeto con protocolo de buffer requerido"
msgid "odd-length string"
msgstr "string de longitud impar"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr "offset es demasiado grande"
@ -3709,8 +3689,8 @@ msgstr "solo se admite sample_rate=16000"
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo se admiten segmentos con step=1 (alias None)"
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr "los operandos no se pueden transmitir juntos"
@ -3718,7 +3698,7 @@ msgstr "los operandos no se pueden transmitir juntos"
msgid "operation is implemented for 1D Boolean arrays only"
msgstr "operación solo está implementada para arrays booleanos de 1D"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr "la operación no está implementada para ndarrays"
@ -3735,11 +3715,19 @@ msgstr "ord espera un carácter"
msgid "ord() expected a character, but string of length %d found"
msgstr "ord() espera un carácter, pero encontró un string de longitud %d"
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr "La matriz de salida es demasiado pequeña"
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr "la matriz de salida debe ser densa de números float"
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr "fuera de rango de fuente"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr "fuera de rango del objetivo"
@ -3772,7 +3760,7 @@ msgstr "los parámetros deben ser registros en secuencia de a2 a a5"
msgid "parameters must be registers in sequence r0 to r3"
msgstr "los parametros deben ser registros en secuencia del r0 al r3"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr "coordenadas del pixel fuera de límites"
@ -3795,6 +3783,7 @@ msgstr "pop de un PulseIn vacío"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3814,12 +3803,15 @@ msgstr "pow() con 3 argumentos requiere enteros"
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3839,6 +3831,10 @@ msgstr "presionando botón de arranque al inicio.\n"
msgid "pressing both buttons at start up.\n"
msgstr "presionando ambos botones al inicio.\n"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr "máscara de pull en conflicto con máscara de dirección"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr "pull_threshold debe esta entre 1 y 32"
@ -3855,7 +3851,7 @@ msgstr "desbordamiento de cola(queue)"
msgid "raw f-strings are not implemented"
msgstr "no está implementado cadenas-f sin procesar"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr "las partes reales e imaginarias deben ser de igual longitud"
@ -3890,7 +3886,7 @@ msgstr "rgb_pins[%d] duplica otra asignación de pin"
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr "rgb_pins[%d] no está en el mismo puerto que el reloj"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr "Argumento enrolado tiene que ser un ndarray"
@ -3939,7 +3935,7 @@ msgstr "signo no permitido con el especificador integer format 'c'"
msgid "single '}' encountered in format string"
msgstr "un solo '}' encontrado en format string"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr "el tamaño se define solo para ndarrays"
@ -3963,19 +3959,19 @@ msgstr "pequeño int desbordamiento"
msgid "soft reboot\n"
msgstr "reinicio suave\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr "argumento de ordenado debe ser un ndarray"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "el arreglo sos debe de forma (n_section, 6)"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr "sos[:, 3] deberían ser todos unos"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr "sosfilt requiere argumentos iterables"
@ -4090,7 +4086,7 @@ msgstr "tobytes solo pueden ser invocados por arrays densos"
msgid "too many arguments provided with the given format"
msgstr "demasiados argumentos provistos con el formato dado"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr "demasiadas dimensiones"
@ -4103,11 +4099,11 @@ msgstr "demasiados índices"
msgid "too many values to unpack (expected %d)"
msgstr "demasiados valores para descomprimir (%d esperado)"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr "trapz esta definido para matrices 1D"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr "trapz está definido para arreglos 1D de igual tamaño"
@ -4249,10 +4245,6 @@ msgstr "el valor debe caber en %d byte(s)"
msgid "value_count must be > 0"
msgstr "value_count debe ser > 0"
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr "los vectores deben tener el mismo tamaño"
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr "conflicto de wakeup"
@ -4282,7 +4274,7 @@ msgstr "wifi no esta habilitado"
msgid "window must be <= interval"
msgstr "la ventana debe ser <= intervalo"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr "indice de eje erróneo"
@ -4290,7 +4282,8 @@ msgstr "indice de eje erróneo"
msgid "wrong axis specified"
msgstr "eje especificado erróneo"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr "tipo de entrada incorrecta"
@ -4306,7 +4299,7 @@ msgstr "numero erroneo de valores a descomprimir"
msgid "wrong operand type"
msgstr "tipo de operando incorrecto"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr "tipo de salida incorrecta"
@ -4330,18 +4323,82 @@ msgstr "valor y fuera de límites"
msgid "zero step"
msgstr "paso cero"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr "zi debe ser un ndarray"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr "zi debe ser de tipo flotante"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (n_section,2)"
#~ msgid "argument must be ndarray"
#~ msgstr "argumento debe ser ndarray"
#~ msgid "matrix dimensions do not match"
#~ msgstr "las dimensiones de la matriz no coinciden"
#~ msgid "norm is defined for 1D and 2D arrays"
#~ msgstr "norma está definida para arrays 1D y 2D"
#~ msgid "vectors must have same lengths"
#~ msgstr "los vectores deben tener el mismo tamaño"
#~ msgid "Nordic Soft Device failure assertion."
#~ msgstr "Fallo de aserción de dispositivo Nordic Soft."
#~ msgid "Nordic soft device out of memory"
#~ msgstr "El firmaware del sistema no tiene memoria"
#~ msgid "Unknown soft device error: %04x"
#~ msgstr "Error leve desconocido en dispositivo: %04x"
#~ msgid "first argument must be an iterable"
#~ msgstr "el primer argumento debe ser un iterable"
#~ msgid "iterables are not of the same length"
#~ msgstr "los iterables no son del mismo tamaño"
#~ msgid "Selected CTS pin not valid"
#~ msgstr "Pin CTS seleccionado no válido"
#~ msgid "Selected RTS pin not valid"
#~ msgstr "Pin RTS seleccionado no válido"
#~ msgid "Could not initialize channel"
#~ msgstr "No se pudo inicializar el canal"
#~ msgid "Could not initialize timer"
#~ msgstr "No se pudo inicializar el temporizador"
#~ msgid "Invalid frequency supplied"
#~ msgstr "Frecuencia suministrada no válida"
#~ msgid "Invalid pins for PWMOut"
#~ msgstr "Pines inválidos para PWMOut"
#~ msgid "No more channels available"
#~ msgstr "No hay más canales disponibles"
#~ msgid "No more timers available"
#~ msgstr "No hay más temporizadores disponibles"
#~ msgid "No more timers available on this pin."
#~ msgstr "No hay más temporizadores disponibles en este pin."
#~ msgid ""
#~ "Timer was reserved for internal use - declare PWM pins earlier in the "
#~ "program"
#~ msgstr ""
#~ "El temporizador es utilizado para uso interno - declare los pines para "
#~ "PWM más temprano en el programa"
#~ msgid "Group full"
#~ msgstr "Group lleno"
#~ msgid "In buffer elements must be 4 bytes long or less"
#~ msgstr ""
#~ "Los elementos del búfer de entrada deben ser de una longitud de 4 bytes o "

View File

@ -72,6 +72,7 @@ msgstr "%q ay ginagamit"
#: 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/raspberrypi/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"
@ -340,6 +341,10 @@ msgstr "Lahat ng SPI peripherals ay ginagamit"
msgid "All UART peripherals are in use"
msgstr "Lahat ng I2C peripherals ginagamit"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "Lahat ng event channels ginagamit"
@ -409,6 +414,10 @@ msgstr "AnalogOut ay 16 bits. Value ay dapat hindi hihigit pa sa 65536."
msgid "AnalogOut not supported on given pin"
msgstr "Hindi supportado ang AnalogOut sa ibinigay na pin"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -525,6 +534,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -554,6 +564,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
msgid "Bus pin %d is already in use"
msgstr "Ginagamit na ang DAC"
@ -672,7 +683,7 @@ msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -755,14 +766,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Hindi ma-initialize ang UART"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -783,7 +786,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -944,11 +947,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -975,6 +978,7 @@ msgstr "Nabigong ilaan ang RX buffer"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -988,6 +992,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1036,7 +1044,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1055,10 +1063,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "Puno ang group"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1191,6 +1195,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "Mali ang %q pin"
@ -1218,7 +1223,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "Mali ang PWM frequency"
@ -1266,14 +1273,10 @@ msgstr "Mali ang file"
msgid "Invalid format chunk size"
msgstr "Mali ang format ng chunk size"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1319,10 +1322,6 @@ msgstr "Mali ang pin para sa kanang channel"
msgid "Invalid pins"
msgstr "Mali ang pins"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1575,18 +1574,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1618,7 +1605,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1750,7 +1741,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1806,6 +1796,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1918,7 +1912,7 @@ msgstr "Basahin-lamang"
msgid "Read-only filesystem"
msgstr "Basahin-lamang mode"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
#, fuzzy
msgid "Read-only object"
msgstr "Basahin-lamang"
@ -1994,14 +1988,6 @@ msgstr "Sample rate ay masyadong mataas. Ito ay dapat hindi hiigit sa %d"
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2142,11 +2128,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr "Para lumabas, paki-reset ang board na wala ang "
@ -2284,7 +2265,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2313,7 +2294,7 @@ msgstr "Hindi supportadong tipo ng bitmap"
msgid "Unsupported format"
msgstr "Hindi supportadong format"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "Hindi sinusuportahang operasyon"
@ -2447,11 +2428,11 @@ msgstr "walang laman ang address"
msgid "arg is an empty sequence"
msgstr "arg ay walang laman na sequence"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2459,10 +2440,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr "may maling type ang argument"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2472,7 +2449,8 @@ msgstr "hindi tugma ang argument num/types"
msgid "argument should be a '%q' not a '%q'"
msgstr "argument ay dapat na '%q' hindi '%q'"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2485,11 +2463,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr "array/bytes kinakailangan sa kanang bahagi"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2497,15 +2475,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr "attributes hindi sinusuportahan"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2541,7 +2519,7 @@ msgstr "bits_per_sample ay dapat 8 o 16"
msgid "branch not in range"
msgstr "branch wala sa range"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2549,7 +2527,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr "buffer ay dapat bytes-like object"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2813,19 +2791,19 @@ msgstr "constant ay dapat na integer"
msgid "conversion to object"
msgstr "kombersyon to object"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2833,15 +2811,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2882,14 +2860,18 @@ msgstr "ang destination_length ay dapat na isang int >= 0"
msgid "dict update sequence has wrong length"
msgstr "may mali sa haba ng dict update sequence"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -3006,11 +2988,11 @@ msgstr "file ay dapat buksan sa byte mode"
msgid "filesystem must provide mount method"
msgstr "ang filesystem dapat mag bigay ng mount method"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -3018,11 +3000,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -3034,7 +3012,7 @@ msgstr "unang argument ng super() ay dapat type"
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3067,7 +3045,7 @@ msgstr "function na inaasahang %d ang argumento, ngunit %d ang nakuha"
msgid "function got multiple values for argument '%q'"
msgstr "ang function ay nakakuha ng maraming values para sa argument '%q'"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3143,8 +3121,9 @@ msgstr "mali ang padding"
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "index wala sa sakop"
@ -3156,7 +3135,7 @@ msgstr "ang mga indeks ay dapat na integer"
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3176,7 +3155,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3184,15 +3163,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3208,23 +3187,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3236,7 +3215,7 @@ msgstr "int() arg 2 ay dapat >=2 at <= 36"
msgid "integer required"
msgstr "kailangan ng int"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3249,6 +3228,11 @@ msgstr ""
msgid "invalid arguments"
msgstr "mali ang mga argumento"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "mali ang cert"
@ -3257,6 +3241,16 @@ msgstr "mali ang cert"
msgid "invalid dupterm index"
msgstr "mali ang dupterm index"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "hindi wastong pag-format"
@ -3310,11 +3304,7 @@ msgstr "issubclass() arg 1 ay dapat na class"
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr "issubclass() arg 2 ay dapat na class o tuple ng classes"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3386,11 +3376,7 @@ msgstr "masyadong maliit ang buffer map"
msgid "math domain error"
msgstr "may pagkakamali sa math domain"
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3412,15 +3398,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "lumagpas ang maximum recursion depth"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3441,7 +3427,7 @@ msgstr ""
msgid "module not found"
msgstr "module hindi nakita"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3559,10 +3545,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3631,7 +3613,7 @@ msgstr "object na may buffer protocol kinakailangan"
msgid "odd-length string"
msgstr "odd-length string"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3661,8 +3643,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan"
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3670,7 +3652,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3687,11 +3669,19 @@ msgstr "ord umaasa ng character"
msgid "ord() expected a character, but string of length %d found"
msgstr "ord() umaasa ng character pero string ng %d haba ang nakita"
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3724,7 +3714,7 @@ msgstr "ang mga parameter ay dapat na nagrerehistro sa sequence a2 hanggang a5"
msgid "parameters must be registers in sequence r0 to r3"
msgstr "ang mga parameter ay dapat na nagrerehistro sa sequence r0 hanggang r3"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
#, fuzzy
msgid "pixel coordinates out of bounds"
msgstr "wala sa sakop ang address"
@ -3748,6 +3738,7 @@ msgstr "pop mula sa walang laman na PulseIn"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3767,12 +3758,15 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3792,6 +3786,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3808,7 +3806,7 @@ msgstr "puno na ang pila (overflow)"
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3843,7 +3841,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3892,7 +3890,7 @@ msgstr "sign hindi maari sa integer format specifier 'c'"
msgid "single '}' encountered in format string"
msgstr "isang '}' nasalubong sa format string"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3916,19 +3914,19 @@ msgstr "small int overflow"
msgid "soft reboot\n"
msgstr "malambot na reboot\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -4044,7 +4042,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr "masyadong maraming mga argumento na ibinigay sa ibinigay na format"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4057,11 +4055,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr "masyadong maraming values para i-unpact (umaasa ng %d)"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4203,10 +4201,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4236,7 +4230,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4244,7 +4238,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4260,7 +4255,7 @@ msgstr "maling number ng value na i-unpack"
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4286,18 +4281,21 @@ msgstr "wala sa sakop ang address"
msgid "zero step"
msgstr "zero step"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
#~ msgid "Group full"
#~ msgstr "Puno ang group"
#~ msgid "bits must be 7, 8 or 9"
#~ msgstr "bits ay dapat 7, 8 o 9"

File diff suppressed because it is too large Load Diff

View File

@ -73,6 +73,7 @@ msgstr ""
#: 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/raspberrypi/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"
@ -337,6 +338,10 @@ msgstr ""
msgid "All UART peripherals are in use"
msgstr ""
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr ""
@ -406,6 +411,10 @@ msgstr ""
msgid "AnalogOut not supported on given pin"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -520,6 +529,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -549,6 +559,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr ""
@ -665,7 +676,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -747,14 +758,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -775,7 +778,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -931,11 +934,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -962,6 +965,7 @@ msgstr ""
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -975,6 +979,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1023,7 +1031,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1042,10 +1050,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr ""
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1176,6 +1180,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr ""
@ -1203,7 +1208,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr ""
@ -1251,14 +1258,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1304,10 +1307,6 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1560,18 +1559,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1603,7 +1590,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1731,7 +1722,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1787,6 +1777,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1899,7 +1893,7 @@ msgstr ""
msgid "Read-only filesystem"
msgstr ""
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr ""
@ -1974,14 +1968,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2122,11 +2108,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2263,7 +2244,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2291,7 +2272,7 @@ msgstr ""
msgid "Unsupported format"
msgstr ""
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr ""
@ -2417,11 +2398,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2429,10 +2410,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2442,7 +2419,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2455,11 +2433,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2467,15 +2445,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2511,7 +2489,7 @@ msgstr ""
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2519,7 +2497,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2776,19 +2754,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2796,15 +2774,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2841,14 +2819,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2964,11 +2946,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -2976,11 +2958,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -2992,7 +2970,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3025,7 +3003,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3100,8 +3078,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr ""
@ -3113,7 +3092,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3133,7 +3112,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3141,15 +3120,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3165,23 +3144,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3193,7 +3172,7 @@ msgstr ""
msgid "integer required"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3206,6 +3185,11 @@ msgstr ""
msgid "invalid arguments"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr ""
@ -3214,6 +3198,16 @@ msgstr ""
msgid "invalid dupterm index"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr ""
@ -3267,11 +3261,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3339,11 +3329,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3365,15 +3351,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3394,7 +3380,7 @@ msgstr ""
msgid "module not found"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3512,10 +3498,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3584,7 +3566,7 @@ msgstr ""
msgid "odd-length string"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3613,8 +3595,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3622,7 +3604,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3639,11 +3621,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3676,7 +3666,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3699,6 +3689,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3718,12 +3709,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3743,6 +3737,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3759,7 +3757,7 @@ msgstr ""
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3794,7 +3792,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3841,7 +3839,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3865,19 +3863,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -3991,7 +3989,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4004,11 +4002,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4150,10 +4148,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4183,7 +4177,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4191,7 +4185,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4207,7 +4202,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4231,14 +4226,14 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""

View File

@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-02-18 15:50+0000\n"
"Last-Translator: Luca De Filippo <luca.defilippo@translationcommons.org>\n"
"PO-Revision-Date: 2021-03-16 14:54+0000\n"
"Last-Translator: Alessandro Mandelli <mandelli.alessandro@ngi.it>\n"
"Language-Team: \n"
"Language: it_IT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.5\n"
"X-Generator: Weblate 4.5.2-dev\n"
#: main.c
msgid ""
@ -82,6 +82,7 @@ msgstr "%q in uso"
#: 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/raspberrypi/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"
@ -349,6 +350,10 @@ msgstr "Tutte le periferiche SPI sono in uso"
msgid "All UART peripherals are in use"
msgstr "Tutte le periferiche I2C sono in uso"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "Tutti i canali eventi utilizati"
@ -418,6 +423,10 @@ msgstr "AnalogOut ha solo 16 bit. Il valore deve essere meno di 65536."
msgid "AnalogOut not supported on given pin"
msgstr "AnalogOut non supportato sul pin scelto"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -535,6 +544,7 @@ msgid "Buffer is too small"
msgstr "Buffer troppo piccolo"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr "Lunghezza Buffer %d troppo grande. Deve essere meno di %d"
@ -564,6 +574,7 @@ msgstr "Buffer troppo piccolo di %d bytes"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr "Bus pin %d è già in uso"
@ -682,7 +693,7 @@ msgstr "Impossibile trasferire senza i pin MOSI e MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -765,14 +776,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Impossibile inizializzare l'UART"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -793,7 +796,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -953,11 +956,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -970,9 +973,9 @@ msgid "Failed sending command."
msgstr ""
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
#, c-format
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
msgstr "Impossibile acquisire il mutex, err 0x%04x"
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/raspberrypi/common-hal/busio/UART.c
@ -984,6 +987,7 @@ msgstr "Impossibile allocare buffer RX"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -997,6 +1001,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1014,9 +1022,9 @@ msgid "Failed to parse MP3 file"
msgstr ""
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
msgstr "Impossibile rilasciare il mutex, err 0x%04x"
#: supervisor/shared/safe_mode.c
msgid "Failed to write internal flash."
@ -1045,7 +1053,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1064,10 +1072,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "Gruppo pieno"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1200,6 +1204,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "Pin %q non valido"
@ -1227,7 +1232,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "Frequenza PWM non valida"
@ -1277,14 +1284,10 @@ msgstr "File non valido"
msgid "Invalid format chunk size"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1330,10 +1333,6 @@ msgstr "Pin non valido per il canale destro"
msgid "Invalid pins"
msgstr "Pin non validi"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1588,18 +1587,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1631,7 +1618,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1768,7 +1759,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1824,6 +1814,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1937,7 +1931,7 @@ msgstr "Sola lettura"
msgid "Read-only filesystem"
msgstr "Filesystem in sola lettura"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
#, fuzzy
msgid "Read-only object"
msgstr "Sola lettura"
@ -2015,14 +2009,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2163,11 +2149,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr "Per uscire resettare la scheda senza "
@ -2305,7 +2286,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2334,7 +2315,7 @@ msgstr "tipo di bitmap non supportato"
msgid "Unsupported format"
msgstr "Formato non supportato"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "Operazione non supportata"
@ -2460,11 +2441,11 @@ msgstr "gli indirizzi sono vuoti"
msgid "arg is an empty sequence"
msgstr "l'argomento è una sequenza vuota"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2472,10 +2453,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr "il tipo dell'argomento è errato"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2485,7 +2462,8 @@ msgstr "discrepanza di numero/tipo di argomenti"
msgid "argument should be a '%q' not a '%q'"
msgstr "l'argomento dovrebbe essere un '%q' e non un '%q'"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2498,11 +2476,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2510,15 +2488,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr "attributi non ancora supportati"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2556,7 +2534,7 @@ msgstr "i bit devono essere 7, 8 o 9"
msgid "branch not in range"
msgstr "argomento di chr() non è in range(256)"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2564,7 +2542,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2825,19 +2803,19 @@ msgstr "la costante deve essere un intero"
msgid "conversion to object"
msgstr "conversione in oggetto"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2845,15 +2823,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2893,14 +2871,18 @@ msgstr "destination_length deve essere un int >= 0"
msgid "dict update sequence has wrong length"
msgstr "sequanza di aggiornamento del dizionario ha la lunghezza errata"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -3017,11 +2999,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr "il filesystem deve fornire un metodo di mount"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -3029,11 +3011,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -3045,7 +3023,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3078,7 +3056,7 @@ msgstr "la funzione prevede al massimo %d argmoneti, ma ne ha ricevuti %d"
msgid "function got multiple values for argument '%q'"
msgstr "la funzione ha ricevuto valori multipli per l'argomento '%q'"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3154,8 +3132,9 @@ msgstr "padding incorretto"
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "indice fuori intervallo"
@ -3167,7 +3146,7 @@ msgstr "gli indici devono essere interi"
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3187,7 +3166,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3195,15 +3174,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3219,23 +3198,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3247,7 +3226,7 @@ msgstr "il secondo argomanto di int() deve essere >= 2 e <= 36"
msgid "integer required"
msgstr "intero richiesto"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3260,6 +3239,11 @@ msgstr ""
msgid "invalid arguments"
msgstr "argomenti non validi"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "certificato non valido"
@ -3268,6 +3252,16 @@ msgstr "certificato non valido"
msgid "invalid dupterm index"
msgstr "indice dupterm non valido"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "formato non valido"
@ -3323,11 +3317,7 @@ msgstr ""
"il secondo argomento di issubclass() deve essere una classe o una tupla di "
"classi"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3398,11 +3388,7 @@ msgstr "map buffer troppo piccolo"
msgid "math domain error"
msgstr "errore di dominio matematico"
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3424,15 +3410,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "profondità massima di ricorsione superata"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3453,7 +3439,7 @@ msgstr ""
msgid "module not found"
msgstr "modulo non trovato"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3572,10 +3558,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3646,7 +3628,7 @@ msgstr ""
msgid "odd-length string"
msgstr "stringa di lunghezza dispari"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3676,8 +3658,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo slice con step=1 (aka None) sono supportate"
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3685,7 +3667,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3703,11 +3685,19 @@ msgid "ord() expected a character, but string of length %d found"
msgstr ""
"ord() aspettava un carattere, ma ha ricevuto una stringa di lunghezza %d"
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3741,7 +3731,7 @@ msgstr "parametri devono essere i registri in sequenza da a2 a a5"
msgid "parameters must be registers in sequence r0 to r3"
msgstr "parametri devono essere i registri in sequenza da a2 a a5"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
#, fuzzy
msgid "pixel coordinates out of bounds"
msgstr "indirizzo fuori limite"
@ -3765,6 +3755,7 @@ msgstr "pop sun un PulseIn vuoto"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3784,12 +3775,15 @@ msgstr "pow() con 3 argomenti richiede interi"
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3809,6 +3803,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3825,7 +3823,7 @@ msgstr "overflow della coda"
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3860,7 +3858,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3909,7 +3907,7 @@ msgstr "segno non permesso nello spcificatore di formato 'c' della stringa"
msgid "single '}' encountered in format string"
msgstr "'}' singolo presente nella stringa di formattazione"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3933,19 +3931,19 @@ msgstr "small int overflow"
msgid "soft reboot\n"
msgstr "soft reboot\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -4061,7 +4059,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr "troppi argomenti forniti con il formato specificato"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4074,11 +4072,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr "troppi valori da scompattare (%d attesi)"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4155,9 +4153,9 @@ msgid "unindent does not match any outer indentation level"
msgstr ""
#: py/objstr.c
#, fuzzy, c-format
#, c-format
msgid "unknown conversion specifier %c"
msgstr "specificatore di conversione %s sconosciuto"
msgstr "specificatore di conversione %c sconosciuto"
#: py/objstr.c
msgid "unknown format code '%c' for object of type '%q'"
@ -4220,10 +4218,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4253,7 +4247,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4261,7 +4255,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4277,7 +4272,7 @@ msgstr "numero di valori da scompattare non corretto"
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4303,18 +4298,21 @@ msgstr "indirizzo fuori limite"
msgid "zero step"
msgstr "zero step"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
#~ msgid "Group full"
#~ msgstr "Gruppo pieno"
#~ msgid "bits must be 7, 8 or 9"
#~ msgstr "i bit devono essere 7, 8 o 9"

View File

@ -78,6 +78,7 @@ msgstr "%qは使用中"
#: 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/raspberrypi/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"
@ -342,6 +343,10 @@ msgstr "全てのSPI周辺機器が使用中"
msgid "All UART peripherals are in use"
msgstr "全てのUART周辺機器が使用中"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr "全てのイベントチャネルが使用中"
@ -411,6 +416,10 @@ msgstr "AnalogOutは16ビットです。値は65536以下でなければなり
msgid "AnalogOut not supported on given pin"
msgstr "指定のピンはAnalogOutに対応していません"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -527,6 +536,7 @@ msgid "Buffer is too small"
msgstr "バッファが小さすぎます"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr "バッファ長%dは大きすぎます。%d以下でなければなりません"
@ -556,6 +566,7 @@ msgstr "バッファが %d バイト足りません"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr "Busピン%dはすでに使用中"
@ -674,7 +685,7 @@ msgstr "MOSIピンとMISOピンなしに転送できません"
msgid "Cannot unambiguously get sizeof scalar"
msgstr "スカラのサイズを曖昧さなしに取得できません"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr "使用中のタイマー上では周波数を変えられません"
@ -758,14 +769,6 @@ msgstr "SDカードを初期化できません"
msgid "Could not initialize UART"
msgstr "UARTを初期化できません"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "チャネルを初期化できません"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "タイマーを初期化できません"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr "チャネルを再初期化できません"
@ -786,7 +789,7 @@ msgstr ""
msgid "Could not set address"
msgstr "アドレスをセットできません"
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr "PWMをスタートできません"
@ -942,11 +945,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr "FFTはndarrayでのみ使えます"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -973,6 +976,7 @@ msgstr "RXバッファの確保に失敗"
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -986,6 +990,10 @@ msgstr "Wi-Fiのメモリの確保に失敗"
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "接続失敗: 内部エラー"
@ -1034,7 +1042,7 @@ msgstr "非対応の形式"
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr "このタイマーを使う既存のPWMOutと周波数を一致させる必要があります"
@ -1053,10 +1061,6 @@ msgstr ""
msgid "Group already used"
msgstr "グループはすでに使われています"
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr "グループが一杯"
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1189,6 +1193,7 @@ msgstr "不正な %q"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr "不正な%qピン"
@ -1216,7 +1221,9 @@ msgid "Invalid DAC pin supplied"
msgstr "不正なDACピンが与えられました"
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr "無効なPWM周波数"
@ -1264,14 +1271,10 @@ msgstr "不正なファイル"
msgid "Invalid format chunk size"
msgstr "フォーマットチャンクのサイズが不正"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr "不正な周波数"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "不正な周波数が与えられました"
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr "不正なメモリアクセス"
@ -1317,10 +1320,6 @@ msgstr "右チャネルのピンが不正"
msgid "Invalid pins"
msgstr "ピンが不正"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr "PWMOutのピンが不正"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1573,18 +1572,6 @@ msgstr "キーが指定されていません"
msgid "No long integer support"
msgstr "long integerに対応していません"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr "使えるチャネルがもうありません"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr "使えるタイマーがもうありません"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "このピンには使えるタイマーがもうありません"
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1616,7 +1603,11 @@ msgid "No timer available"
msgstr "利用できるタイマーなし"
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1747,7 +1738,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr "ParallelBusにはまだ対応していません"
@ -1803,6 +1793,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1915,7 +1909,7 @@ msgstr "読み込み専用"
msgid "Read-only filesystem"
msgstr "読み込み専用のファイルシステム"
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr "読み込み専用のオブジェクト"
@ -1990,14 +1984,6 @@ msgstr "サンプルレートは%d以下でなければなりません"
msgid "Scan already in progess. Stop with stop_scan."
msgstr "既にスキャン進行中。stop_scanで停止してください"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr "選択されたCTSピンが不正"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr "選択されたRTSピンが正しくありません"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2144,11 +2130,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr "タイムアウトが長すぎです。最大のタイムアウト長は%d秒"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2286,8 +2267,8 @@ msgstr "不明なセキュリティエラー: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr "不明なソフトデバイスエラー: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
@ -2314,7 +2295,7 @@ msgstr ""
msgid "Unsupported format"
msgstr "非対応の形式"
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr "非対応の操作"
@ -2440,11 +2421,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr "argsortの引数はndarrayでなければなりません"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2452,10 +2433,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr "引数はndarrayでなければなりません"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2465,7 +2442,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr "引数には '%q' が必要('%q' ではなく)"
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr "引数はndarrayでなければなりません"
@ -2478,11 +2456,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr "右辺にはarray/bytesが必要"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2490,15 +2468,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr "属性は未対応です"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2534,7 +2512,7 @@ msgstr "bits_per_sampleは8または16でなければなりません"
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2542,7 +2520,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr "バッファはbytes-likeオブジェクトでなければなりません"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2801,19 +2779,19 @@ msgstr "定数は整数でなければなりません"
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr "convolve引数には1次元arrayが必要"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr "convolve引数はndarrayでなければなりません"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr "ヴァンデルモンド行列の逆行列を求められません"
@ -2821,15 +2799,15 @@ msgstr "ヴァンデルモンド行列の逆行列を求められません"
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr "dataはイテレート可能でなければなりません"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr "dataは同じ長さでなければなりません"
@ -2868,14 +2846,18 @@ msgstr "desitination_lengthは正の整数でなければなりません"
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr "引数はndarrayでなければなりません"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2991,11 +2973,11 @@ msgstr "fileはバイトモードで開かれたファイルでなければな
msgid "filesystem must provide mount method"
msgstr "filesystemはmountメソッドを提供しなければなりません"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr "1つ目の引数は呼び出し可能でなければなりません"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr "1つ目の引数は関数でなければなりません"
@ -3003,11 +2985,7 @@ msgstr "1つ目の引数は関数でなければなりません"
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr "1つ目の引数はイテレート可能でなければなりません"
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr "1つ目の引数はndarrayでなければなりません"
@ -3019,7 +2997,7 @@ msgstr "superの第1引数は型でなければなりません"
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr "flipの引数はndarrayでなければなりません"
@ -3052,7 +3030,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3127,8 +3105,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr "インデクスが範囲外"
@ -3141,7 +3120,7 @@ msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
"インデクスは、整数、スライス、boolのリストのいずれかでなければなりません"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3161,7 +3140,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr "入力array長は2の累乗でなければなりません"
@ -3169,15 +3148,15 @@ msgstr "入力array長は2の累乗でなければなりません"
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr "入力行列が非対称"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr "入力が非正則行列"
@ -3193,23 +3172,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr "入力は正方行列でなければなりません"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr "入力はtuple, list, range, ndarrayでなければなりません"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3221,7 +3200,7 @@ msgstr "int()の第2引数は2以上36以下でなければなりません"
msgid "integer required"
msgstr "整数が必要"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3234,6 +3213,11 @@ msgstr "intervalは%s-%sの範囲でなければなりません"
msgid "invalid arguments"
msgstr "不正な引数"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "不正な証明書"
@ -3242,6 +3226,16 @@ msgstr "不正な証明書"
msgid "invalid dupterm index"
msgstr "不正なduptermインデクス"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr ""
@ -3295,11 +3289,7 @@ msgstr "issubclass()の第1引数はクラスでなければなりません"
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr "issubclass()の第2引数はクラスかクラスのタプルでなければなりません"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr "iterableが同じ長さではありません"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr "収束しません"
@ -3367,11 +3357,7 @@ msgstr ""
msgid "math domain error"
msgstr "定義域エラー"
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr "行列の次元が一致しません"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr "正定値行列ではありません"
@ -3393,15 +3379,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "最大の再帰深度を超えました"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3422,7 +3408,7 @@ msgstr ""
msgid "module not found"
msgstr "モジュールが見つかりません"
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3540,10 +3526,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr "128ビットのUUIDではありません"
@ -3612,7 +3594,7 @@ msgstr ""
msgid "odd-length string"
msgstr "奇数長の文字列"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3641,8 +3623,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3650,7 +3632,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr "この演算はndarray上で実装されていません"
@ -3667,11 +3649,19 @@ msgstr "ord()は1文字を受け取ります"
msgid "ord() expected a character, but string of length %d found"
msgstr "ord()は1文字を要求しますが、長さ %d の文字列が与えられました"
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr "ソースが範囲外"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3704,7 +3694,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3729,6 +3719,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3748,12 +3739,15 @@ msgstr "pow()の第3引数には整数が必要"
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3773,6 +3767,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3789,7 +3787,7 @@ msgstr "キューがオーバーフローしました"
msgid "raw f-strings are not implemented"
msgstr "raw f-文字列は実装されていません"
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr "実数部と虚数部は同じ長さでなければなりません"
@ -3824,7 +3822,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr "rgb_pins[%d]はクロックと同じポートではありません"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3872,7 +3870,7 @@ msgstr "整数フォーマット指定子'c'で符号は使えません"
msgid "single '}' encountered in format string"
msgstr "文字列フォーマット中に孤立した '}' があります"
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3896,19 +3894,19 @@ msgstr "small int オーバーフロー"
msgid "soft reboot\n"
msgstr "ソフトリブート\n"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -4022,7 +4020,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr "指定された書式に対して引数が多すぎます"
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4035,11 +4033,11 @@ msgstr "インデクスが多すぎます"
msgid "too many values to unpack (expected %d)"
msgstr "アンパックする値が多すぎます (%d個を期待)"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr "trapzは同じ長さの1次元arrayに対して定義されています"
@ -4181,10 +4179,6 @@ msgstr "値は%dバイトに収まらなければなりません"
msgid "value_count must be > 0"
msgstr "value_countは0より大きくなければなりません"
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4214,7 +4208,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr "windowはinterval以下でなければなりません"
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4222,7 +4216,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4238,7 +4233,7 @@ msgstr "アンパックする値の個数が不正です"
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4262,18 +4257,63 @@ msgstr "yが範囲外"
msgid "zero step"
msgstr "ステップが0"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr "ziはndarrayでなければなりません"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr "ziはfloat値でなければなりません"
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
#~ msgid "argument must be ndarray"
#~ msgstr "引数はndarrayでなければなりません"
#~ msgid "matrix dimensions do not match"
#~ msgstr "行列の次元が一致しません"
#~ msgid "Unknown soft device error: %04x"
#~ msgstr "不明なソフトデバイスエラー: %04x"
#~ msgid "first argument must be an iterable"
#~ msgstr "1つ目の引数はイテレート可能でなければなりません"
#~ msgid "iterables are not of the same length"
#~ msgstr "iterableが同じ長さではありません"
#~ msgid "Selected CTS pin not valid"
#~ msgstr "選択されたCTSピンが不正"
#~ msgid "Selected RTS pin not valid"
#~ msgstr "選択されたRTSピンが正しくありません"
#~ msgid "Could not initialize channel"
#~ msgstr "チャネルを初期化できません"
#~ msgid "Could not initialize timer"
#~ msgstr "タイマーを初期化できません"
#~ msgid "Invalid frequency supplied"
#~ msgstr "不正な周波数が与えられました"
#~ msgid "Invalid pins for PWMOut"
#~ msgstr "PWMOutのピンが不正"
#~ msgid "No more channels available"
#~ msgstr "使えるチャネルがもうありません"
#~ msgid "No more timers available"
#~ msgstr "使えるタイマーがもうありません"
#~ msgid "No more timers available on this pin."
#~ msgstr "このピンには使えるタイマーがもうありません"
#~ msgid "Group full"
#~ msgstr "グループが一杯"
#~ msgid "bits must be 7, 8 or 9"
#~ msgstr "bitsは7, 8, 9のいずれかでなければなりません"

View File

@ -74,6 +74,7 @@ msgstr "%q 사용 중입니다"
#: 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/raspberrypi/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"
@ -338,6 +339,10 @@ msgstr "사용중인 모든 SPI주변 기기"
msgid "All UART peripherals are in use"
msgstr "사용중인 모든 UART주변 기기"
#: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use"
msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
msgstr ""
@ -407,6 +412,10 @@ msgstr ""
msgid "AnalogOut not supported on given pin"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active"
msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active"
@ -523,6 +532,7 @@ msgid "Buffer is too small"
msgstr ""
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
msgstr ""
@ -552,6 +562,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
msgstr ""
@ -668,7 +679,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -750,14 +761,6 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
@ -778,7 +781,7 @@ msgstr ""
msgid "Could not set address"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
@ -934,11 +937,11 @@ msgstr ""
msgid "Extended advertisements with scan response not supported."
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is defined for ndarrays only"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "FFT is implemented for linear arrays only"
msgstr ""
@ -965,6 +968,7 @@ msgstr ""
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
@ -978,6 +982,10 @@ msgstr ""
msgid "Failed to allocate wifi scan memory"
msgstr ""
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Failed to buffer the sample"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -1026,7 +1034,7 @@ msgstr ""
msgid "Framebuffer requires %d bytes"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
#: shared-bindings/pwmio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -1045,10 +1053,6 @@ msgstr ""
msgid "Group already used"
msgstr ""
#: shared-module/displayio/Group.c
msgid "Group full"
msgstr ""
#: 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/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
@ -1179,6 +1183,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Invalid %q pin"
msgstr ""
@ -1206,7 +1211,9 @@ msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/cxd56/common-hal/pwmio/PWMOut.c
#: ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
#: ports/nrf/common-hal/pwmio/PWMOut.c
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
msgid "Invalid PWM frequency"
msgstr ""
@ -1254,14 +1261,10 @@ msgstr "파일이 유효하지 않습니다"
msgid "Invalid format chunk size"
msgstr "형식 청크 크기가 잘못되었습니다"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Invalid memory access."
msgstr ""
@ -1307,10 +1310,6 @@ msgstr "오른쪽 채널 핀이 잘못되었습니다"
msgid "Invalid pins"
msgstr "핀이 유효하지 않습니다"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
#: shared-bindings/displayio/FourWire.c
msgid "Invalid polarity"
@ -1563,18 +1562,6 @@ msgstr ""
msgid "No long integer support"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
@ -1606,7 +1593,11 @@ msgid "No timer available"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
msgid "Nordic system firmware failure assertion."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Nordic system firmware out of memory"
msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
@ -1734,7 +1725,6 @@ msgid "PWM slice channel A already in use"
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1790,6 +1780,10 @@ msgid ""
"constructor"
msgstr ""
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice"
msgstr ""
@ -1902,7 +1896,7 @@ msgstr ""
msgid "Read-only filesystem"
msgstr ""
#: shared-module/bitmaptools/__init__.c shared-module/displayio/Bitmap.c
#: shared-module/displayio/Bitmap.c
msgid "Read-only object"
msgstr ""
@ -1977,14 +1971,6 @@ msgstr ""
msgid "Scan already in progess. Stop with stop_scan."
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected RTS pin not valid"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Serializer in use"
@ -2125,11 +2111,6 @@ msgstr ""
msgid "Timeout is too long: Maximum timeout length is %d seconds"
msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
@ -2267,7 +2248,7 @@ msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgid "Unknown system firmware error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
@ -2295,7 +2276,7 @@ msgstr ""
msgid "Unsupported format"
msgstr ""
#: py/moduerrno.c
#: ports/raspberrypi/common-hal/pulseio/PulseOut.c py/moduerrno.c
msgid "Unsupported operation"
msgstr ""
@ -2421,11 +2402,11 @@ msgstr ""
msgid "arg is an empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
msgstr ""
@ -2433,10 +2414,6 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
@ -2446,7 +2423,8 @@ msgstr ""
msgid "argument should be a '%q' not a '%q'"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
#: extmod/ulab/code/numpy/transform/transform.c
msgid "arguments must be ndarrays"
msgstr ""
@ -2459,11 +2437,11 @@ msgstr ""
msgid "array/bytes required on right side"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
msgstr ""
@ -2471,15 +2449,15 @@ msgstr ""
msgid "attributes not supported yet"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
msgid "axis must be None, or an integer"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "axis too long"
msgstr ""
@ -2515,7 +2493,7 @@ msgstr "bits_per_sample은 8 또는 16이어야합니다."
msgid "branch not in range"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer is smaller than requested size"
msgstr ""
@ -2523,7 +2501,7 @@ msgstr ""
msgid "buffer must be a bytes-like object"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "buffer size must be a multiple of element size"
msgstr ""
@ -2780,19 +2758,19 @@ msgstr ""
msgid "conversion to object"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be linear arrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must be ndarrays"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/numpy/filter/filter.c
msgid "convolve arguments must not be empty"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "could not invert Vandermonde matrix"
msgstr ""
@ -2800,15 +2778,15 @@ msgstr ""
msgid "couldn't determine SD card version"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be iterable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "data must be of equal length"
msgstr ""
@ -2845,14 +2823,18 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "diff argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "differentiation order out of range"
msgstr ""
#: extmod/ulab/code/numpy/transform/transform.c
msgid "dimensions do not match"
msgstr ""
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
@ -2968,11 +2950,11 @@ msgstr ""
msgid "filesystem must provide mount method"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be a callable"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "first argument must be a function"
msgstr ""
@ -2980,11 +2962,7 @@ msgstr ""
msgid "first argument must be a tuple of ndarrays"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "first argument must be an ndarray"
msgstr ""
@ -2996,7 +2974,7 @@ msgstr ""
msgid "flattening order must be either 'C', or 'F'"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "flip argument must be an ndarray"
msgstr ""
@ -3029,7 +3007,7 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "function has the same sign at the ends of interval"
msgstr ""
@ -3104,8 +3082,9 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c extmod/ulab/code/ulab_tools.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
#: shared-bindings/bitmaptools/__init__.c
msgid "index out of range"
msgstr ""
@ -3117,7 +3096,7 @@ msgstr ""
msgid "indices must be integers, slices, or Boolean lists"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "initial values must be iterable"
msgstr ""
@ -3137,7 +3116,7 @@ msgstr ""
msgid "input argument must be an integer, a tuple, or a list"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "input array length must be power of 2"
msgstr ""
@ -3145,15 +3124,15 @@ msgstr ""
msgid "input arrays are not compatible"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input data must be an iterable"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is asymmetric"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "input matrix is singular"
msgstr ""
@ -3169,23 +3148,23 @@ msgstr ""
msgid "input must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "input must be one-dimensional"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "input must be square matrix"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "input vectors must be of equal length"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "inputs are not iterable"
msgstr ""
@ -3197,7 +3176,7 @@ msgstr ""
msgid "integer required"
msgstr "정수가 필요합니다"
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "interp is defined for 1D arrays of equal length"
msgstr ""
@ -3210,6 +3189,11 @@ msgstr ""
msgid "invalid arguments"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 4, 8, 16, 24, or 32"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid cert"
msgstr "cert가 유효하지 않습니다"
@ -3218,6 +3202,16 @@ msgstr "cert가 유효하지 않습니다"
msgid "invalid dupterm index"
msgstr "Dupterm index가 유효하지 않습니다"
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element size %d for bits_per_pixel %d\n"
msgstr ""
#: shared-bindings/bitmaptools/__init__.c
#, c-format
msgid "invalid element_size %d, must be, 1, 2, or 4"
msgstr ""
#: extmod/modframebuf.c
msgid "invalid format"
msgstr "형식가 유효하지 않습니다"
@ -3271,11 +3265,7 @@ msgstr ""
msgid "issubclass() arg 2 must be a class or a tuple of classes"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "iterations did not converge"
msgstr ""
@ -3343,11 +3333,7 @@ msgstr ""
msgid "math domain error"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/numpy/linalg/linalg.c
msgid "matrix is not positive definite"
msgstr ""
@ -3369,15 +3355,15 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/scipy/optimize/optimize.c
msgid "maxiter should be > 0"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "median argument must be an ndarray"
msgstr ""
@ -3398,7 +3384,7 @@ msgstr ""
msgid "module not found"
msgstr ""
#: extmod/ulab/code/poly/poly.c
#: extmod/ulab/code/numpy/poly/poly.c
msgid "more degrees of freedom than data points"
msgstr ""
@ -3516,10 +3502,6 @@ msgstr ""
msgid "non-zero timeout must be >= interval"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
msgstr ""
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
msgstr ""
@ -3588,7 +3570,7 @@ msgstr ""
msgid "odd-length string"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/utils/utils.c
msgid "offset is too large"
msgstr ""
@ -3617,8 +3599,8 @@ msgstr ""
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
#: extmod/ulab/code/compare/compare.c extmod/ulab/code/ndarray.c
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "operands could not be broadcast together"
msgstr ""
@ -3626,7 +3608,7 @@ msgstr ""
msgid "operation is implemented for 1D Boolean arrays only"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
msgstr ""
@ -3643,11 +3625,19 @@ msgstr ""
msgid "ord() expected a character, but string of length %d found"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out array is too small"
msgstr ""
#: extmod/ulab/code/utils/utils.c
msgid "out must be a float dense array"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
@ -3680,7 +3670,7 @@ msgstr ""
msgid "parameters must be registers in sequence r0 to r3"
msgstr ""
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/bitmaptools/__init__.c shared-bindings/displayio/Bitmap.c
msgid "pixel coordinates out of bounds"
msgstr ""
@ -3703,6 +3693,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
@ -3722,12 +3713,15 @@ msgstr ""
#: ports/esp32s2/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_funhouse/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
#: ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@ -3747,6 +3741,10 @@ msgstr ""
msgid "pressing both buttons at start up.\n"
msgstr ""
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "pull masks conflict with direction masks"
msgstr ""
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "pull_threshold must be between 1 and 32"
msgstr ""
@ -3763,7 +3761,7 @@ msgstr ""
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft/fft.c
#: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length"
msgstr ""
@ -3798,7 +3796,7 @@ msgstr ""
msgid "rgb_pins[%d] is not on the same port as clock"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "roll argument must be an ndarray"
msgstr ""
@ -3845,7 +3843,7 @@ msgstr ""
msgid "single '}' encountered in format string"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
#: extmod/ulab/code/ulab_tools.c
msgid "size is defined for ndarrays only"
msgstr ""
@ -3869,19 +3867,19 @@ msgstr ""
msgid "soft reboot\n"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sos[:, 3] should be all ones"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "sosfilt requires iterable arguments"
msgstr ""
@ -3995,7 +3993,7 @@ msgstr ""
msgid "too many arguments provided with the given format"
msgstr ""
#: extmod/ulab/code/ulab_create.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/ulab_create.c
msgid "too many dimensions"
msgstr ""
@ -4008,11 +4006,11 @@ msgstr ""
msgid "too many values to unpack (expected %d)"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays"
msgstr ""
#: extmod/ulab/code/approx/approx.c
#: extmod/ulab/code/numpy/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
@ -4154,10 +4152,6 @@ msgstr ""
msgid "value_count must be > 0"
msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
msgid "wakeup conflict"
msgstr ""
@ -4187,7 +4181,7 @@ msgstr ""
msgid "window must be <= interval"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
#: extmod/ulab/code/numpy/numerical/numerical.c
msgid "wrong axis index"
msgstr ""
@ -4195,7 +4189,8 @@ msgstr ""
msgid "wrong axis specified"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/compare/compare.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong input type"
msgstr ""
@ -4211,7 +4206,7 @@ msgstr ""
msgid "wrong operand type"
msgstr ""
#: extmod/ulab/code/vector/vectorise.c
#: extmod/ulab/code/numpy/vector/vector.c
msgid "wrong output type"
msgstr ""
@ -4235,15 +4230,15 @@ msgstr ""
msgid "zero step"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be an ndarray"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of float type"
msgstr ""
#: extmod/ulab/code/filter/filter.c
#: extmod/ulab/code/scipy/signal/signal.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""

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