From ea9200a042e4a0c5fe0e773498d7697a5ea1c07f Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 16 Feb 2019 19:26:24 -0600 Subject: [PATCH 01/76] starting again; initial addition of 'frequencyio.FrequencyIn' --- .../common-hal/frequencyio/FrequencyIn.c | 545 ++++++++++++++++++ .../common-hal/frequencyio/FrequencyIn.h | 60 ++ shared-bindings/frequencyio/FrequencyIn.c | 238 ++++++++ shared-bindings/frequencyio/FrequencyIn.h | 46 ++ shared-bindings/frequencyio/__init__.c | 88 +++ 5 files changed, 977 insertions(+) create mode 100644 ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c create mode 100644 ports/atmel-samd/common-hal/frequencyio/FrequencyIn.h create mode 100644 shared-bindings/frequencyio/FrequencyIn.c create mode 100644 shared-bindings/frequencyio/FrequencyIn.h create mode 100644 shared-bindings/frequencyio/__init__.c diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c new file mode 100644 index 000000000000..e499684288a3 --- /dev/null +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c @@ -0,0 +1,545 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "hal/include/hal_gpio.h" +#include "atmel_start_pins.h" +#include "supervisor/shared/translate.h" + +#include "mpconfigport.h" +#include "py/runtime.h" +#include "timer_handler.h" +#include "background.h" + +#include "samd/clocks.h" +#include "samd/timers.h" +#include "samd/events.h" +#include "samd/pins.h" +#include "samd/external_interrupts.h" + +#include "shared-bindings/frequencyio/FrequencyIn.h" +#include "peripheral_clk_config.h" +#include "hpl_gclk_config.h" + +#include "tick.h" + +#ifdef SAMD21 +#include "hpl/gclk/hpl_gclk_base.h" +#endif + +static frequencyio_frequencyin_obj_t *active_frequencyins[TC_INST_NUM]; +volatile uint8_t reference_tc = 0xff; +#ifdef SAMD51 +static uint8_t dpll_gclk; +#endif + +void frequencyin_emergency_cancel_capture(uint8_t index) { + frequencyio_frequencyin_obj_t* self = active_frequencyins[index]; + + NVIC_DisableIRQ(self->TC_IRQ); + NVIC_ClearPendingIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_DisableIRQ(EIC_IRQn); + NVIC_ClearPendingIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_DisableIRQ(EIC_0_IRQn + self->channel); + NVIC_ClearPendingIRQ(EIC_0_IRQn + self->channel); + #endif + + common_hal_frequencyio_frequencyin_pause(self); // pause any further captures + + NVIC_EnableIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_EnableIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_EnableIRQ(EIC_0_IRQn + self->channel); + #endif + mp_raise_RuntimeError(translate("Frequency captured is above capability. Capture Paused.")); +} + +void frequencyin_interrupt_handler(uint8_t index) { + Tc* ref_tc = tc_insts[reference_tc]; + + if (!ref_tc->COUNT16.INTFLAG.bit.OVF) return; // false trigger + + uint32_t current_us; + uint64_t current_ms; + current_tick(¤t_ms, ¤t_us); + + for (uint8_t i = 0; i <= (TC_INST_NUM - 1); i++) { + if (active_frequencyins[i] != NULL) { + frequencyio_frequencyin_obj_t* self = active_frequencyins[i]; + Tc* tc = tc_insts[self->tc_index]; + + uint32_t mask = 1 << self->channel; + if ((EIC->INTFLAG.reg & mask) == mask) { + // Make sure capture_period has elapsed before we + // record a new event count. + if (current_ms - self->last_ms >= self->capture_period) { + float new_factor = self->last_us + (1000 - current_us); + self->factor = (current_ms - self->last_ms) + (new_factor / 1000); + self->last_ms = current_ms; + self->last_us = current_us; + + #ifdef SAMD51 + tc->COUNT16.CTRLBSET.bit.CMD = TC_CTRLBSET_CMD_READSYNC_Val; + while ((tc->COUNT16.SYNCBUSY.bit.COUNT == 1) || + (tc->COUNT16.CTRLBSET.bit.CMD == TC_CTRLBSET_CMD_READSYNC_Val)) { + } + #endif + + uint16_t new_freq = tc->COUNT16.COUNT.reg; + if ((tc->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) == 1) { + new_freq += 65535; + tc->COUNT16.INTFLAG.reg |= TC_INTFLAG_OVF; + } + self->frequency = new_freq; + + #ifdef SAMD51 + tc->COUNT16.CTRLBSET.bit.CMD = TC_CTRLBSET_CMD_RETRIGGER_Val; + while ((tc->COUNT16.SYNCBUSY.bit.COUNT == 1) || + (tc->COUNT16.CTRLBSET.bit.CMD == TC_CTRLBSET_CMD_RETRIGGER_Val)) { + } + #endif + } + EIC->INTFLAG.reg |= mask; + } + + // Check if we've reached the upper limit of detection + if (!background_tasks_ok() || self->errored_too_fast) { + self->errored_too_fast = true; + frequencyin_emergency_cancel_capture(i); + } + } + } + ref_tc->COUNT16.INTFLAG.reg |= TC_INTFLAG_OVF; +} + +void frequencyin_reference_tc_init() { + if (reference_tc == 0xff) { + return; + } + #ifdef SAMD21 + turn_on_clocks(true, reference_tc, 0, TC_HANDLER_FREQUENCYIN); + #endif + // use the DPLL we setup so that the reference_tc and freqin_tc(s) + // are using the same clock frequency. + #ifdef SAMD51 + if (dpll_gclk == 0xff) { + frequencyin_samd51_start_dpll(); + } + turn_on_clocks(true, reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + #endif + + Tc *tc = tc_insts[reference_tc]; + tc_set_enable(tc, false); + tc_reset(tc); + + #ifdef SAMD21 + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | TC_CTRLA_PRESCALER_DIV1; + tc->COUNT16.INTENSET.bit.OVF = 1; + NVIC_EnableIRQ(TC3_IRQn + reference_tc); + #endif + #ifdef SAMD51 + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | + TC_CTRLA_PRESCALER_DIV1; + tc->COUNT16.INTENSET.bit.OVF = 1; + NVIC_EnableIRQ(TC0_IRQn + reference_tc); + #endif +} + +bool frequencyin_reference_tc_enabled() { + if (reference_tc == 0xff) { + return false; + } + Tc *tc = tc_insts[reference_tc]; + return tc->COUNT16.CTRLA.bit.ENABLE; +} + +void frequencyin_reference_tc_enable(bool enable) { + if (reference_tc == 0xff) { + return; + } + Tc *tc = tc_insts[reference_tc]; + tc_set_enable(tc, enable); +} + +#ifdef SAMD51 +void frequencyin_samd51_start_dpll() { + if (clock_get_enabled(0, GCLK_SOURCE_DPLL1)) { + return; + } + + uint8_t free_gclk = find_free_gclk(1); + if (free_gclk == 0xff) { + dpll_gclk = 0xff; + return; + } + + GCLK->PCHCTRL[OSCCTRL_GCLK_ID_FDPLL1].reg = GCLK_PCHCTRL_CHEN | GCLK_PCHCTRL_GEN(free_gclk); + // TC4-7 can only have a max of 100MHz source + // DPLL1 frequency equation with [X]OSC32K as source: 98.304MHz = 32768(2999 + 1 + 0/32) + // Will also enable the Lock Bypass due to low-frequency sources causing DPLL unlocks + // as outlined in the Errata (1.12.1) + OSCCTRL->Dpll[1].DPLLRATIO.reg = OSCCTRL_DPLLRATIO_LDRFRAC(0) | OSCCTRL_DPLLRATIO_LDR(2999); + if (board_has_crystal()) { // we can use XOSC32K directly as the source + OSC32KCTRL->XOSC32K.bit.EN32K = 1; + OSCCTRL->Dpll[1].DPLLCTRLB.reg = OSCCTRL_DPLLCTRLB_REFCLK(1) | + OSCCTRL_DPLLCTRLB_LBYPASS; + } else { + // can't use OSCULP32K directly; need to setup a GCLK as a reference, + // which must be done in samd/clocks.c to avoid waiting for sync + return; + //OSC32KCTRL->OSCULP32K.bit.EN32K = 1; + //OSCCTRL->Dpll[1].DPLLCTRLB.reg = OSCCTRL_DPLLCTRLB_REFCLK(0); + } + OSCCTRL->Dpll[1].DPLLCTRLA.reg = OSCCTRL_DPLLCTRLA_ENABLE; + + while (!(OSCCTRL->Dpll[1].DPLLSTATUS.bit.LOCK || OSCCTRL->Dpll[1].DPLLSTATUS.bit.CLKRDY)) {} + enable_clock_generator(free_gclk, GCLK_GENCTRL_SRC_DPLL1_Val, 1); + dpll_gclk = free_gclk; +} + +void frequencyin_samd51_stop_dpll() { + if (!clock_get_enabled(0, GCLK_SOURCE_DPLL1)) { + return; + } + + disable_clock_generator(dpll_gclk); + + GCLK->PCHCTRL[OSCCTRL_GCLK_ID_FDPLL1].reg = 0; + OSCCTRL->Dpll[1].DPLLCTRLA.reg = 0; + OSCCTRL->Dpll[1].DPLLRATIO.reg = 0; + OSCCTRL->Dpll[1].DPLLCTRLB.reg = 0; + + while (OSCCTRL->Dpll[1].DPLLSYNCBUSY.bit.ENABLE) { + } + dpll_gclk = 0xff; +} +#endif + +void common_hal_frequencyio_frequencyin_construct(frequencyio_frequencyin_obj_t* self, const mcu_pin_obj_t* pin, const uint16_t capture_period) { + + if (!pin->has_extint) { + mp_raise_RuntimeError(translate("No hardware support on pin")); + } + if ((capture_period == 0) || (capture_period > 500)) { + // TODO: find a sutiable message that is already translated + mp_raise_ValueError(translate("Invalid something")); + } + uint32_t mask = 1 << pin->extint_channel; + if (eic_get_enable() == 1 && + #ifdef SAMD21 + ((EIC->INTENSET.vec.EXTINT & mask) != 0 || (EIC->EVCTRL.vec.EXTINTEO & mask) != 0)) { + #endif + #ifdef SAMD51 + ((EIC->INTENSET.bit.EXTINT & mask) != 0 || (EIC->EVCTRL.bit.EXTINTEO & mask) != 0)) { + #endif + mp_raise_RuntimeError(translate("EXTINT channel already in use")); + } + + uint8_t timer_index = find_free_timer(); + if (timer_index == 0xff) { + mp_raise_RuntimeError(translate("All timers in use")); + } + Tc *tc = tc_insts[timer_index]; + + self->tc_index = timer_index; + self->pin = pin->number; + self->channel = pin->extint_channel; + self->errored_too_fast = false; + self->last_ms = 0; + self->last_us = 1000; + self->capture_period = capture_period; + #ifdef SAMD21 + self->TC_IRQ = TC3_IRQn + timer_index; + #endif + #ifdef SAMD51 + self->TC_IRQ = TC0_IRQn + timer_index; + #endif + + active_frequencyins[timer_index] = self; + + // SAMD21: We use GCLK0 generated from DFLL running at 48mhz + // SAMD51: We use a GCLK generated from DPLL1 running at <100mhz + #ifdef SAMD21 + turn_on_clocks(true, timer_index, 0, TC_HANDLER_NO_INTERRUPT); + #endif + #ifdef SAMD51 + frequencyin_samd51_start_dpll(); + if (dpll_gclk == 0xff && !clock_get_enabled(0, GCLK_SOURCE_DPLL1)) { + common_hal_frequencyio_frequencyin_deinit(self); + mp_raise_RuntimeError(translate("No available clocks")); + } + turn_on_clocks(true, timer_index, dpll_gclk, TC_HANDLER_NO_INTERRUPT); + #endif + + // Ensure EIC is on + if (eic_get_enable() == 0) { + turn_on_external_interrupt_controller(); // enables EIC, so disable it after + } + eic_set_enable(false); + + uint8_t sense_setting = EIC_CONFIG_SENSE0_HIGH_Val; + uint8_t config_index = self->channel / 8; + uint8_t position = (self->channel % 8) * 4; + uint32_t masked_value = EIC->CONFIG[config_index].reg & ~(0xf << position); + EIC->CONFIG[config_index].reg = masked_value | (sense_setting << position); + + #ifdef SAMD21 + masked_value = EIC->EVCTRL.vec.EXTINTEO; + EIC->EVCTRL.vec.EXTINTEO = masked_value | (1 << self->channel); + #endif + #ifdef SAMD51 + masked_value = EIC->EVCTRL.bit.EXTINTEO; + EIC->EVCTRL.bit.EXTINTEO = masked_value | (1 << self->channel); + EIC->ASYNCH.bit.ASYNCH = 1; + #endif + + turn_on_cpu_interrupt(self->channel); + + eic_set_enable(true); + + // Turn on EVSYS + turn_on_event_system(); + uint8_t evsys_channel = find_async_event_channel(); + #ifdef SAMD21 + connect_event_user_to_channel((EVSYS_ID_USER_TC3_EVU + timer_index), evsys_channel); + #endif + #ifdef SAMD51 + connect_event_user_to_channel((EVSYS_ID_USER_TC0_EVU + timer_index), evsys_channel); + #endif + init_async_event_channel(evsys_channel, (EVSYS_ID_GEN_EIC_EXTINT_0 + self->channel)); + self->event_channel = evsys_channel; + + tc_set_enable(tc, false); + tc_reset(tc); + #ifdef SAMD21 + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | + TC_CTRLA_PRESCALER_DIV1; + tc->COUNT16.EVCTRL.bit.TCEI = 1; + tc->COUNT16.EVCTRL.bit.EVACT = TC_EVCTRL_EVACT_COUNT_Val; + #endif + + #ifdef SAMD51 + tc->COUNT16.EVCTRL.reg = TC_EVCTRL_EVACT(TC_EVCTRL_EVACT_COUNT_Val) | TC_EVCTRL_TCEI; + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | + TC_CTRLA_PRESCALER_DIV1; + #endif + + NVIC_EnableIRQ(self->TC_IRQ); + + gpio_set_pin_function(pin->number, GPIO_PIN_FUNCTION_A); + + tc_set_enable(tc, true); + + // setup reference TC if not already + if (reference_tc == 0xff) { + reference_tc = find_free_timer(); + if (reference_tc == 0xff) { + common_hal_frequencyio_frequencyin_deinit(self); + mp_raise_RuntimeError(translate("All timers in use")); + } + frequencyin_reference_tc_init(); + } + if (!frequencyin_reference_tc_enabled()) { + frequencyin_reference_tc_enable(true); + } +} + +bool common_hal_frequencyio_frequencyin_deinited(frequencyio_frequencyin_obj_t* self) { + return self->pin == NO_PIN; +} + +void common_hal_frequencyio_frequencyin_deinit(frequencyio_frequencyin_obj_t* self) { + if (common_hal_frequencyio_frequencyin_deinited(self)) { + return; + } + reset_pin(self->pin); + + // turn off EIC & EVSYS utilized by this TC + disable_event_channel(self->event_channel); + eic_set_enable(false); + #ifdef SAMD21 + disable_event_user(EVSYS_ID_USER_TC3_EVU + self->tc_index); + uint32_t masked_value = EIC->EVCTRL.vec.EXTINTEO; + EIC->EVCTRL.vec.EXTINTEO = masked_value ^ (1 << self->channel); + #endif + #ifdef SAMD51 + disable_event_user(EVSYS_ID_USER_TC0_EVU + self->tc_index); + uint32_t masked_value = EIC->EVCTRL.bit.EXTINTEO; + EIC->EVCTRL.bit.EXTINTEO = masked_value ^ (1 << self->channel); + NVIC_DisableIRQ(EIC_0_IRQn + self->channel); + NVIC_ClearPendingIRQ(EIC_0_IRQn + self->channel); + #endif + eic_set_enable(true); + // check if any other objects are using the EIC; if not, turn it off + if (EIC->EVCTRL.reg == 0 && EIC->INTENSET.reg == 0) { + eic_reset(); + turn_off_external_interrupt_controller(); + } + + // turn off the TC we were using + Tc *tc = tc_insts[self->tc_index]; + tc_set_enable(tc, false); + tc_reset(tc); + NVIC_DisableIRQ(self->TC_IRQ); + NVIC_ClearPendingIRQ(self->TC_IRQ); + + active_frequencyins[self->tc_index] = NULL; + self->tc_index = 0xff; + self->pin = NO_PIN; + + bool check_active = false; + for (uint8_t i = 0; i <= (TC_INST_NUM - 1); i++) { + if (active_frequencyins[i] != NULL) { + check_active = true; + } + } + if (!check_active) { + frequencyin_reference_tc_enable(false); + reference_tc = 0xff; + #ifdef SAMD51 + frequencyin_samd51_stop_dpll(); + #endif + } +} + +uint32_t common_hal_frequencyio_frequencyin_get_item(frequencyio_frequencyin_obj_t* self) { + NVIC_DisableIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_DisableIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_DisableIRQ(EIC_0_IRQn + self->channel); + #endif + + // adjust for actual capture period vs base `capture_period` + float frequency_adjustment = 0.0; + if (self->factor > self->capture_period) { + float time_each_event = self->factor / self->frequency; // get the time for each event during actual period + float capture_diff = self->factor - self->capture_period; // get the difference of actual and base periods + // we only need to adjust if the capture_diff can contain 1 or more events + // if so, we add how many events could have occured during the diff time + if (time_each_event > capture_diff) { + frequency_adjustment = capture_diff / time_each_event; + } + } + + float value = 1000 / (self->capture_period / (self->frequency + frequency_adjustment)); + + NVIC_ClearPendingIRQ(self->TC_IRQ); + NVIC_EnableIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_ClearPendingIRQ(EIC_IRQn); + NVIC_EnableIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_ClearPendingIRQ(EIC_0_IRQn + self->channel); + NVIC_EnableIRQ(EIC_0_IRQn + self->channel); + #endif + + return value; +} + +void common_hal_frequencyio_frequencyin_pause(frequencyio_frequencyin_obj_t* self) { + Tc *tc = tc_insts[self->tc_index]; + if (!tc->COUNT16.EVCTRL.bit.TCEI) { + return; + } + tc->COUNT16.EVCTRL.bit.TCEI = 0; + + #ifdef SAMD21 + uint32_t masked_value = EIC->EVCTRL.vec.EXTINTEO; + EIC->EVCTRL.vec.EXTINTEO = masked_value | (0 << self->channel); + #endif + #ifdef SAMD51 + uint32_t masked_value = EIC->EVCTRL.bit.EXTINTEO; + EIC->EVCTRL.bit.EXTINTEO = masked_value | (0 << self->channel); + #endif + return; +} + +void common_hal_frequencyio_frequencyin_resume(frequencyio_frequencyin_obj_t* self) { + Tc *tc = tc_insts[self->tc_index]; + if (tc->COUNT16.EVCTRL.bit.TCEI) { + return; + } + tc->COUNT16.EVCTRL.bit.TCEI = 1; + + #ifdef SAMD21 + uint32_t masked_value = EIC->EVCTRL.vec.EXTINTEO; + EIC->EVCTRL.vec.EXTINTEO = masked_value | (1 << self->channel); + #endif + #ifdef SAMD51 + uint32_t masked_value = EIC->EVCTRL.bit.EXTINTEO; + EIC->EVCTRL.bit.EXTINTEO = masked_value | (1 << self->channel); + #endif + self->errored_too_fast = false; + return; +} + +void common_hal_frequencyio_frequencyin_clear(frequencyio_frequencyin_obj_t* self) { + NVIC_DisableIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_DisableIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_DisableIRQ(EIC_0_IRQn + self->channel); + #endif + + self->frequency = 0; + + NVIC_ClearPendingIRQ(self->TC_IRQ); + NVIC_EnableIRQ(self->TC_IRQ); + #ifdef SAMD21 + NVIC_ClearPendingIRQ(EIC_IRQn); + NVIC_EnableIRQ(EIC_IRQn); + #endif + #ifdef SAMD51 + NVIC_ClearPendingIRQ(EIC_0_IRQn + self->channel); + NVIC_EnableIRQ(EIC_0_IRQn + self->channel); + #endif + return; +} + +uint16_t common_hal_frequencyio_frequencyin_get_capture_period(frequencyio_frequencyin_obj_t *self) { + return self->capture_period; +} + +void common_hal_frequencyio_frequencyin_set_capture_period(frequencyio_frequencyin_obj_t *self, uint16_t capture_period) { + if ((capture_period == 0) || (capture_period > 500)) { + // TODO: find a sutiable message that is already translated + mp_raise_ValueError(translate("Invalid something")); + } + + self->capture_period = capture_period; + + common_hal_frequencyio_frequencyin_clear(self); +} diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.h b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.h new file mode 100644 index 000000000000..abd63cc86d44 --- /dev/null +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.h @@ -0,0 +1,60 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_FREQUENCYIO_FREQUENCYIN_H +#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_FREQUENCYIO_FREQUENCYIN_H + +#include "common-hal/microcontroller/Pin.h" + +#include "py/obj.h" + +typedef struct { + mp_obj_base_t base; + uint8_t tc_index; + uint8_t pin; + uint8_t channel; + uint8_t event_channel; + uint32_t frequency; + volatile uint64_t last_ms; + volatile uint32_t last_us; + float factor; + uint32_t capture_period; + uint8_t TC_IRQ; + volatile bool errored_too_fast; +} frequencyio_frequencyin_obj_t; + +void frequencyin_interrupt_handler(uint8_t index); +void frequencyin_emergency_cancel_capture(uint8_t index); +void frequencyin_reference_tc_init(void); +void frequencyin_reference_tc_enable(bool enable); +bool frequencyin_reference_tc_enabled(void); +#ifdef SAMD51 +void frequencyin_samd51_start_dpll(void); +void frequencyin_samd51_stop_dpll(void); +#endif + + +#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_FREQUENCYIO_FREQUENCYIN_H diff --git a/shared-bindings/frequencyio/FrequencyIn.c b/shared-bindings/frequencyio/FrequencyIn.c new file mode 100644 index 000000000000..0e666d718e58 --- /dev/null +++ b/shared-bindings/frequencyio/FrequencyIn.c @@ -0,0 +1,238 @@ +/* + * This file is part of the Micro Python project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "lib/utils/context_manager_helpers.h" +#include "py/objproperty.h" +#include "py/runtime.h" +#include "py/runtime0.h" +#include "shared-bindings/microcontroller/Pin.h" +#include "shared-bindings/frequencyio/FrequencyIn.h" +#include "shared-bindings/util.h" +#include "supervisor/shared/translate.h" + +//| .. currentmodule:: frequencyio +//| +//| :class:`FrequencyIn` -- Read a frequency signal +//| ======================================================== +//| +//| FrequencyIn is used to measure the frequency, in hertz, of a digital signal +//| on an incoming pin. Accuracy has shown to be within 1kHz, if not better. +//| Current maximum detectable frequency is ~512kHz. +//| It will not determine pulse width (use ``PulseIn``). +//| +//| .. class:: FrequencyIn(pin, capture_period=10) +//| +//| Create a FrequencyIn object associated with the given pin. +//| +//| :param ~microcontroller.Pin pin: Pin to read frequency from. +//| :param int capture_period: Keyword argument to set the measurement period, in +//| milliseconds. Default is 10ms; maximum is 500ms. +//| +//| Read the incoming frequency from a pin:: +//| +//| import frequencyio +//| import board +//| +//| frequency = frequencyio.FrequencyIn(board.D11) +//| +//| # Loop while printing the detected frequency +//| while True: +//| print(frequency.value) +//| +//| # Optional clear() will reset the value +//| # to zero. Without this, if the incoming +//| # signal stops, the last reading will remain +//| # as the value. +//| frequency.clear() +//| +STATIC mp_obj_t frequencyio_frequencyin_make_new(const mp_obj_type_t *type, size_t n_args, + size_t n_kw, const mp_obj_t *pos_args) { + mp_arg_check_num(n_args, n_kw, 1, 2, true); + + frequencyio_frequencyin_obj_t *self = m_new_obj(frequencyio_frequencyin_obj_t); + self->base.type = &frequencyio_frequencyin_type; + mp_map_t kw_args; + mp_map_init_fixed_table(&kw_args, n_kw, pos_args + n_args); + enum { ARG_pin, ARG_capture_period }; + static const mp_arg_t allowed_args[] = { + { MP_QSTR_pin, MP_ARG_REQUIRED | MP_ARG_OBJ }, + { MP_QSTR_capture_period, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 10} }, + }; + mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; + mp_arg_parse_all(n_args, pos_args, &kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); + + assert_pin(args[ARG_pin].u_obj, false); + mcu_pin_obj_t* pin = MP_OBJ_TO_PTR(args[ARG_pin].u_obj); + assert_pin_free(pin); + + const uint16_t capture_period = args[ARG_capture_period].u_int; + + common_hal_frequencyio_frequencyin_construct(self, pin, capture_period); + + return MP_OBJ_FROM_PTR(self); +} + +//| .. method:: deinit() +//| +//| Deinitialises the FrequencyIn and releases any hardware resources for reuse. +//| +STATIC mp_obj_t frequencyio_frequencyin_deinit(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + common_hal_frequencyio_frequencyin_deinit(self); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_deinit_obj, frequencyio_frequencyin_deinit); + +//| .. method:: __enter__() +//| +//| No-op used by Context Managers. +//| +// Provided by context manager helper. + +//| .. method:: __exit__() +//| +//| Automatically deinitializes the hardware when exiting a context. See +//| :ref:`lifetime-and-contextmanagers` for more info. +//| +STATIC mp_obj_t frequencyio_frequencyin_obj___exit__(size_t n_args, const mp_obj_t *args) { + (void)n_args; + common_hal_frequencyio_frequencyin_deinit(args[0]); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(frequencyio_frequencyin___exit___obj, 4, 4, frequencyio_frequencyin_obj___exit__); + +//| .. method:: pause() +//| +//| Pause frequency capture. +//| +STATIC mp_obj_t frequencyio_frequencyin_obj_pause(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + common_hal_frequencyio_frequencyin_pause(self); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_pause_obj, frequencyio_frequencyin_obj_pause); + +//| .. method:: resume() +//| +//| Resumes frequency capture. +//| +STATIC mp_obj_t frequencyio_frequencyin_obj_resume(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + common_hal_frequencyio_frequencyin_resume(self); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_resume_obj, frequencyio_frequencyin_obj_resume); + +//| .. method:: clear() +//| +//| Clears the last detected frequency capture value. +//| + +STATIC mp_obj_t frequencyio_frequencyin_obj_clear(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + common_hal_frequencyio_frequencyin_clear(self); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_clear_obj, frequencyio_frequencyin_obj_clear); + +//| .. attribute:: capture_period +//| +//| The capture measurement period. +//| +//| .. note:: When setting a new ``capture_period``, all previous capture information is +//| cleared with a call to ``clear()``. +//| +STATIC mp_obj_t frequencyio_frequencyin_obj_get_capture_period(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + return MP_OBJ_NEW_SMALL_INT(common_hal_frequencyio_frequencyin_get_capture_period(self)); +} +MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequency_get_capture_period_obj, frequencyio_frequencyin_obj_get_capture_period); + +STATIC mp_obj_t frequencyio_frequencyin_obj_set_capture_period(mp_obj_t self_in, mp_obj_t capture_period) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + common_hal_frequencyio_frequencyin_set_capture_period(self, mp_obj_get_int(capture_period)); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_2(frequencyio_frequency_set_capture_period_obj, frequencyio_frequencyin_obj_set_capture_period); + +const mp_obj_property_t frequencyio_frequencyin_capture_period_obj = { + .base.type = &mp_type_property, + .proxy = {(mp_obj_t)&frequencyio_frequency_get_capture_period_obj, + (mp_obj_t)&frequencyio_frequency_set_capture_period_obj, + (mp_obj_t)&mp_const_none_obj}, +}; + +//| .. method:: __get__(index) +//| +//| Returns the value of the last frequency captured. +//| +STATIC mp_obj_t frequencyio_frequencyin_obj_get_value(mp_obj_t self_in) { + frequencyio_frequencyin_obj_t *self = MP_OBJ_TO_PTR(self_in); + raise_error_if_deinited(common_hal_frequencyio_frequencyin_deinited(self)); + + //return MP_OBJ_NEW_SMALL_INT(common_hal_frequencyio_frequencyin_get_item(self)); + return mp_obj_new_int_from_float(common_hal_frequencyio_frequencyin_get_item(self)); +} +MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_get_value_obj, frequencyio_frequencyin_obj_get_value); + +const mp_obj_property_t frequencyio_frequencyin_value_obj = { + .base.type = &mp_type_property, + .proxy = {(mp_obj_t)&frequencyio_frequencyin_get_value_obj, + (mp_obj_t)&mp_const_none_obj, + (mp_obj_t)&mp_const_none_obj}, +}; + +STATIC const mp_rom_map_elem_t frequencyio_frequencyin_locals_dict_table[] = { + // Methods + { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&frequencyio_frequencyin_deinit_obj) }, + { MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) }, + { MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&frequencyio_frequencyin___exit___obj) }, + { MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&frequencyio_frequencyin_value_obj) }, + { MP_ROM_QSTR(MP_QSTR_pause), MP_ROM_PTR(&frequencyio_frequencyin_pause_obj) }, + { MP_ROM_QSTR(MP_QSTR_resume), MP_ROM_PTR(&frequencyio_frequencyin_resume_obj) }, + { MP_ROM_QSTR(MP_QSTR_clear), MP_ROM_PTR(&frequencyio_frequencyin_clear_obj) }, + { MP_ROM_QSTR(MP_QSTR_capture_period), MP_ROM_PTR(&frequencyio_frequencyin_capture_period_obj) }, +}; +STATIC MP_DEFINE_CONST_DICT(frequencyio_frequencyin_locals_dict, frequencyio_frequencyin_locals_dict_table); + +const mp_obj_type_t frequencyio_frequencyin_type = { + { &mp_type_type }, + .name = MP_QSTR_frequencyin, + .make_new = frequencyio_frequencyin_make_new, + .locals_dict = (mp_obj_dict_t*)&frequencyio_frequencyin_locals_dict, +}; diff --git a/shared-bindings/frequencyio/FrequencyIn.h b/shared-bindings/frequencyio/FrequencyIn.h new file mode 100644 index 000000000000..4718075ece91 --- /dev/null +++ b/shared-bindings/frequencyio/FrequencyIn.h @@ -0,0 +1,46 @@ +frequencyio/* + * This file is part of the Micro Python project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO_FREQUENCYIN_H +#define MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO_FREQUENCYIN_H + +#include "common-hal/microcontroller/Pin.h" +#include "common-hal/frequencyio/FrequencyIn.h" + +extern const mp_obj_type_t frequencyio_frequencyin_type; + +extern void common_hal_frequencyio_frequencyin_construct(frequencyio_frequencyin_obj_t *self, + const mcu_pin_obj_t *pin, uint16_t capture_period); +extern void common_hal_frequencyio_frequencyin_deinit(frequencyio_frequencyin_obj_t *self); +extern bool common_hal_frequencyio_frequencyin_deinited(frequencyio_frequencyin_obj_t *self); +extern void common_hal_frequencyio_frequencyin_pause(frequencyio_frequencyin_obj_t *self); +extern void common_hal_frequencyio_frequencyin_resume(frequencyio_frequencyin_obj_t *self); +extern void common_hal_frequencyio_frequencyin_clear(frequencyio_frequencyin_obj_t *self); +extern uint32_t common_hal_frequencyio_frequencyin_get_item(frequencyio_frequencyin_obj_t *self); +extern uint16_t common_hal_frequencyio_frequencyin_get_capture_period(frequencyio_frequencyin_obj_t *self); +extern void common_hal_frequencyio_frequencyin_set_capture_period(frequencyio_frequencyin_obj_t *self, uint16_t capture_period); + +#endif // MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO_FREQUENCYIN_H diff --git a/shared-bindings/frequencyio/__init__.c b/shared-bindings/frequencyio/__init__.c new file mode 100644 index 000000000000..8e794eac4ac1 --- /dev/null +++ b/shared-bindings/frequencyio/__init__.c @@ -0,0 +1,88 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "py/obj.h" +#include "py/runtime.h" + +#include "shared-bindings/microcontroller/Pin.h" +#include "shared-bindings/frequencyio/FrequencyIn.h" + +//| :mod:`frequencyio` --- Support for frequency based protocols +//| ============================================================= +//| +//| .. module:: frequencyio +//| :synopsis: Support for frequency based protocols +//| :platform: SAMD51 +//| +//| The `frequencyio` module contains classes to provide access to basic frequency IO. +//| +//| Libraries +//| +//| .. toctree:: +//| :maxdepth: 3 +//| +//| FrequencyIn +//| + +//| .. warning:: This module is not available in SAMD21 builds. See the +//| :ref:`module-support-matrix` for more info. +//| + +//| All classes change hardware state and should be deinitialized when they +//| are no longer needed if the program continues after use. To do so, either +//| call :py:meth:`!deinit` or use a context manager. See +//| :ref:`lifetime-and-contextmanagers` for more info. +//| +//| For example:: +//| +//| import frequencyio +//| import time +//| from board import * +//| +//| frequency = frequencyio.FrequencyIn(D13) +//| frequency.capture_period = 15 +//| time.sleep(0.1) +//| +//| This example will initialize the the device, set +//| :py:data:`~frequencyio.FrequencyIn.capture_period`, and then sleep 0.1 seconds. +//| CircuitPython will automatically turn off FrequencyIn capture when it resets all +//| hardware after program completion. Use ``deinit()`` or a ``with`` statement +//| to do it yourself. +//| + +STATIC const mp_rom_map_elem_t frequencyio_module_globals_table[] = { + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_frequencyio) }, + { MP_ROM_QSTR(MP_QSTR_FrequencyIn), MP_ROM_PTR(&pulseio_frequencyin_type) }, +}; + +STATIC MP_DEFINE_CONST_DICT(frequencyio_module_globals, frequencyio_module_globals_table); + +const mp_obj_module_t frequencyio_module = { + .base = { &mp_type_module }, + .globals = (mp_obj_dict_t*)&frequencyio_module_globals, +}; From dafc370d22b0598f7330d907e7fbeaa4aa93cc15 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 16 Feb 2019 19:54:16 -0600 Subject: [PATCH 02/76] moves 'shared_timer_handler' back to atmel-samd from samd-peripherals --- .../atmel-samd/common-hal/audioio/AudioOut.c | 3 +- ports/atmel-samd/common-hal/pulseio/PWMOut.c | 3 +- .../atmel-samd/common-hal/pulseio/PulseOut.c | 5 +- ports/atmel-samd/timer_handler.c | 52 +++++++++++++++++++ ports/atmel-samd/timer_handler.h | 36 +++++++++++++ 5 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 ports/atmel-samd/timer_handler.c create mode 100644 ports/atmel-samd/timer_handler.h diff --git a/ports/atmel-samd/common-hal/audioio/AudioOut.c b/ports/atmel-samd/common-hal/audioio/AudioOut.c index 596f3214af48..fb9ef00af178 100644 --- a/ports/atmel-samd/common-hal/audioio/AudioOut.c +++ b/ports/atmel-samd/common-hal/audioio/AudioOut.c @@ -47,6 +47,7 @@ #endif #include "audio_dma.h" +#include "timer_handler.h" #include "samd/dma.h" #include "samd/events.h" @@ -251,7 +252,7 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self, tc_gclk = 1; #endif - turn_on_clocks(true, tc_index, tc_gclk); + turn_on_clocks(true, tc_index, tc_gclk, TC_HANDLER_NO_INTERRUPT); // Don't bother setting the period. We set it before you playback anything. tc_set_enable(t, false); diff --git a/ports/atmel-samd/common-hal/pulseio/PWMOut.c b/ports/atmel-samd/common-hal/pulseio/PWMOut.c index 2740a9e55564..dcc2363323b6 100644 --- a/ports/atmel-samd/common-hal/pulseio/PWMOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PWMOut.c @@ -31,6 +31,7 @@ #include "common-hal/pulseio/PWMOut.h" #include "shared-bindings/pulseio/PWMOut.h" #include "shared-bindings/microcontroller/Processor.h" +#include "timer_handler.h" #include "atmel_start_pins.h" #include "hal/utils/include/utils_repeat_macro.h" @@ -235,7 +236,7 @@ pwmout_result_t common_hal_pulseio_pwmout_construct(pulseio_pwmout_obj_t* self, } // We use the zeroeth clock on either port to go full speed. - turn_on_clocks(timer->is_tc, timer->index, 0); + turn_on_clocks(timer->is_tc, timer->index, 0, TC_HANDLER_NO_INTERRUPT); if (timer->is_tc) { tc_periods[timer->index] = top; diff --git a/ports/atmel-samd/common-hal/pulseio/PulseOut.c b/ports/atmel-samd/common-hal/pulseio/PulseOut.c index 8c9f28eb841b..68f5d8fff94c 100644 --- a/ports/atmel-samd/common-hal/pulseio/PulseOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PulseOut.c @@ -37,6 +37,7 @@ #include "py/runtime.h" #include "shared-bindings/pulseio/PulseOut.h" #include "supervisor/shared/translate.h" +#include "timer_handler.h" // This timer is shared amongst all PulseOut objects under the assumption that // the code is single threaded. @@ -115,10 +116,10 @@ void common_hal_pulseio_pulseout_construct(pulseio_pulseout_obj_t* self, // We use GCLK0 for SAMD21 and GCLK1 for SAMD51 because they both run at 48mhz making our // math the same across the boards. #ifdef SAMD21 - turn_on_clocks(true, index, 0); + turn_on_clocks(true, index, 0, TC_HANDLER_PULSEOUT); #endif #ifdef SAMD51 - turn_on_clocks(true, index, 1); + turn_on_clocks(true, index, 1, TC_HANDLER_PULSEOUT); #endif diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c new file mode 100644 index 000000000000..bb0d248b555f --- /dev/null +++ b/ports/atmel-samd/timer_handler.c @@ -0,0 +1,52 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2017 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include +#include + +#include "timer_handler.h" + +#include "common-hal/pulseio/PulseOut.h" +#include "common-hal/pulseio/FrequencyIn.h" + +static uint8_t tc_handler[TC_INST_NUM]; + +void set_timer_handler(uint8_t index, uint8_t timer_handler) { + tc_handler[index] = timer_handler; +} + +void shared_timer_handler(bool is_tc, uint8_t index) { + // Add calls to interrupt handlers for specific functionality here. + // Make sure to add the handler #define to timer_handler.h + if (is_tc) { + uint8_t handler = tc_handler[index]; + if (handler == TC_HANDLER_PULSEOUT) { + pulseout_interrupt_handler(index); + } else if (handler == TC_HANDLER_FREQUENCYIN) { + frequencyin_interrupt_handler(index); + } + } +} diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h new file mode 100644 index 000000000000..3243740e24e5 --- /dev/null +++ b/ports/atmel-samd/timer_handler.h @@ -0,0 +1,36 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2018 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +#ifndef MICROPY_INCLUDED_ATMEL_SAMD_TIMER_HANDLER_H +#define MICROPY_INCLUDED_ATMEL_SAMD_TIMER_HANDLER_H + +#define TC_HANDLER_NO_INTERRUPT 0x0 +#define TC_HANDLER_PULSEOUT 0x1 +#define TC_HANDLER_FREQUENCYIN 0x2 + +void set_timer_handler(uint8_t index, uint8_t timer_handler); +void shared_timer_handler(bool is_tc, uint8_t index); + +#endif // MICROPY_INCLUDED_ATMEL_SAMD_TIMER_HANDLER_H From 55e7c5a41bf53fc44bfdbedd9f1228241a62132c Mon Sep 17 00:00:00 2001 From: sommersoft Date: Tue, 19 Feb 2019 20:18:21 -0600 Subject: [PATCH 03/76] handle 'set_timer_handler' on this side, vs samd-periphs. --- ports/atmel-samd/common-hal/audioio/AudioOut.c | 3 ++- ports/atmel-samd/common-hal/pulseio/PWMOut.c | 3 ++- ports/atmel-samd/common-hal/pulseio/PulseOut.c | 5 +++-- ports/atmel-samd/timer_handler.c | 6 ++++-- ports/atmel-samd/timer_handler.h | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ports/atmel-samd/common-hal/audioio/AudioOut.c b/ports/atmel-samd/common-hal/audioio/AudioOut.c index fb9ef00af178..a75abd324bf7 100644 --- a/ports/atmel-samd/common-hal/audioio/AudioOut.c +++ b/ports/atmel-samd/common-hal/audioio/AudioOut.c @@ -252,7 +252,8 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self, tc_gclk = 1; #endif - turn_on_clocks(true, tc_index, tc_gclk, TC_HANDLER_NO_INTERRUPT); + set_timer_handler(true, tc_index, TC_HANDLER_NO_INTERRUPT); + turn_on_clocks(true, tc_index, tc_gclk); // Don't bother setting the period. We set it before you playback anything. tc_set_enable(t, false); diff --git a/ports/atmel-samd/common-hal/pulseio/PWMOut.c b/ports/atmel-samd/common-hal/pulseio/PWMOut.c index dcc2363323b6..19daaa14fda2 100644 --- a/ports/atmel-samd/common-hal/pulseio/PWMOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PWMOut.c @@ -235,8 +235,9 @@ pwmout_result_t common_hal_pulseio_pwmout_construct(pulseio_pwmout_obj_t* self, } } + set_timer_handler(timer->is_tc, timer->index, TC_HANDLER_NO_INTERRUPT); // We use the zeroeth clock on either port to go full speed. - turn_on_clocks(timer->is_tc, timer->index, 0, TC_HANDLER_NO_INTERRUPT); + turn_on_clocks(timer->is_tc, timer->index, 0); if (timer->is_tc) { tc_periods[timer->index] = top; diff --git a/ports/atmel-samd/common-hal/pulseio/PulseOut.c b/ports/atmel-samd/common-hal/pulseio/PulseOut.c index 68f5d8fff94c..528a5c808a60 100644 --- a/ports/atmel-samd/common-hal/pulseio/PulseOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PulseOut.c @@ -113,13 +113,14 @@ void common_hal_pulseio_pulseout_construct(pulseio_pulseout_obj_t* self, pulseout_tc_index = index; + set_timer_handler(true, index, TC_HANDLER_PULSEOUT); // We use GCLK0 for SAMD21 and GCLK1 for SAMD51 because they both run at 48mhz making our // math the same across the boards. #ifdef SAMD21 - turn_on_clocks(true, index, 0, TC_HANDLER_PULSEOUT); + turn_on_clocks(true, index, 0); #endif #ifdef SAMD51 - turn_on_clocks(true, index, 1, TC_HANDLER_PULSEOUT); + turn_on_clocks(true, index, 1); #endif diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index bb0d248b555f..566dd8cbd0f5 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -34,8 +34,10 @@ static uint8_t tc_handler[TC_INST_NUM]; -void set_timer_handler(uint8_t index, uint8_t timer_handler) { - tc_handler[index] = timer_handler; +void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler) { + if (is_tc) { + tc_handler[index] = timer_handler; + } } void shared_timer_handler(bool is_tc, uint8_t index) { diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h index 3243740e24e5..a495e21f2a41 100644 --- a/ports/atmel-samd/timer_handler.h +++ b/ports/atmel-samd/timer_handler.h @@ -30,7 +30,7 @@ #define TC_HANDLER_PULSEOUT 0x1 #define TC_HANDLER_FREQUENCYIN 0x2 -void set_timer_handler(uint8_t index, uint8_t timer_handler); +void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler); void shared_timer_handler(bool is_tc, uint8_t index); #endif // MICROPY_INCLUDED_ATMEL_SAMD_TIMER_HANDLER_H From fd62ec89dabbace7b45ef449d46d7ca110dd0fa9 Mon Sep 17 00:00:00 2001 From: Pascal Deneaux Date: Wed, 20 Feb 2019 23:51:05 +0100 Subject: [PATCH 04/76] Update de_DE.po --- locale/de_DE.po | 520 +++++++++++++++++++++++------------------------- 1 file changed, 249 insertions(+), 271 deletions(-) diff --git a/locale/de_DE.po b/locale/de_DE.po index 96bc7fbd8e94..c68b20cea8a8 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -9,8 +9,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-02-17 23:36-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" -"Last-Translator: Sebastian Plamauer\n" -"Language-Team: \n" +"Last-Translator: Pascal Deneaux\n" +"Language-Team: Sebastian Plamauer, Pascal Deneaux\n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -69,11 +69,11 @@ msgstr "eine nicht-hex zahl wurde gefunden" #: extmod/modubinascii.c:169 msgid "incorrect padding" -msgstr "falsches padding" +msgstr "padding ist inkorrekt" #: extmod/moductypes.c:122 msgid "syntax error in uctypes descriptor" -msgstr "Syntaxfehler in uctypes Definition" +msgstr "Syntaxfehler in uctypes Deskriptor" #: extmod/moductypes.c:219 msgid "Cannot unambiguously get sizeof scalar" @@ -103,11 +103,11 @@ msgstr "leerer heap" msgid "syntax error in JSON" msgstr "Syntaxfehler in JSON" -#: extmod/modure.c:265 +#: extmod/modure.c:161 msgid "Splitting with sub-captures" -msgstr "Teilen mit unter-captures" +msgstr "Splitting with sub-captures" -#: extmod/modure.c:428 +#: extmod/modure.c:207 msgid "Error in regex" msgstr "Fehler in regex" @@ -155,19 +155,19 @@ msgstr "kompilieren von Skripten ist nicht unterstützt" msgid " output:\n" msgstr " Ausgabe:\n" -#: main.c:166 main.c:250 +#: main.c:166 main.c:247 msgid "" "Auto-reload is on. Simply save files over USB to run them or enter REPL to " "disable.\n" msgstr "" "Automatisches Neuladen ist aktiv. Speichere Dateien über USB um sie " -"auszuführen oder verbinde dich mit der REPL zum deaktivieren.\n" +"auszuführen oder verbinde dich mit der REPL zum Deaktivieren.\n" #: main.c:168 msgid "Running in safe mode! Auto-reload is off.\n" msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" -#: main.c:170 main.c:252 +#: main.c:170 main.c:249 msgid "Auto-reload is off.\n" msgstr "Automatisches Neuladen ist deaktiviert.\n" @@ -180,19 +180,19 @@ msgid "WARNING: Your code filename has two extensions\n" msgstr "" "WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n" -#: main.c:223 +#: main.c:221 msgid "" "\n" "Code done running. Waiting for reload.\n" msgstr "" +"\n" +"Der Code wurde ausgeführt. Warte auf reload.\n" -#: main.c:257 +#: main.c:254 msgid "Press any key to enter the REPL. Use CTRL-D to reload." -msgstr "" -"Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu " -"laden" +msgstr "Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu laden" -#: main.c:422 +#: main.c:419 msgid "soft reboot\n" msgstr "soft reboot\n" @@ -320,7 +320,11 @@ msgstr "Alle event Kanäle werden benutzt" msgid "Sample rate too high. It must be less than %d" msgstr "Abtastrate zu hoch. Wert muss unter %d liegen" -#: ports/atmel-samd/common-hal/busio/I2C.c:74 +#: ports/atmel-samd/common-hal/busio/I2C.c:71 +msgid "Not enough pins available" +msgstr "Nicht genug Pins vorhanden" + +#: ports/atmel-samd/common-hal/busio/I2C.c:78 #: ports/atmel-samd/common-hal/busio/SPI.c:176 #: ports/atmel-samd/common-hal/busio/UART.c:120 #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 @@ -328,11 +332,11 @@ msgstr "Abtastrate zu hoch. Wert muss unter %d liegen" msgid "Invalid pins" msgstr "Ungültige Pins" -#: ports/atmel-samd/common-hal/busio/I2C.c:97 +#: ports/atmel-samd/common-hal/busio/I2C.c:101 msgid "SDA or SCL needs a pull up" msgstr "SDA oder SCL brauchen pull up" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 +#: ports/atmel-samd/common-hal/busio/I2C.c:121 msgid "Unsupported baudrate" msgstr "Baudrate wird nicht unterstützt" @@ -341,12 +345,12 @@ msgid "bytes > 8 bits not supported" msgstr "bytes mit mehr als 8 bits werden nicht unterstützt" #: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 +#: ports/nrf/common-hal/busio/UART.c:91 msgid "tx and rx cannot both be None" msgstr "tx und rx können nicht beide None sein" #: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 +#: ports/nrf/common-hal/busio/UART.c:132 msgid "Failed to allocate RX buffer" msgstr "Konnte keinen RX Buffer allozieren" @@ -354,13 +358,13 @@ msgstr "Konnte keinen RX Buffer allozieren" msgid "Could not initialize UART" msgstr "Konnte UART nicht initialisieren" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 +#: ports/atmel-samd/common-hal/busio/UART.c:241 +#: ports/nrf/common-hal/busio/UART.c:174 msgid "No RX pin" msgstr "Kein RX Pin" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 +#: ports/atmel-samd/common-hal/busio/UART.c:300 +#: ports/nrf/common-hal/busio/UART.c:209 msgid "No TX pin" msgstr "Kein TX Pin" @@ -488,9 +492,7 @@ msgstr "Minimale PWM Frequenz ist %dHz" #: ports/esp8266/common-hal/pulseio/PWMOut.c:68 #, c-format msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "" -"Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz " -"gesetzt." +msgstr "Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz gesetzt." #: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 #, c-format @@ -507,8 +509,7 @@ msgstr "Dateisystem kann nicht wieder gemounted werden." #: ports/esp8266/common-hal/storage/__init__.c:38 msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "" -"Benutze esptool um den flash zu löschen und stattdessen Python hochzuladen" +msgstr "Benutze das esptool um den flash zu löschen und Python erneut hochzuladen" #: ports/esp8266/esp_mphal.c:154 msgid "C-level assert" @@ -564,8 +565,7 @@ msgstr "len muss ein vielfaches von 4 sein" #: ports/esp8266/modesp.c:274 #, c-format msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "" -"Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" +msgstr "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" #: ports/esp8266/modesp.c:317 msgid "flash location must be below 1MByte" @@ -829,23 +829,26 @@ msgstr "Alle I2C-Peripheriegeräte sind in Benutzung" msgid "All SPI peripherals are in use" msgstr "Alle SPI-Peripheriegeräte sind in Benutzung" -#: ports/nrf/common-hal/busio/UART.c:47 +#: ports/nrf/common-hal/busio/UART.c:49 #, c-format msgid "error = 0x%08lX" msgstr "error = 0x%08lX" -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Alle I2C-Peripheriegeräte sind in Benutzung" - -#: ports/nrf/common-hal/busio/UART.c:153 +#: ports/nrf/common-hal/busio/UART.c:95 msgid "Invalid buffer size" msgstr "Ungültige Puffergröße" -#: ports/nrf/common-hal/busio/UART.c:157 +#: ports/nrf/common-hal/busio/UART.c:99 msgid "Odd parity is not supported" -msgstr "Ungerade Parität wird nicht unterstützt" +msgstr "Eine ungerade Parität wird nicht unterstützt" + +#: ports/nrf/common-hal/busio/UART.c:335 ports/nrf/common-hal/busio/UART.c:339 +#: ports/nrf/common-hal/busio/UART.c:344 ports/nrf/common-hal/busio/UART.c:349 +#: ports/nrf/common-hal/busio/UART.c:355 ports/nrf/common-hal/busio/UART.c:360 +#: ports/nrf/common-hal/busio/UART.c:365 ports/nrf/common-hal/busio/UART.c:369 +#: ports/nrf/common-hal/busio/UART.c:377 +msgid "busio.UART not available" +msgstr "busio.UART nicht verfügbar" #: ports/nrf/common-hal/microcontroller/Processor.c:48 msgid "Cannot get temperature" @@ -865,12 +868,12 @@ msgstr "ffi_prep_closure_loc" #: ports/unix/modffi.c:413 msgid "Don't know how to pass object to native function" -msgstr "" +msgstr "Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann" #: ports/unix/modusocket.c:474 #, c-format msgid "[addrinfo error %d]" -msgstr "" +msgstr "[addrinfo error %d]" #: py/argcheck.c:53 msgid "function does not take keyword arguments" @@ -879,8 +882,7 @@ msgstr "Funktion akzeptiert keine Keyword-Argumente" #: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 #, c-format msgid "function takes %d positional arguments but %d were given" -msgstr "" -"Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" +msgstr "Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" #: py/argcheck.c:73 #, c-format @@ -910,8 +912,7 @@ msgstr "Anzahl/Type der Argumente passen nicht" #: py/argcheck.c:156 msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" -"Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen " +msgstr "Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen " "normale Argumente" #: py/bc.c:88 py/objnamedtuple.c:112 @@ -949,11 +950,11 @@ msgstr "Funktion vermisst Keyword-only-Argument" #: py/binary.c:112 msgid "bad typecode" -msgstr "" +msgstr "schlechter typecode" #: py/builtinevex.c:99 msgid "bad compile mode" -msgstr "" +msgstr "schlechter compile mode" #: py/builtinhelp.c:137 msgid "Plus any modules on the filesystem\n" @@ -1061,15 +1062,15 @@ msgstr "mehrere **x sind nicht gestattet" #: py/compile.c:2271 msgid "LHS of keyword arg must be an id" -msgstr "" +msgstr "LHS of keyword arg must be an id" #: py/compile.c:2287 msgid "non-keyword arg after */**" -msgstr "" +msgstr "non-keyword arg after */**" #: py/compile.c:2291 msgid "non-keyword arg after keyword arg" -msgstr "" +msgstr "non-keyword arg after keyword arg" #: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 #: py/parse.c:1176 @@ -1147,56 +1148,56 @@ msgstr "" #: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 #, c-format msgid "'%s' expects at most r%d" -msgstr "" +msgstr "'%s' erwartet höchstens r%d" #: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 #, c-format msgid "'%s' expects a register" -msgstr "" +msgstr "'%s' erwartet ein Register" #: py/emitinlinethumb.c:211 #, c-format msgid "'%s' expects a special register" -msgstr "" +msgstr "'%s' erwartet ein Spezialregister" #: py/emitinlinethumb.c:239 #, c-format msgid "'%s' expects an FPU register" -msgstr "" +msgstr "'%s' erwartet ein FPU-Register" #: py/emitinlinethumb.c:292 #, c-format msgid "'%s' expects {r0, r1, ...}" -msgstr "" +msgstr "'%s' erwartet {r0, r1, ...}" #: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 #, c-format msgid "'%s' expects an integer" -msgstr "" +msgstr "'%s' erwartet ein Integer" #: py/emitinlinethumb.c:304 #, c-format msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "" +msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x" #: py/emitinlinethumb.c:328 #, c-format msgid "'%s' expects an address of the form [a, b]" -msgstr "" +msgstr "'%s' erwartet eine Adresse in der Form [a, b]" #: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 #, c-format msgid "'%s' expects a label" -msgstr "" +msgstr "'%s' erwartet ein Label" #: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 msgid "label '%q' not defined" -msgstr "" +msgstr "Label '%q' nicht definiert" #: py/emitinlinethumb.c:806 #, c-format msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "" +msgstr "nicht unterstützter Thumb-Befehl '%s' mit %d Argumenten" #: py/emitinlinethumb.c:810 msgid "branch not in range" @@ -1204,11 +1205,11 @@ msgstr "Zweig ist außerhalb der Reichweite" #: py/emitinlinextensa.c:86 msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "" +msgstr "kann nur bis zu 4 Parameter für die Xtensa assembly haben" #: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 msgid "parameters must be registers in sequence a2 to a5" -msgstr "" +msgstr "Die Parameter müssen Register der Reihenfolge a2 bis a5 sein" #: py/emitinlinextensa.c:174 #, c-format @@ -1262,19 +1263,19 @@ msgstr "" #: py/emitnative.c:1540 msgid "can't implicitly convert '%q' to 'bool'" -msgstr "" +msgstr "Kann '%q' nicht implizit nach 'bool' konvertieren" #: py/emitnative.c:1774 msgid "unary op %q not implemented" -msgstr "" +msgstr "Der unäre Operator %q ist nicht implementiert" #: py/emitnative.c:1930 msgid "binary op %q not implemented" -msgstr "" +msgstr "Der binäre Operator %q ist nicht implementiert" #: py/emitnative.c:1951 msgid "can't do binary op between '%q' and '%q'" -msgstr "" +msgstr "Eine binäre Operation zwischen '%q' und '%q' ist nicht möglich" #: py/emitnative.c:2126 msgid "casting" @@ -1298,51 +1299,51 @@ msgstr "" #: py/modbuiltins.c:162 msgid "chr() arg not in range(0x110000)" -msgstr "" +msgstr "chr() arg ist nicht in range(0x110000)" #: py/modbuiltins.c:171 msgid "chr() arg not in range(256)" -msgstr "" +msgstr "chr() arg ist nicht in range(256)" #: py/modbuiltins.c:285 msgid "arg is an empty sequence" -msgstr "" +msgstr "arg ist eine leere Sequenz" #: py/modbuiltins.c:350 msgid "ord expects a character" -msgstr "" +msgstr "ord erwartet ein Zeichen" #: py/modbuiltins.c:353 #, c-format msgid "ord() expected a character, but string of length %d found" -msgstr "" +msgstr "ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d gefunden" #: py/modbuiltins.c:363 msgid "3-arg pow() not supported" -msgstr "" +msgstr "3-arg pow() wird nicht unterstützt" -#: py/modbuiltins.c:521 +#: py/modbuiltins.c:517 msgid "must use keyword argument for key function" -msgstr "" +msgstr "muss Schlüsselwortargument für key function verwenden" #: py/modmath.c:41 shared-bindings/math/__init__.c:53 msgid "math domain error" -msgstr "" +msgstr "math domain error" #: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 #: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 msgid "division by zero" -msgstr "" +msgstr "Division durch Null" #: py/modmicropython.c:155 msgid "schedule stack full" -msgstr "" +msgstr "Der schedule stack ist voll" #: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 #: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 #: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 msgid "buffer too small" -msgstr "Puffer zu klein" +msgstr "Der Puffer ist zu klein" #: py/modthread.c:240 msgid "expecting a dict for keyword args" @@ -1366,7 +1367,7 @@ msgstr "Datei existiert" #: py/moduerrno.c:152 msgid "Unsupported operation" -msgstr "Nicht unterstützter Vorgang" +msgstr "Nicht unterstützte Operation" #: py/moduerrno.c:153 msgid "Invalid argument" @@ -1374,7 +1375,7 @@ msgstr "Ungültiges Argument" #: py/moduerrno.c:154 msgid "No space left on device" -msgstr "" +msgstr "Kein Speicherplatz auf Gerät" #: py/obj.c:92 msgid "Traceback (most recent call last):\n" @@ -1390,7 +1391,7 @@ msgstr " Datei \"%q\"" #: py/obj.c:102 msgid ", in %q\n" -msgstr "" +msgstr ", in %q\n" #: py/obj.c:259 msgid "can't convert to int" @@ -1489,7 +1490,7 @@ msgstr "'%s' Objekt unterstützt keine item assignment" msgid "object with buffer protocol required" msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 +#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188 #: shared-bindings/nvm/ByteArray.c:85 msgid "only slices with step=1 (aka None) are supported" msgstr "" @@ -1552,24 +1553,24 @@ msgstr "" #: py/objint.c:144 msgid "can't convert inf to int" -msgstr "" +msgstr "kann inf nicht nach int konvertieren" #: py/objint.c:146 msgid "can't convert NaN to int" -msgstr "" +msgstr "kann NaN nicht nach int konvertieren" #: py/objint.c:163 msgid "float too big" -msgstr "" +msgstr "float zu groß" #: py/objint.c:328 msgid "long int not supported in this build" -msgstr "" +msgstr "long int wird in diesem Build nicht unterstützt" #: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 #: py/sequence.c:41 msgid "small int overflow" -msgstr "" +msgstr "small int Überlauf" #: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 msgid "negative power with no float support" @@ -1639,223 +1640,218 @@ msgstr "" msgid "wrong number of arguments" msgstr "" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "Modul nicht gefunden" - -#: py/objstr.c:477 +#: py/objstr.c:468 msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 +#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745 msgid "empty separator" msgstr "" -#: py/objstr.c:651 +#: py/objstr.c:642 msgid "rsplit(None,n)" msgstr "" -#: py/objstr.c:723 +#: py/objstr.c:714 msgid "substring not found" msgstr "" -#: py/objstr.c:780 +#: py/objstr.c:771 msgid "start/end indices" msgstr "" -#: py/objstr.c:941 +#: py/objstr.c:932 msgid "bad format string" msgstr "" -#: py/objstr.c:963 +#: py/objstr.c:954 msgid "single '}' encountered in format string" msgstr "" -#: py/objstr.c:1002 +#: py/objstr.c:993 msgid "bad conversion specifier" msgstr "" -#: py/objstr.c:1006 +#: py/objstr.c:997 msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objstr.c:1008 +#: py/objstr.c:999 #, c-format msgid "unknown conversion specifier %c" msgstr "" -#: py/objstr.c:1039 +#: py/objstr.c:1030 msgid "unmatched '{' in format" msgstr "" -#: py/objstr.c:1046 +#: py/objstr.c:1037 msgid "expected ':' after format specifier" msgstr "" -#: py/objstr.c:1060 +#: py/objstr.c:1051 msgid "" "can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:1065 py/objstr.c:1093 +#: py/objstr.c:1056 py/objstr.c:1084 msgid "tuple index out of range" msgstr "" -#: py/objstr.c:1081 +#: py/objstr.c:1072 msgid "attributes not supported yet" msgstr "" -#: py/objstr.c:1089 +#: py/objstr.c:1080 msgid "" "can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:1181 +#: py/objstr.c:1172 msgid "invalid format specifier" msgstr "" -#: py/objstr.c:1202 +#: py/objstr.c:1193 msgid "sign not allowed in string format specifier" msgstr "" -#: py/objstr.c:1210 +#: py/objstr.c:1201 msgid "sign not allowed with integer format specifier 'c'" msgstr "" -#: py/objstr.c:1269 +#: py/objstr.c:1260 #, c-format msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: py/objstr.c:1341 +#: py/objstr.c:1332 #, c-format msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: py/objstr.c:1353 +#: py/objstr.c:1344 msgid "'=' alignment not allowed in string format specifier" msgstr "" -#: py/objstr.c:1377 +#: py/objstr.c:1368 #, c-format msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: py/objstr.c:1425 +#: py/objstr.c:1416 msgid "format requires a dict" msgstr "" -#: py/objstr.c:1434 +#: py/objstr.c:1425 msgid "incomplete format key" msgstr "" -#: py/objstr.c:1492 +#: py/objstr.c:1483 msgid "incomplete format" msgstr "" -#: py/objstr.c:1500 +#: py/objstr.c:1491 msgid "not enough arguments for format string" msgstr "" -#: py/objstr.c:1510 +#: py/objstr.c:1501 #, c-format msgid "%%c requires int or char" msgstr "" -#: py/objstr.c:1517 +#: py/objstr.c:1508 msgid "integer required" msgstr "" -#: py/objstr.c:1580 +#: py/objstr.c:1571 #, c-format msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: py/objstr.c:1587 +#: py/objstr.c:1578 msgid "not all arguments converted during string formatting" msgstr "" -#: py/objstr.c:2112 +#: py/objstr.c:2103 msgid "can't convert to str implicitly" msgstr "" -#: py/objstr.c:2116 +#: py/objstr.c:2107 msgid "can't convert '%q' object to %q implicitly" msgstr "" -#: py/objstrunicode.c:154 +#: py/objstrunicode.c:134 #, c-format msgid "string indices must be integers, not %s" msgstr "" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 +#: py/objstrunicode.c:145 py/objstrunicode.c:164 msgid "string index out of range" msgstr "" -#: py/objtype.c:371 +#: py/objtype.c:368 msgid "__init__() should return None" msgstr "" -#: py/objtype.c:373 +#: py/objtype.c:370 #, c-format msgid "__init__() should return None, not '%s'" msgstr "" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 +#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065 msgid "unreadable attribute" msgstr "" -#: py/objtype.c:881 py/runtime.c:653 +#: py/objtype.c:878 py/runtime.c:653 msgid "object not callable" msgstr "" -#: py/objtype.c:883 py/runtime.c:655 +#: py/objtype.c:880 py/runtime.c:655 #, c-format msgid "'%s' object is not callable" msgstr "" -#: py/objtype.c:991 +#: py/objtype.c:988 msgid "type takes 1 or 3 arguments" msgstr "" -#: py/objtype.c:1002 +#: py/objtype.c:999 msgid "cannot create instance" msgstr "" -#: py/objtype.c:1004 +#: py/objtype.c:1001 msgid "cannot create '%q' instances" msgstr "" -#: py/objtype.c:1062 +#: py/objtype.c:1059 msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objtype.c:1106 py/objtype.c:1112 +#: py/objtype.c:1103 py/objtype.c:1109 msgid "type is not an acceptable base type" msgstr "" -#: py/objtype.c:1115 +#: py/objtype.c:1112 msgid "type '%q' is not an acceptable base type" msgstr "" -#: py/objtype.c:1152 +#: py/objtype.c:1149 msgid "multiple inheritance not supported" msgstr "" -#: py/objtype.c:1179 +#: py/objtype.c:1176 msgid "multiple bases have instance lay-out conflict" msgstr "" -#: py/objtype.c:1220 +#: py/objtype.c:1217 msgid "first argument to super() must be type" msgstr "" -#: py/objtype.c:1385 +#: py/objtype.c:1382 msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: py/objtype.c:1399 +#: py/objtype.c:1396 msgid "issubclass() arg 1 must be a class" msgstr "" @@ -1977,16 +1973,16 @@ msgstr "'%s' Objekt nicht iterierbar" #: py/runtime.c:1260 py/runtime.c:1296 msgid "object not an iterator" -msgstr "" +msgstr "Objekt ist kein Iterator" #: py/runtime.c:1262 py/runtime.c:1298 #, c-format msgid "'%s' object is not an iterator" -msgstr "" +msgstr "'%s' Objekt ist kein Iterator" #: py/runtime.c:1401 msgid "exceptions must derive from BaseException" -msgstr "" +msgstr "Exceptions müssen von BaseException abgeleitet sein" #: py/runtime.c:1430 msgid "cannot import name %q" @@ -2007,23 +2003,23 @@ msgstr "maximale Rekursionstiefe überschritten" #: py/sequence.c:273 msgid "object not in sequence" -msgstr "" +msgstr "Objekt ist nicht in sequence" #: py/stream.c:96 msgid "stream operation not supported" -msgstr "" +msgstr "stream operation ist nicht unterstützt" #: py/stream.c:254 msgid "string not supported; use bytes or bytearray" -msgstr "" +msgstr "Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray" #: py/stream.c:289 msgid "length argument not allowed for this type" -msgstr "" +msgstr "Für diesen Typ ist length nicht zulässig" #: py/vm.c:255 msgid "local variable referenced before assignment" -msgstr "" +msgstr "Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. Variablen immer zuerst Zuweisen!" #: py/vm.c:1142 msgid "no active exception to reraise" @@ -2163,16 +2159,16 @@ msgstr "Es müssen 8 oder 16 bits_per_sample sein" msgid "" "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " "'B'" -msgstr "" +msgstr "sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', 'b' oder 'B' sein" #: shared-bindings/audioio/RawSample.c:101 msgid "buffer must be a bytes-like object" -msgstr "" +msgstr "Puffer muss ein bytes-artiges Objekt sein" #: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 +#: shared-bindings/displayio/OnDiskBitmap.c:87 msgid "file must be a file opened in byte mode" -msgstr "" +msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein" #: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 #: shared-bindings/busio/SPI.c:130 @@ -2223,11 +2219,7 @@ msgid "timeout must be >= 0.0" msgstr "timeout muss >= 0.0 sein" #: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -#, fuzzy -msgid "%q must be >= 1" +msgid "buffer_size must be >= 1" msgstr "Puffergröße muss >= 1 sein" #: shared-bindings/bleio/CharacteristicBuffer.c:83 @@ -2276,15 +2268,15 @@ msgstr "" #: shared-bindings/bleio/UUID.c:66 msgid "UUID integer value not in range 0 to 0xffff" -msgstr "" +msgstr "UUID-Integer nicht im Bereich 0 bis 0xffff" #: shared-bindings/bleio/UUID.c:91 msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +msgstr "UUID Zeichenfolge ist nicht 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" #: shared-bindings/bleio/UUID.c:103 msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgstr "Der UUID-Wert ist kein str-, int- oder Byte-Puffer" #: shared-bindings/bleio/UUID.c:107 msgid "Byte buffer must be 16 bytes." @@ -2292,7 +2284,7 @@ msgstr "Der Puffer muss 16 Bytes lang sein" #: shared-bindings/bleio/UUID.c:151 msgid "not a 128-bit UUID" -msgstr "" +msgstr "keine 128-bit UUID" #: shared-bindings/busio/I2C.c:117 msgid "Function requires lock." @@ -2300,11 +2292,11 @@ msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" #: shared-bindings/busio/UART.c:103 msgid "bits must be 7, 8 or 9" -msgstr "" +msgstr "bits muss 7, 8 oder 9 sein" #: shared-bindings/busio/UART.c:115 msgid "stop must be 1 or 2" -msgstr "" +msgstr "stop muss 1 oder 2 sein" #: shared-bindings/busio/UART.c:120 msgid "timeout >100 (units are now seconds, not msecs)" @@ -2332,88 +2324,79 @@ msgstr "" msgid "Unsupported pull value." msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "" - -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "" - -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" +#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88 +msgid "y should be an int" msgstr "" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +#: shared-bindings/displayio/Bitmap.c:89 +msgid "row buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 -msgid "%q should be an int" +#: shared-bindings/displayio/Bitmap.c:94 +msgid "row data must be a buffer" msgstr "" -#: shared-bindings/displayio/ColorConverter.c:70 +#: shared-bindings/displayio/ColorConverter.c:72 msgid "color should be an int" msgstr "" -#: shared-bindings/displayio/Display.c:129 +#: shared-bindings/displayio/Display.c:131 msgid "Display rotation must be in 90 degree increments" msgstr "" -#: shared-bindings/displayio/Display.c:141 +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:165 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 +#: shared-bindings/displayio/FourWire.c:93 +#: shared-bindings/displayio/ParallelBus.c:98 msgid "Too many display busses" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 msgid "Command must be an int between 0 and 255" msgstr "" -#: shared-bindings/displayio/Palette.c:91 +#: shared-bindings/displayio/Group.c:62 +msgid "Group must have size at least 1" +msgstr "" + +#: shared-bindings/displayio/Palette.c:93 msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: shared-bindings/displayio/Palette.c:97 +#: shared-bindings/displayio/Palette.c:99 msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: shared-bindings/displayio/Palette.c:101 +#: shared-bindings/displayio/Palette.c:103 msgid "color must be between 0x000000 and 0xffffff" msgstr "" -#: shared-bindings/displayio/Palette.c:105 +#: shared-bindings/displayio/Palette.c:107 msgid "color buffer must be a buffer or int" msgstr "" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 +#: shared-bindings/displayio/Palette.c:120 +#: shared-bindings/displayio/Palette.c:134 msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" -msgstr "" - -#: shared-bindings/displayio/Shape.c:101 +#: shared-bindings/displayio/Shape.c:92 msgid "start_x should be an int" msgstr "" -#: shared-bindings/displayio/Shape.c:105 +#: shared-bindings/displayio/Shape.c:96 msgid "end_x should be an int" msgstr "" @@ -2421,25 +2404,25 @@ msgstr "" msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:115 +#: shared-bindings/displayio/TileGrid.c:117 msgid "unsupported bitmap type" msgstr "Nicht unterstützter Bitmap-Typ" -#: shared-bindings/displayio/TileGrid.c:126 +#: shared-bindings/displayio/TileGrid.c:128 msgid "Tile width must exactly divide bitmap width" msgstr "" -#: shared-bindings/displayio/TileGrid.c:129 +#: shared-bindings/displayio/TileGrid.c:131 msgid "Tile height must exactly divide bitmap height" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 +#: shared-bindings/displayio/TileGrid.c:198 msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" #: shared-bindings/gamepad/GamePad.c:100 msgid "too many arguments" -msgstr "" +msgstr "zu viele Argumente" #: shared-bindings/gamepad/GamePad.c:104 msgid "expected a DigitalInOut" @@ -2447,73 +2430,84 @@ msgstr "" #: shared-bindings/i2cslave/I2CSlave.c:95 msgid "can't convert address to int" -msgstr "" +msgstr "kann Adresse nicht in int konvertieren" #: shared-bindings/i2cslave/I2CSlave.c:98 msgid "address out of bounds" -msgstr "" +msgstr "Adresse außerhalb der Grenzen" #: shared-bindings/i2cslave/I2CSlave.c:104 msgid "addresses is empty" -msgstr "" +msgstr "adresses ist leer" #: shared-bindings/microcontroller/Pin.c:89 #: shared-bindings/neopixel_write/__init__.c:67 #: shared-bindings/pulseio/PulseOut.c:76 #: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 msgid "Expected a %q" -msgstr "" +msgstr "Erwartet ein(e) %q" #: shared-bindings/microcontroller/Pin.c:100 msgid "%q in use" -msgstr "" +msgstr "%q in Benutzung" #: shared-bindings/microcontroller/__init__.c:126 msgid "Invalid run mode." -msgstr "" +msgstr "Ungültiger Ausführungsmodus" #: shared-bindings/multiterminal/__init__.c:68 msgid "Stream missing readinto() or write() method." -msgstr "" +msgstr "Stream fehlt readinto() oder write() Methode." #: shared-bindings/nvm/ByteArray.c:99 msgid "Slice and value different lengths." -msgstr "" +msgstr "Slice und Wert (value) haben unterschiedliche Längen." #: shared-bindings/nvm/ByteArray.c:104 msgid "Array values should be single bytes." -msgstr "" +msgstr "Array-Werte sollten aus Einzelbytes bestehen." #: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 msgid "Unable to write to nvm." -msgstr "" +msgstr "Schreiben in nvm nicht möglich." #: shared-bindings/nvm/ByteArray.c:137 msgid "Bytes must be between 0 and 255." -msgstr "" +msgstr "Ein Bytes kann nur Werte zwischen 0 und 255 annehmen." #: shared-bindings/os/__init__.c:200 msgid "No hardware random available" -msgstr "" +msgstr "Kein hardware random verfügbar" #: shared-bindings/pulseio/PWMOut.c:117 msgid "All timers for this pin are in use" -msgstr "Alle timer für diesen Pin werden benutzt" +msgstr "Alle timer für diesen Pin werden bereits benutzt" #: shared-bindings/pulseio/PWMOut.c:171 msgid "" "PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "" +msgstr "PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen" #: shared-bindings/pulseio/PWMOut.c:202 msgid "" "PWM frequency not writable when variable_frequency is False on construction." -msgstr "" +msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False." -#: shared-bindings/pulseio/PulseIn.c:285 +#: shared-bindings/pulseio/PulseIn.c:272 +msgid "Cannot delete values" +msgstr "Kann Werte nicht löschen" + +#: shared-bindings/pulseio/PulseIn.c:278 +msgid "Slices not supported" +msgstr "Slices werden nicht unterstützt" + +#: shared-bindings/pulseio/PulseIn.c:284 +msgid "index must be int" +msgstr "index muss ein int sein" + +#: shared-bindings/pulseio/PulseIn.c:290 msgid "Read-only" -msgstr "" +msgstr "Nur lesen möglich, da Schreibgeschützt" #: shared-bindings/pulseio/PulseOut.c:135 msgid "Array must contain halfwords (type 'H')" @@ -2521,28 +2515,28 @@ msgstr "" #: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 msgid "stop not reachable from start" -msgstr "" +msgstr "stop ist von start aus nicht erreichbar" #: shared-bindings/random/__init__.c:111 msgid "step must be non-zero" -msgstr "" +msgstr "Schritt (step) darf nicht Null sein" #: shared-bindings/random/__init__.c:114 msgid "invalid step" -msgstr "" +msgstr "ungültiger Schritt (step)" #: shared-bindings/random/__init__.c:146 msgid "empty sequence" -msgstr "" +msgstr "leere Sequenz" #: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 #: shared-bindings/time/__init__.c:190 msgid "RTC is not supported on this board" -msgstr "" +msgstr "Eine RTC wird auf diesem Board nicht unterstützt" #: shared-bindings/rtc/RTC.c:52 msgid "RTC calibration is not supported on this board" -msgstr "" +msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt" #: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 msgid "no available NIC" @@ -2550,15 +2544,20 @@ msgstr "" #: shared-bindings/storage/__init__.c:77 msgid "filesystem must provide mount method" -msgstr "" +msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" #: shared-bindings/supervisor/__init__.c:93 msgid "Brightness must be between 0 and 255" -msgstr "" +msgstr "Die Helligkeit muss zwischen 0 und 255 liegen" #: shared-bindings/supervisor/__init__.c:119 msgid "Stack size must be at least 256" -msgstr "" +msgstr "Die Stackgröße sollte mindestens 256 sein" + +#: shared-bindings/terminalio/Terminal.c:68 +#, fuzzy +msgid "unicode_characters must be a string" +msgstr "unicode_characters muss eine Zeichenfolge sein" #: shared-bindings/time/__init__.c:78 msgid "sleep length must be non-negative" @@ -2586,17 +2585,17 @@ msgstr "" #: shared-bindings/touchio/TouchIn.c:173 msgid "threshold must be in the range 0-65536" -msgstr "" +msgstr "threshold muss im Intervall 0-65536 liegen" #: shared-bindings/util.c:38 msgid "" "Object has been deinitialized and can no longer be used. Create a new object." -msgstr "" +msgstr "Objekt wurde deinitialisiert und kann nicht mehr verwendet werden. Erstelle ein neues Objekt." #: shared-module/_pixelbuf/PixelBuf.c:69 #, c-format msgid "Expected tuple of length %d, got %d" -msgstr "" +msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten" #: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 msgid "Couldn't allocate first buffer" @@ -2678,27 +2677,26 @@ msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -#: shared-module/displayio/Bitmap.c:81 +#: shared-module/displayio/Bitmap.c:69 msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Schreibgeschützte Dateisystem" - #: shared-module/displayio/Display.c:67 msgid "Unsupported display bus type" msgstr "Nicht unterstützter display bus type" -#: shared-module/displayio/Group.c:66 +#: shared-module/displayio/Group.c:39 msgid "Group full" msgstr "" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 +#: shared-module/displayio/Group.c:46 msgid "Layer must be a Group or TileGrid subclass." msgstr "" +#: shared-module/displayio/Group.c:55 +msgid "Group empty" +msgstr "" + #: shared-module/displayio/OnDiskBitmap.c:49 msgid "Invalid BMP file" msgstr "Ungültige BMP-Datei" @@ -2740,12 +2738,12 @@ msgstr "" #: shared-module/struct/__init__.c:179 msgid "buffer size must match format" -msgstr "Buffergröße muss zum Format passen" +msgstr "Die Puffergröße muss zum Format passen" #: shared-module/usb_hid/Device.c:45 #, c-format msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Buffergröße falsch, sollte %d bytes sein." +msgstr "Der Puffergröße ist inkorrekt. Sie sollte %d bytes haben." #: shared-module/usb_hid/Device.c:53 msgid "USB Busy" @@ -2839,23 +2837,3 @@ msgid "" msgstr "" "Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie " "erneut um den abgesicherten Modus zu verlassen. \n" - -#~ msgid "Not enough pins available" -#~ msgstr "Nicht genug Pins vorhanden" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART nicht verfügbar" - -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Alle PWM-Peripheriegeräte werden verwendet" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "name muss ein String sein" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Der Puffer muss eine Mindestenslänge von 1 haben" - -#~ msgid "buffer_size must be >= 1" -#~ msgstr "Puffergröße muss >= 1 sein" From 1532863d8341ba0240da903533f5eb9d08987662 Mon Sep 17 00:00:00 2001 From: Craig Forbes Date: Wed, 20 Feb 2019 21:37:29 -0600 Subject: [PATCH 05/76] Set __file__ for the main source file (e.g. code.py, main.py) --- lib/utils/pyexec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/utils/pyexec.c b/lib/utils/pyexec.c index e637fe544b00..e8a1983b02f0 100755 --- a/lib/utils/pyexec.c +++ b/lib/utils/pyexec.c @@ -89,6 +89,9 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input } // source is a lexer, parse and compile the script qstr source_name = lex->source_name; + if (input_kind == MP_PARSE_FILE_INPUT) { + mp_store_global(MP_QSTR___file__, MP_OBJ_NEW_QSTR(source_name)); + } 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. From 99da3b9646c22ee8232b0b238ffcaf74b250333f Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 21 Feb 2019 00:19:31 -0500 Subject: [PATCH 06/76] Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list --- ports/atmel-samd/mpconfigport.h | 7 ++--- ports/nrf/bluetooth/ble_drv.c | 25 ++++++--------- ports/nrf/bluetooth/ble_drv.h | 6 ++++ .../common-hal/bleio/CharacteristicBuffer.c | 31 +++++++++++-------- .../common-hal/bleio/CharacteristicBuffer.h | 1 - ports/nrf/mpconfigport.h | 7 +++-- 6 files changed, 41 insertions(+), 36 deletions(-) diff --git a/ports/atmel-samd/mpconfigport.h b/ports/atmel-samd/mpconfigport.h index 036149ae04b3..dbf1c93f371b 100644 --- a/ports/atmel-samd/mpconfigport.h +++ b/ports/atmel-samd/mpconfigport.h @@ -79,11 +79,10 @@ #include "peripherals/samd/dma.h" +#include "py/circuitpy_mpconfig.h" + #define MICROPY_PORT_ROOT_POINTERS \ CIRCUITPY_COMMON_ROOT_POINTERS \ - mp_obj_t playing_audio[AUDIO_DMA_CHANNEL_COUNT] \ - ; - -#include "py/circuitpy_mpconfig.h" + mp_obj_t playing_audio[AUDIO_DMA_CHANNEL_COUNT]; #endif // __INCLUDED_MPCONFIGPORT_H diff --git a/ports/nrf/bluetooth/ble_drv.c b/ports/nrf/bluetooth/ble_drv.c index 4e752369115a..bb395ce4c757 100644 --- a/ports/nrf/bluetooth/ble_drv.c +++ b/ports/nrf/bluetooth/ble_drv.c @@ -35,27 +35,20 @@ #include "nrf_soc.h" #include "nrfx_power.h" #include "py/misc.h" +#include "py/mpstate.h" nrf_nvic_state_t nrf_nvic_state = { 0 }; __attribute__((aligned(4))) static uint8_t m_ble_evt_buf[sizeof(ble_evt_t) + (BLE_GATT_ATT_MTU_DEFAULT)]; -typedef struct event_handler { - struct event_handler *next; - void *param; - ble_drv_evt_handler_t func; -} event_handler_t; - -static event_handler_t *m_event_handlers = NULL; - void ble_drv_reset() { // Linked list items will be gc'd. - m_event_handlers = NULL; + MP_STATE_VM(ble_drv_evt_handler_entries) = NULL; } void ble_drv_add_event_handler(ble_drv_evt_handler_t func, void *param) { - event_handler_t *it = m_event_handlers; + ble_drv_evt_handler_entry_t *it = MP_STATE_VM(ble_drv_evt_handler_entries); while (it != NULL) { // If event handler and its corresponding param are already on the list, don't add again. if ((it->func == func) && (it->param == param)) { @@ -65,17 +58,17 @@ void ble_drv_add_event_handler(ble_drv_evt_handler_t func, void *param) { } // Add a new handler to the front of the list - event_handler_t *handler = m_new_ll(event_handler_t, 1); - handler->next = m_event_handlers; + ble_drv_evt_handler_entry_t *handler = m_new_ll(ble_drv_evt_handler_entry_t, 1); + handler->next = MP_STATE_VM(ble_drv_evt_handler_entries); handler->param = param; handler->func = func; - m_event_handlers = handler; + MP_STATE_VM(ble_drv_evt_handler_entries) = handler; } void ble_drv_remove_event_handler(ble_drv_evt_handler_t func, void *param) { - event_handler_t *it = m_event_handlers; - event_handler_t **prev = &m_event_handlers; + ble_drv_evt_handler_entry_t *it = MP_STATE_VM(ble_drv_evt_handler_entries); + ble_drv_evt_handler_entry_t **prev = &MP_STATE_VM(ble_drv_evt_handler_entries); while (it != NULL) { if ((it->func == func) && (it->param == param)) { // Splice out the matching handler. @@ -122,7 +115,7 @@ void SD_EVT_IRQHandler(void) { break; } - event_handler_t *it = m_event_handlers; + ble_drv_evt_handler_entry_t *it = MP_STATE_VM(ble_drv_evt_handler_entries); while (it != NULL) { it->func((ble_evt_t *)m_ble_evt_buf, it->param); it = it->next; diff --git a/ports/nrf/bluetooth/ble_drv.h b/ports/nrf/bluetooth/ble_drv.h index a6f7b903372d..8d3846a7b7be 100644 --- a/ports/nrf/bluetooth/ble_drv.h +++ b/ports/nrf/bluetooth/ble_drv.h @@ -50,6 +50,12 @@ typedef void (*ble_drv_evt_handler_t)(ble_evt_t*, void*); +typedef struct ble_drv_evt_handler_entry { + struct ble_drv_evt_handler_entry *next; + void *param; + ble_drv_evt_handler_t func; +} ble_drv_evt_handler_entry_t; + void ble_drv_reset(void); void ble_drv_add_event_handler(ble_drv_evt_handler_t func, void *param); void ble_drv_remove_event_handler(ble_drv_evt_handler_t func, void *param); diff --git a/ports/nrf/common-hal/bleio/CharacteristicBuffer.c b/ports/nrf/common-hal/bleio/CharacteristicBuffer.c index 42e45abdfb24..19b3b85ea72f 100644 --- a/ports/nrf/common-hal/bleio/CharacteristicBuffer.c +++ b/ports/nrf/common-hal/bleio/CharacteristicBuffer.c @@ -29,7 +29,7 @@ #include "ble_drv.h" #include "ble_gatts.h" -#include "sd_mutex.h" +#include "nrf_nvic.h" #include "lib/utils/interrupt_char.h" #include "py/runtime.h" @@ -47,14 +47,14 @@ STATIC void characteristic_buffer_on_ble_evt(ble_evt_t *ble_evt, void *param) { ble_gatts_evt_write_t *evt_write = &ble_evt->evt.gatts_evt.params.write; // Event handle must match the handle for my characteristic. if (evt_write->handle == self->characteristic->handle) { - // Push all the data onto the ring buffer, but wait for any reads to finish. - sd_mutex_acquire_wait_no_vm(&self->ringbuf_mutex); + // Push all the data onto the ring buffer. + uint8_t is_nested_critical_region; + sd_nvic_critical_region_enter(&is_nested_critical_region); for (size_t i = 0; i < evt_write->len; i++) { ringbuf_put(&self->ringbuf, evt_write->data[i]); } - // Don't check for errors: we're in an event handler. - sd_mutex_release(&self->ringbuf_mutex); - break; + sd_nvic_critical_region_exit(is_nested_critical_region); + break; } } } @@ -72,7 +72,6 @@ void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffe // This is a macro. // true means long-lived, so it won't be moved. ringbuf_alloc(&self->ringbuf, buffer_size, true); - sd_mutex_new(&self->ringbuf_mutex); ble_drv_add_event_handler(characteristic_buffer_on_ble_evt, self); @@ -92,8 +91,9 @@ int common_hal_bleio_characteristic_buffer_read(bleio_characteristic_buffer_obj_ #endif } - // Copy received data. Lock out writes while copying. - sd_mutex_acquire_wait(&self->ringbuf_mutex); + // Copy received data. Lock out write interrupt handler while copying. + uint8_t is_nested_critical_region; + sd_nvic_critical_region_enter(&is_nested_critical_region); size_t rx_bytes = MIN(ringbuf_count(&self->ringbuf), len); for ( size_t i = 0; i < rx_bytes; i++ ) { @@ -101,20 +101,25 @@ int common_hal_bleio_characteristic_buffer_read(bleio_characteristic_buffer_obj_ } // Writes now OK. - sd_mutex_release_check(&self->ringbuf_mutex); + sd_nvic_critical_region_exit(is_nested_critical_region); return rx_bytes; } uint32_t common_hal_bleio_characteristic_buffer_rx_characters_available(bleio_characteristic_buffer_obj_t *self) { - return ringbuf_count(&self->ringbuf); + uint8_t is_nested_critical_region; + sd_nvic_critical_region_enter(&is_nested_critical_region); + uint16_t count = ringbuf_count(&self->ringbuf); + sd_nvic_critical_region_exit(is_nested_critical_region); + return count; } void common_hal_bleio_characteristic_buffer_clear_rx_buffer(bleio_characteristic_buffer_obj_t *self) { // prevent conflict with uart irq - sd_mutex_acquire_wait(&self->ringbuf_mutex); + uint8_t is_nested_critical_region; + sd_nvic_critical_region_enter(&is_nested_critical_region); ringbuf_clear(&self->ringbuf); - sd_mutex_release_check(&self->ringbuf_mutex); + sd_nvic_critical_region_exit(is_nested_critical_region); } bool common_hal_bleio_characteristic_buffer_deinited(bleio_characteristic_buffer_obj_t *self) { diff --git a/ports/nrf/common-hal/bleio/CharacteristicBuffer.h b/ports/nrf/common-hal/bleio/CharacteristicBuffer.h index f5c715154750..b36f63fec3e6 100644 --- a/ports/nrf/common-hal/bleio/CharacteristicBuffer.h +++ b/ports/nrf/common-hal/bleio/CharacteristicBuffer.h @@ -38,7 +38,6 @@ typedef struct { uint32_t timeout_ms; // Ring buffer storing consecutive incoming values. ringbuf_t ringbuf; - nrf_mutex_t ringbuf_mutex; } bleio_characteristic_buffer_obj_t; #endif // MICROPY_INCLUDED_COMMON_HAL_BLEIO_CHARACTERISTICBUFFER_H diff --git a/ports/nrf/mpconfigport.h b/ports/nrf/mpconfigport.h index cb6e2e350f95..1d863ed72cdd 100644 --- a/ports/nrf/mpconfigport.h +++ b/ports/nrf/mpconfigport.h @@ -28,6 +28,8 @@ #ifndef NRF5_MPCONFIGPORT_H__ #define NRF5_MPCONFIGPORT_H__ +#include "ble_drv.h" + #define MICROPY_CPYTHON_COMPAT (1) //#define MICROPY_MODULE_BUILTIN_INIT (1) // TODO check this //#define MICROPY_MODULE_WEAK_LINKS (1) // TODO check this @@ -52,10 +54,11 @@ // 24kiB stack #define CIRCUITPY_DEFAULT_STACK_SIZE 0x6000 +#include "py/circuitpy_mpconfig.h" + #define MICROPY_PORT_ROOT_POINTERS \ CIRCUITPY_COMMON_ROOT_POINTERS \ - ; + ble_drv_evt_handler_entry_t* ble_drv_evt_handler_entries; \ -#include "py/circuitpy_mpconfig.h" #endif // NRF5_MPCONFIGPORT_H__ From c5dbdbe88c099494cd14790b8c645020538eed27 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 21 Feb 2019 00:33:36 -0500 Subject: [PATCH 07/76] rename ure, ujson, and uerrno to re, json, and errno --- extmod/modujson.c | 2 +- extmod/modure.c | 4 ++-- py/moduerrno.c | 2 +- py/objmodule.c | 14 ++++++++++---- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/extmod/modujson.c b/extmod/modujson.c index ea6c8b40f4f2..80fccc8a11d0 100644 --- a/extmod/modujson.c +++ b/extmod/modujson.c @@ -292,7 +292,7 @@ STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) { 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[] = { - { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ujson) }, + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_json) }, { 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) }, diff --git a/extmod/modure.c b/extmod/modure.c index a368ee8fac00..6561362a8c14 100644 --- a/extmod/modure.c +++ b/extmod/modure.c @@ -405,7 +405,7 @@ STATIC MP_DEFINE_CONST_DICT(re_locals_dict, re_locals_dict_table); STATIC const mp_obj_type_t re_type = { { &mp_type_type }, - .name = MP_QSTR_ure, + .name = MP_QSTR_re, .print = re_print, .locals_dict = (void*)&re_locals_dict, }; @@ -462,7 +462,7 @@ 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[] = { - { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ure) }, + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_re) }, { 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) }, diff --git a/py/moduerrno.c b/py/moduerrno.c index 7ec6699e746d..c5daae46872d 100644 --- a/py/moduerrno.c +++ b/py/moduerrno.c @@ -84,7 +84,7 @@ STATIC const mp_obj_dict_t errorcode_dict = { #endif STATIC const mp_rom_map_elem_t mp_module_uerrno_globals_table[] = { - { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_uerrno) }, + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_errno) }, #if MICROPY_PY_UERRNO_ERRORCODE { MP_ROM_QSTR(MP_QSTR_errorcode), MP_ROM_PTR(&errorcode_dict) }, #endif diff --git a/py/objmodule.c b/py/objmodule.c index 4ac94311ef04..9a56f48516f5 100644 --- a/py/objmodule.c +++ b/py/objmodule.c @@ -149,11 +149,11 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { #endif #if MICROPY_PY_IO { MP_ROM_QSTR(MP_QSTR_io), MP_ROM_PTR(&mp_module_io) }, - { MP_ROM_QSTR(MP_QSTR_uio), MP_ROM_PTR(&mp_module_io) }, #endif #if MICROPY_PY_COLLECTIONS { MP_ROM_QSTR(MP_QSTR_collections), MP_ROM_PTR(&mp_module_collections) }, #endif +// CircuitPython: Now in shared-bindings/, so not defined here. #if MICROPY_PY_STRUCT { MP_ROM_QSTR(MP_QSTR_ustruct), MP_ROM_PTR(&mp_module_ustruct) }, #endif @@ -179,7 +179,9 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { // extmod modules #if MICROPY_PY_UERRNO - { MP_ROM_QSTR(MP_QSTR_uerrno), MP_ROM_PTR(&mp_module_uerrno) }, +// CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. +// TODO: move to shared-bindings/ +// { MP_ROM_QSTR(MP_QSTR_uerrno), MP_ROM_PTR(&mp_module_uerrno) }, #endif #if MICROPY_PY_UCTYPES { MP_ROM_QSTR(MP_QSTR_uctypes), MP_ROM_PTR(&mp_module_uctypes) }, @@ -188,10 +190,14 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { { MP_ROM_QSTR(MP_QSTR_uzlib), MP_ROM_PTR(&mp_module_uzlib) }, #endif #if MICROPY_PY_UJSON - { MP_ROM_QSTR(MP_QSTR_ujson), MP_ROM_PTR(&mp_module_ujson) }, +// CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. +// TODO: move to shared-bindings/ +// { MP_ROM_QSTR(MP_QSTR_ujson), MP_ROM_PTR(&mp_module_ujson) }, #endif #if MICROPY_PY_URE - { MP_ROM_QSTR(MP_QSTR_ure), MP_ROM_PTR(&mp_module_ure) }, +// CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. +// TODO: move to shared-bindings/ +// { MP_ROM_QSTR(MP_QSTR_ure), MP_ROM_PTR(&mp_module_ure) }, #endif #if MICROPY_PY_UHEAPQ { MP_ROM_QSTR(MP_QSTR_uheapq), MP_ROM_PTR(&mp_module_uheapq) }, From d7f23c78837dd49dfc10834f6b5bb0e1ba44d949 Mon Sep 17 00:00:00 2001 From: Pascal Deneaux Date: Thu, 21 Feb 2019 13:21:18 +0100 Subject: [PATCH 08/76] Update de_DE.po --- locale/de_DE.po | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/locale/de_DE.po b/locale/de_DE.po index c68b20cea8a8..18ae1ca5d281 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -2219,8 +2219,8 @@ msgid "timeout must be >= 0.0" msgstr "timeout muss >= 0.0 sein" #: shared-bindings/bleio/CharacteristicBuffer.c:79 -msgid "buffer_size must be >= 1" -msgstr "Puffergröße muss >= 1 sein" +msgid "%q must be >= 1" +msgstr "%q muss >= 1 sein" #: shared-bindings/bleio/CharacteristicBuffer.c:83 msgid "Expected a Characteristic" @@ -2324,16 +2324,25 @@ msgstr "" msgid "Unsupported pull value." msgstr "" -#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88 -msgid "y should be an int" +#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 +msgid "Cannot delete values" +msgstr "" + +#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 +#: shared-bindings/pulseio/PulseIn.c:278 +msgid "Slices not supported" msgstr "" -#: shared-bindings/displayio/Bitmap.c:89 -msgid "row buffer must be a bytearray or array of type 'b' or 'B'" +#: shared-bindings/displayio/Bitmap.c:156 +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Bitmap.c:94 -msgid "row data must be a buffer" +#: shared-bindings/displayio/Bitmap.c:166 +msgid "pixel value requires too many bits" +msgstr "" + +#: shared-bindings/displayio/BuiltinFont.c:93 +msgid "%q should be an int" msgstr "" #: shared-bindings/displayio/ColorConverter.c:72 @@ -2392,6 +2401,10 @@ msgstr "" msgid "palette_index should be an int" msgstr "" +#: shared-bindings/displayio/Shape.c:97 +msgid "y should be an int" +msgstr "" + #: shared-bindings/displayio/Shape.c:92 msgid "start_x should be an int" msgstr "" @@ -2681,6 +2694,10 @@ msgstr "" msgid "row must be packed and word aligned" msgstr "" +#: shared-module/displayio/Bitmap.c:118 +msgid "Read-only object" +msgstr "Schreibgeschützte Objekt" + #: shared-module/displayio/Display.c:67 msgid "Unsupported display bus type" msgstr "Nicht unterstützter display bus type" From 10d3a20f8a639ad8ef5555e2142052190e8a7e13 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 21 Feb 2019 11:09:44 -0500 Subject: [PATCH 09/76] Add CIRCUITPY macro; rename u* only when CIRCUITPY=1 --- extmod/modujson.c | 4 ++++ extmod/modure.c | 4 ++++ py/circuitpy_mpconfig.h | 3 +++ py/moduerrno.c | 4 ++++ py/mpconfig.h | 5 +++++ py/objmodule.c | 19 ++++++++++++++++--- 6 files changed, 36 insertions(+), 3 deletions(-) diff --git a/extmod/modujson.c b/extmod/modujson.c index 80fccc8a11d0..6b24bf5781a8 100644 --- a/extmod/modujson.c +++ b/extmod/modujson.c @@ -292,7 +292,11 @@ STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) { 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 { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_json) }, +#else + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ujson) }, +#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) }, diff --git a/extmod/modure.c b/extmod/modure.c index 6561362a8c14..e2556c41b53f 100644 --- a/extmod/modure.c +++ b/extmod/modure.c @@ -462,7 +462,11 @@ 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 { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_re) }, +#else + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ure) }, +#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) }, diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index c70d52a7bb91..bb43201d8e73 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -33,6 +33,9 @@ #ifndef __INCLUDED_MPCONFIG_CIRCUITPY_H #define __INCLUDED_MPCONFIG_CIRCUITPY_H +// This is CircuitPython. +#define CIRCUITPY 1 + // REPR_C encodes qstrs, 31-bit ints, and 30-bit floats in a single 32-bit word. #define MICROPY_OBJ_REPR (MICROPY_OBJ_REPR_C) diff --git a/py/moduerrno.c b/py/moduerrno.c index c5daae46872d..7915603e4e64 100644 --- a/py/moduerrno.c +++ b/py/moduerrno.c @@ -84,7 +84,11 @@ STATIC const mp_obj_dict_t errorcode_dict = { #endif STATIC const mp_rom_map_elem_t mp_module_uerrno_globals_table[] = { +#if CIRCUITPY { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_errno) }, +#else + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_uerrno) }, +#endif #if MICROPY_PY_UERRNO_ERRORCODE { MP_ROM_QSTR(MP_QSTR_errorcode), MP_ROM_PTR(&errorcode_dict) }, #endif diff --git a/py/mpconfig.h b/py/mpconfig.h index bb7952a8b324..3ec383817ed7 100755 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -45,6 +45,11 @@ #include #endif +// Is this a CircuitPython build? +#ifndef CIRCUITPY +#define CIRCUITPY 0 +#endif + // Any options not explicitly set in mpconfigport.h will get default // values below. diff --git a/py/objmodule.c b/py/objmodule.c index 9a56f48516f5..469a95976a0b 100644 --- a/py/objmodule.c +++ b/py/objmodule.c @@ -148,7 +148,11 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { { MP_ROM_QSTR(MP_QSTR_array), MP_ROM_PTR(&mp_module_array) }, #endif #if MICROPY_PY_IO +#if CIRCUITPY { MP_ROM_QSTR(MP_QSTR_io), MP_ROM_PTR(&mp_module_io) }, +#else + { MP_ROM_QSTR(MP_QSTR_uio), MP_ROM_PTR(&mp_module_io) }, +#endif #endif #if MICROPY_PY_COLLECTIONS { MP_ROM_QSTR(MP_QSTR_collections), MP_ROM_PTR(&mp_module_collections) }, @@ -179,9 +183,12 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { // extmod modules #if MICROPY_PY_UERRNO +#if CIRCUITPY // CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. // TODO: move to shared-bindings/ -// { MP_ROM_QSTR(MP_QSTR_uerrno), MP_ROM_PTR(&mp_module_uerrno) }, +#else + { MP_ROM_QSTR(MP_QSTR_uerrno), MP_ROM_PTR(&mp_module_uerrno) }, +#endif #endif #if MICROPY_PY_UCTYPES { MP_ROM_QSTR(MP_QSTR_uctypes), MP_ROM_PTR(&mp_module_uctypes) }, @@ -190,14 +197,20 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { { MP_ROM_QSTR(MP_QSTR_uzlib), MP_ROM_PTR(&mp_module_uzlib) }, #endif #if MICROPY_PY_UJSON +#if CIRCUITPY // CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. // TODO: move to shared-bindings/ -// { MP_ROM_QSTR(MP_QSTR_ujson), MP_ROM_PTR(&mp_module_ujson) }, +#else + { MP_ROM_QSTR(MP_QSTR_ujson), MP_ROM_PTR(&mp_module_ujson) }, +#endif #endif #if MICROPY_PY_URE +#if CIRCUITPY // CircuitPython: Defined in MICROPY_PORT_BUILTIN_MODULES, so not defined here. // TODO: move to shared-bindings/ -// { MP_ROM_QSTR(MP_QSTR_ure), MP_ROM_PTR(&mp_module_ure) }, +#else + { MP_ROM_QSTR(MP_QSTR_ure), MP_ROM_PTR(&mp_module_ure) }, +#endif #endif #if MICROPY_PY_UHEAPQ { MP_ROM_QSTR(MP_QSTR_uheapq), MP_ROM_PTR(&mp_module_uheapq) }, From 1a0596a2fbb68c1285ec59606d03a610ee94ca47 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Tue, 19 Feb 2019 14:45:45 -0800 Subject: [PATCH 10/76] Add option to disable the concurrent write protection This allows writing to the filesystem from the host computer and CircuitPython by increasing the risk of filesystem corruption. --- extmod/vfs_fat.h | 2 ++ extmod/vfs_fat_file.c | 3 ++- lib/tinyusb | 2 +- main.c | 7 +++--- shared-bindings/storage/__init__.c | 23 +++++++++++++------ shared-bindings/storage/__init__.h | 2 +- shared-module/storage/__init__.c | 5 +++-- supervisor/filesystem.h | 9 +++++++- supervisor/flash.h | 1 - supervisor/shared/filesystem.c | 32 +++++++++++++++++++++++++-- supervisor/shared/flash.c | 20 ----------------- supervisor/shared/usb/usb_msc_flash.c | 4 ++-- 12 files changed, 69 insertions(+), 41 deletions(-) diff --git a/extmod/vfs_fat.h b/extmod/vfs_fat.h index dd5e5ffcb2d6..08b03d0d1862 100644 --- a/extmod/vfs_fat.h +++ b/extmod/vfs_fat.h @@ -38,6 +38,8 @@ #define FSUSER_NO_FILESYSTEM (0x0008) // the block device has no filesystem on it // Device is writable over USB and read-only to MicroPython. #define FSUSER_USB_WRITABLE (0x0010) +// Bit set when the above flag is checked before opening a file for write. +#define FSUSER_CONCURRENT_WRITE_PROTECTED (0x0020) typedef struct _fs_user_mount_t { mp_obj_base_t base; diff --git a/extmod/vfs_fat_file.c b/extmod/vfs_fat_file.c index 690073ce4835..6aad1884cb03 100644 --- a/extmod/vfs_fat_file.c +++ b/extmod/vfs_fat_file.c @@ -34,6 +34,7 @@ #include "py/mperrno.h" #include "lib/oofatfs/ff.h" #include "extmod/vfs_fat.h" +#include "supervisor/filesystem.h" // this table converts from FRESULT to POSIX errno const byte fresult_to_errno_table[20] = { @@ -187,7 +188,7 @@ STATIC mp_obj_t file_open(fs_user_mount_t *vfs, const mp_obj_type_t *type, mp_ar } } assert(vfs != NULL); - if ((vfs->flags & FSUSER_USB_WRITABLE) != 0 && (mode & FA_WRITE) != 0) { + if ((mode & FA_WRITE) != 0 && !filesystem_is_writable_by_python(vfs)) { mp_raise_OSError(MP_EROFS); } diff --git a/lib/tinyusb b/lib/tinyusb index 29b49199beb8..55874813f821 160000 --- a/lib/tinyusb +++ b/lib/tinyusb @@ -1 +1 @@ -Subproject commit 29b49199beb8e9b5fead83e5cd36105f8746f1d7 +Subproject commit 55874813f82157b7509729b1a0c66e68f86e2d07 diff --git a/main.c b/main.c index 68ee66d02a03..f0913db6ee9a 100755 --- a/main.c +++ b/main.c @@ -323,12 +323,12 @@ void __attribute__ ((noinline)) run_boot_py(safe_mode_t safe_mode) { mp_hal_delay_ms(1500); // USB isn't up, so we can write the file. - filesystem_writable_by_python(true); + filesystem_set_internal_writable_by_usb(false); f_open(fs, boot_output_file, CIRCUITPY_BOOT_OUTPUT_FILE, FA_WRITE | FA_CREATE_ALWAYS); // Switch the filesystem back to non-writable by Python now instead of later, // since boot.py might change it back to writable. - filesystem_writable_by_python(false); + filesystem_set_internal_writable_by_usb(true); // Write version info to boot_out.txt. mp_hal_stdout_tx_str(MICROPY_FULL_VERSION_INFO); @@ -416,7 +416,8 @@ int __attribute__((used)) main(void) { // By default our internal flash is readonly to local python code and // writable over USB. Set it here so that boot.py can change it. - filesystem_writable_by_python(false); + filesystem_set_internal_concurrent_write_protection(true); + filesystem_set_internal_writable_by_usb(true); run_boot_py(safe_mode); diff --git a/shared-bindings/storage/__init__.c b/shared-bindings/storage/__init__.c index 3484b9af825d..d7af48df00e3 100644 --- a/shared-bindings/storage/__init__.c +++ b/shared-bindings/storage/__init__.c @@ -48,16 +48,18 @@ //| directly. //| -//| .. function:: mount(filesystem, mount_path, \*, readonly=False) +//| .. function:: mount(filesystem, mount_path, \*, readonly=False, disable_concurrent_write_protection=False) //| //| Mounts the given filesystem object at the given path. //| //| This is the CircuitPython analog to the UNIX ``mount`` command. //| +//| :param bool readonly: True when the filesystem should be readonly to CircuitPython. +//| mp_obj_t storage_mount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { enum { ARG_readonly }; static const mp_arg_t allowed_args[] = { - { MP_QSTR_readonly, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_false} }, + { MP_QSTR_readonly, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} }, }; // parse args @@ -77,7 +79,7 @@ mp_obj_t storage_mount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_arg mp_raise_ValueError(translate("filesystem must provide mount method")); } - common_hal_storage_mount(vfs_obj, mnt_str, mp_obj_is_true(args[ARG_readonly].u_obj)); + common_hal_storage_mount(vfs_obj, mnt_str, args[ARG_readonly].u_bool); return mp_const_none; } @@ -101,14 +103,21 @@ mp_obj_t storage_umount(mp_obj_t mnt_in) { } MP_DEFINE_CONST_FUN_OBJ_1(storage_umount_obj, storage_umount); -//| .. function:: remount(mount_path, readonly=False) +//| .. function:: remount(mount_path, readonly=False, *, disable_concurrent_write_protection=False) //| //| Remounts the given path with new parameters. //| +//| :param bool readonly: True when the filesystem should be readonly to CircuitPython. +//| :param bool disable_concurrent_write_protection: When True, the check that makes sure the +//| underlying filesystem data is written by one computer is disabled. Disabling the protection +//| allows CircuitPython and a host to write to the same filesystem with the risk that the +//| filesystem will be corrupted. +//| mp_obj_t storage_remount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { - enum { ARG_readonly }; + enum { ARG_readonly, ARG_disable_concurrent_write_protection }; static const mp_arg_t allowed_args[] = { - { MP_QSTR_readonly, MP_ARG_BOOL | MP_ARG_REQUIRED, {.u_bool = false} }, + { MP_QSTR_readonly, MP_ARG_BOOL, {.u_bool = false} }, + { MP_QSTR_disable_concurrent_write_protection, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} }, }; // get the mount point @@ -118,7 +127,7 @@ mp_obj_t storage_remount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_a mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); - common_hal_storage_remount(mnt_str, args[ARG_readonly].u_bool); + common_hal_storage_remount(mnt_str, args[ARG_readonly].u_bool, args[ARG_disable_concurrent_write_protection].u_bool); return mp_const_none; } diff --git a/shared-bindings/storage/__init__.h b/shared-bindings/storage/__init__.h index 6a0cb9fc71ef..7851b9e292b3 100644 --- a/shared-bindings/storage/__init__.h +++ b/shared-bindings/storage/__init__.h @@ -33,7 +33,7 @@ void common_hal_storage_mount(mp_obj_t vfs_obj, const char* path, bool readonly); void common_hal_storage_umount_path(const char* path); void common_hal_storage_umount_object(mp_obj_t vfs_obj); -void common_hal_storage_remount(const char* path, bool readonly); +void common_hal_storage_remount(const char* path, bool readonly, bool disable_concurrent_write_protection); mp_obj_t common_hal_storage_getmount(const char* path); void common_hal_storage_erase_filesystem(void); diff --git a/shared-module/storage/__init__.c b/shared-module/storage/__init__.c index f09edd7858f3..215e1356a38d 100644 --- a/shared-module/storage/__init__.c +++ b/shared-module/storage/__init__.c @@ -143,7 +143,7 @@ mp_obj_t common_hal_storage_getmount(const char *mount_path) { return storage_object_from_path(mount_path); } -void common_hal_storage_remount(const char *mount_path, bool readonly) { +void common_hal_storage_remount(const char *mount_path, bool readonly, bool disable_concurrent_write_protection) { if (strcmp(mount_path, "/") != 0) { mp_raise_OSError(MP_EINVAL); } @@ -156,7 +156,8 @@ void common_hal_storage_remount(const char *mount_path, bool readonly) { } #endif - supervisor_flash_set_usb_writable(readonly); + filesystem_set_internal_writable_by_usb(readonly); + filesystem_set_internal_concurrent_write_protection(!disable_concurrent_write_protection); } void common_hal_storage_erase_filesystem(void) { diff --git a/supervisor/filesystem.h b/supervisor/filesystem.h index eb9e65c091d1..76f235f47d88 100644 --- a/supervisor/filesystem.h +++ b/supervisor/filesystem.h @@ -29,9 +29,16 @@ #include +#include "extmod/vfs_fat.h" + void filesystem_init(bool create_allowed, bool force_create); void filesystem_flush(void); -void filesystem_writable_by_python(bool writable); bool filesystem_present(void); +void filesystem_set_internal_writable_by_usb(bool usb_writable); +void filesystem_set_internal_concurrent_write_protection(bool concurrent_write_protection); +void filesystem_set_writable_by_usb(fs_user_mount_t *vfs, bool usb_writable); +void filesystem_set_concurrent_write_protection(fs_user_mount_t *vfs, bool concurrent_write_protection); +bool filesystem_is_writable_by_python(fs_user_mount_t *vfs); +bool filesystem_is_writable_by_usb(fs_user_mount_t *vfs); #endif // MICROPY_INCLUDED_SUPERVISOR_FILESYSTEM_H diff --git a/supervisor/flash.h b/supervisor/flash.h index ae6a44fd013c..edf43f4b1045 100644 --- a/supervisor/flash.h +++ b/supervisor/flash.h @@ -37,7 +37,6 @@ #include "supervisor/internal_flash.h" #endif -void supervisor_flash_set_usb_writable(bool usb_writable); void supervisor_flash_init(void); uint32_t supervisor_flash_get_block_size(void); uint32_t supervisor_flash_get_block_count(void); diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index 3382d28be815..0ef978ef21a4 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -24,6 +24,8 @@ * THE SOFTWARE. */ +#include "supervisor/filesystem.h" + #include "extmod/vfs_fat.h" #include "lib/oofatfs/ff.h" #include "lib/oofatfs/diskio.h" @@ -92,16 +94,42 @@ void filesystem_flush(void) { supervisor_flash_flush(); } -void filesystem_writable_by_python(bool writable) { +void filesystem_set_internal_writable_by_usb(bool writable) { fs_user_mount_t *vfs = &_internal_vfs; - if (!writable) { + filesystem_set_writable_by_usb(vfs, writable); +} + +void filesystem_set_writable_by_usb(fs_user_mount_t *vfs, bool usb_writable) { + if (usb_writable) { vfs->flags |= FSUSER_USB_WRITABLE; } else { vfs->flags &= ~FSUSER_USB_WRITABLE; } } +bool filesystem_is_writable_by_python(fs_user_mount_t *vfs) { + return (vfs->flags & FSUSER_CONCURRENT_WRITE_PROTECTED) == 0 || + (vfs->flags & FSUSER_USB_WRITABLE) == 0; +} + +bool filesystem_is_writable_by_usb(fs_user_mount_t *vfs) { + return (vfs->flags & FSUSER_CONCURRENT_WRITE_PROTECTED) == 0 || + (vfs->flags & FSUSER_USB_WRITABLE) != 0; +} + +void filesystem_set_internal_concurrent_write_protection(bool concurrent_write_protection) { + filesystem_set_concurrent_write_protection(&_internal_vfs, concurrent_write_protection); +} + +void filesystem_set_concurrent_write_protection(fs_user_mount_t *vfs, bool concurrent_write_protection) { + if (concurrent_write_protection) { + vfs->flags |= FSUSER_CONCURRENT_WRITE_PROTECTED; + } else { + vfs->flags &= ~FSUSER_CONCURRENT_WRITE_PROTECTED; + } +} + bool filesystem_present(void) { return true; } diff --git a/supervisor/shared/flash.c b/supervisor/shared/flash.c index 8be21e5d0656..6b1f24b4bcc1 100644 --- a/supervisor/shared/flash.c +++ b/supervisor/shared/flash.c @@ -33,26 +33,6 @@ #define PART1_START_BLOCK (0x1) -void supervisor_flash_set_usb_writable(bool usb_writable) { - mp_vfs_mount_t* current_mount = MP_STATE_VM(vfs_mount_table); - for (uint8_t i = 0; current_mount != NULL; i++) { - if (i == VFS_INDEX) { - break; - } - current_mount = current_mount->next; - } - if (current_mount == NULL) { - return; - } - fs_user_mount_t *vfs = (fs_user_mount_t *) current_mount->obj; - - if (usb_writable) { - vfs->flags |= FSUSER_USB_WRITABLE; - } else { - vfs->flags &= ~FSUSER_USB_WRITABLE; - } -} - // there is a singleton Flash object const mp_obj_type_t supervisor_flash_type; STATIC const mp_obj_base_t supervisor_flash_obj = {&supervisor_flash_type}; diff --git a/supervisor/shared/usb/usb_msc_flash.c b/supervisor/shared/usb/usb_msc_flash.c index 658aab0d87e8..f6f0fa9c34f8 100644 --- a/supervisor/shared/usb/usb_msc_flash.c +++ b/supervisor/shared/usb/usb_msc_flash.c @@ -34,6 +34,7 @@ #include "lib/oofatfs/ff.h" #include "py/mpstate.h" +#include "supervisor/filesystem.h" #include "supervisor/shared/autoreload.h" #define MSC_FLASH_BLOCK_SIZE 512 @@ -148,8 +149,7 @@ bool tud_msc_is_writable_cb(uint8_t lun) { if (vfs == NULL) { return false; } - if (vfs->writeblocks[0] == MP_OBJ_NULL || - (vfs->flags & FSUSER_USB_WRITABLE) == 0) { + if (vfs->writeblocks[0] == MP_OBJ_NULL || !filesystem_is_writable_by_usb(vfs)) { return false; } return true; From 08158a7c346f2561fd6786b2bc5af9b44aee1f4c Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Feb 2019 12:02:01 -0800 Subject: [PATCH 11/76] Tweak the backlight PWM rate to be higher that audio range. Fixes #1571 --- shared-module/displayio/Display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index f14a27b78d26..da3424a36015 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -121,7 +121,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self, // Always set the backlight type in case we're reusing memory. self->backlight_inout.base.type = &mp_type_NoneType; if (backlight_pin != NULL && common_hal_mcu_pin_is_free(backlight_pin)) { - pwmout_result_t result = common_hal_pulseio_pwmout_construct(&self->backlight_pwm, backlight_pin, 0, 5000, false); + pwmout_result_t result = common_hal_pulseio_pwmout_construct(&self->backlight_pwm, backlight_pin, 0, 50000, false); if (result != PWMOUT_OK) { self->backlight_inout.base.type = &digitalio_digitalinout_type; common_hal_digitalio_digitalinout_construct(&self->backlight_inout, backlight_pin); From 01e5a82f1c157c4e170fec4b1e9d1bd1156e97fe Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 21 Feb 2019 15:11:54 -0500 Subject: [PATCH 12/76] conditionalize re object type name --- extmod/modure.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extmod/modure.c b/extmod/modure.c index e2556c41b53f..125afef4d3b6 100644 --- a/extmod/modure.c +++ b/extmod/modure.c @@ -405,7 +405,11 @@ 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 .name = MP_QSTR_re, +#else + .name = MP_QSTR_ure, +#endif .print = re_print, .locals_dict = (void*)&re_locals_dict, }; From daee83c10bc65a98f5574017e4e3fbeb350ffbe8 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Feb 2019 13:23:02 -0800 Subject: [PATCH 13/76] Fix mount doc --- shared-bindings/storage/__init__.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/storage/__init__.c b/shared-bindings/storage/__init__.c index d7af48df00e3..4db3a9feca7a 100644 --- a/shared-bindings/storage/__init__.c +++ b/shared-bindings/storage/__init__.c @@ -48,7 +48,7 @@ //| directly. //| -//| .. function:: mount(filesystem, mount_path, \*, readonly=False, disable_concurrent_write_protection=False) +//| .. function:: mount(filesystem, mount_path, \*, readonly=False) //| //| Mounts the given filesystem object at the given path. //| From ed1ace09e971b24bc9ff88defe2e128064780824 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Feb 2019 13:23:28 -0800 Subject: [PATCH 14/76] Fix unix build by using filesystem stub --- ports/unix/Makefile | 1 + supervisor/stub/filesystem.c | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ports/unix/Makefile b/ports/unix/Makefile index 99b65ec1bc22..05b1fcaf8efb 100644 --- a/ports/unix/Makefile +++ b/ports/unix/Makefile @@ -149,6 +149,7 @@ SRC_C = \ alloc.c \ coverage.c \ fatfs_port.c \ + supervisor/stub/filesystem.c \ supervisor/stub/serial.c \ supervisor/stub/stack.c \ supervisor/shared/translate.c \ diff --git a/supervisor/stub/filesystem.c b/supervisor/stub/filesystem.c index 12fe9fb10951..1c4a3e12dda8 100644 --- a/supervisor/stub/filesystem.c +++ b/supervisor/stub/filesystem.c @@ -26,13 +26,17 @@ #include "supervisor/filesystem.h" -void filesystem_init(void) { +void filesystem_init(bool create_allowed, bool force_create) { + (void) create_allowed; + (void) force_create; } void filesystem_flush(void) { } -void filesystem_writable_by_python(bool writable) { +bool filesystem_is_writable_by_python(fs_user_mount_t *vfs) { + (void) vfs; + return true; } bool filesystem_present(void) { From 7a7f6638d2f399ac75c28cb53b441836bbe0acd1 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Thu, 21 Feb 2019 18:44:51 -0600 Subject: [PATCH 15/76] update peripherals submodule --- ports/atmel-samd/peripherals | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/peripherals b/ports/atmel-samd/peripherals index 235cb97d7264..6416828bb682 160000 --- a/ports/atmel-samd/peripherals +++ b/ports/atmel-samd/peripherals @@ -1 +1 @@ -Subproject commit 235cb97d72648ec2889aba25ff4a34c4f32e2ac3 +Subproject commit 6416828bb6821779d4c62fa3c7d41c95634173c0 From a3f387274f029abae46c87ca9a903d67bdc90ea1 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Thu, 21 Feb 2019 20:46:42 -0600 Subject: [PATCH 16/76] fix build issues --- ports/atmel-samd/Makefile | 1 + ports/atmel-samd/timer_handler.c | 3 --- ports/atmel-samd/timer_handler.h | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ports/atmel-samd/Makefile b/ports/atmel-samd/Makefile index b608f3a20c01..f7bee226f252 100644 --- a/ports/atmel-samd/Makefile +++ b/ports/atmel-samd/Makefile @@ -245,6 +245,7 @@ SRC_C = \ reset.c \ supervisor/shared/memory.c \ tick.c \ + timer_handler.c \ ifeq ($(CIRCUITPY_NETWORK),1) diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 566dd8cbd0f5..26f984d9640f 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -30,7 +30,6 @@ #include "timer_handler.h" #include "common-hal/pulseio/PulseOut.h" -#include "common-hal/pulseio/FrequencyIn.h" static uint8_t tc_handler[TC_INST_NUM]; @@ -47,8 +46,6 @@ void shared_timer_handler(bool is_tc, uint8_t index) { uint8_t handler = tc_handler[index]; if (handler == TC_HANDLER_PULSEOUT) { pulseout_interrupt_handler(index); - } else if (handler == TC_HANDLER_FREQUENCYIN) { - frequencyin_interrupt_handler(index); } } } diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h index a495e21f2a41..f7a6e6e0ed17 100644 --- a/ports/atmel-samd/timer_handler.h +++ b/ports/atmel-samd/timer_handler.h @@ -28,7 +28,6 @@ #define TC_HANDLER_NO_INTERRUPT 0x0 #define TC_HANDLER_PULSEOUT 0x1 -#define TC_HANDLER_FREQUENCYIN 0x2 void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler); void shared_timer_handler(bool is_tc, uint8_t index); From 1d3489fef580529d7e7d71c62dd1413d6813cc65 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 22 Feb 2019 11:30:25 -0800 Subject: [PATCH 17/76] Remove duplicates and English translations --- locale/de_DE.po | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/locale/de_DE.po b/locale/de_DE.po index 18ae1ca5d281..c9aff30f3e97 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -105,7 +105,7 @@ msgstr "Syntaxfehler in JSON" #: extmod/modure.c:161 msgid "Splitting with sub-captures" -msgstr "Splitting with sub-captures" +msgstr "" #: extmod/modure.c:207 msgid "Error in regex" @@ -1062,15 +1062,15 @@ msgstr "mehrere **x sind nicht gestattet" #: py/compile.c:2271 msgid "LHS of keyword arg must be an id" -msgstr "LHS of keyword arg must be an id" +msgstr "" #: py/compile.c:2287 msgid "non-keyword arg after */**" -msgstr "non-keyword arg after */**" +msgstr "" #: py/compile.c:2291 msgid "non-keyword arg after keyword arg" -msgstr "non-keyword arg after keyword arg" +msgstr "" #: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 #: py/parse.c:1176 @@ -2324,15 +2324,6 @@ msgstr "" msgid "Unsupported pull value." msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "" - -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "" - #: shared-bindings/displayio/Bitmap.c:156 msgid "pixel coordinates out of bounds" msgstr "" From 10cdf9a480776b509de3d74f1cd73a64c5d21a46 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 22 Feb 2019 12:18:25 -0800 Subject: [PATCH 18/76] Add missing messages --- locale/de_DE.po | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/locale/de_DE.po b/locale/de_DE.po index c9aff30f3e97..750e0d41a9c4 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -2845,3 +2845,9 @@ msgid "" msgstr "" "Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie " "erneut um den abgesicherten Modus zu verlassen. \n" + +msgid "All UART peripherals are in use" +msgstr "Alle UART-Peripheriegeräte sind in Benutzung" + +msgid "offset out of bounds" +msgstr "" From 2a5a735d9440ca9998e80239b41410a35b0c972d Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Feb 2019 17:57:23 -0800 Subject: [PATCH 19/76] Add utility to remerge translations --- tools/fixup_translations.py | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tools/fixup_translations.py diff --git a/tools/fixup_translations.py b/tools/fixup_translations.py new file mode 100644 index 000000000000..c20ace55b775 --- /dev/null +++ b/tools/fixup_translations.py @@ -0,0 +1,58 @@ +# Validate that all entries in the .pot are in every .po. Only the .pot is updated so we can detect +# if a translation was added to the source but isn't in a .po. This ensures translators can grab +# complete files to work on. + +import git +import sys +import polib + +po_filenames = sys.argv[1:] +repo = git.Repo() + +NO_TRANSLATION_WHITELIST = ["ffi_prep_closure_loc"] + +bad_commits = {} +for po_filename in po_filenames: + print("Checking", po_filename) + + commits = repo.iter_commits(paths=po_filename, reverse=True, topo_order=True) + first_translations = None + fixed_ids = set() + for commit in commits: + try: + blob = commit.tree / po_filename + except KeyError: + continue + try: + current_file = polib.pofile(blob.data_stream.read().decode("utf-8")) + except OSError: + print("skipping invalid po in", commit) + continue + if not first_translations: + first_translations = current_file + continue + print(commit.authored_date, commit) + first_translations.metadata = current_file.metadata + for entry in first_translations: + if entry.msgid == "soft reboot\n": + continue + newer_entry = current_file.find(entry.msgid) + if newer_entry and entry.msgstr != newer_entry.msgstr: + if newer_entry.msgstr != "" and (newer_entry.msgstr != entry.msgid or entry.msgid in NO_TRANSLATION_WHITELIST): + entry.merge(newer_entry) + entry.msgstr = newer_entry.msgstr + elif entry.msgid not in fixed_ids: + if commit not in bad_commits: + bad_commits[commit] = set() + bad_commits[commit].add(po_filename) + fixed_ids.add(entry.msgid) + print(entry.msgid, "\"" + entry.msgstr + "\"", "\"" + newer_entry.msgstr + "\"") + + first_translations.save(po_filename) + +print() +for commit in bad_commits: + files = bad_commits[commit] + print(commit) + for file in files: + print("\t",file) From 8cfc4ed9ca16c8b5faa3901385a8d9dbaaa03c19 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 22 Feb 2019 12:04:54 -0800 Subject: [PATCH 20/76] Remove file locations --- Makefile | 4 +- locale/ID.po | 3094 ++++++++++++------------------ locale/circuitpython.pot | 2214 ++++++++-------------- locale/de_DE.po | 3345 +++++++++++++-------------------- locale/en_US.po | 2214 ++++++++-------------- locale/es.po | 3704 +++++++++++++++--------------------- locale/fil.po | 3764 +++++++++++++++---------------------- locale/fr.po | 3820 ++++++++++++++++---------------------- locale/it_IT.po | 3652 +++++++++++++++--------------------- locale/pt_BR.po | 3116 ++++++++++++------------------- 10 files changed, 11228 insertions(+), 17699 deletions(-) diff --git a/Makefile b/Makefile index 94d2e461e31f..419d605c03ae 100644 --- a/Makefile +++ b/Makefile @@ -194,10 +194,10 @@ pseudoxml: all-source: locale/circuitpython.pot: all-source - find . -iname "*.c" | xargs xgettext -L C --keyword=translate -F -o circuitpython.pot -p locale + find . -iname "*.c" | xargs xgettext -L C -s --no-location --keyword=translate -o circuitpython.pot -p locale translate: locale/circuitpython.pot - for po in $(shell ls locale/*.po); do msgmerge -U -F $$po locale/circuitpython.pot; done + for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-location locale/circuitpython.pot; done check-translate: locale/circuitpython.pot $(wildcard locale/*.po) $(PYTHON) tools/check_translations.py $^ diff --git a/locale/ID.po b/locale/ID.po index 4757b8cc1c6b..04e4e8aa0d9a 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,2853 +17,2139 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "perangkat I2C tidak valid" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "operasi I2C tidak didukung" +msgid " File \"%q\"" +msgstr "" + +msgid " File \"%q\", line %d" +msgstr "" + +msgid " output:\n" +msgstr "output:\n" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 #, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "alamat %08x tidak selaras dengan %d bytes" +msgid "%%c requires int or char" +msgstr "" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "perangkat SPI tidak valid" +msgid "%q in use" +msgstr "" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" +msgid "%q index out of range" +msgstr "" + +msgid "%q indices must be integers, not %s" +msgstr "" + +#, fuzzy +msgid "%q must be >= 1" msgstr "buffers harus mempunyai panjang yang sama" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "bits harus memilki nilai 8" +msgid "%q should be an int" +msgstr "" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "bit pertama(firstbit) harus berupa MSB" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "harus menentukan semua pin sck/mosi/miso" +msgid "'%q' argument required" +msgstr "'%q' argumen dibutuhkan" -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "format tidak valid" +#, c-format +msgid "'%s' expects a label" +msgstr "" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" +#, c-format +msgid "'%s' expects a register" +msgstr "'%s' mengharapkan sebuah register" -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "panjang data string memiliki keganjilan (odd-length)" +#, c-format +msgid "'%s' expects a special register" +msgstr "'%s' mengharapkan sebuah register spesial" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "digit non-hex ditemukan" +#, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' mengharapkan sebuah FPU register" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "lapisan (padding) tidak benar" +#, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "'%s' mengharapkan sebuah alamat dengan bentuk [a, b]" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "sintaksis error pada pendeskripsi uctypes" +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' mengharapkan integer" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" +#, c-format +msgid "'%s' expects at most r%d" +msgstr "'%s' mengharapkan setidaknya r%d" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: tidak ada fields" +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "'%s' mengharapkan {r0, r1, ...}" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: tidak bisa melakukan index" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: index keluar dari jangkauan" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "'%s' integer 0x%x tidak cukup didalam mask 0x%x" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "heap harus berupa sebuah list" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "heap kosong" +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "sintaksis error pada JSON" +msgid "'%s' object has no attribute '%q'" +msgstr "" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" -msgstr "Memisahkan dengan menggunakan sub-captures" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "Error pada regex" +#, c-format +msgid "'%s' object is not callable" +msgstr "" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "key tidak valid" +#, c-format +msgid "'%s' object is not iterable" +msgstr "" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "cert tidak valid" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "antrian meluap (overflow)" +msgid "'=' alignment not allowed in string format specifier" +msgstr "" -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "kompresi header" +msgid "'S' and 'O' are not supported format types" +msgstr "" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "indeks dupterm tidak valid" +msgid "'align' requires 1 argument" +msgstr "'align' membutuhkan 1 argumen" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "sistem file (filesystem) bersifat Read-only" +msgid "'await' outside function" +msgstr "'await' diluar fungsi" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "operasi I/O pada file tertutup" +msgid "'break' outside loop" +msgstr "'break' diluar loop" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() dipanggil" +msgid "'continue' outside loop" +msgstr "'continue' diluar loop" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "argumen-argumen tidak valid" +msgid "'data' requires at least 2 arguments" +msgstr "'data' membutuhkan setidaknya 2 argumen" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "kompilasi script tidak didukung" +msgid "'data' requires integer arguments" +msgstr "'data' membutuhkan argumen integer" -#: main.c:152 -msgid " output:\n" -msgstr "output:\n" +msgid "'label' requires 1 argument" +msgstr "'label' membutuhkan 1 argumen" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" -msgstr "" -"Auto-reload aktif. Silahkan simpan data-data (files) melalui USB untuk " -"menjalankannya atau masuk ke REPL untukmenonaktifkan.\n" +msgid "'return' outside function" +msgstr "'return' diluar fungsi" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n" +msgid "'yield' outside function" +msgstr "'yield' diluar fungsi" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "Auto-reload tidak aktif.\n" +msgid "*x must be assignment target" +msgstr "*x harus menjadi target assignment" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" +msgid ", in %q\n" msgstr "" -"Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "PERINGATAN: Nama file kode anda mempunyai dua ekstensi\n" +msgid "0.0 to a complex power" +msgstr "" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid "3-arg pow() not supported" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "A hardware interrupt channel is already in use" +msgstr "Sebuah channel hardware interrupt sedang digunakan" + +msgid "AP required" +msgstr "AP dibutuhkan" + +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -"Tekan tombol apa saja untuk masuk ke dalam REPL. Gunakan CTRL+D untuk reset " -"(Reload)" -#: main.c:422 -msgid "soft reboot\n" -msgstr "memulai ulang software(soft reboot)\n" +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "buffers harus mempunyai panjang yang sama" + +msgid "All I2C peripherals are in use" +msgstr "Semua perangkat I2C sedang digunakan" + +msgid "All SPI peripherals are in use" +msgstr "Semua perangkat SPI sedang digunakan" + +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Semua perangkat I2C sedang digunakan" + +msgid "All event channels in use" +msgstr "Semua channel event sedang digunakan" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 msgid "All sync event channels in use" msgstr "Semua channel event yang disinkronisasi sedang digunakan" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "kalibrasi adalah read only" +msgid "All timers for this pin are in use" +msgstr "Semua timer untuk pin ini sedang digunakan" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "kalibrasi keluar dari jangkauan" +msgid "All timers in use" +msgstr "Semua timer sedang digunakan" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)" +msgid "AnalogOut functionality not supported" +msgstr "fungsionalitas AnalogOut tidak didukung" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Tidak ada DAC (Digital Analog Converter) di dalam chip" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 msgid "AnalogOut not supported on given pin" msgstr "pin yang dipakai tidak mendukung AnalogOut" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Bit clock pada pin tidak valid" - -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "Bit clock dan word harus memiliki kesamaan pada clock unit" +msgid "Another send is already active" +msgstr "Send yang lain sudah aktif" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "data pin tidak valid" +msgid "Array must contain halfwords (type 'H')" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer sedang digunakan" +msgid "Array values should be single bytes." +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Clock unit sedang digunakan" +msgid "Auto-reload is off.\n" +msgstr "Auto-reload tidak aktif.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Tidak dapat menemukan GCLK yang kosong" - -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Terlalu banyak channel dalam sampel" - -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "tidak ada channel DMA ditemukan" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"Auto-reload aktif. Silahkan simpan data-data (files) melalui USB untuk " +"menjalankannya atau masuk ke REPL untukmenonaktifkan.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Tidak dapat mengalokasikan buffer untuk signed conversion" +msgid "Bit clock and word select must share a clock unit" +msgstr "Bit clock dan word harus memiliki kesamaan pada clock unit" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Clock pada pin tidak valid" +msgid "Bit depth must be multiple of 8." +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " -msgstr "Hanya 8 atau 16 bit mono dengan " +msgid "Both pins must support hardware interrupts" +msgstr "Kedua pin harus mendukung hardware interrut" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "nilai sampling keluar dari jangkauan" +msgid "Brightness must be between 0 and 255" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" -msgstr "DAC sudah digunakan" +msgid "Brightness not adjustable" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Channel Kanan tidak didukung" +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Pin tidak valid" +msgid "Buffer must be at least length 1" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Pin untuk channel kiri tidak valid" +#, fuzzy, c-format +msgid "Bus pin %d is already in use" +msgstr "DAC sudah digunakan" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Pin untuk channel kanan tidak valid" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "buffers harus mempunyai panjang yang sama" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" +msgid "Bytes must be between 0 and 255." msgstr "" -"Tidak dapat menggunakan output di kedua channel dengan menggunakan pin yang " -"sama" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Semua timer sedang digunakan" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Semua channel event sedang digunakan" +msgid "C-level assert" +msgstr "Dukungan C-level" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Nilai sampel terlalu tinggi. Nilai harus kurang dari %d" - -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Pin-pin tidak valid" - -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "SDA atau SCL membutuhkan pull up" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "Baudrate tidak didukung" +msgid "Can't add services in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "byte > 8 bit tidak didukung" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "tx dan rx keduanya tidak boleh kosong" +msgid "Can't change the name in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Gagal untuk mengalokasikan buffer RX" +msgid "Can't connect in Peripheral mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "Tidak dapat menginisialisasi UART" +msgid "Cannot connect to AP" +msgstr "Tidak dapat menyambungkan ke AP" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Tidak pin RX" +msgid "Cannot delete values" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Tidak ada pin TX" +msgid "Cannot disconnect from AP" +msgstr "Tidak dapat memutuskna dari AP" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 msgid "Cannot get pull while in output mode" msgstr "Tidak bisa mendapatkan pull pada saat mode output" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -msgid "Data 0 pin must be byte aligned" +#, fuzzy +msgid "Cannot get temperature" +msgstr "Tidak bisa mendapatkan temperatur. status: 0x%02x" + +msgid "Cannot output both channels on the same pin" msgstr "" +"Tidak dapat menggunakan output di kedua channel dengan menggunakan pin yang " +"sama" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, fuzzy, c-format -msgid "Bus pin %d is already in use" -msgstr "DAC sudah digunakan" +msgid "Cannot read without MISO pin." +msgstr "" + +msgid "Cannot record to a file" +msgstr "" + +msgid "Cannot remount '/' when USB is active." +msgstr "" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 msgid "Cannot reset into bootloader because no bootloader is present." msgstr "" "Tidak dapat melakukan reset ke bootloader karena tidak ada bootloader yang " "terisi" -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Frekuensi PWM tidak valid" - -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Tidak ada dukungan hardware untuk pin" +msgid "Cannot set STA config" +msgstr "Tidak dapat mengatur konfigurasi STA" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "Channel EXTINT sedang digunakan" +msgid "Cannot set value when direction is input." +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" +msgid "Cannot subclass slice" +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "Muncul dari PulseIn yang kosong" +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "index keluar dari jangkauan" +msgid "Cannot unambiguously get sizeof scalar" +msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Send yang lain sudah aktif" +msgid "Cannot update i/f status" +msgstr "Tidak dapat memperbarui status i/f" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Kedua pin harus mendukung hardware interrut" +msgid "Cannot write without MOSI pin." +msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Sebuah channel hardware interrupt sedang digunakan" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "nilai kalibrasi keluar dari jangkauan +/-127" +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Tidak ada GCLK yang kosong" +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Pin %q tidak memiliki kemampuan ADC" +msgid "Clock pin init failed." +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Tidak dukungan hardware untuk analog out." +msgid "Clock stretch too long" +msgstr "" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Pin-pin tidak valid untuk SPI" +msgid "Clock unit in use" +msgstr "Clock unit sedang digunakan" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Hanya tx yang mendukung pada UART1 (GPIO2)." +msgid "Command must be an int between 0 and 255" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "bit data tidak valid" +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "stop bit tidak valid" +msgid "Could not initialize UART" +msgstr "Tidak dapat menginisialisasi UART" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "ESP866 tidak mendukung pull down" +msgid "Couldn't allocate first buffer" +msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "GPIO16 tidak mendukung pull up" +msgid "Couldn't allocate second buffer" +msgstr "" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "ESP8266 tidak mendukung safe mode" +msgid "Crash into the HardFault_Handler.\n" +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "Nilai maksimum frekuensi PWM adalah %dhz" +msgid "DAC already in use" +msgstr "DAC sudah digunakan" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "Nilai minimum frekuensi PWM is 1hz" +msgid "Data 0 pin must be byte aligned" +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "Nilai Frekuensi PWM ganda tidak didukung. PWM sudah diatur pada %dhz" +msgid "Data chunk must follow fmt chunk" +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" -msgstr "PWM tidak didukung pada pin %d" +#, fuzzy +msgid "Data too large for advertisement packet" +msgstr "Tidak bisa menyesuaikan data ke dalam paket advertisment" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Tidak ada dukungan PulseIn untuk %q" +#, fuzzy +msgid "Data too large for the advertisement packet" +msgstr "Tidak bisa menyesuaikan data ke dalam paket advertisment" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Tidak dapat memasang filesystem kembali" +msgid "Destination capacity is smaller than destination_length." +msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" +msgid "Display rotation must be in 90 degree increments" msgstr "" -"Gunakan esptool untuk menghapus flash dan upload ulang Python sebagai " -"gantinya" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" -msgstr "Dukungan C-level" +msgid "Don't know how to pass object to native function" +msgstr "Tidak tahu cara meloloskan objek ke fungsi native" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "tidak valid channel ADC: %d" +msgid "Drive mode not used when direction is input." +msgstr "" -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "baudrate tidak memungkinkan" +msgid "ESP8226 does not support safe mode." +msgstr "ESP8266 tidak mendukung safe mode" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "mengharapkan sebuah pin" +msgid "ESP8266 does not support pull down." +msgstr "ESP866 tidak mendukung pull down" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pin(16) tidak mendukung pull" +msgid "EXTINT channel already in use" +msgstr "Channel EXTINT sedang digunakan" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "pin tidak valid" - -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "pin tidak memiliki kemampuan IRQ" - -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "buffer terlalu panjang" +msgid "Error in ffi_prep_cif" +msgstr "Errod pada ffi_prep_cif" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "alarm tidak valid" +msgid "Error in regex" +msgstr "Error pada regex" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) tidak ada" +msgid "Expected a %q" +msgstr "" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) tidak dapat dibaca" +msgid "Expected a Characteristic" +msgstr "" -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len harus kelipatan dari 4" +msgid "Expected a UUID" +msgstr "" -#: ports/esp8266/modesp.c:274 #, c-format -msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "alokasi memori gagal, mengalokasikan %u byte untuk kode native" - -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "alokasi flash harus dibawah 1MByte" - -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "frekuensi hanya bisa didefinisikan 80Mhz atau 160Mhz" - -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP dibutuhkan" - -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA dibutuhkan" - -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "Tidak dapat memperbarui status i/f" - -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Tidak dapat mengatur konfigurasi STA" - -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Tidak dapat menyambungkan ke AP" - -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Tidak dapat memutuskna dari AP" - -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "status param tidak diketahui" - -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "STA harus aktif" - -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "scan gagal" - -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() gagal" - -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "hanya antar pos atau kw args yang diperbolehkan" - -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "tidak bisa mendapatkan konfigurasi STA" - -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "tidak bisa mendapatkan konfigurasi AP" +msgid "Expected tuple of length %d, got %d" +msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "panjang buffer tidak valid" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "tidak bisa mendapatkan konfigurasi STA" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "tidak bisa mendapatkan konfigurasi AP" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Gagal untuk menambahkan karakteristik, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "hanya bisa melakukan query satu param" +#, fuzzy +msgid "Failed to add service" +msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "konfigurasi param tidak diketahui" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "fungsionalitas AnalogOut tidak didukung" +msgid "Failed to allocate RX buffer" +msgstr "Gagal untuk mengalokasikan buffer RX" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "Dukungan soft device, id: 0x%08lX, pc: 0x%08l" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" -#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "Gagal untuk merubah status softdevice, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Adapter.c:147 #, fuzzy -msgid "Failed to get local address" -msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" +msgid "Failed to connect:" +msgstr "Gagal untuk menyambungkan, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 #, fuzzy -msgid "Data too large for advertisement packet" -msgstr "Tidak bisa menyesuaikan data ke dalam paket advertisment" +msgid "Failed to continue scanning" +msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Gagal untuk memulai advertisement, status: 0x%08lX" +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" -msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" +#, fuzzy +msgid "Failed to create mutex" +msgstr "Gagal untuk membuat mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" +#, fuzzy +msgid "Failed to discover services" +msgstr "Gagal untuk menemukan layanan, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" +#, fuzzy +msgid "Failed to get local address" +msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" +#, fuzzy +msgid "Failed to get softdevice state" +msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Gagal untuk melaporkan nilai atribut, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" -msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" +msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX" +msgid "Failed to read gatts value, err 0x%04x" +msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -#, fuzzy -msgid "Data too large for the advertisement packet" -msgstr "Tidak bisa menyesuaikan data ke dalam paket advertisment" - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "Gagal untuk menemukan layanan, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:389 -#, fuzzy -msgid "Failed to continue scanning" -msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:421 -#, fuzzy -msgid "Failed to connect:" -msgstr "Gagal untuk menyambungkan, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "Gagal untuk memulai advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Gagal untuk memulai advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:566 -#, fuzzy -msgid "Failed to create mutex" -msgstr "Gagal untuk membuat mutex, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" -msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" +msgid "Failed to start scanning, err 0x%04x" +msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" + +#, fuzzy +msgid "Failed to stop advertising" +msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" +msgid "Failed to stop advertising, err 0x%04x" +msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Service.c:88 #, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Gagal untuk menambahkan karakteristik, status: 0x%08lX" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." +msgid "File exists" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" +msgid "Function requires lock" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" +msgid "Function requires lock." msgstr "" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Semua perangkat I2C sedang digunakan" +msgid "GPIO16 does not support pull up." +msgstr "GPIO16 tidak mendukung pull up" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Semua perangkat SPI sedang digunakan" +msgid "Group full" +msgstr "" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" -msgstr "error = 0x%08lX" +msgid "I/O operation on closed file" +msgstr "operasi I/O pada file tertutup" -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Semua perangkat I2C sedang digunakan" +msgid "I2C operation not supported" +msgstr "operasi I2C tidak didukung" -#: ports/nrf/common-hal/busio/UART.c:153 -msgid "Invalid buffer size" -msgstr "Ukuran buffer tidak valid" - -#: ports/nrf/common-hal/busio/UART.c:157 -msgid "Odd parity is not supported" -msgstr "Parity ganjil tidak didukung" +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -#, fuzzy -msgid "Cannot get temperature" -msgstr "Tidak bisa mendapatkan temperatur. status: 0x%02x" +msgid "Input/output error" +msgstr "" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Tipe tidak diketahui" +msgid "Invalid BMP file" +msgstr "" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Errod pada ffi_prep_cif" +msgid "Invalid PWM frequency" +msgstr "Frekuensi PWM tidak valid" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" +msgid "Invalid argument" +msgstr "" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Tidak tahu cara meloloskan objek ke fungsi native" +msgid "Invalid bit clock pin" +msgstr "Bit clock pada pin tidak valid" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgid "Invalid buffer size" +msgstr "Ukuran buffer tidak valid" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "fungsi tidak dapat mengambil argumen keyword" +msgid "Invalid channel count" +msgstr "" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan" +msgid "Invalid clock pin" +msgstr "Clock pada pin tidak valid" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "fungsi kehilangan %d argumen posisi yang dibutuhkan" +msgid "Invalid data pin" +msgstr "data pin tidak valid" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "fungsi diharapkan setidaknya %d argumen, hanya mendapatkan %d" +msgid "Invalid direction." +msgstr "" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' argumen dibutuhkan" +msgid "Invalid file" +msgstr "" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "argumen posisi ekstra telah diberikan" +msgid "Invalid format chunk size" +msgstr "" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "argumen keyword ekstra telah diberikan" +msgid "Invalid number of bits" +msgstr "" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "argumen num/types tidak cocok" +msgid "Invalid phase" +msgstr "" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "argumen keyword belum diimplementasi - gunakan args normal" +msgid "Invalid pin" +msgstr "Pin tidak valid" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan" +msgid "Invalid pin for left channel" +msgstr "Pin untuk channel kiri tidak valid" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "argumen keyword tidak diharapkan" +msgid "Invalid pin for right channel" +msgstr "Pin untuk channel kanan tidak valid" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "keyword harus berupa string" +msgid "Invalid pins" +msgstr "Pin-pin tidak valid" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "fungsi mendapatkan nilai ganda untuk argumen '%q'" +msgid "Invalid polarity" +msgstr "" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "keyword argumen '%q' tidak diharapkan" +msgid "Invalid run mode." +msgstr "" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" -msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan" +msgid "Invalid voice count" +msgstr "" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "fungsi kehilangan argumen keyword '%q' yang dibutuhkan" +msgid "Invalid wave file" +msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "fungsi kehilangan argumen keyword-only" +msgid "LHS of keyword arg must be an id" +msgstr "LHS dari keyword arg harus menjadi sebuah id" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "typecode buruk" +msgid "Layer must be a Group or TileGrid subclass." +msgstr "" -#: py/builtinevex.c:99 -msgid "bad compile mode" -msgstr "mode compile buruk" +msgid "Length must be an int" +msgstr "" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" -msgstr "Tambahkan module apapun pada filesystem\n" +msgid "Length must be non-negative" +msgstr "" -#: py/builtinhelp.c:183 -#, c-format msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" msgstr "" -"Selamat datang ke Adafruit CircuitPython %s!\n" -"\n" -"Silahkan kunjungi learn.adafruit.com/category/circuitpython untuk panduan " -"project.\n" -"\n" -"Untuk menampilkan modul built-in silahkan ketik `help(\"modules\")`.\n" - -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "tidak dapat melakukan relative import" - -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "modul tidak ditemukan" - -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "tidak ada modul yang bernama '%q'" - -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "relative import" - -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "tidak dapat menetapkan ke ekspresi" - -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "perkalian *x dalam assignment" - -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "argumen non-default mengikuti argumen standar(default)" - -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "micropython decorator tidak valid" - -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "tidak bisa menghapus ekspresi" - -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' diluar loop" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' diluar loop" - -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' diluar fungsi" - -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "identifier didefinisi ulang sebagai global" - -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "tidak ada ikatan/bind pada temuan nonlocal" - -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "identifier didefinisi ulang sebagai nonlocal" - -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "tidak dapat mendeklarasikan nonlocal diluar jangkauan kode" - -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "'except' standar harus terakhir" - -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "*x harus menjadi target assignment" - -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "super() tidak dapat menemukan dirinya sendiri" - -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "tidak bisa memiliki *x ganda" +msgid "MISO pin init failed." +msgstr "" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "tidak bisa memiliki **x ganda" +msgid "MOSI pin init failed." +msgstr "" -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" -msgstr "LHS dari keyword arg harus menjadi sebuah id" +#, c-format +msgid "Maximum PWM frequency is %dhz." +msgstr "Nilai maksimum frekuensi PWM adalah %dhz" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" -msgstr "non-keyword arg setelah */**" +#, c-format +msgid "Maximum x value when mirrored is %d" +msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" -msgstr "non-keyword arg setelah keyword arg" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "syntax tidak valid" +msgid "MicroPython fatal error.\n" +msgstr "" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "key:value diharapkan untuk dict" +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "" -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "hanya mengharapkan sebuah nilai (value) untuk set" +msgid "Minimum PWM frequency is 1hz." +msgstr "Nilai minimum frekuensi PWM is 1hz" -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "'yield' diluar fungsi" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgstr "Nilai Frekuensi PWM ganda tidak didukung. PWM sudah diatur pada %dhz" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' diluar fungsi" +msgid "Must be a Group subclass." +msgstr "" -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "nama digunakan kembali untuk argumen" +msgid "No DAC on chip" +msgstr "Tidak ada DAC (Digital Analog Converter) di dalam chip" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "anotasi parameter haruse sebuah identifier" +msgid "No DMA channel found" +msgstr "tidak ada channel DMA ditemukan" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "anotasi return harus sebuah identifier" +msgid "No PulseIn support for %q" +msgstr "Tidak ada dukungan PulseIn untuk %q" -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "inline assembler harus sebuah fungsi" +msgid "No RX pin" +msgstr "Tidak pin RX" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "tipe tidak diketahui" +msgid "No TX pin" +msgstr "Tidak ada pin TX" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "sebuah instruksi assembler diharapkan" +msgid "No default I2C bus" +msgstr "Tidak ada standar bus I2C" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' membutuhkan 1 argumen" +msgid "No default SPI bus" +msgstr "Tidak ada standar bus SPI" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "label didefinis ulang" +msgid "No default UART bus" +msgstr "Tidak ada standar bus UART" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' membutuhkan 1 argumen" +msgid "No free GCLKs" +msgstr "Tidak ada GCLK yang kosong" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' membutuhkan setidaknya 2 argumen" +msgid "No hardware random available" +msgstr "" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' membutuhkan argumen integer" +msgid "No hardware support for analog out." +msgstr "Tidak dukungan hardware untuk analog out." -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "hanya mampu memiliki hingga 4 parameter untuk Thumb assembly" +msgid "No hardware support on pin" +msgstr "Tidak ada dukungan hardware untuk pin" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" -msgstr "parameter harus menjadi register dalam urutan r0 sampai r3" +msgid "No space left on device" +msgstr "" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" -msgstr "'%s' mengharapkan setidaknya r%d" +msgid "No such file/directory" +msgstr "" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "'%s' mengharapkan sebuah register" +#, fuzzy +msgid "Not connected" +msgstr "Tidak dapat menyambungkan ke AP" -#: py/emitinlinethumb.c:211 -#, c-format -msgid "'%s' expects a special register" -msgstr "'%s' mengharapkan sebuah register spesial" +msgid "Not connected." +msgstr "" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" -msgstr "'%s' mengharapkan sebuah FPU register" +msgid "Not playing" +msgstr "" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "'%s' mengharapkan {r0, r1, ...}" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." +msgstr "" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" -msgstr "'%s' mengharapkan integer" +msgid "Odd parity is not supported" +msgstr "Parity ganjil tidak didukung" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "'%s' integer 0x%x tidak cukup didalam mask 0x%x" +msgid "Only 8 or 16 bit mono with " +msgstr "Hanya 8 atau 16 bit mono dengan " -#: py/emitinlinethumb.c:328 #, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "'%s' mengharapkan sebuah alamat dengan bentuk [a, b]" +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" +msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" -#: py/emitinlinethumb.c:806 #, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" +msgid "Only true color (24 bpp or higher) BMP supported %x" msgstr "" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" -msgstr "" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Hanya tx yang mendukung pada UART1 (GPIO2)." -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" +msgid "Oversample must be multiple of 8." msgstr "" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" msgstr "" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." msgstr "" -#: py/emitinlinextensa.c:327 #, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "" +msgid "PWM not supported on pin %d" +msgstr "PWM tidak didukung pada pin %d" -#: py/emitnative.c:183 -msgid "unknown type '%q'" +msgid "Permission denied" msgstr "" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "" +msgid "Pin %q does not have ADC capabilities" +msgstr "Pin %q tidak memiliki kemampuan ADC" -#: py/emitnative.c:742 -msgid "conversion to object" -msgstr "" +msgid "Pin does not have ADC capabilities" +msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "" +msgid "Pin(16) doesn't support pull" +msgstr "Pin(16) tidak mendukung pull" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "" +msgid "Pins not valid for SPI" +msgstr "Pin-pin tidak valid untuk SPI" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" +msgid "Pixel beyond bounds of buffer" msgstr "" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" -msgstr "" +msgid "Plus any modules on the filesystem\n" +msgstr "Tambahkan module apapun pada filesystem\n" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "" +"Tekan tombol apa saja untuk masuk ke dalam REPL. Gunakan CTRL+D untuk reset " +"(Reload)" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" +msgid "Pull not used when direction is output." msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" +msgid "RTC calibration is not supported on this board" msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" +msgid "RTC is not supported on this board" msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" +msgid "Range out of bounds" msgstr "" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" +msgid "Read-only" msgstr "" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "" +msgid "Read-only filesystem" +msgstr "sistem file (filesystem) bersifat Read-only" -#: py/emitnative.c:2126 -msgid "casting" -msgstr "" +#, fuzzy +msgid "Read-only object" +msgstr "sistem file (filesystem) bersifat Read-only" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "" +msgid "Right channel unsupported" +msgstr "Channel Kanan tidak didukung" -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n" -#: py/emitnative.c:2201 -msgid "native yield" +msgid "Running in safe mode! Not running saved code.\n" msgstr "" +"Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n" -#: py/lexer.c:345 -msgid "unicode name escapes" -msgstr "" +msgid "SDA or SCL needs a pull up" +msgstr "SDA atau SCL membutuhkan pull up" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "" +msgid "STA must be active" +msgstr "STA harus aktif" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" +msgid "STA required" +msgstr "STA dibutuhkan" + +msgid "Sample rate must be positive" msgstr "" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" +#, c-format +msgid "Sample rate too high. It must be less than %d" +msgstr "Nilai sampel terlalu tinggi. Nilai harus kurang dari %d" + +msgid "Serializer in use" +msgstr "Serializer sedang digunakan" + +msgid "Slice and value different lengths." msgstr "" -#: py/modbuiltins.c:350 -msgid "ord expects a character" +msgid "Slices not supported" msgstr "" -#: py/modbuiltins.c:353 #, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "" +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "Dukungan soft device, id: 0x%08lX, pc: 0x%08l" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "" +msgid "Splitting with sub-captures" +msgstr "Memisahkan dengan menggunakan sub-captures" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" +msgid "Stack size must be at least 256" msgstr "" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" +msgid "Stream missing readinto() or write() method." msgstr "" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" +#, fuzzy +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" msgstr "" +"Tegangan dari mikrokontroler turun atau mati. Pastikan sumber tegangan " +"memberikan daya\n" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" +msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" +msgid "The sample's channel count does not match the mixer's" msgstr "" -#: py/moduerrno.c:148 -msgid "No such file/directory" +msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: py/moduerrno.c:149 -msgid "Input/output error" +msgid "The sample's signedness does not match the mixer's" msgstr "" -#: py/moduerrno.c:151 -msgid "File exists" +msgid "Tile height must exactly divide bitmap height" msgstr "" -#: py/moduerrno.c:152 -msgid "Unsupported operation" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" +msgid "To exit, please reset the board without " +msgstr "Untuk keluar, silahkan reset board tanpa " + +msgid "Too many channels in sample." +msgstr "Terlalu banyak channel dalam sampel" + +msgid "Too many display busses" msgstr "" -#: py/moduerrno.c:154 -msgid "No space left on device" +msgid "Too many displays" msgstr "" -#: py/obj.c:92 msgid "Traceback (most recent call last):\n" msgstr "" -#: py/obj.c:96 -msgid " File \"%q\", line %d" +msgid "Tuple or struct_time argument required" msgstr "" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr "" +#, c-format +msgid "UART(%d) does not exist" +msgstr "UART(%d) tidak ada" -#: py/obj.c:102 -msgid ", in %q\n" +msgid "UART(1) can't read" +msgstr "UART(1) tidak dapat dibaca" + +msgid "USB Busy" msgstr "" -#: py/obj.c:259 -msgid "can't convert to int" +msgid "USB Error" msgstr "" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" +msgid "UUID integer value not in range 0 to 0xffff" msgstr "" -#: py/obj.c:322 -msgid "can't convert to float" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" +msgid "UUID value is not str, int or byte buffer" msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" +msgid "Unable to allocate buffers for signed conversion" +msgstr "Tidak dapat mengalokasikan buffer untuk signed conversion" + +msgid "Unable to find free GCLK" +msgstr "Tidak dapat menemukan GCLK yang kosong" + +msgid "Unable to init parser" msgstr "" -#: py/obj.c:358 -#, c-format -msgid "can't convert %s to complex" +msgid "Unable to remount filesystem" +msgstr "Tidak dapat memasang filesystem kembali" + +msgid "Unable to write to nvm." msgstr "" -#: py/obj.c:373 -msgid "expected tuple/list" +msgid "Unexpected nrfx uuid type" msgstr "" -#: py/obj.c:376 +msgid "Unknown type" +msgstr "Tipe tidak diketahui" + #, c-format -msgid "object '%s' is not a tuple or list" +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/obj.c:387 -msgid "tuple/list has wrong length" +msgid "Unsupported baudrate" +msgstr "Baudrate tidak didukung" + +#, fuzzy +msgid "Unsupported display bus type" +msgstr "Baudrate tidak didukung" + +msgid "Unsupported format" msgstr "" -#: py/obj.c:389 -#, c-format -msgid "requested length %d but object has length %d" +msgid "Unsupported operation" msgstr "" -#: py/obj.c:402 -msgid "indices must be integers" +msgid "Unsupported pull value." msgstr "" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" +msgid "Use esptool to erase flash and re-upload Python instead" msgstr "" +"Gunakan esptool untuk menghapus flash dan upload ulang Python sebagai " +"gantinya" -#: py/obj.c:425 -msgid "%q index out of range" +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" -#: py/obj.c:457 -msgid "object has no len" +msgid "Voice index too high" msgstr "" -#: py/obj.c:460 +msgid "WARNING: Your code filename has two extensions\n" +msgstr "PERINGATAN: Nama file kode anda mempunyai dua ekstensi\n" + #, c-format -msgid "object of type '%s' has no len()" +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" +"Selamat datang ke Adafruit CircuitPython %s!\n" +"\n" +"Silahkan kunjungi learn.adafruit.com/category/circuitpython untuk panduan " +"project.\n" +"\n" +"Untuk menampilkan modul built-in silahkan ketik `help(\"modules\")`.\n" + +#, fuzzy +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" msgstr "" +"Anda sedang menjalankan mode aman (safe mode) yang berarti sesuatu yang " +"sangat buruk telah terjadi.\n" + +msgid "You requested starting safe mode by " +msgstr "Anda mengajukan untuk memulai mode aman pada (safe mode) pada " + +#, c-format +msgid "[addrinfo error %d]" +msgstr "[addrinfo error %d]" -#: py/obj.c:500 -msgid "object does not support item deletion" +msgid "__init__() should return None" msgstr "" -#: py/obj.c:503 #, c-format -msgid "'%s' object does not support item deletion" +msgid "__init__() should return None, not '%s'" msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" +msgid "__new__ arg must be a user-type" msgstr "" -#: py/obj.c:510 +msgid "a bytes-like object is required" +msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" + +msgid "abort() called" +msgstr "abort() dipanggil" + #, c-format -msgid "'%s' object is not subscriptable" -msgstr "" +msgid "address %08x is not aligned to %d bytes" +msgstr "alamat %08x tidak selaras dengan %d bytes" -#: py/obj.c:514 -msgid "object does not support item assignment" +msgid "address out of bounds" msgstr "" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" +msgid "addresses is empty" msgstr "" -#: py/obj.c:548 -msgid "object with buffer protocol required" +msgid "arg is an empty sequence" msgstr "" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" +msgid "argument has wrong type" msgstr "" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" +msgid "argument num/types mismatch" +msgstr "argumen num/types tidak cocok" + +msgid "argument should be a '%q' not a '%q'" msgstr "" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 msgid "array/bytes required on right side" msgstr "" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" +msgid "attributes not supported yet" msgstr "" -#: py/objcomplex.c:209 -msgid "complex division by zero" +msgid "bad GATT role" msgstr "" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "" +msgid "bad compile mode" +msgstr "mode compile buruk" -#: py/objdeque.c:107 -msgid "full" +msgid "bad conversion specifier" msgstr "" -#: py/objdeque.c:127 -msgid "empty" +msgid "bad format string" msgstr "" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "" +msgid "bad typecode" +msgstr "typecode buruk" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" +msgid "binary op %q not implemented" msgstr "" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" +msgid "bits must be 7, 8 or 9" msgstr "" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" -msgstr "" +msgid "bits must be 8" +msgstr "bits harus memilki nilai 8" -#: py/objgenerator.c:126 -msgid "generator already executing" +msgid "bits_per_sample must be 8 or 16" msgstr "" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" +msgid "branch not in range" msgstr "" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" +#, c-format +msgid "buf is too small. need %d bytes" msgstr "" -#: py/objint.c:144 -msgid "can't convert inf to int" +msgid "buffer must be a bytes-like object" msgstr "" -#: py/objint.c:146 -msgid "can't convert NaN to int" -msgstr "" +#, fuzzy +msgid "buffer size must match format" +msgstr "buffers harus mempunyai panjang yang sama" -#: py/objint.c:163 -msgid "float too big" +msgid "buffer slices must be of equal length" msgstr "" -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "" +msgid "buffer too long" +msgstr "buffer terlalu panjang" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" +msgid "buffer too small" msgstr "" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "" +msgid "buffers must be the same length" +msgstr "buffers harus mempunyai panjang yang sama" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" +msgid "byte code not implemented" msgstr "" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "" +msgid "bytes > 8 bits not supported" +msgstr "byte > 8 bit tidak didukung" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" +msgid "bytes value out of range" msgstr "" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" -msgstr "" +msgid "calibration is out of range" +msgstr "kalibrasi keluar dari jangkauan" -#: py/objlist.c:274 -msgid "pop from empty list" -msgstr "" +msgid "calibration is read only" +msgstr "kalibrasi adalah read only" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" -msgstr "" +msgid "calibration value out of range +/-127" +msgstr "nilai kalibrasi keluar dari jangkauan +/-127" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "" +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "hanya mampu memiliki hingga 4 parameter untuk Thumb assembly" -#: py/objrange.c:110 -msgid "zero step" +msgid "can only have up to 4 parameters to Xtensa assembly" msgstr "" -#: py/objset.c:371 -msgid "pop from an empty set" +msgid "can only save bytecode" msgstr "" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "" +msgid "can query only one param" +msgstr "hanya bisa melakukan query satu param" -#: py/objslice.c:71 -msgid "Length must be non-negative" +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" -msgstr "" +msgid "can't assign to expression" +msgstr "tidak dapat menetapkan ke ekspresi" -#: py/objslice.c:159 -msgid "Cannot subclass slice" +#, c-format +msgid "can't convert %s to complex" msgstr "" -#: py/objstr.c:261 -msgid "bytes value out of range" +#, c-format +msgid "can't convert %s to float" msgstr "" -#: py/objstr.c:270 -msgid "wrong number of arguments" +#, c-format +msgid "can't convert %s to int" msgstr "" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "modul tidak ditemukan" - -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" +msgid "can't convert '%q' object to %q implicitly" msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" +msgid "can't convert NaN to int" msgstr "" -#: py/objstr.c:651 -msgid "rsplit(None,n)" +msgid "can't convert address to int" msgstr "" -#: py/objstr.c:723 -msgid "substring not found" +msgid "can't convert inf to int" msgstr "" -#: py/objstr.c:780 -msgid "start/end indices" +msgid "can't convert to complex" msgstr "" -#: py/objstr.c:941 -msgid "bad format string" +msgid "can't convert to float" msgstr "" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" +msgid "can't convert to int" msgstr "" -#: py/objstr.c:1002 -msgid "bad conversion specifier" +msgid "can't convert to str implicitly" msgstr "" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" -msgstr "" +msgid "can't declare nonlocal in outer code" +msgstr "tidak dapat mendeklarasikan nonlocal diluar jangkauan kode" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "" +msgid "can't delete expression" +msgstr "tidak bisa menghapus ekspresi" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" +msgid "can't do binary op between '%q' and '%q'" msgstr "" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" +msgid "can't do truncated division of a complex number" msgstr "" -#: py/objstr.c:1060 -msgid "" -"can't switch from automatic field numbering to manual field specification" -msgstr "" +msgid "can't get AP config" +msgstr "tidak bisa mendapatkan konfigurasi AP" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "" +msgid "can't get STA config" +msgstr "tidak bisa mendapatkan konfigurasi STA" -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "" +msgid "can't have multiple **x" +msgstr "tidak bisa memiliki **x ganda" -#: py/objstr.c:1089 -msgid "" -"can't switch from manual field specification to automatic field numbering" +msgid "can't have multiple *x" +msgstr "tidak bisa memiliki *x ganda" + +msgid "can't implicitly convert '%q' to 'bool'" msgstr "" -#: py/objstr.c:1181 -msgid "invalid format specifier" +msgid "can't load from '%q'" msgstr "" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" +msgid "can't load with '%q' index" msgstr "" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" +msgid "can't send non-None value to a just-started generator" msgstr "" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" +msgid "can't set AP config" +msgstr "tidak bisa mendapatkan konfigurasi AP" + +msgid "can't set STA config" +msgstr "tidak bisa mendapatkan konfigurasi STA" + +msgid "can't set attribute" msgstr "" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" +msgid "can't store '%q'" msgstr "" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" +msgid "can't store to '%q'" msgstr "" -#: py/objstr.c:1425 -msgid "format requires a dict" +msgid "can't store with '%q' index" msgstr "" -#: py/objstr.c:1434 -msgid "incomplete format key" +msgid "" +"can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:1492 -msgid "incomplete format" +msgid "" +"can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" +msgid "cannot create '%q' instances" msgstr "" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" +msgid "cannot create instance" msgstr "" -#: py/objstr.c:1517 -msgid "integer required" +msgid "cannot import name %q" msgstr "" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" +msgid "cannot perform relative import" +msgstr "tidak dapat melakukan relative import" + +msgid "casting" msgstr "" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" +msgid "chars buffer too small" msgstr "" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" +msgid "chr() arg not in range(0x110000)" msgstr "" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" +msgid "chr() arg not in range(256)" msgstr "" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: py/objtype.c:371 -msgid "__init__() should return None" +msgid "color buffer must be a buffer or int" msgstr "" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" +msgid "color must be between 0x000000 and 0xffffff" msgstr "" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" +msgid "color should be an int" msgstr "" -#: py/objtype.c:883 py/runtime.c:655 -#, c-format -msgid "'%s' object is not callable" +msgid "complex division by zero" msgstr "" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" +msgid "complex values not supported" msgstr "" -#: py/objtype.c:1002 -msgid "cannot create instance" +msgid "compression header" +msgstr "kompresi header" + +msgid "constant must be an integer" msgstr "" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" +msgid "conversion to object" msgstr "" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" +msgid "decimal numbers not supported" msgstr "" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" -msgstr "" +msgid "default 'except' must be last" +msgstr "'except' standar harus terakhir" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" +msgid "destination_length must be an int >= 0" msgstr "" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" +msgid "dict update sequence has wrong length" msgstr "" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgid "division by zero" msgstr "" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" -msgstr "" +msgid "either pos or kw args are allowed" +msgstr "hanya antar pos atau kw args yang diperbolehkan" -#: py/parse.c:726 -msgid "constant must be an integer" +msgid "empty" msgstr "" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "" +msgid "empty heap" +msgstr "heap kosong" -#: py/parse.c:1170 -msgid "unexpected indent" +msgid "empty separator" msgstr "" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" +msgid "empty sequence" msgstr "" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" +msgid "end_x should be an int" msgstr "" -#: py/parsenum.c:155 #, c-format -msgid "invalid syntax for integer with base %d" -msgstr "" +msgid "error = 0x%08lX" +msgstr "error = 0x%08lX" -#: py/parsenum.c:339 -msgid "invalid syntax for number" +msgid "exceptions must derive from BaseException" msgstr "" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" +msgid "expected ':' after format specifier" msgstr "" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "expected a DigitalInOut" msgstr "" -#: py/persistentcode.c:326 -msgid "can only save bytecode" +msgid "expected tuple/list" msgstr "" -#: py/runtime.c:206 -msgid "name not defined" +msgid "expecting a dict for keyword args" msgstr "" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "" +msgid "expecting a pin" +msgstr "mengharapkan sebuah pin" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "" +msgid "expecting an assembler instruction" +msgstr "sebuah instruksi assembler diharapkan" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "" +msgid "expecting just a value for set" +msgstr "hanya mengharapkan sebuah nilai (value) untuk set" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "" +msgid "expecting key:value for dict" +msgstr "key:value diharapkan untuk dict" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "" +msgid "extra keyword arguments given" +msgstr "argumen keyword ekstra telah diberikan" -#: py/runtime.c:883 py/runtime.c:947 -#, c-format -msgid "need more than %d values to unpack" -msgstr "" +msgid "extra positional arguments given" +msgstr "argumen posisi ekstra telah diberikan" -#: py/runtime.c:890 -#, c-format -msgid "too many values to unpack (expected %d)" +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" + +msgid "file must be a file opened in byte mode" msgstr "" -#: py/runtime.c:984 -msgid "argument has wrong type" +msgid "filesystem must provide mount method" msgstr "" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" +msgid "first argument to super() must be type" msgstr "" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" +msgid "firstbit must be MSB" +msgstr "bit pertama(firstbit) harus berupa MSB" + +msgid "flash location must be below 1MByte" +msgstr "alokasi flash harus dibawah 1MByte" + +msgid "float too big" msgstr "" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" +msgid "font must be 2048 bytes long" msgstr "" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" +msgid "format requires a dict" msgstr "" -#: py/runtime.c:1238 -msgid "object not iterable" +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "frekuensi hanya bisa didefinisikan 80Mhz atau 160Mhz" + +msgid "full" msgstr "" -#: py/runtime.c:1241 +msgid "function does not take keyword arguments" +msgstr "fungsi tidak dapat mengambil argumen keyword" + #, c-format -msgid "'%s' object is not iterable" -msgstr "" +msgid "function expected at most %d arguments, got %d" +msgstr "fungsi diharapkan setidaknya %d argumen, hanya mendapatkan %d" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "" +msgid "function got multiple values for argument '%q'" +msgstr "fungsi mendapatkan nilai ganda untuk argumen '%q'" -#: py/runtime.c:1262 py/runtime.c:1298 #, c-format -msgid "'%s' object is not an iterator" -msgstr "" +msgid "function missing %d required positional arguments" +msgstr "fungsi kehilangan %d argumen posisi yang dibutuhkan" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "" +msgid "function missing keyword-only argument" +msgstr "fungsi kehilangan argumen keyword-only" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "" +msgid "function missing required keyword argument '%q'" +msgstr "fungsi kehilangan argumen keyword '%q' yang dibutuhkan" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "" +#, c-format +msgid "function missing required positional argument #%d" +msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan" -#: py/runtime.c:1539 #, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "" +msgid "function takes %d positional arguments but %d were given" +msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" +msgid "function takes exactly 9 arguments" msgstr "" -#: py/sequence.c:273 -msgid "object not in sequence" +msgid "generator already executing" msgstr "" -#: py/stream.c:96 -msgid "stream operation not supported" +msgid "generator ignored GeneratorExit" msgstr "" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" +msgid "graphic must be 2048 bytes long" msgstr "" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "" +msgid "heap must be a list" +msgstr "heap harus berupa sebuah list" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "" +msgid "identifier redefined as global" +msgstr "identifier didefinisi ulang sebagai global" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "" +msgid "identifier redefined as nonlocal" +msgstr "identifier didefinisi ulang sebagai nonlocal" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "" +msgid "impossible baudrate" +msgstr "baudrate tidak memungkinkan" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgid "incomplete format" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" +msgid "incomplete format key" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" -msgstr "" +msgid "incorrect padding" +msgstr "lapisan (padding) tidak benar" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" -msgstr "" +msgid "index out of range" +msgstr "index keluar dari jangkauan" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" +msgid "indices must be integers" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -msgid "Only slices with step=1 (aka None) are supported" -msgstr "" +msgid "inline assembler must be a function" +msgstr "inline assembler harus sebuah fungsi" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -msgid "Range out of bounds" +msgid "int() arg 2 must be >= 2 and <= 36" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" +msgid "integer required" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" -msgstr "" +msgid "invalid I2C peripheral" +msgstr "perangkat I2C tidak valid" -#: shared-bindings/_pixelbuf/__init__.c:112 -msgid "readonly attribute" -msgstr "" +msgid "invalid SPI peripheral" +msgstr "perangkat SPI tidak valid" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "" +msgid "invalid alarm" +msgstr "alarm tidak valid" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" +msgid "invalid arguments" +msgstr "argumen-argumen tidak valid" + +msgid "invalid buffer length" +msgstr "panjang buffer tidak valid" + +msgid "invalid cert" +msgstr "cert tidak valid" + +msgid "invalid data bits" +msgstr "bit data tidak valid" + +msgid "invalid dupterm index" +msgstr "indeks dupterm tidak valid" + +msgid "invalid format" +msgstr "format tidak valid" + +msgid "invalid format specifier" msgstr "" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" +msgid "invalid key" +msgstr "key tidak valid" + +msgid "invalid micropython decorator" +msgstr "micropython decorator tidak valid" + +msgid "invalid pin" +msgstr "pin tidak valid" + +msgid "invalid step" msgstr "" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" +msgid "invalid stop bits" +msgstr "stop bit tidak valid" + +msgid "invalid syntax" +msgstr "syntax tidak valid" + +msgid "invalid syntax for integer" msgstr "" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" +#, c-format +msgid "invalid syntax for integer with base %d" msgstr "" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgid "invalid syntax for number" msgstr "" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" +msgid "issubclass() arg 1 must be a class" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgid "keyword argument(s) not yet implemented - use normal args instead" +msgstr "argumen keyword belum diimplementasi - gunakan args normal" + +msgid "keywords must be strings" +msgstr "keyword harus berupa string" + +msgid "label '%q' not defined" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "" +msgid "label redefined" +msgstr "label didefinis ulang" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "" +msgid "len must be multiple of 4" +msgstr "len harus kelipatan dari 4" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." +msgid "length argument not allowed for this type" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "lhs and rhs should be compatible" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "local '%q' has type '%q' but source is '%q'" msgstr "" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" +msgid "local '%q' used before type known" msgstr "" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" +msgid "local variable referenced before assignment" msgstr "" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" +msgid "long int not supported in this build" msgstr "" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" +msgid "map buffer too small" msgstr "" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "math domain error" msgstr "" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" +msgid "maximum recursion depth exceeded" msgstr "" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" +#, c-format +msgid "memory allocation failed, allocating %u bytes" msgstr "" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "alokasi memori gagal, mengalokasikan %u byte untuk kode native" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" +msgid "memory allocation failed, heap is locked" msgstr "" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "" +msgid "module not found" +msgstr "modul tidak ditemukan" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "" +msgid "multiple *x in assignment" +msgstr "perkalian *x dalam assignment" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" +msgid "multiple inheritance not supported" msgstr "" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" +msgid "must raise an object" msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "buffers harus mempunyai panjang yang sama" +msgid "must specify all of sck/mosi/miso" +msgstr "harus menentukan semua pin sck/mosi/miso" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -msgid "Expected a UUID" +msgid "must use keyword argument for key function" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "Tidak dapat menyambungkan ke AP" - -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -#, fuzzy -msgid "timeout must be >= 0.0" -msgstr "bits harus memilki nilai 8" +msgid "name '%q' is not defined" +msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 #, fuzzy -msgid "%q must be >= 1" -msgstr "buffers harus mempunyai panjang yang sama" +msgid "name must be a string" +msgstr "keyword harus berupa string" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -msgid "Expected a Characteristic" +msgid "name not defined" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "" +msgid "name reused for argument" +msgstr "nama digunakan kembali untuk argumen" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +msgid "native yield" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" +#, c-format +msgid "need more than %d values to unpack" msgstr "" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" +msgid "negative power with no float support" msgstr "" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "no active exception to reraise" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +msgid "no available NIC" msgstr "" -#: shared-bindings/bleio/Peripheral.c:119 -#, fuzzy -msgid "name must be a string" -msgstr "keyword harus berupa string" +msgid "no binding for nonlocal found" +msgstr "tidak ada ikatan/bind pada temuan nonlocal" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" +msgid "no module named '%q'" +msgstr "tidak ada modul yang bernama '%q'" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" +msgid "no such attribute" msgstr "" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" -msgstr "" +msgid "non-default argument follows default argument" +msgstr "argumen non-default mengikuti argumen standar(default)" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +msgid "non-hex digit found" +msgstr "digit non-hex ditemukan" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgid "non-keyword arg after */**" +msgstr "non-keyword arg setelah */**" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "buffers harus mempunyai panjang yang sama" +msgid "non-keyword arg after keyword arg" +msgstr "non-keyword arg setelah keyword arg" -#: shared-bindings/bleio/UUID.c:151 msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." -msgstr "" +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "tidak valid channel ADC: %d" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" +msgid "not all arguments converted during string formatting" msgstr "" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" +msgid "not enough arguments for format string" msgstr "" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +#, c-format +msgid "object '%s' is not a tuple or list" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." +msgid "object does not support item assignment" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." +msgid "object does not support item deletion" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." +msgid "object has no len" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." +msgid "object is not subscriptable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." +msgid "object not an iterator" msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" +msgid "object not callable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" +msgid "object not in sequence" msgstr "" -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" +msgid "object not iterable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +#, c-format +msgid "object of type '%s' has no len()" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 -msgid "%q should be an int" +msgid "object with buffer protocol required" msgstr "" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" -msgstr "" +msgid "odd-length string" +msgstr "panjang data string memiliki keganjilan (odd-length)" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +#, fuzzy +msgid "offset out of bounds" +msgstr "modul tidak ditemukan" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" +msgid "only slices with step=1 (aka None) are supported" msgstr "" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." +msgid "ord expects a character" msgstr "" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "overflow converting long int to machine word" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -msgid "Command must be an int between 0 and 255" +msgid "palette must be 32 bytes long" msgstr "" -#: shared-bindings/displayio/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgid "parameter annotation must be an identifier" +msgstr "anotasi parameter haruse sebuah identifier" + +msgid "parameters must be registers in sequence a2 to a5" msgstr "" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" +msgid "parameters must be registers in sequence r0 to r3" +msgstr "parameter harus menjadi register dalam urutan r0 sampai r3" + +msgid "pin does not have IRQ capabilities" +msgstr "pin tidak memiliki kemampuan IRQ" + +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" +msgid "pop from an empty PulseIn" +msgstr "Muncul dari PulseIn yang kosong" + +msgid "pop from an empty set" msgstr "" -#: shared-bindings/displayio/Shape.c:101 -msgid "start_x should be an int" +msgid "pop from empty list" msgstr "" -#: shared-bindings/displayio/Shape.c:105 -msgid "end_x should be an int" +msgid "popitem(): dictionary is empty" msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" +msgid "pow() 3rd argument cannot be 0" msgstr "" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" +msgid "pow() with 3 arguments requires integers" msgstr "" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" -msgstr "" +msgid "queue overflow" +msgstr "antrian meluap (overflow)" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" +msgid "readonly attribute" msgstr "" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" +msgid "relative import" +msgstr "relative import" + +#, c-format +msgid "requested length %d but object has length %d" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" +msgid "return annotation must be an identifier" +msgstr "anotasi return harus sebuah identifier" + +msgid "return expected '%q' but got '%q'" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" +msgid "row must be packed and word aligned" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" +msgid "rsplit(None,n)" msgstr "" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" msgstr "" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" +msgid "sampling rate out of range" +msgstr "nilai sampling keluar dari jangkauan" + +msgid "scan failed" +msgstr "scan gagal" + +msgid "schedule stack full" msgstr "" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." +msgid "script compilation not supported" +msgstr "kompilasi script tidak didukung" + +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." +msgid "sign not allowed in string format specifier" msgstr "" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "sign not allowed with integer format specifier 'c'" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." +msgid "single '}' encountered in format string" msgstr "" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." +msgid "sleep length must be non-negative" msgstr "" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." +msgid "slice step cannot be zero" msgstr "" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" +msgid "small int overflow" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Semua timer untuk pin ini sedang digunakan" +msgid "soft reboot\n" +msgstr "memulai ulang software(soft reboot)\n" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgid "start/end indices" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." +msgid "start_x should be an int" msgstr "" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" +msgid "step must be non-zero" msgstr "" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" +msgid "stop must be 1 or 2" msgstr "" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 msgid "stop not reachable from start" msgstr "" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" +msgid "stream operation not supported" msgstr "" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" +msgid "string index out of range" msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" +#, c-format +msgid "string indices must be integers, not %s" msgstr "" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" +msgid "string not supported; use bytes or bytearray" msgstr "" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "" +msgid "struct: cannot index" +msgstr "struct: tidak bisa melakukan index" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" -msgstr "" +msgid "struct: index out of range" +msgstr "struct: index keluar dari jangkauan" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "" +msgid "struct: no fields" +msgstr "struct: tidak ada fields" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" +msgid "substring not found" msgstr "" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "" +msgid "super() can't find self" +msgstr "super() tidak dapat menemukan dirinya sendiri" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" -msgstr "" +msgid "syntax error in JSON" +msgstr "sintaksis error pada JSON" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" +msgid "syntax error in uctypes descriptor" +msgstr "sintaksis error pada pendeskripsi uctypes" + +msgid "threshold must be in the range 0-65536" msgstr "" -#: shared-bindings/time/__init__.c:91 msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" +msgid "time.struct_time() takes exactly 1 argument" msgstr "" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "bits harus memilki nilai 8" + msgid "timestamp out of range for platform time_t" msgstr "" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" +msgid "too many arguments" msgstr "" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." +msgid "too many arguments provided with the given format" msgstr "" -#: shared-module/_pixelbuf/PixelBuf.c:69 #, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "" - -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" +msgid "too many values to unpack (expected %d)" msgstr "" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" +msgid "tuple index out of range" msgstr "" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" +msgid "tuple/list has wrong length" msgstr "" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" +msgid "tuple/list required on RHS" msgstr "" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" -msgstr "" +msgid "tx and rx cannot both be None" +msgstr "tx dan rx keduanya tidak boleh kosong" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" +msgid "type '%q' is not an acceptable base type" msgstr "" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" +msgid "type is not an acceptable base type" msgstr "" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" +msgid "type object '%q' has no attribute '%q'" msgstr "" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" +msgid "type takes 1 or 3 arguments" msgstr "" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" +msgid "ulonglong too large" msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" +msgid "unary op %q not implemented" msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" +msgid "unexpected indent" msgstr "" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" -msgstr "" +msgid "unexpected keyword argument" +msgstr "argumen keyword tidak diharapkan" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "" +msgid "unexpected keyword argument '%q'" +msgstr "keyword argumen '%q' tidak diharapkan" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." +msgid "unicode name escapes" msgstr "" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." +msgid "unindent does not match any outer indentation level" msgstr "" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "" +msgid "unknown config param" +msgstr "konfigurasi param tidak diketahui" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." +#, c-format +msgid "unknown conversion specifier %c" msgstr "" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." +#, c-format +msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" +#, c-format +msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "sistem file (filesystem) bersifat Read-only" +msgid "unknown status param" +msgstr "status param tidak diketahui" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "Baudrate tidak didukung" +msgid "unknown type" +msgstr "tipe tidak diketahui" -#: shared-module/displayio/Group.c:66 -msgid "Group full" +msgid "unknown type '%q'" msgstr "" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unmatched '{' in format" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" +msgid "unreadable attribute" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "unsupported Thumb instruction '%s' with %d arguments" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "" - -#: shared-module/displayio/Shape.c:60 -msgid "y value out of bounds" +msgid "unsupported Xtensa instruction '%s' with %d arguments" msgstr "" -#: shared-module/displayio/Shape.c:63 -msgid "x value out of bounds" +msgid "unsupported bitmap type" msgstr "" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" +msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." +msgid "unsupported type for %q: '%s'" msgstr "" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" +msgid "unsupported type for operator" msgstr "" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" +msgid "unsupported types for %q: '%s', '%s'" msgstr "" -#: shared-module/struct/__init__.c:179 -#, fuzzy -msgid "buffer size must match format" -msgstr "buffers harus mempunyai panjang yang sama" +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() gagal" -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." +msgid "write_args must be a list, tuple, or None" msgstr "" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" +msgid "wrong number of arguments" msgstr "" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" +msgid "wrong number of values to unpack" msgstr "" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Tidak ada standar bus I2C" - -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Tidak ada standar bus SPI" - -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Tidak ada standar bus UART" - -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Anda mengajukan untuk memulai mode aman pada (safe mode) pada " - -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Untuk keluar, silahkan reset board tanpa " - -#: supervisor/shared/safe_mode.c:107 -#, fuzzy -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +msgid "x value out of bounds" msgstr "" -"Anda sedang menjalankan mode aman (safe mode) yang berarti sesuatu yang " -"sangat buruk telah terjadi.\n" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "y should be an int" msgstr "" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "y value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgid "zero step" msgstr "" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "" +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Semua perangkat PWM sedang digunakan" -#: supervisor/shared/safe_mode.c:118 -#, fuzzy -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" -msgstr "" -"Tegangan dari mikrokontroler turun atau mati. Pastikan sumber tegangan " -"memberikan daya\n" +#~ msgid "Invalid UUID parameter" +#~ msgstr "Parameter UUID tidak valid" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" +#~ msgid "Invalid UUID string length" +#~ msgstr "Panjang string UUID tidak valid" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n" #~ msgid "Not enough pins available" #~ msgstr "Pin yang tersedia tidak cukup" -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART tidak tersedia" - #~ msgid "" #~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" #~ msgstr "" #~ "Silahkan taruh masalah disini dengan isi dari CIRCUITPY drive: anda \n" -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n" - #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" +#~ msgid "buffer_size must be >= 1" +#~ msgstr "buffers harus mempunyai panjang yang sama" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parameter UUID tidak valid" +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART tidak tersedia" #~ msgid "" #~ "enough power for the whole circuit and press reset (after ejecting " @@ -2872,16 +2158,10 @@ msgstr "" #~ "tegangan cukup untuk semua sirkuit dan tekan reset (setelah mencabut " #~ "CIRCUITPY).\n" -#~ msgid "Invalid UUID string length" -#~ msgstr "Panjang string UUID tidak valid" - -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Semua perangkat PWM sedang digunakan" - #, fuzzy #~ msgid "unicode_characters must be a string" #~ msgstr "keyword harus berupa string" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "buffers harus mempunyai panjang yang sama" +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index d61ded2a2d41..97d15f020d92 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:08-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,2779 +17,2059 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" +msgid " File \"%q\"" msgstr "" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 -#, c-format -msgid "address %08x is not aligned to %d bytes" +msgid " File \"%q\", line %d" msgstr "" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" +msgid " output:\n" msgstr "" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" +#, c-format +msgid "%%c requires int or char" msgstr "" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" +msgid "%q in use" msgstr "" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" +msgid "%q index out of range" msgstr "" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" +msgid "%q indices must be integers, not %s" msgstr "" -#: extmod/modframebuf.c:299 -msgid "invalid format" +msgid "%q must be >= 1" msgstr "" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" +msgid "%q should be an int" msgstr "" -#: extmod/modubinascii.c:90 -msgid "odd-length string" +msgid "%q() takes %d positional arguments but %d were given" msgstr "" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" +msgid "'%q' argument required" msgstr "" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" +#, c-format +msgid "'%s' expects a label" msgstr "" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" +#, c-format +msgid "'%s' expects a register" msgstr "" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" +#, c-format +msgid "'%s' expects a special register" msgstr "" -#: extmod/moductypes.c:397 -msgid "struct: no fields" +#, c-format +msgid "'%s' expects an FPU register" msgstr "" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" +#, c-format +msgid "'%s' expects an address of the form [a, b]" msgstr "" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" +#, c-format +msgid "'%s' expects an integer" msgstr "" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" +#, c-format +msgid "'%s' expects at most r%d" msgstr "" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" +#, c-format +msgid "'%s' expects {r0, r1, ...}" msgstr "" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" msgstr "" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgstr "" -#: extmod/modure.c:428 -msgid "Error in regex" +#, c-format +msgid "'%s' object does not support item assignment" msgstr "" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" +#, c-format +msgid "'%s' object does not support item deletion" msgstr "" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" +msgid "'%s' object has no attribute '%q'" msgstr "" -#: extmod/modutimeq.c:131 -msgid "queue overflow" +#, c-format +msgid "'%s' object is not an iterator" msgstr "" -#: extmod/moduzlib.c:98 -msgid "compression header" +#, c-format +msgid "'%s' object is not callable" msgstr "" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" +#, c-format +msgid "'%s' object is not iterable" msgstr "" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" +#, c-format +msgid "'%s' object is not subscriptable" msgstr "" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" +msgid "'=' alignment not allowed in string format specifier" msgstr "" -#: lib/embed/abort_.c:8 -msgid "abort() called" +msgid "'S' and 'O' are not supported format types" msgstr "" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" +msgid "'align' requires 1 argument" msgstr "" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" +msgid "'await' outside function" msgstr "" -#: main.c:152 -msgid " output:\n" +msgid "'break' outside loop" msgstr "" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +msgid "'continue' outside loop" msgstr "" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" +msgid "'data' requires at least 2 arguments" msgstr "" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" +msgid "'data' requires integer arguments" msgstr "" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" +msgid "'label' requires 1 argument" msgstr "" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" +msgid "'return' outside function" msgstr "" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid "'yield' outside function" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "*x must be assignment target" msgstr "" -#: main.c:422 -msgid "soft reboot\n" +msgid ", in %q\n" msgstr "" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 -msgid "All sync event channels in use" +msgid "0.0 to a complex power" msgstr "" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" +msgid "3-arg pow() not supported" msgstr "" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" +msgid "A hardware interrupt channel is already in use" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" +msgid "AP required" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 -msgid "AnalogOut not supported on given pin" +#, c-format +msgid "Address must be %d bytes long" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" +msgid "All I2C peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" +msgid "All SPI peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" +msgid "All UART peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" +msgid "All event channels in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" +msgid "All sync event channels in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" +msgid "All timers for this pin are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." +msgid "All timers in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" +msgid "AnalogOut functionality not supported" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" +msgid "AnalogOut not supported on given pin" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " +msgid "Another send is already active" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" +msgid "Array must contain halfwords (type 'H')" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +msgid "Array values should be single bytes." msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" +msgid "Auto-reload is off.\n" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" +msgid "Bit clock and word select must share a clock unit" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" +msgid "Bit depth must be multiple of 8." msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" +msgid "Both pins must support hardware interrupts" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" +msgid "Brightness must be between 0 and 255" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" +msgid "Brightness not adjustable" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" +msgid "Buffer incorrect size. Should be %d bytes." msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" +msgid "Buffer must be at least length 1" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" +#, c-format +msgid "Bus pin %d is already in use" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" +msgid "Byte buffer must be 16 bytes." msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" +msgid "Bytes must be between 0 and 255." msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" +msgid "C-level assert" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" +#, c-format +msgid "Can not use dotstar with %s" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" +msgid "Can't add services in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" +msgid "Can't advertise in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" +msgid "Can't change the name in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 -msgid "Cannot get pull while in output mode" +msgid "Can't connect in Peripheral mode" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -msgid "Data 0 pin must be byte aligned" +msgid "Cannot connect to AP" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, c-format -msgid "Bus pin %d is already in use" +msgid "Cannot delete values" msgstr "" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 -msgid "Cannot reset into bootloader because no bootloader is present." +msgid "Cannot disconnect from AP" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" +msgid "Cannot get pull while in output mode" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" +msgid "Cannot get temperature" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" +msgid "Cannot output both channels on the same pin" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" +msgid "Cannot read without MISO pin." msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" +msgid "Cannot record to a file" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" +msgid "Cannot remount '/' when USB is active." msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" +msgid "Cannot reset into bootloader because no bootloader is present." msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" +msgid "Cannot set STA config" msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" +msgid "Cannot set value when direction is input." msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" +msgid "Cannot subclass slice" msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" +msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" +msgid "Cannot unambiguously get sizeof scalar" msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." +msgid "Cannot update i/f status" msgstr "" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" +msgid "Cannot write without MOSI pin." msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." +msgid "Characteristic UUID doesn't match Service UUID" msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" +msgid "Characteristic already in use by another Service." msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" +msgid "CharacteristicBuffer writing not provided" msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." +msgid "Clock pin init failed." msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." +msgid "Clock stretch too long" msgstr "" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." +msgid "Clock unit in use" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." +msgid "Command must be an int between 0 and 255" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgid "Could not initialize UART" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" +msgid "Couldn't allocate first buffer" msgstr "" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" +msgid "Couldn't allocate second buffer" msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" +msgid "Crash into the HardFault_Handler.\n" msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" +msgid "DAC already in use" msgstr "" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" +msgid "Data 0 pin must be byte aligned" msgstr "" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" +msgid "Data chunk must follow fmt chunk" msgstr "" -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" +msgid "Data too large for advertisement packet" msgstr "" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" +msgid "Data too large for the advertisement packet" msgstr "" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" +msgid "Destination capacity is smaller than destination_length." msgstr "" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" +msgid "Display rotation must be in 90 degree increments" msgstr "" -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" +msgid "Don't know how to pass object to native function" msgstr "" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" +msgid "Drive mode not used when direction is input." msgstr "" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" +msgid "ESP8226 does not support safe mode." msgstr "" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" +msgid "ESP8266 does not support pull down." msgstr "" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" +msgid "EXTINT channel already in use" msgstr "" -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" +msgid "Error in ffi_prep_cif" msgstr "" -#: ports/esp8266/modesp.c:274 -#, c-format -msgid "memory allocation failed, allocating %u bytes for native code" +msgid "Error in regex" msgstr "" -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" +msgid "Expected a %q" msgstr "" -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" +msgid "Expected a Characteristic" msgstr "" -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" +msgid "Expected a UUID" msgstr "" -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" +#, c-format +msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" +msgid "Failed to acquire mutex" msgstr "" -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" +#, c-format +msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" +#, c-format +msgid "Failed to add characteristic, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" +msgid "Failed to add service" msgstr "" -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" +#, c-format +msgid "Failed to add service, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" +msgid "Failed to allocate RX buffer" msgstr "" -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" +#, c-format +msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" +msgid "Failed to change softdevice state" msgstr "" -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" +msgid "Failed to connect:" msgstr "" -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" +msgid "Failed to continue scanning" msgstr "" -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" +#, c-format +msgid "Failed to continue scanning, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" +msgid "Failed to create mutex" msgstr "" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" +msgid "Failed to discover services" msgstr "" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" +msgid "Failed to get local address" msgstr "" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" +msgid "Failed to get softdevice state" msgstr "" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" +#, c-format +msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" +#, c-format +msgid "Failed to read CCCD value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:119 -msgid "Failed to change softdevice state" +#, c-format +msgid "Failed to read gatts value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -msgid "Failed to get softdevice state" +#, c-format +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:147 -msgid "Failed to get local address" +msgid "Failed to release mutex" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" +#, c-format +msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 -msgid "Data too large for advertisement packet" +msgid "Failed to start advertising" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, c-format msgid "Failed to start advertising, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, c-format -msgid "Failed to stop advertising, err 0x%04x" +msgid "Failed to start scanning" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 #, c-format -msgid "Failed to read CCCD value, err 0x%04x" +msgid "Failed to start scanning, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, c-format -msgid "Failed to read gatts value, err 0x%04x" +msgid "Failed to stop advertising" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 #, c-format -msgid "Failed to write gatts value, err 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, c-format -msgid "Failed to notify or indicate attribute value, err %0x04x" +msgid "Failed to write attribute value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to write gatts value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 -#, c-format -msgid "Failed to acquire mutex, err 0x%04x" +msgid "File exists" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 -#, c-format -msgid "Failed to write attribute value, err 0x%04x" +msgid "Function requires lock" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 -#, c-format -msgid "Failed to release mutex, err 0x%04x" +msgid "Function requires lock." msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" +msgid "GPIO16 does not support pull up." msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -msgid "Data too large for the advertisement packet" +msgid "Group full" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:262 -msgid "Failed to discover services" +msgid "I/O operation on closed file" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -msgid "Failed to acquire mutex" +msgid "I2C operation not supported" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 -msgid "Failed to release mutex" +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:389 -msgid "Failed to continue scanning" +msgid "Input/output error" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:421 -msgid "Failed to connect:" +msgid "Invalid BMP file" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:491 -msgid "Failed to add service" +msgid "Invalid PWM frequency" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:508 -msgid "Failed to start advertising" +msgid "Invalid argument" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:525 -msgid "Failed to stop advertising" +msgid "Invalid bit clock pin" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:550 -msgid "Failed to start scanning" +msgid "Invalid buffer size" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:566 -msgid "Failed to create mutex" +msgid "Invalid channel count" msgstr "" -#: ports/nrf/common-hal/bleio/Peripheral.c:312 -#, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Invalid clock pin" msgstr "" -#: ports/nrf/common-hal/bleio/Scanner.c:75 -#, c-format -msgid "Failed to continue scanning, err 0x%04x" +msgid "Invalid data pin" msgstr "" -#: ports/nrf/common-hal/bleio/Scanner.c:101 -#, c-format -msgid "Failed to start scanning, err 0x%04x" +msgid "Invalid direction." msgstr "" -#: ports/nrf/common-hal/bleio/Service.c:88 -#, c-format -msgid "Failed to add characteristic, err 0x%04x" +msgid "Invalid file" msgstr "" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." +msgid "Invalid format chunk size" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgid "Invalid number of bits" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" +msgid "Invalid phase" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" +msgid "Invalid pin" msgstr "" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" +msgid "Invalid pin for left channel" msgstr "" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" +msgid "Invalid pin for right channel" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" +msgid "Invalid pins" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:145 -msgid "All UART peripherals are in use" +msgid "Invalid polarity" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:153 -msgid "Invalid buffer size" +msgid "Invalid run mode." msgstr "" -#: ports/nrf/common-hal/busio/UART.c:157 -msgid "Odd parity is not supported" +msgid "Invalid voice count" msgstr "" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -msgid "Cannot get temperature" +msgid "Invalid wave file" msgstr "" -#: ports/unix/modffi.c:138 -msgid "Unknown type" +msgid "LHS of keyword arg must be an id" msgstr "" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" +msgid "Layer must be a Group or TileGrid subclass." msgstr "" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" +msgid "Length must be an int" msgstr "" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" +msgid "Length must be non-negative" msgstr "" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" msgstr "" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" +msgid "MISO pin init failed." msgstr "" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" +msgid "MOSI pin init failed." msgstr "" -#: py/argcheck.c:73 #, c-format -msgid "function missing %d required positional arguments" +msgid "Maximum PWM frequency is %dhz." msgstr "" -#: py/argcheck.c:81 #, c-format -msgid "function expected at most %d arguments, got %d" +msgid "Maximum x value when mirrored is %d" msgstr "" -#: py/argcheck.c:106 -msgid "'%q' argument required" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" msgstr "" -#: py/argcheck.c:131 -msgid "extra positional arguments given" +msgid "MicroPython fatal error.\n" msgstr "" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" +msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" +msgid "Minimum PWM frequency is 1hz." msgstr "" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." msgstr "" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" +msgid "Must be a Group subclass." msgstr "" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" +msgid "No DAC on chip" msgstr "" -#: py/bc.c:199 -msgid "keywords must be strings" +msgid "No DMA channel found" msgstr "" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" +msgid "No PulseIn support for %q" msgstr "" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" +msgid "No RX pin" msgstr "" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" +msgid "No TX pin" msgstr "" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" +msgid "No default I2C bus" msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" +msgid "No default SPI bus" msgstr "" -#: py/binary.c:112 -msgid "bad typecode" +msgid "No default UART bus" msgstr "" -#: py/builtinevex.c:99 -msgid "bad compile mode" +msgid "No free GCLKs" msgstr "" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" +msgid "No hardware random available" msgstr "" -#: py/builtinhelp.c:183 -#, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "No hardware support for analog out." msgstr "" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" +msgid "No hardware support on pin" msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" +msgid "No space left on device" msgstr "" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" +msgid "No such file/directory" msgstr "" -#: py/builtinimport.c:510 -msgid "relative import" +msgid "Not connected" msgstr "" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" +msgid "Not connected." msgstr "" -#: py/compile.c:416 -msgid "multiple *x in assignment" +msgid "Not playing" msgstr "" -#: py/compile.c:642 -msgid "non-default argument follows default argument" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." msgstr "" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" +msgid "Odd parity is not supported" msgstr "" -#: py/compile.c:943 -msgid "can't delete expression" +msgid "Only 8 or 16 bit mono with " msgstr "" -#: py/compile.c:955 -msgid "'break' outside loop" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" msgstr "" -#: py/compile.c:958 -msgid "'continue' outside loop" +msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -#: py/compile.c:969 -msgid "'return' outside function" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" -#: py/compile.c:1169 -msgid "identifier redefined as global" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" msgstr "" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" +msgid "Only tx supported on UART1 (GPIO2)." msgstr "" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" +msgid "Oversample must be multiple of 8." msgstr "" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" msgstr "" -#: py/compile.c:1542 -msgid "default 'except' must be last" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." msgstr "" -#: py/compile.c:2095 -msgid "*x must be assignment target" +#, c-format +msgid "PWM not supported on pin %d" msgstr "" -#: py/compile.c:2193 -msgid "super() can't find self" +msgid "Permission denied" msgstr "" -#: py/compile.c:2256 -msgid "can't have multiple *x" +msgid "Pin %q does not have ADC capabilities" msgstr "" -#: py/compile.c:2263 -msgid "can't have multiple **x" +msgid "Pin does not have ADC capabilities" msgstr "" -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" +msgid "Pin(16) doesn't support pull" msgstr "" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" +msgid "Pins not valid for SPI" msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" +msgid "Pixel beyond bounds of buffer" msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" +msgid "Plus any modules on the filesystem\n" msgstr "" -#: py/compile.c:2465 -msgid "expecting key:value for dict" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "" -#: py/compile.c:2475 -msgid "expecting just a value for set" +msgid "Pull not used when direction is output." msgstr "" -#: py/compile.c:2600 -msgid "'yield' outside function" +msgid "RTC calibration is not supported on this board" msgstr "" -#: py/compile.c:2619 -msgid "'await' outside function" +msgid "RTC is not supported on this board" msgstr "" -#: py/compile.c:2774 -msgid "name reused for argument" +msgid "Range out of bounds" msgstr "" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" +msgid "Read-only" msgstr "" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" +msgid "Read-only filesystem" msgstr "" -#: py/compile.c:3097 -msgid "inline assembler must be a function" +msgid "Read-only object" msgstr "" -#: py/compile.c:3134 -msgid "unknown type" +msgid "Right channel unsupported" msgstr "" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" +msgid "Running in safe mode! Auto-reload is off.\n" msgstr "" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" +msgid "Running in safe mode! Not running saved code.\n" msgstr "" -#: py/compile.c:3190 -msgid "label redefined" +msgid "SDA or SCL needs a pull up" msgstr "" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" +msgid "STA must be active" msgstr "" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" +msgid "STA required" msgstr "" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" +msgid "Sample rate must be positive" msgstr "" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" +#, c-format +msgid "Sample rate too high. It must be less than %d" msgstr "" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" +msgid "Serializer in use" msgstr "" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" +msgid "Slice and value different lengths." msgstr "" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" +msgid "Slices not supported" msgstr "" -#: py/emitinlinethumb.c:211 #, c-format -msgid "'%s' expects a special register" +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" +msgid "Splitting with sub-captures" msgstr "" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" +msgid "Stack size must be at least 256" msgstr "" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" +msgid "Stream missing readinto() or write() method." msgstr "" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" msgstr "" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" msgstr "" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" msgstr "" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" +msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: py/emitinlinethumb.c:806 -#, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" +msgid "The sample's channel count does not match the mixer's" msgstr "" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" +msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" +msgid "The sample's signedness does not match the mixer's" msgstr "" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" +msgid "Tile height must exactly divide bitmap height" msgstr "" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgid "To exit, please reset the board without " msgstr "" -#: py/emitnative.c:183 -msgid "unknown type '%q'" +msgid "Too many channels in sample." msgstr "" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" +msgid "Too many display busses" msgstr "" -#: py/emitnative.c:742 -msgid "conversion to object" +msgid "Too many displays" msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" +msgid "Traceback (most recent call last):\n" msgstr "" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" +msgid "Tuple or struct_time argument required" msgstr "" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" +#, c-format +msgid "UART(%d) does not exist" msgstr "" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" +msgid "UART(1) can't read" msgstr "" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" +msgid "USB Busy" msgstr "" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" +msgid "USB Error" msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" +msgid "UUID integer value not in range 0 to 0xffff" msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" +msgid "UUID value is not str, int or byte buffer" msgstr "" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" +msgid "Unable to allocate buffers for signed conversion" msgstr "" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" +msgid "Unable to find free GCLK" msgstr "" -#: py/emitnative.c:2126 -msgid "casting" +msgid "Unable to init parser" msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" +msgid "Unable to remount filesystem" msgstr "" -#: py/emitnative.c:2191 -msgid "must raise an object" +msgid "Unable to write to nvm." msgstr "" -#: py/emitnative.c:2201 -msgid "native yield" +msgid "Unexpected nrfx uuid type" msgstr "" -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Unknown type" msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" +msgid "Unsupported baudrate" msgstr "" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" +msgid "Unsupported display bus type" msgstr "" -#: py/modbuiltins.c:350 -msgid "ord expects a character" +msgid "Unsupported format" msgstr "" -#: py/modbuiltins.c:353 -#, c-format -msgid "ord() expected a character, but string of length %d found" +msgid "Unsupported operation" msgstr "" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" +msgid "Unsupported pull value." msgstr "" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" +msgid "Use esptool to erase flash and re-upload Python instead" msgstr "" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" +msgid "Voice index too high" msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" +msgid "WARNING: Your code filename has two extensions\n" msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" +#, c-format +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" msgstr "" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" +msgid "You requested starting safe mode by " msgstr "" -#: py/moduerrno.c:148 -msgid "No such file/directory" +#, c-format +msgid "[addrinfo error %d]" +msgstr "" + +msgid "__init__() should return None" msgstr "" -#: py/moduerrno.c:149 -msgid "Input/output error" +#, c-format +msgid "__init__() should return None, not '%s'" msgstr "" -#: py/moduerrno.c:151 -msgid "File exists" +msgid "__new__ arg must be a user-type" msgstr "" -#: py/moduerrno.c:152 -msgid "Unsupported operation" +msgid "a bytes-like object is required" msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" +msgid "abort() called" msgstr "" -#: py/moduerrno.c:154 -msgid "No space left on device" +#, c-format +msgid "address %08x is not aligned to %d bytes" msgstr "" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" +msgid "address out of bounds" msgstr "" -#: py/obj.c:96 -msgid " File \"%q\", line %d" +msgid "addresses is empty" msgstr "" -#: py/obj.c:98 -msgid " File \"%q\"" +msgid "arg is an empty sequence" msgstr "" -#: py/obj.c:102 -msgid ", in %q\n" +msgid "argument has wrong type" msgstr "" -#: py/obj.c:259 -msgid "can't convert to int" +msgid "argument num/types mismatch" msgstr "" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" +msgid "argument should be a '%q' not a '%q'" msgstr "" -#: py/obj.c:322 -msgid "can't convert to float" +msgid "array/bytes required on right side" msgstr "" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" +msgid "attributes not supported yet" msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" +msgid "bad GATT role" msgstr "" -#: py/obj.c:358 -#, c-format -msgid "can't convert %s to complex" +msgid "bad compile mode" msgstr "" -#: py/obj.c:373 -msgid "expected tuple/list" +msgid "bad conversion specifier" msgstr "" -#: py/obj.c:376 -#, c-format -msgid "object '%s' is not a tuple or list" +msgid "bad format string" msgstr "" -#: py/obj.c:387 -msgid "tuple/list has wrong length" +msgid "bad typecode" msgstr "" -#: py/obj.c:389 -#, c-format -msgid "requested length %d but object has length %d" +msgid "binary op %q not implemented" msgstr "" -#: py/obj.c:402 -msgid "indices must be integers" +msgid "bits must be 7, 8 or 9" msgstr "" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" +msgid "bits must be 8" msgstr "" -#: py/obj.c:425 -msgid "%q index out of range" +msgid "bits_per_sample must be 8 or 16" msgstr "" -#: py/obj.c:457 -msgid "object has no len" +msgid "branch not in range" msgstr "" -#: py/obj.c:460 #, c-format -msgid "object of type '%s' has no len()" +msgid "buf is too small. need %d bytes" msgstr "" -#: py/obj.c:500 -msgid "object does not support item deletion" +msgid "buffer must be a bytes-like object" msgstr "" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" +msgid "buffer size must match format" msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" +msgid "buffer slices must be of equal length" msgstr "" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" +msgid "buffer too long" msgstr "" -#: py/obj.c:514 -msgid "object does not support item assignment" +msgid "buffer too small" msgstr "" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" +msgid "buffers must be the same length" msgstr "" -#: py/obj.c:548 -msgid "object with buffer protocol required" +msgid "byte code not implemented" msgstr "" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" +msgid "bytes > 8 bits not supported" msgstr "" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" +msgid "bytes value out of range" msgstr "" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" +msgid "calibration is out of range" msgstr "" -#: py/objcomplex.c:209 -msgid "complex division by zero" +msgid "calibration is read only" msgstr "" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" +msgid "calibration value out of range +/-127" msgstr "" -#: py/objdeque.c:107 -msgid "full" +msgid "can only have up to 4 parameters to Thumb assembly" msgstr "" -#: py/objdeque.c:127 -msgid "empty" +msgid "can only have up to 4 parameters to Xtensa assembly" msgstr "" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" +msgid "can only save bytecode" msgstr "" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" +msgid "can query only one param" msgstr "" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" +msgid "can't assign to expression" msgstr "" -#: py/objgenerator.c:126 -msgid "generator already executing" +#, c-format +msgid "can't convert %s to complex" msgstr "" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" +#, c-format +msgid "can't convert %s to float" msgstr "" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" +#, c-format +msgid "can't convert %s to int" msgstr "" -#: py/objint.c:144 -msgid "can't convert inf to int" +msgid "can't convert '%q' object to %q implicitly" msgstr "" -#: py/objint.c:146 msgid "can't convert NaN to int" msgstr "" -#: py/objint.c:163 -msgid "float too big" +msgid "can't convert address to int" msgstr "" -#: py/objint.c:328 -msgid "long int not supported in this build" +msgid "can't convert inf to int" msgstr "" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" +msgid "can't convert to complex" msgstr "" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" +msgid "can't convert to float" msgstr "" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" +msgid "can't convert to int" msgstr "" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" +msgid "can't convert to str implicitly" msgstr "" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" +msgid "can't declare nonlocal in outer code" msgstr "" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" +msgid "can't delete expression" msgstr "" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" +msgid "can't do binary op between '%q' and '%q'" msgstr "" -#: py/objlist.c:274 -msgid "pop from empty list" +msgid "can't do truncated division of a complex number" msgstr "" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" +msgid "can't get AP config" msgstr "" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" +msgid "can't get STA config" msgstr "" -#: py/objrange.c:110 -msgid "zero step" +msgid "can't have multiple **x" msgstr "" -#: py/objset.c:371 -msgid "pop from an empty set" +msgid "can't have multiple *x" msgstr "" -#: py/objslice.c:66 -msgid "Length must be an int" +msgid "can't implicitly convert '%q' to 'bool'" msgstr "" -#: py/objslice.c:71 -msgid "Length must be non-negative" +msgid "can't load from '%q'" msgstr "" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" +msgid "can't load with '%q' index" msgstr "" -#: py/objslice.c:159 -msgid "Cannot subclass slice" +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objstr.c:261 -msgid "bytes value out of range" +msgid "can't send non-None value to a just-started generator" msgstr "" -#: py/objstr.c:270 -msgid "wrong number of arguments" +msgid "can't set AP config" msgstr "" -#: py/objstr.c:414 py/objstrunicode.c:118 -msgid "offset out of bounds" +msgid "can't set STA config" msgstr "" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" +msgid "can't set attribute" msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" +msgid "can't store '%q'" msgstr "" -#: py/objstr.c:651 -msgid "rsplit(None,n)" +msgid "can't store to '%q'" msgstr "" -#: py/objstr.c:723 -msgid "substring not found" +msgid "can't store with '%q' index" msgstr "" -#: py/objstr.c:780 -msgid "start/end indices" +msgid "" +"can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:941 -msgid "bad format string" +msgid "" +"can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" +msgid "cannot create '%q' instances" msgstr "" -#: py/objstr.c:1002 -msgid "bad conversion specifier" +msgid "cannot create instance" msgstr "" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" +msgid "cannot import name %q" msgstr "" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" +msgid "cannot perform relative import" msgstr "" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" +msgid "casting" msgstr "" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:1060 -msgid "" -"can't switch from automatic field numbering to manual field specification" +msgid "chars buffer too small" msgstr "" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" +msgid "chr() arg not in range(0x110000)" msgstr "" -#: py/objstr.c:1081 -msgid "attributes not supported yet" +msgid "chr() arg not in range(256)" msgstr "" -#: py/objstr.c:1089 -msgid "" -"can't switch from manual field specification to automatic field numbering" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: py/objstr.c:1181 -msgid "invalid format specifier" +msgid "color buffer must be a buffer or int" msgstr "" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" +msgid "color must be between 0x000000 and 0xffffff" msgstr "" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" +msgid "color should be an int" msgstr "" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" +msgid "complex division by zero" msgstr "" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" +msgid "complex values not supported" msgstr "" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" +msgid "compression header" msgstr "" -#: py/objstr.c:1425 -msgid "format requires a dict" +msgid "constant must be an integer" msgstr "" -#: py/objstr.c:1434 -msgid "incomplete format key" +msgid "conversion to object" msgstr "" -#: py/objstr.c:1492 -msgid "incomplete format" +msgid "decimal numbers not supported" msgstr "" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" +msgid "default 'except' must be last" msgstr "" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -#: py/objstr.c:1517 -msgid "integer required" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" +msgid "destination_length must be an int >= 0" msgstr "" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" +msgid "dict update sequence has wrong length" msgstr "" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" +msgid "division by zero" msgstr "" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" +msgid "either pos or kw args are allowed" msgstr "" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" +msgid "empty" msgstr "" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" +msgid "empty heap" msgstr "" -#: py/objtype.c:371 -msgid "__init__() should return None" +msgid "empty separator" msgstr "" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" +msgid "empty sequence" msgstr "" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" +msgid "end_x should be an int" msgstr "" -#: py/objtype.c:883 py/runtime.c:655 #, c-format -msgid "'%s' object is not callable" +msgid "error = 0x%08lX" msgstr "" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" +msgid "exceptions must derive from BaseException" msgstr "" -#: py/objtype.c:1002 -msgid "cannot create instance" +msgid "expected ':' after format specifier" msgstr "" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" +msgid "expected a DigitalInOut" msgstr "" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" +msgid "expected tuple/list" msgstr "" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" +msgid "expecting a dict for keyword args" msgstr "" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" +msgid "expecting a pin" msgstr "" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" +msgid "expecting an assembler instruction" msgstr "" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" +msgid "expecting just a value for set" msgstr "" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" +msgid "expecting key:value for dict" msgstr "" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgid "extra keyword arguments given" msgstr "" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" +msgid "extra positional arguments given" msgstr "" -#: py/parse.c:726 -msgid "constant must be an integer" +msgid "ffi_prep_closure_loc" msgstr "" -#: py/parse.c:868 -msgid "Unable to init parser" +msgid "file must be a file opened in byte mode" msgstr "" -#: py/parse.c:1170 -msgid "unexpected indent" +msgid "filesystem must provide mount method" msgstr "" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" +msgid "first argument to super() must be type" msgstr "" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" +msgid "firstbit must be MSB" msgstr "" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" +msgid "flash location must be below 1MByte" msgstr "" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" +msgid "float too big" msgstr "" -#: py/parsenum.c:339 -msgid "invalid syntax for number" +msgid "font must be 2048 bytes long" msgstr "" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" +msgid "format requires a dict" msgstr "" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "frequency can only be either 80Mhz or 160MHz" msgstr "" -#: py/persistentcode.c:326 -msgid "can only save bytecode" +msgid "full" msgstr "" -#: py/runtime.c:206 -msgid "name not defined" +msgid "function does not take keyword arguments" msgstr "" -#: py/runtime.c:209 -msgid "name '%q' is not defined" +#, c-format +msgid "function expected at most %d arguments, got %d" msgstr "" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" +msgid "function got multiple values for argument '%q'" msgstr "" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" +#, c-format +msgid "function missing %d required positional arguments" msgstr "" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" +msgid "function missing keyword-only argument" msgstr "" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" +msgid "function missing required keyword argument '%q'" msgstr "" -#: py/runtime.c:883 py/runtime.c:947 #, c-format -msgid "need more than %d values to unpack" +msgid "function missing required positional argument #%d" msgstr "" -#: py/runtime.c:890 #, c-format -msgid "too many values to unpack (expected %d)" +msgid "function takes %d positional arguments but %d were given" msgstr "" -#: py/runtime.c:984 -msgid "argument has wrong type" +msgid "function takes exactly 9 arguments" msgstr "" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" +msgid "generator already executing" msgstr "" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" +msgid "generator ignored GeneratorExit" msgstr "" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" +msgid "graphic must be 2048 bytes long" msgstr "" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" +msgid "heap must be a list" msgstr "" -#: py/runtime.c:1238 -msgid "object not iterable" +msgid "identifier redefined as global" msgstr "" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" +msgid "identifier redefined as nonlocal" msgstr "" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" +msgid "impossible baudrate" msgstr "" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" +msgid "incomplete format" msgstr "" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" +msgid "incomplete format key" msgstr "" -#: py/runtime.c:1430 -msgid "cannot import name %q" +msgid "incorrect padding" msgstr "" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" +msgid "index out of range" msgstr "" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" +msgid "indices must be integers" msgstr "" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" +msgid "inline assembler must be a function" msgstr "" -#: py/sequence.c:273 -msgid "object not in sequence" +msgid "int() arg 2 must be >= 2 and <= 36" msgstr "" -#: py/stream.c:96 -msgid "stream operation not supported" +msgid "integer required" msgstr "" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: py/stream.c:289 -msgid "length argument not allowed for this type" +msgid "invalid I2C peripheral" msgstr "" -#: py/vm.c:255 -msgid "local variable referenced before assignment" +msgid "invalid SPI peripheral" msgstr "" -#: py/vm.c:1142 -msgid "no active exception to reraise" +msgid "invalid alarm" msgstr "" -#: py/vm.c:1284 -msgid "byte code not implemented" +msgid "invalid arguments" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgid "invalid buffer length" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" +msgid "invalid cert" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" +msgid "invalid data bits" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" +msgid "invalid dupterm index" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" +msgid "invalid format" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -msgid "Only slices with step=1 (aka None) are supported" +msgid "invalid format specifier" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -msgid "Range out of bounds" +msgid "invalid key" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" +msgid "invalid micropython decorator" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgid "invalid pin" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" +msgid "invalid step" msgstr "" -#: shared-bindings/_pixelbuf/__init__.c:112 -msgid "readonly attribute" +msgid "invalid stop bits" msgstr "" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" +msgid "invalid syntax" msgstr "" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" +msgid "invalid syntax for integer" msgstr "" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" +#, c-format +msgid "invalid syntax for integer with base %d" msgstr "" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" +msgid "invalid syntax for number" msgstr "" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" +msgid "issubclass() arg 1 must be a class" msgstr "" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." +msgid "keywords must be strings" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgid "label '%q' not defined" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" +msgid "label redefined" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" +msgid "len must be multiple of 4" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." +msgid "length argument not allowed for this type" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "lhs and rhs should be compatible" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "local '%q' has type '%q' but source is '%q'" msgstr "" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" +msgid "local '%q' used before type known" msgstr "" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" +msgid "local variable referenced before assignment" msgstr "" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" +msgid "long int not supported in this build" msgstr "" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" +msgid "map buffer too small" msgstr "" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "math domain error" msgstr "" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" +msgid "maximum recursion depth exceeded" msgstr "" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" +#, c-format +msgid "memory allocation failed, allocating %u bytes" msgstr "" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" msgstr "" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" +msgid "memory allocation failed, heap is locked" msgstr "" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" +msgid "module not found" msgstr "" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" +msgid "multiple *x in assignment" msgstr "" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" +msgid "multiple inheritance not supported" msgstr "" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" +msgid "must raise an object" msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, c-format -msgid "Address must be %d bytes long" +msgid "must specify all of sck/mosi/miso" msgstr "" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -msgid "Expected a UUID" +msgid "must use keyword argument for key function" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -msgid "Not connected" +msgid "name '%q' is not defined" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -msgid "timeout must be >= 0.0" +msgid "name must be a string" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -msgid "%q must be >= 1" +msgid "name not defined" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -msgid "Expected a Characteristic" +msgid "name reused for argument" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" +msgid "native yield" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +#, c-format +msgid "need more than %d values to unpack" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" +msgid "negative power with no float support" msgstr "" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" +msgid "no active exception to reraise" msgstr "" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "no available NIC" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +msgid "no binding for nonlocal found" msgstr "" -#: shared-bindings/bleio/Peripheral.c:119 -msgid "name must be a string" +msgid "no module named '%q'" msgstr "" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" +msgid "no such attribute" msgstr "" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" +msgid "non-default argument follows default argument" msgstr "" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" +msgid "non-hex digit found" msgstr "" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgid "non-keyword arg after */**" msgstr "" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" +msgid "non-keyword arg after keyword arg" msgstr "" -#: shared-bindings/bleio/UUID.c:107 -msgid "Byte buffer must be 16 bytes." +msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/bleio/UUID.c:151 -msgid "not a 128-bit UUID" +#, c-format +msgid "not a valid ADC Channel: %d" msgstr "" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." +msgid "not all arguments converted during string formatting" msgstr "" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" +msgid "not enough arguments for format string" msgstr "" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" +#, c-format +msgid "object '%s' is not a tuple or list" msgstr "" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "object does not support item assignment" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." +msgid "object does not support item deletion" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." +msgid "object has no len" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." +msgid "object is not subscriptable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." +msgid "object not an iterator" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." +msgid "object not callable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" +msgid "object not in sequence" msgstr "" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" +msgid "object not iterable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" +#, c-format +msgid "object of type '%s' has no len()" msgstr "" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +msgid "object with buffer protocol required" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 -msgid "%q should be an int" +msgid "odd-length string" msgstr "" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" +msgid "offset out of bounds" msgstr "" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" +msgid "only slices with step=1 (aka None) are supported" msgstr "" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" +msgid "ord expects a character" msgstr "" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" +msgid "overflow converting long int to machine word" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "palette must be 32 bytes long" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -msgid "Command must be an int between 0 and 255" +msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgid "parameter annotation must be an identifier" msgstr "" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgid "parameters must be registers in sequence a2 to a5" msgstr "" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" +msgid "parameters must be registers in sequence r0 to r3" msgstr "" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" +msgid "pin does not have IRQ capabilities" msgstr "" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/Shape.c:101 -msgid "start_x should be an int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" -#: shared-bindings/displayio/Shape.c:105 -msgid "end_x should be an int" +msgid "pop from an empty PulseIn" msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 -msgid "position must be 2-tuple" +msgid "pop from an empty set" msgstr "" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" +msgid "pop from empty list" msgstr "" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" +msgid "popitem(): dictionary is empty" msgstr "" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgid "pow() 3rd argument cannot be 0" msgstr "" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" +msgid "pow() with 3 arguments requires integers" msgstr "" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" +msgid "queue overflow" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" +msgid "readonly attribute" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" +msgid "relative import" msgstr "" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" +#, c-format +msgid "requested length %d but object has length %d" msgstr "" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" +msgid "return annotation must be an identifier" msgstr "" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." +msgid "return expected '%q' but got '%q'" msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." +msgid "row must be packed and word aligned" msgstr "" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "rsplit(None,n)" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" msgstr "" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." +msgid "sampling rate out of range" msgstr "" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." +msgid "scan failed" msgstr "" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" +msgid "schedule stack full" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" +msgid "script compilation not supported" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." +msgid "sign not allowed in string format specifier" msgstr "" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" +msgid "sign not allowed with integer format specifier 'c'" msgstr "" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" +msgid "single '}' encountered in format string" msgstr "" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" +msgid "sleep length must be non-negative" msgstr "" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" +msgid "slice step cannot be zero" msgstr "" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" +msgid "small int overflow" msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" +msgid "soft reboot\n" msgstr "" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" +msgid "start/end indices" msgstr "" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" +msgid "start_x should be an int" msgstr "" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" +msgid "step must be non-zero" msgstr "" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" +msgid "stop must be 1 or 2" msgstr "" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" +msgid "stop not reachable from start" msgstr "" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" +msgid "stream operation not supported" msgstr "" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" +msgid "string index out of range" msgstr "" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" +#, c-format +msgid "string indices must be integers, not %s" msgstr "" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" +msgid "string not supported; use bytes or bytearray" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" +msgid "struct: cannot index" msgstr "" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" +msgid "struct: index out of range" msgstr "" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" +msgid "struct: no fields" msgstr "" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" +msgid "substring not found" msgstr "" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." +msgid "super() can't find self" msgstr "" -#: shared-module/_pixelbuf/PixelBuf.c:69 -#, c-format -msgid "Expected tuple of length %d, got %d" +msgid "syntax error in JSON" msgstr "" -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" +msgid "syntax error in uctypes descriptor" msgstr "" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" +msgid "threshold must be in the range 0-65536" msgstr "" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" +msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" +msgid "time.struct_time() takes exactly 1 argument" msgstr "" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" +msgid "timeout must be >= 0.0" msgstr "" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" +msgid "timestamp out of range for platform time_t" msgstr "" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" +msgid "too many arguments" msgstr "" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" +msgid "too many arguments provided with the given format" msgstr "" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" +#, c-format +msgid "too many values to unpack (expected %d)" msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" +msgid "tuple index out of range" msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" +msgid "tuple/list has wrong length" msgstr "" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" +msgid "tuple/list required on RHS" msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." +msgid "tx and rx cannot both be None" msgstr "" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." +msgid "type '%q' is not an acceptable base type" msgstr "" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." +msgid "type is not an acceptable base type" msgstr "" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." +msgid "type object '%q' has no attribute '%q'" msgstr "" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." +msgid "type takes 1 or 3 arguments" msgstr "" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." +msgid "ulonglong too large" msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" +msgid "unary op %q not implemented" msgstr "" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" +msgid "unexpected indent" msgstr "" -#: shared-module/displayio/Bitmap.c:118 -msgid "Read-only object" +msgid "unexpected keyword argument" msgstr "" -#: shared-module/displayio/Display.c:67 -msgid "Unsupported display bus type" +msgid "unexpected keyword argument '%q'" msgstr "" -#: shared-module/displayio/Group.c:66 -msgid "Group full" +msgid "unicode name escapes" msgstr "" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unindent does not match any outer indentation level" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" +msgid "unknown config param" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "unknown conversion specifier %c" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "" - -#: shared-module/displayio/Shape.c:60 -msgid "y value out of bounds" +msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: shared-module/displayio/Shape.c:63 -msgid "x value out of bounds" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" +msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." +msgid "unknown status param" msgstr "" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" +msgid "unknown type" msgstr "" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" +msgid "unknown type '%q'" msgstr "" -#: shared-module/struct/__init__.c:179 -msgid "buffer size must match format" +msgid "unmatched '{' in format" msgstr "" -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." +msgid "unreadable attribute" msgstr "" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" msgstr "" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" msgstr "" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" +msgid "unsupported bitmap type" msgstr "" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" +msgid "unsupported type for %q: '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " +msgid "unsupported type for operator" msgstr "" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " +msgid "unsupported types for %q: '%s', '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:107 -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +msgid "wifi_set_ip_info() failed" msgstr "" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "write_args must be a list, tuple, or None" msgstr "" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "wrong number of arguments" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgid "wrong number of values to unpack" msgstr "" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" +msgid "x value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:118 -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" +msgid "y should be an int" msgstr "" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" +msgid "y value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" +msgid "zero step" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index 750e0d41a9c4..96100c491ba9 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:08-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -17,2837 +17,2126 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "ungültige I2C Schnittstelle" - -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "I2C-operation nicht unterstützt" - -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" - -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "ungültige SPI Schnittstelle" - -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" -msgstr "Buffer müssen gleich lang sein" - -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "bits müssen 8 sein" - -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "das erste Bit muss MSB sein" - -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "sck/mosi/miso müssen alle spezifiziert sein" - -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "ungültiges Format" - -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "ein Byte-ähnliches Objekt ist erforderlich" - -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "String mit ungerader Länge" - -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "eine nicht-hex zahl wurde gefunden" - -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "padding ist inkorrekt" - -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "Syntaxfehler in uctypes Deskriptor" - -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" - -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: keine Felder" - -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: kann nicht indexieren" - -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: index außerhalb gültigen Bereichs" - -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "heap muss eine Liste sein" - -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "leerer heap" - -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "Syntaxfehler in JSON" - -#: extmod/modure.c:161 -msgid "Splitting with sub-captures" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" msgstr "" +"\n" +"Der Code wurde ausgeführt. Warte auf reload.\n" -#: extmod/modure.c:207 -msgid "Error in regex" -msgstr "Fehler in regex" - -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "ungültiger Schlüssel" - -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "ungültiges cert" - -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "Warteschlangenüberlauf" - -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "kompression header" - -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "ungültiger dupterm index" - -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Schreibgeschützte Dateisystem" - -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "Lese/Schreibe-operation an geschlossener Datei" - -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() wurde aufgerufen" - -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "ungültige argumente" +msgid " File \"%q\"" +msgstr " Datei \"%q\"" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "kompilieren von Skripten ist nicht unterstützt" +msgid " File \"%q\", line %d" +msgstr " Datei \"%q\", Zeile %d" -#: main.c:152 msgid " output:\n" msgstr " Ausgabe:\n" -#: main.c:166 main.c:247 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +#, c-format +msgid "%%c requires int or char" msgstr "" -"Automatisches Neuladen ist aktiv. Speichere Dateien über USB um sie " -"auszuführen oder verbinde dich mit der REPL zum Deaktivieren.\n" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" +msgid "%q in use" +msgstr "%q in Benutzung" -#: main.c:170 main.c:249 -msgid "Auto-reload is off.\n" -msgstr "Automatisches Neuladen ist deaktiviert.\n" +msgid "%q index out of range" +msgstr "Der Index %q befindet sich außerhalb der Reihung" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n" +msgid "%q indices must be integers, not %s" +msgstr "%q Indizes müssen ganze Zahlen sein, nicht %s" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "" -"WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n" +msgid "%q must be >= 1" +msgstr "%q muss >= 1 sein" -#: main.c:221 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid "%q should be an int" msgstr "" -"\n" -"Der Code wurde ausgeführt. Warte auf reload.\n" - -#: main.c:254 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." -msgstr "Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu laden" - -#: main.c:419 -msgid "soft reboot\n" -msgstr "soft reboot\n" - -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 -msgid "All sync event channels in use" -msgstr "Alle sync event Kanäle werden benutzt" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "Kalibrierung ist Schreibgeschützt" - -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "Kalibrierung ist außerhalb der Reichweite" - -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "Pin hat keine ADC Funktionalität" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Kein DAC vorhanden" +msgid "'%q' argument required" +msgstr "'%q' Argument erforderlich" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 -msgid "AnalogOut not supported on given pin" -msgstr "AnalogOut ist an diesem Pin nicht unterstützt" +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' erwartet ein Label" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Ungültiges bit clock pin" +#, c-format +msgid "'%s' expects a register" +msgstr "'%s' erwartet ein Register" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "Bit clock und word select müssen eine clock unit teilen" +#, c-format +msgid "'%s' expects a special register" +msgstr "'%s' erwartet ein Spezialregister" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Ungültiger data pin" +#, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' erwartet ein FPU-Register" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer wird benutzt" +#, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "'%s' erwartet eine Adresse in der Form [a, b]" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Clock unit wird benutzt" +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' erwartet ein Integer" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Konnte keinen freien GCLK finden" +#, c-format +msgid "'%s' expects at most r%d" +msgstr "'%s' erwartet höchstens r%d" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Zu viele Kanäle im sample" +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "'%s' erwartet {r0, r1, ...}" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "Kein DMA Kanal gefunden" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Konnte keine Buffer für Vorzeichenumwandlung allozieren" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Ungültiger clock pin" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "'%s' Objekt unterstützt keine item assignment" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " -msgstr "Nur 8 oder 16 bit mono mit " +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "'%s' Objekt unterstützt das Löschen von Elementen nicht" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "Abtastrate außerhalb der Reichweite" +msgid "'%s' object has no attribute '%q'" +msgstr "'%s' Objekt hat kein Attribut '%q'" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" -msgstr "DAC wird schon benutzt" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "'%s' Objekt ist kein Iterator" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Rechter Kanal wird nicht unterstützt" +#, c-format +msgid "'%s' object is not callable" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Ungültiger Pin" +#, c-format +msgid "'%s' object is not iterable" +msgstr "'%s' Objekt nicht iterierbar" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Ungültiger Pin für linken Kanal" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "'%s' Objekt hat keine '__getitem__'-Methode (not subscriptable)" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Ungültiger Pin für rechten Kanal" +msgid "'=' alignment not allowed in string format specifier" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" -msgstr "Kann nicht beite Kanäle auf dem gleichen Pin ausgeben" +msgid "'S' and 'O' are not supported format types" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Alle timer werden benutzt" +msgid "'align' requires 1 argument" +msgstr "'align' erfordert genau ein Argument" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Alle event Kanäle werden benutzt" +msgid "'await' outside function" +msgstr "'await' außerhalb einer Funktion" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 -#, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Abtastrate zu hoch. Wert muss unter %d liegen" +msgid "'break' outside loop" +msgstr "'break' außerhalb einer Schleife" -#: ports/atmel-samd/common-hal/busio/I2C.c:71 -msgid "Not enough pins available" -msgstr "Nicht genug Pins vorhanden" +msgid "'continue' outside loop" +msgstr "'continue' außerhalb einer Schleife" -#: ports/atmel-samd/common-hal/busio/I2C.c:78 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Ungültige Pins" +msgid "'data' requires at least 2 arguments" +msgstr "'data' erfordert mindestens zwei Argumente" -#: ports/atmel-samd/common-hal/busio/I2C.c:101 -msgid "SDA or SCL needs a pull up" -msgstr "SDA oder SCL brauchen pull up" +msgid "'data' requires integer arguments" +msgstr "'data' erfordert Integer-Argumente" -#: ports/atmel-samd/common-hal/busio/I2C.c:121 -msgid "Unsupported baudrate" -msgstr "Baudrate wird nicht unterstützt" +msgid "'label' requires 1 argument" +msgstr "'label' erfordert genau ein Argument" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "bytes mit mehr als 8 bits werden nicht unterstützt" +msgid "'return' outside function" +msgstr "'return' außerhalb einer Funktion" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:91 -msgid "tx and rx cannot both be None" -msgstr "tx und rx können nicht beide None sein" +msgid "'yield' outside function" +msgstr "'yield' außerhalb einer Funktion" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:132 -msgid "Failed to allocate RX buffer" -msgstr "Konnte keinen RX Buffer allozieren" +msgid "*x must be assignment target" +msgstr "*x muss Zuordnungsziel sein" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "Konnte UART nicht initialisieren" +msgid ", in %q\n" +msgstr ", in %q\n" -#: ports/atmel-samd/common-hal/busio/UART.c:241 -#: ports/nrf/common-hal/busio/UART.c:174 -msgid "No RX pin" -msgstr "Kein RX Pin" +msgid "0.0 to a complex power" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:300 -#: ports/nrf/common-hal/busio/UART.c:209 -msgid "No TX pin" -msgstr "Kein TX Pin" +msgid "3-arg pow() not supported" +msgstr "3-arg pow() wird nicht unterstützt" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 -msgid "Cannot get pull while in output mode" -msgstr "Pull up im Ausgabemodus nicht möglich" +msgid "A hardware interrupt channel is already in use" +msgstr "Ein Hardware Interrupt Kanal wird schon benutzt" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -msgid "Data 0 pin must be byte aligned" -msgstr "Data 0 pin muss am Byte ausgerichtet sein" +msgid "AP required" +msgstr "AP erforderlich" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 #, c-format -msgid "Bus pin %d is already in use" -msgstr "Bus pin %d wird schon benutzt" +msgid "Address is not %d bytes long or is in wrong format" +msgstr "Die Adresse ist nicht %d Bytes lang oder das Format ist falsch" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 -msgid "Cannot reset into bootloader because no bootloader is present." -msgstr "Reset zum bootloader nicht möglich da bootloader nicht vorhanden" +#, c-format +msgid "Address must be %d bytes long" +msgstr "Die Adresse muss %d Bytes lang sein" -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Ungültige PWM Frequenz" +msgid "All I2C peripherals are in use" +msgstr "Alle I2C-Peripheriegeräte sind in Benutzung" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Keine Hardwareunterstützung an diesem Pin" +msgid "All SPI peripherals are in use" +msgstr "Alle SPI-Peripheriegeräte sind in Benutzung" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "EXTINT Kanal ist schon in Benutzung" +msgid "All UART peripherals are in use" +msgstr "Alle UART-Peripheriegeräte sind in Benutzung" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Konnte keine RX Buffer mit %d allozieren" +msgid "All event channels in use" +msgstr "Alle event Kanäle werden benutzt" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "pop von einem leeren PulseIn" +msgid "All sync event channels in use" +msgstr "Alle sync event Kanäle werden benutzt" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "index außerhalb der Reichweite" +msgid "All timers for this pin are in use" +msgstr "Alle timer für diesen Pin werden bereits benutzt" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Ein anderer Sendevorgang ist schon aktiv" +msgid "All timers in use" +msgstr "Alle timer werden benutzt" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Beide pins müssen Hardware Interrupts unterstützen" +msgid "AnalogOut functionality not supported" +msgstr "AnalogOut-Funktion wird nicht unterstützt" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Ein Hardware Interrupt Kanal wird schon benutzt" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "Kalibrierwert nicht im Bereich von +/-127" +msgid "AnalogOut not supported on given pin" +msgstr "AnalogOut ist an diesem Pin nicht unterstützt" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Keine freien GCLKs" +msgid "Another send is already active" +msgstr "Ein anderer Sendevorgang ist schon aktiv" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Pin %q hat keine ADC Funktion" +msgid "Array must contain halfwords (type 'H')" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Keine Hardwareunterstützung für analog out" +msgid "Array values should be single bytes." +msgstr "Array-Werte sollten aus Einzelbytes bestehen." -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Pins nicht gültig für SPI" +msgid "Auto-reload is off.\n" +msgstr "Automatisches Neuladen ist deaktiviert.\n" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "UART1 (GPIO2) unterstützt nur tx" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"Automatisches Neuladen ist aktiv. Speichere Dateien über USB um sie " +"auszuführen oder verbinde dich mit der REPL zum Deaktivieren.\n" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "Ungültige Datenbits" +msgid "Bit clock and word select must share a clock unit" +msgstr "Bit clock und word select müssen eine clock unit teilen" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "Ungültige Stopbits" +msgid "Bit depth must be multiple of 8." +msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "ESP8266 unterstützt pull down nicht" +msgid "Both pins must support hardware interrupts" +msgstr "Beide pins müssen Hardware Interrupts unterstützen" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "GPIO16 unterstützt pull up nicht" +msgid "Brightness must be between 0 and 255" +msgstr "Die Helligkeit muss zwischen 0 und 255 liegen" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "ESP8226 hat keinen Sicherheitsmodus" +msgid "Brightness not adjustable" +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 #, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "Maximale PWM Frequenz ist %dHz" - -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "Minimale PWM Frequenz ist %dHz" +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Der Puffergröße ist inkorrekt. Sie sollte %d bytes haben." -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz gesetzt." +msgid "Buffer must be at least length 1" +msgstr "Der Puffer muss eine Mindestenslänge von 1 haben" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 #, c-format -msgid "PWM not supported on pin %d" -msgstr "PWM nicht unterstützt an Pin %d" - -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Keine PulseIn Unterstützung für %q" +msgid "Bus pin %d is already in use" +msgstr "Bus pin %d wird schon benutzt" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Dateisystem kann nicht wieder gemounted werden." +msgid "Byte buffer must be 16 bytes." +msgstr "Der Puffer muss 16 Bytes lang sein" -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "Benutze das esptool um den flash zu löschen und Python erneut hochzuladen" +msgid "Bytes must be between 0 and 255." +msgstr "Ein Bytes kann nur Werte zwischen 0 und 255 annehmen." -#: ports/esp8266/esp_mphal.c:154 msgid "C-level assert" msgstr "C-Level Assert" -#: ports/esp8266/machine_adc.c:57 #, c-format -msgid "not a valid ADC Channel: %d" -msgstr "Kein gültiger ADC Kanal: %d" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "Unmögliche Baudrate" +msgid "Can't add services in Central mode" +msgstr "" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "Ein Pin wird erwartet" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pin(16) unterstützt kein pull" +msgid "Can't change the name in Central mode" +msgstr "" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "Ungültiger Pin" +msgid "Can't connect in Peripheral mode" +msgstr "" -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "Pin hat keine IRQ Fähigkeiten" +msgid "Cannot connect to AP" +msgstr "Kann nicht zu AP verbinden" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "Buffer zu lang" +msgid "Cannot delete values" +msgstr "Kann Werte nicht löschen" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "Ungültiger Alarm" +msgid "Cannot disconnect from AP" +msgstr "Kann nicht trennen von AP" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) existiert nicht" +msgid "Cannot get pull while in output mode" +msgstr "Pull up im Ausgabemodus nicht möglich" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) kann nicht lesen" +msgid "Cannot get temperature" +msgstr "Kann Temperatur nicht holen" -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len muss ein vielfaches von 4 sein" +msgid "Cannot output both channels on the same pin" +msgstr "Kann nicht beite Kanäle auf dem gleichen Pin ausgeben" -#: ports/esp8266/modesp.c:274 -#, c-format -msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" +msgid "Cannot read without MISO pin." +msgstr "" -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "flash location muss unter 1MByte sein" +msgid "Cannot record to a file" +msgstr "" -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "Die Frequenz kann nur 80Mhz oder 160Mhz sein" +msgid "Cannot remount '/' when USB is active." +msgstr "Kann '/' nicht remounten when USB aktiv ist" -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP erforderlich" +msgid "Cannot reset into bootloader because no bootloader is present." +msgstr "Reset zum bootloader nicht möglich da bootloader nicht vorhanden" -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA erforderlich" +msgid "Cannot set STA config" +msgstr "Kann STA Konfiguration nicht setzen" + +msgid "Cannot set value when direction is input." +msgstr "" + +msgid "Cannot subclass slice" +msgstr "" + +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "" + +msgid "Cannot unambiguously get sizeof scalar" +msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" -#: ports/esp8266/modnetwork.c:87 msgid "Cannot update i/f status" msgstr "Kann i/f Status nicht updaten" -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Kann STA Konfiguration nicht setzen" +msgid "Cannot write without MOSI pin." +msgstr "" -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Kann nicht zu AP verbinden" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Kann nicht trennen von AP" +msgid "Characteristic already in use by another Service." +msgstr "Characteristic wird bereits von einem anderen Dienst verwendet." + +msgid "CharacteristicBuffer writing not provided" +msgstr "Schreiben von CharacteristicBuffer ist nicht vorgesehen" + +msgid "Clock pin init failed." +msgstr "" + +msgid "Clock stretch too long" +msgstr "" -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "Unbekannter Statusparameter" +msgid "Clock unit in use" +msgstr "Clock unit wird benutzt" -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "STA muss aktiv sein" +msgid "Command must be an int between 0 and 255" +msgstr "" -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "Scan fehlgeschlagen" +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x" -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() fehlgeschlagen" +msgid "Could not initialize UART" +msgstr "Konnte UART nicht initialisieren" -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" +msgid "Couldn't allocate first buffer" msgstr "" -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" +msgid "Couldn't allocate second buffer" msgstr "" -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" +msgid "Crash into the HardFault_Handler.\n" msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" +msgid "DAC already in use" +msgstr "DAC wird schon benutzt" + +msgid "Data 0 pin must be byte aligned" +msgstr "Data 0 pin muss am Byte ausgerichtet sein" + +msgid "Data chunk must follow fmt chunk" msgstr "" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" +msgid "Data too large for advertisement packet" +msgstr "Zu vielen Daten für das advertisement packet" + +msgid "Data too large for the advertisement packet" +msgstr "Daten sind zu groß für das advertisement packet" + +msgid "Destination capacity is smaller than destination_length." msgstr "" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" +msgid "Display rotation must be in 90 degree increments" msgstr "" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" +msgid "Don't know how to pass object to native function" msgstr "" +"Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" +msgid "Drive mode not used when direction is input." msgstr "" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "AnalogOut-Funktion wird nicht unterstützt" +msgid "ESP8226 does not support safe mode." +msgstr "ESP8226 hat keinen Sicherheitsmodus" -#: ports/nrf/common-hal/bleio/Adapter.c:43 -#, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgid "ESP8266 does not support pull down." +msgstr "ESP8266 unterstützt pull down nicht" -#: ports/nrf/common-hal/bleio/Adapter.c:119 -msgid "Failed to change softdevice state" -msgstr "Fehler beim Ändern des Softdevice-Status" +msgid "EXTINT channel already in use" +msgstr "EXTINT Kanal ist schon in Benutzung" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -msgid "Failed to get softdevice state" -msgstr "Fehler beim Abrufen des Softdevice-Status" +msgid "Error in ffi_prep_cif" +msgstr "Fehler in ffi_prep_cif" -#: ports/nrf/common-hal/bleio/Adapter.c:147 -msgid "Failed to get local address" -msgstr "Lokale Adresse konnte nicht abgerufen werden" +msgid "Error in regex" +msgstr "Fehler in regex" -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "Das Interval ist nicht im Bereich 0.0020 bis 10.24" +msgid "Expected a %q" +msgstr "Erwartet ein(e) %q" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 -msgid "Data too large for advertisement packet" -msgstr "Zu vielen Daten für das advertisement packet" +msgid "Expected a Characteristic" +msgstr "Characteristic wird erwartet" + +msgid "Expected a UUID" +msgstr "Eine UUID wird erwartet" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Kann advertisement nicht starten. Status: 0x%04x" +msgid "Expected tuple of length %d, got %d" +msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten" + +msgid "Failed to acquire mutex" +msgstr "Akquirieren des Mutex gescheitert" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 #, c-format -msgid "Failed to stop advertising, err 0x%04x" -msgstr "Kann advertisement nicht stoppen. Status: 0x%04x" +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Mutex konnte nicht akquiriert werden. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 #, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Kann CCCD value nicht lesen. Status: 0x%04x" +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x" + +msgid "Failed to add service" +msgstr "Dienst konnte nicht hinzugefügt werden" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 #, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x" +msgid "Failed to add service, err 0x%04x" +msgstr "Dienst konnte nicht hinzugefügt werden. Status: 0x%04x" + +msgid "Failed to allocate RX buffer" +msgstr "Konnte keinen RX Buffer allozieren" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 #, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Konnte keine RX Buffer mit %d allozieren" + +msgid "Failed to change softdevice state" +msgstr "Fehler beim Ändern des Softdevice-Status" + +msgid "Failed to connect:" +msgstr "Verbindung fehlgeschlagen:" + +msgid "Failed to continue scanning" +msgstr "Der Scanvorgang kann nicht fortgesetzt werden" + +#, c-format +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Der Scanvorgang kann nicht fortgesetzt werden. Status: 0x%04x" + +msgid "Failed to create mutex" +msgstr "Erstellen des Mutex ist fehlgeschlagen" + +msgid "Failed to discover services" +msgstr "Es konnten keine Dienste gefunden werden" + +msgid "Failed to get local address" +msgstr "Lokale Adresse konnte nicht abgerufen werden" + +msgid "Failed to get softdevice state" +msgstr "Fehler beim Abrufen des Softdevice-Status" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Kann den Attributwert nicht mitteilen. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, c-format -msgid "Failed to read attribute value, err %0x04x" -msgstr "Kann den Attributwert nicht lesen. Status: 0x%04x" +msgid "Failed to read CCCD value, err 0x%04x" +msgstr "Kann CCCD value nicht lesen. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, c-format -msgid "Failed to acquire mutex, err 0x%04x" -msgstr "Mutex konnte nicht akquiriert werden. Status: 0x%04x" +msgid "Failed to read attribute value, err %0x04x" +msgstr "Kann den Attributwert nicht lesen. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x" +msgid "Failed to read gatts value, err 0x%04x" +msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "schlechte GATT role" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -msgid "Data too large for the advertisement packet" -msgstr "Daten sind zu groß für das advertisement packet" - -#: ports/nrf/common-hal/bleio/Device.c:262 -msgid "Failed to discover services" -msgstr "Es konnten keine Dienste gefunden werden" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -msgid "Failed to acquire mutex" -msgstr "Akquirieren des Mutex gescheitert" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 msgid "Failed to release mutex" msgstr "Loslassen des Mutex gescheitert" -#: ports/nrf/common-hal/bleio/Device.c:389 -msgid "Failed to continue scanning" -msgstr "Der Scanvorgang kann nicht fortgesetzt werden" - -#: ports/nrf/common-hal/bleio/Device.c:421 -msgid "Failed to connect:" -msgstr "Verbindung fehlgeschlagen:" - -#: ports/nrf/common-hal/bleio/Device.c:491 -msgid "Failed to add service" -msgstr "Dienst konnte nicht hinzugefügt werden" +#, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Device.c:508 msgid "Failed to start advertising" msgstr "Kann advertisement nicht starten" -#: ports/nrf/common-hal/bleio/Device.c:525 -msgid "Failed to stop advertising" -msgstr "Kann advertisement nicht stoppen" +#, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Kann advertisement nicht starten. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Device.c:550 msgid "Failed to start scanning" msgstr "Der Scanvorgang kann nicht gestartet werden" -#: ports/nrf/common-hal/bleio/Device.c:566 -msgid "Failed to create mutex" -msgstr "Erstellen des Mutex ist fehlgeschlagen" - -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, c-format -msgid "Failed to add service, err 0x%04x" -msgstr "Dienst konnte nicht hinzugefügt werden. Status: 0x%04x" +msgid "Failed to start scanning, err 0x%04x" +msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x" + +msgid "Failed to stop advertising" +msgstr "Kann advertisement nicht stoppen" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Der Scanvorgang kann nicht fortgesetzt werden. Status: 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" +msgstr "Kann advertisement nicht stoppen. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Service.c:88 #, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." -msgstr "Characteristic wird bereits von einem anderen Dienst verwendet." +msgid "File exists" +msgstr "Datei existiert" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x" +msgid "Function requires lock" +msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x" +msgid "Function requires lock." +msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" -msgstr "Unerwarteter nrfx uuid-Typ" +msgid "GPIO16 does not support pull up." +msgstr "GPIO16 unterstützt pull up nicht" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Alle I2C-Peripheriegeräte sind in Benutzung" +msgid "Group full" +msgstr "" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Alle SPI-Peripheriegeräte sind in Benutzung" +msgid "I/O operation on closed file" +msgstr "Lese/Schreibe-operation an geschlossener Datei" -#: ports/nrf/common-hal/busio/UART.c:49 -#, c-format -msgid "error = 0x%08lX" -msgstr "error = 0x%08lX" +msgid "I2C operation not supported" +msgstr "I2C-operation nicht unterstützt" + +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" +"Inkompatible mpy-Datei. Bitte aktualisieren Sie alle mpy-Dateien. Siehe " +"http://adafru.it/mpy-update für weitere Informationen." + +msgid "Input/output error" +msgstr "Eingabe-/Ausgabefehler" + +msgid "Invalid BMP file" +msgstr "Ungültige BMP-Datei" + +msgid "Invalid PWM frequency" +msgstr "Ungültige PWM Frequenz" + +msgid "Invalid argument" +msgstr "Ungültiges Argument" + +msgid "Invalid bit clock pin" +msgstr "Ungültiges bit clock pin" -#: ports/nrf/common-hal/busio/UART.c:95 msgid "Invalid buffer size" msgstr "Ungültige Puffergröße" -#: ports/nrf/common-hal/busio/UART.c:99 -msgid "Odd parity is not supported" -msgstr "Eine ungerade Parität wird nicht unterstützt" +msgid "Invalid channel count" +msgstr "Ungültige Anzahl von Kanälen" -#: ports/nrf/common-hal/busio/UART.c:335 ports/nrf/common-hal/busio/UART.c:339 -#: ports/nrf/common-hal/busio/UART.c:344 ports/nrf/common-hal/busio/UART.c:349 -#: ports/nrf/common-hal/busio/UART.c:355 ports/nrf/common-hal/busio/UART.c:360 -#: ports/nrf/common-hal/busio/UART.c:365 ports/nrf/common-hal/busio/UART.c:369 -#: ports/nrf/common-hal/busio/UART.c:377 -msgid "busio.UART not available" -msgstr "busio.UART nicht verfügbar" +msgid "Invalid clock pin" +msgstr "Ungültiger clock pin" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -msgid "Cannot get temperature" -msgstr "Kann Temperatur nicht holen" +msgid "Invalid data pin" +msgstr "Ungültiger data pin" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Unbekannter Typ" +msgid "Invalid direction." +msgstr "" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Fehler in ffi_prep_cif" +msgid "Invalid file" +msgstr "" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" +msgid "Invalid format chunk size" +msgstr "" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann" +msgid "Invalid number of bits" +msgstr "Ungültige Anzahl von Bits" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgid "Invalid phase" +msgstr "Ungültige Phase" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "Funktion akzeptiert keine Keyword-Argumente" +msgid "Invalid pin" +msgstr "Ungültiger Pin" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" +msgid "Invalid pin for left channel" +msgstr "Ungültiger Pin für linken Kanal" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "Funktion vermisst %d benötigte Argumente ohne Keyword" +msgid "Invalid pin for right channel" +msgstr "Ungültiger Pin für rechten Kanal" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "Funktion erwartet maximal %d Argumente, aber hat %d erhalten" +msgid "Invalid pins" +msgstr "Ungültige Pins" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' Argument erforderlich" +msgid "Invalid polarity" +msgstr "Ungültige Polarität" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "Es wurden zusätzliche Argumente ohne Keyword angegeben" +msgid "Invalid run mode." +msgstr "Ungültiger Ausführungsmodus" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "Es wurden zusätzliche Keyword-Argumente angegeben" +msgid "Invalid voice count" +msgstr "Ungültige Anzahl von Stimmen" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "Anzahl/Type der Argumente passen nicht" +msgid "Invalid wave file" +msgstr "" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen " -"normale Argumente" +msgid "LHS of keyword arg must be an id" +msgstr "" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" +msgid "Layer must be a Group or TileGrid subclass." +msgstr "" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "unerwartetes Keyword-Argument" +msgid "Length must be an int" +msgstr "" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "Schlüsselwörter müssen Zeichenfolgen sein" +msgid "Length must be non-negative" +msgstr "" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "Funktion hat mehrere Werte für Argument '%q'" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" +"Sieht aus, als wäre der CircuitPython-Kernel-Code abgestürzt. Uups!\n" +"Bitte melde das Problem unter https://github.com/adafruit/circuitpython/" +"issues\n" +"mit dem Inhalt deines CIRCUITPY-Laufwerks und dieser Nachricht:\n" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "unerwartetes Keyword-Argument '%q'" +msgid "MISO pin init failed." +msgstr "" + +msgid "MOSI pin init failed." +msgstr "" -#: py/bc.c:244 #, c-format -msgid "function missing required positional argument #%d" -msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d" +msgid "Maximum PWM frequency is %dhz." +msgstr "Maximale PWM Frequenz ist %dHz" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "Funktion vermisst benötigtes Keyword-Argumente '%q'" +#, c-format +msgid "Maximum x value when mirrored is %d" +msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "Funktion vermisst Keyword-only-Argument" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "schlechter typecode" +msgid "MicroPython fatal error.\n" +msgstr "Schwerwiegender MicroPython-Fehler\n" -#: py/builtinevex.c:99 -msgid "bad compile mode" -msgstr "schlechter compile mode" +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" -msgstr "und alle Module im Dateisystem \n" +msgid "Minimum PWM frequency is 1hz." +msgstr "Minimale PWM Frequenz ist %dHz" -#: py/builtinhelp.c:183 #, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." msgstr "" -"Willkommen bei Adafruit CircuitPython %s!\n" -"\n" -"Projektleitfäden findest du auf learn.adafruit.com/category/circuitpython \n" -"\n" -"Um die integrierten Module aufzulisten, führe bitte `help(\"modules\")` " -"aus.\n" +"Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz " +"gesetzt." -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "kann keinen relativen Import durchführen" +msgid "Must be a Group subclass." +msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "Modul nicht gefunden" +msgid "No DAC on chip" +msgstr "Kein DAC vorhanden" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "Kein Modul mit dem Namen '%q'" +msgid "No DMA channel found" +msgstr "Kein DMA Kanal gefunden" -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "relativer Import" +msgid "No PulseIn support for %q" +msgstr "Keine PulseIn Unterstützung für %q" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "kann keinem Ausdruck zuweisen" +msgid "No RX pin" +msgstr "Kein RX Pin" -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "mehrere *x in Zuordnung" +msgid "No TX pin" +msgstr "Kein TX Pin" -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "ein non-default argument folgt auf ein default argument" +msgid "No default I2C bus" +msgstr "Kein Standard I2C Bus" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "ungültiger micropython decorator" +msgid "No default SPI bus" +msgstr "Kein Standard SPI Bus" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "Ausdruck kann nicht gelöscht werden" +msgid "No default UART bus" +msgstr "Kein Standard UART Bus" -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' außerhalb einer Schleife" +msgid "No free GCLKs" +msgstr "Keine freien GCLKs" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' außerhalb einer Schleife" +msgid "No hardware random available" +msgstr "Kein hardware random verfügbar" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' außerhalb einer Funktion" +msgid "No hardware support for analog out." +msgstr "Keine Hardwareunterstützung für analog out" -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "Bezeichner als global neu definiert" +msgid "No hardware support on pin" +msgstr "Keine Hardwareunterstützung an diesem Pin" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "" +msgid "No space left on device" +msgstr "Kein Speicherplatz auf Gerät" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "Bezeichner als nonlocal definiert" +msgid "No such file/directory" +msgstr "Keine solche Datei/Verzeichnis" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "kann im äußeren Code nicht als nonlocal deklarieren" +msgid "Not connected" +msgstr "Nicht verbunden" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "Die Standart-Ausnahmebehandlung muss als letztes sein" +msgid "Not connected." +msgstr "" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "*x muss Zuordnungsziel sein" +msgid "Not playing" +msgstr "" -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "super() kann self nicht finden" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." +msgstr "" +"Objekt wurde deinitialisiert und kann nicht mehr verwendet werden. Erstelle " +"ein neues Objekt." -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "mehrere *x sind nicht gestattet" +msgid "Odd parity is not supported" +msgstr "Eine ungerade Parität wird nicht unterstützt" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "mehrere **x sind nicht gestattet" +msgid "Only 8 or 16 bit mono with " +msgstr "Nur 8 oder 16 bit mono mit " -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" msgstr "" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" +msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "ungültige Syntax" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "Erwarte key:value für dict" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "UART1 (GPIO2) unterstützt nur tx" -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "Erwarte nur einen Wert für set" +msgid "Oversample must be multiple of 8." +msgstr "" -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "'yield' außerhalb einer Funktion" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgstr "PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen" + +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." +msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False." + +#, c-format +msgid "PWM not supported on pin %d" +msgstr "PWM nicht unterstützt an Pin %d" + +msgid "Permission denied" +msgstr "Zugang verweigert" + +msgid "Pin %q does not have ADC capabilities" +msgstr "Pin %q hat keine ADC Funktion" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' außerhalb einer Funktion" +msgid "Pin does not have ADC capabilities" +msgstr "Pin hat keine ADC Funktionalität" -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "Name für Argumente wiederverwendet" +msgid "Pin(16) doesn't support pull" +msgstr "Pin(16) unterstützt kein pull" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "parameter annotation muss ein identifier sein" +msgid "Pins not valid for SPI" +msgstr "Pins nicht gültig für SPI" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "return annotation muss ein identifier sein" +msgid "Pixel beyond bounds of buffer" +msgstr "" -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "inline assembler muss eine function sein" +msgid "Plus any modules on the filesystem\n" +msgstr "und alle Module im Dateisystem \n" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "unbekannter Typ" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "" +"Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu " +"laden" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "erwartet eine Assembler-Anweisung" +msgid "Pull not used when direction is output." +msgstr "" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' erfordert genau ein Argument" +msgid "RTC calibration is not supported on this board" +msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "Label neu definiert" +msgid "RTC is not supported on this board" +msgstr "Eine RTC wird auf diesem Board nicht unterstützt" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' erfordert genau ein Argument" +msgid "Range out of bounds" +msgstr "" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' erfordert mindestens zwei Argumente" +msgid "Read-only" +msgstr "Nur lesen möglich, da Schreibgeschützt" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' erfordert Integer-Argumente" +msgid "Read-only filesystem" +msgstr "Schreibgeschützte Dateisystem" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "" +msgid "Read-only object" +msgstr "Schreibgeschützte Objekt" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" -msgstr "" +msgid "Right channel unsupported" +msgstr "Rechter Kanal wird nicht unterstützt" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" -msgstr "'%s' erwartet höchstens r%d" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "'%s' erwartet ein Register" +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n" -#: py/emitinlinethumb.c:211 -#, c-format -msgid "'%s' expects a special register" -msgstr "'%s' erwartet ein Spezialregister" +msgid "SDA or SCL needs a pull up" +msgstr "SDA oder SCL brauchen pull up" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" -msgstr "'%s' erwartet ein FPU-Register" +msgid "STA must be active" +msgstr "STA muss aktiv sein" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "'%s' erwartet {r0, r1, ...}" +msgid "STA required" +msgstr "STA erforderlich" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" -msgstr "'%s' erwartet ein Integer" +msgid "Sample rate must be positive" +msgstr "Abtastrate muss positiv sein" -#: py/emitinlinethumb.c:304 #, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x" +msgid "Sample rate too high. It must be less than %d" +msgstr "Abtastrate zu hoch. Wert muss unter %d liegen" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "'%s' erwartet eine Adresse in der Form [a, b]" +msgid "Serializer in use" +msgstr "Serializer wird benutzt" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" -msgstr "'%s' erwartet ein Label" +msgid "Slice and value different lengths." +msgstr "Slice und Wert (value) haben unterschiedliche Längen." -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "Label '%q' nicht definiert" +msgid "Slices not supported" +msgstr "Slices werden nicht unterstützt" -#: py/emitinlinethumb.c:806 #, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "nicht unterstützter Thumb-Befehl '%s' mit %d Argumenten" +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" -msgstr "Zweig ist außerhalb der Reichweite" +msgid "Splitting with sub-captures" +msgstr "" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "kann nur bis zu 4 Parameter für die Xtensa assembly haben" +msgid "Stack size must be at least 256" +msgstr "Die Stackgröße sollte mindestens 256 sein" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "Die Parameter müssen Register der Reihenfolge a2 bis a5 sein" +msgid "Stream missing readinto() or write() method." +msgstr "Stream fehlt readinto() oder write() Methode." -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" msgstr "" +"Der CircuitPython-Heap war beschädigt, weil der Stack zu klein war.\n" +"Bitte erhöhe die stack size limits und drücke die Reset-Taste (nach Auswurf " +"des CIRCUITPY-Laufwerks)\n" +"Wenn du den Stack nicht geändert hast, melde bitte das Problem unter https://" +"github.com/adafruit/circuitpython/issues\n" +"mit dem Inhalt deines CIRCUITPY-Laufwerks.\n" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" msgstr "" +"Die Stromversorgung des Mikrocontrollers ist eingebrochen. Stelle sicher, " +"dass deine Stromversorgung genug Leistung für die gesamte Schaltung zur " +"Verfügung stellt und drücke die Reset-Taste (nach Auswurf des CIRCUITPY-" +"Laufwerks)\n" -#: py/emitnative.c:183 -msgid "unknown type '%q'" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" msgstr "" +"Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie " +"erneut um den abgesicherten Modus zu verlassen. \n" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" +msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: py/emitnative.c:742 -msgid "conversion to object" +msgid "The sample's channel count does not match the mixer's" msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" +msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" +msgid "The sample's signedness does not match the mixer's" msgstr "" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" +msgid "Tile height must exactly divide bitmap height" msgstr "" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" +msgid "To exit, please reset the board without " +msgstr "Zum beenden, resette bitte das board ohne " + +msgid "Too many channels in sample." +msgstr "Zu viele Kanäle im sample" + +msgid "Too many display busses" msgstr "" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" +msgid "Too many displays" msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" +msgid "Traceback (most recent call last):\n" +msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n" + +msgid "Tuple or struct_time argument required" msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" -msgstr "Kann '%q' nicht implizit nach 'bool' konvertieren" +#, c-format +msgid "UART(%d) does not exist" +msgstr "UART(%d) existiert nicht" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" -msgstr "Der unäre Operator %q ist nicht implementiert" +msgid "UART(1) can't read" +msgstr "UART(1) kann nicht lesen" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" -msgstr "Der binäre Operator %q ist nicht implementiert" +msgid "USB Busy" +msgstr "USB beschäftigt" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "Eine binäre Operation zwischen '%q' und '%q' ist nicht möglich" +msgid "USB Error" +msgstr "USB Fehler" -#: py/emitnative.c:2126 -msgid "casting" -msgstr "" +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "UUID-Integer nicht im Bereich 0 bis 0xffff" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgstr "UUID Zeichenfolge ist nicht 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "" +msgid "UUID value is not str, int or byte buffer" +msgstr "Der UUID-Wert ist kein str-, int- oder Byte-Puffer" -#: py/emitnative.c:2201 -msgid "native yield" -msgstr "" +msgid "Unable to allocate buffers for signed conversion" +msgstr "Konnte keine Buffer für Vorzeichenumwandlung allozieren" -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Unable to find free GCLK" +msgstr "Konnte keinen freien GCLK finden" + +msgid "Unable to init parser" msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "chr() arg ist nicht in range(0x110000)" +msgid "Unable to remount filesystem" +msgstr "Dateisystem kann nicht wieder gemounted werden." -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" -msgstr "chr() arg ist nicht in range(256)" +msgid "Unable to write to nvm." +msgstr "Schreiben in nvm nicht möglich." -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" -msgstr "arg ist eine leere Sequenz" +msgid "Unexpected nrfx uuid type" +msgstr "Unerwarteter nrfx uuid-Typ" -#: py/modbuiltins.c:350 -msgid "ord expects a character" -msgstr "ord erwartet ein Zeichen" +msgid "Unknown type" +msgstr "Unbekannter Typ" -#: py/modbuiltins.c:353 #, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d gefunden" +msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgstr "" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "3-arg pow() wird nicht unterstützt" +msgid "Unsupported baudrate" +msgstr "Baudrate wird nicht unterstützt" -#: py/modbuiltins.c:517 -msgid "must use keyword argument for key function" -msgstr "muss Schlüsselwortargument für key function verwenden" +msgid "Unsupported display bus type" +msgstr "Nicht unterstützter display bus type" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "math domain error" +msgid "Unsupported format" +msgstr "" + +msgid "Unsupported operation" +msgstr "Nicht unterstützte Operation" + +msgid "Unsupported pull value." +msgstr "" + +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "" +"Benutze das esptool um den flash zu löschen und Python erneut hochzuladen" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "Division durch Null" +msgid "Viper functions don't currently support more than 4 arguments" +msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" -msgstr "Der schedule stack ist voll" +msgid "Voice index too high" +msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" -msgstr "Der Puffer ist zu klein" +msgid "WARNING: Your code filename has two extensions\n" +msgstr "" +"WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" -msgstr "erwarte ein dict als Keyword-Argumente" +#, c-format +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" +"Willkommen bei Adafruit CircuitPython %s!\n" +"\n" +"Projektleitfäden findest du auf learn.adafruit.com/category/circuitpython \n" +"\n" +"Um die integrierten Module aufzulisten, führe bitte `help(\"modules\")` " +"aus.\n" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Zugang verweigert" +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "" +"Sie laufen im abgesicherten Modus, was bedeutet, dass etwas Unerwartetes " +"passiert ist.\n" -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "Keine solche Datei/Verzeichnis" +msgid "You requested starting safe mode by " +msgstr "Du hast das Starten im Sicherheitsmodus ausgelöst durch " -#: py/moduerrno.c:149 -msgid "Input/output error" -msgstr "Eingabe-/Ausgabefehler" +#, c-format +msgid "[addrinfo error %d]" +msgstr "[addrinfo error %d]" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "Datei existiert" +msgid "__init__() should return None" +msgstr "" -#: py/moduerrno.c:152 -msgid "Unsupported operation" -msgstr "Nicht unterstützte Operation" +#, c-format +msgid "__init__() should return None, not '%s'" +msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Ungültiges Argument" +msgid "__new__ arg must be a user-type" +msgstr "" -#: py/moduerrno.c:154 -msgid "No space left on device" -msgstr "Kein Speicherplatz auf Gerät" +msgid "a bytes-like object is required" +msgstr "ein Byte-ähnliches Objekt ist erforderlich" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n" +msgid "abort() called" +msgstr "abort() wurde aufgerufen" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " Datei \"%q\", Zeile %d" +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " Datei \"%q\"" +msgid "address out of bounds" +msgstr "Adresse außerhalb der Grenzen" -#: py/obj.c:102 -msgid ", in %q\n" -msgstr ", in %q\n" +msgid "addresses is empty" +msgstr "adresses ist leer" -#: py/obj.c:259 -msgid "can't convert to int" -msgstr "kann nicht nach int konvertieren" +msgid "arg is an empty sequence" +msgstr "arg ist eine leere Sequenz" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" -msgstr "kann %s nicht nach int konvertieren" +msgid "argument has wrong type" +msgstr "" -#: py/obj.c:322 -msgid "can't convert to float" -msgstr "kann nicht nach float konvertieren" +msgid "argument num/types mismatch" +msgstr "Anzahl/Type der Argumente passen nicht" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" -msgstr "kann %s nicht nach float konvertieren" +msgid "argument should be a '%q' not a '%q'" +msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "kann nicht nach complex konvertieren" +msgid "array/bytes required on right side" +msgstr "" -#: py/obj.c:358 -#, c-format -msgid "can't convert %s to complex" -msgstr "kann %s nicht nach complex konvertieren" +msgid "attributes not supported yet" +msgstr "" -#: py/obj.c:373 -msgid "expected tuple/list" -msgstr "erwarte tuple/list" +msgid "bad GATT role" +msgstr "schlechte GATT role" -#: py/obj.c:376 -#, c-format -msgid "object '%s' is not a tuple or list" -msgstr "Objekt '%s' ist weder tupel noch list" +msgid "bad compile mode" +msgstr "schlechter compile mode" -#: py/obj.c:387 -msgid "tuple/list has wrong length" -msgstr "tupel/list hat falsche Länge" +msgid "bad conversion specifier" +msgstr "" -#: py/obj.c:389 -#, c-format -msgid "requested length %d but object has length %d" -msgstr "die ersuchte Länge ist %d, aber das Objekt hat eine Länge von %d" +msgid "bad format string" +msgstr "" -#: py/obj.c:402 -msgid "indices must be integers" -msgstr "Indizes müssen ganze Zahlen sein" +msgid "bad typecode" +msgstr "schlechter typecode" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" -msgstr "%q Indizes müssen ganze Zahlen sein, nicht %s" +msgid "binary op %q not implemented" +msgstr "Der binäre Operator %q ist nicht implementiert" -#: py/obj.c:425 -msgid "%q index out of range" -msgstr "Der Index %q befindet sich außerhalb der Reihung" +msgid "bits must be 7, 8 or 9" +msgstr "bits muss 7, 8 oder 9 sein" -#: py/obj.c:457 -msgid "object has no len" -msgstr "Objekt hat keine len" +msgid "bits must be 8" +msgstr "bits müssen 8 sein" -#: py/obj.c:460 -#, c-format -msgid "object of type '%s' has no len()" -msgstr "Objekt vom Typ '%s' hat keine len()" +msgid "bits_per_sample must be 8 or 16" +msgstr "Es müssen 8 oder 16 bits_per_sample sein" -#: py/obj.c:500 -msgid "object does not support item deletion" -msgstr "Objekt unterstützt das Löschen von Elementen nicht" +msgid "branch not in range" +msgstr "Zweig ist außerhalb der Reichweite" -#: py/obj.c:503 #, c-format -msgid "'%s' object does not support item deletion" -msgstr "'%s' Objekt unterstützt das Löschen von Elementen nicht" +msgid "buf is too small. need %d bytes" +msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" -msgstr "Objekt hat keine '__getitem__'-Methode (not subscriptable)" +msgid "buffer must be a bytes-like object" +msgstr "Puffer muss ein bytes-artiges Objekt sein" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" -msgstr "'%s' Objekt hat keine '__getitem__'-Methode (not subscriptable)" +msgid "buffer size must match format" +msgstr "Die Puffergröße muss zum Format passen" -#: py/obj.c:514 -msgid "object does not support item assignment" -msgstr "Objekt unterstützt keine item assignment" +msgid "buffer slices must be of equal length" +msgstr "Puffersegmente müssen gleich lang sein" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" -msgstr "'%s' Objekt unterstützt keine item assignment" +msgid "buffer too long" +msgstr "Buffer zu lang" -#: py/obj.c:548 -msgid "object with buffer protocol required" -msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich" +msgid "buffer too small" +msgstr "Der Puffer ist zu klein" -#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" -msgstr "" +msgid "buffers must be the same length" +msgstr "Buffer müssen gleich lang sein" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" +msgid "byte code not implemented" msgstr "" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" -msgstr "" +msgid "bytes > 8 bits not supported" +msgstr "bytes mit mehr als 8 bits werden nicht unterstützt" -#: py/objcomplex.c:209 -msgid "complex division by zero" +msgid "bytes value out of range" msgstr "" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "" +msgid "calibration is out of range" +msgstr "Kalibrierung ist außerhalb der Reichweite" -#: py/objdeque.c:107 -msgid "full" -msgstr "" +msgid "calibration is read only" +msgstr "Kalibrierung ist Schreibgeschützt" -#: py/objdeque.c:127 -msgid "empty" -msgstr "" +msgid "calibration value out of range +/-127" +msgstr "Kalibrierwert nicht im Bereich von +/-127" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" +msgid "can only have up to 4 parameters to Thumb assembly" msgstr "" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" -msgstr "" +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "kann nur bis zu 4 Parameter für die Xtensa assembly haben" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" -msgstr "" +msgid "can only save bytecode" +msgstr "kann nur Bytecode speichern" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" +msgid "can query only one param" msgstr "" -#: py/objgenerator.c:126 -msgid "generator already executing" +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" -msgstr "" +msgid "can't assign to expression" +msgstr "kann keinem Ausdruck zuweisen" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" -msgstr "" +#, c-format +msgid "can't convert %s to complex" +msgstr "kann %s nicht nach complex konvertieren" -#: py/objint.c:144 -msgid "can't convert inf to int" -msgstr "kann inf nicht nach int konvertieren" +#, c-format +msgid "can't convert %s to float" +msgstr "kann %s nicht nach float konvertieren" + +#, c-format +msgid "can't convert %s to int" +msgstr "kann %s nicht nach int konvertieren" + +msgid "can't convert '%q' object to %q implicitly" +msgstr "" -#: py/objint.c:146 msgid "can't convert NaN to int" msgstr "kann NaN nicht nach int konvertieren" -#: py/objint.c:163 -msgid "float too big" -msgstr "float zu groß" +msgid "can't convert address to int" +msgstr "kann Adresse nicht in int konvertieren" -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "long int wird in diesem Build nicht unterstützt" +msgid "can't convert inf to int" +msgstr "kann inf nicht nach int konvertieren" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" -msgstr "small int Überlauf" +msgid "can't convert to complex" +msgstr "kann nicht nach complex konvertieren" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "" +msgid "can't convert to float" +msgstr "kann nicht nach float konvertieren" + +msgid "can't convert to int" +msgstr "kann nicht nach int konvertieren" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" +msgid "can't convert to str implicitly" msgstr "" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" -msgstr "" +msgid "can't declare nonlocal in outer code" +msgstr "kann im äußeren Code nicht als nonlocal deklarieren" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "" +msgid "can't delete expression" +msgstr "Ausdruck kann nicht gelöscht werden" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" -msgstr "" +msgid "can't do binary op between '%q' and '%q'" +msgstr "Eine binäre Operation zwischen '%q' und '%q' ist nicht möglich" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" +msgid "can't do truncated division of a complex number" msgstr "" -#: py/objlist.c:274 -msgid "pop from empty list" +msgid "can't get AP config" msgstr "" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" +msgid "can't get STA config" msgstr "" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "" +msgid "can't have multiple **x" +msgstr "mehrere **x sind nicht gestattet" -#: py/objrange.c:110 -msgid "zero step" -msgstr "" +msgid "can't have multiple *x" +msgstr "mehrere *x sind nicht gestattet" -#: py/objset.c:371 -msgid "pop from an empty set" -msgstr "" +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "Kann '%q' nicht implizit nach 'bool' konvertieren" -#: py/objslice.c:66 -msgid "Length must be an int" +msgid "can't load from '%q'" msgstr "" -#: py/objslice.c:71 -msgid "Length must be non-negative" +msgid "can't load with '%q' index" msgstr "" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objslice.c:159 -msgid "Cannot subclass slice" +msgid "can't send non-None value to a just-started generator" msgstr "" -#: py/objstr.c:261 -msgid "bytes value out of range" +msgid "can't set AP config" msgstr "" -#: py/objstr.c:270 -msgid "wrong number of arguments" +msgid "can't set STA config" msgstr "" -#: py/objstr.c:468 -msgid "join expects a list of str/bytes objects consistent with self object" +msgid "can't set attribute" msgstr "" -#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745 -msgid "empty separator" +msgid "can't store '%q'" msgstr "" -#: py/objstr.c:642 -msgid "rsplit(None,n)" +msgid "can't store to '%q'" msgstr "" -#: py/objstr.c:714 -msgid "substring not found" +msgid "can't store with '%q' index" msgstr "" -#: py/objstr.c:771 -msgid "start/end indices" +msgid "" +"can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:932 -msgid "bad format string" +msgid "" +"can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:954 -msgid "single '}' encountered in format string" +msgid "cannot create '%q' instances" msgstr "" -#: py/objstr.c:993 -msgid "bad conversion specifier" +msgid "cannot create instance" msgstr "" -#: py/objstr.c:997 -msgid "end of format while looking for conversion specifier" -msgstr "" +msgid "cannot import name %q" +msgstr "Name %q kann nicht importiert werden" -#: py/objstr.c:999 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "" +msgid "cannot perform relative import" +msgstr "kann keinen relativen Import durchführen" -#: py/objstr.c:1030 -msgid "unmatched '{' in format" +msgid "casting" msgstr "" -#: py/objstr.c:1037 -msgid "expected ':' after format specifier" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:1051 -msgid "" -"can't switch from automatic field numbering to manual field specification" +msgid "chars buffer too small" msgstr "" -#: py/objstr.c:1056 py/objstr.c:1084 -msgid "tuple index out of range" -msgstr "" +msgid "chr() arg not in range(0x110000)" +msgstr "chr() arg ist nicht in range(0x110000)" -#: py/objstr.c:1072 -msgid "attributes not supported yet" -msgstr "" +msgid "chr() arg not in range(256)" +msgstr "chr() arg ist nicht in range(256)" -#: py/objstr.c:1080 -msgid "" -"can't switch from manual field specification to automatic field numbering" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: py/objstr.c:1172 -msgid "invalid format specifier" +msgid "color buffer must be a buffer or int" msgstr "" -#: py/objstr.c:1193 -msgid "sign not allowed in string format specifier" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: py/objstr.c:1201 -msgid "sign not allowed with integer format specifier 'c'" +msgid "color must be between 0x000000 and 0xffffff" msgstr "" -#: py/objstr.c:1260 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" +msgid "color should be an int" msgstr "" -#: py/objstr.c:1332 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" +msgid "complex division by zero" msgstr "" -#: py/objstr.c:1344 -msgid "'=' alignment not allowed in string format specifier" +msgid "complex values not supported" msgstr "" -#: py/objstr.c:1368 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" -msgstr "" +msgid "compression header" +msgstr "kompression header" -#: py/objstr.c:1416 -msgid "format requires a dict" +msgid "constant must be an integer" msgstr "" -#: py/objstr.c:1425 -msgid "incomplete format key" +msgid "conversion to object" msgstr "" -#: py/objstr.c:1483 -msgid "incomplete format" +msgid "decimal numbers not supported" msgstr "" -#: py/objstr.c:1491 -msgid "not enough arguments for format string" -msgstr "" +msgid "default 'except' must be last" +msgstr "Die Standart-Ausnahmebehandlung muss als letztes sein" -#: py/objstr.c:1501 -#, c-format -msgid "%%c requires int or char" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -#: py/objstr.c:1508 -msgid "integer required" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" -#: py/objstr.c:1571 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" +msgid "destination_length must be an int >= 0" msgstr "" -#: py/objstr.c:1578 -msgid "not all arguments converted during string formatting" +msgid "dict update sequence has wrong length" msgstr "" -#: py/objstr.c:2103 -msgid "can't convert to str implicitly" -msgstr "" +msgid "division by zero" +msgstr "Division durch Null" -#: py/objstr.c:2107 -msgid "can't convert '%q' object to %q implicitly" +msgid "either pos or kw args are allowed" msgstr "" -#: py/objstrunicode.c:134 -#, c-format -msgid "string indices must be integers, not %s" +msgid "empty" msgstr "" -#: py/objstrunicode.c:145 py/objstrunicode.c:164 -msgid "string index out of range" -msgstr "" +msgid "empty heap" +msgstr "leerer heap" -#: py/objtype.c:368 -msgid "__init__() should return None" +msgid "empty separator" msgstr "" -#: py/objtype.c:370 -#, c-format -msgid "__init__() should return None, not '%s'" -msgstr "" +msgid "empty sequence" +msgstr "leere Sequenz" -#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065 -msgid "unreadable attribute" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objtype.c:878 py/runtime.c:653 -msgid "object not callable" +msgid "end_x should be an int" msgstr "" -#: py/objtype.c:880 py/runtime.c:655 #, c-format -msgid "'%s' object is not callable" -msgstr "" - -#: py/objtype.c:988 -msgid "type takes 1 or 3 arguments" -msgstr "" +msgid "error = 0x%08lX" +msgstr "error = 0x%08lX" -#: py/objtype.c:999 -msgid "cannot create instance" -msgstr "" +msgid "exceptions must derive from BaseException" +msgstr "Exceptions müssen von BaseException abgeleitet sein" -#: py/objtype.c:1001 -msgid "cannot create '%q' instances" +msgid "expected ':' after format specifier" msgstr "" -#: py/objtype.c:1059 -msgid "can't add special method to already-subclassed class" +msgid "expected a DigitalInOut" msgstr "" -#: py/objtype.c:1103 py/objtype.c:1109 -msgid "type is not an acceptable base type" -msgstr "" +msgid "expected tuple/list" +msgstr "erwarte tuple/list" -#: py/objtype.c:1112 -msgid "type '%q' is not an acceptable base type" -msgstr "" +msgid "expecting a dict for keyword args" +msgstr "erwarte ein dict als Keyword-Argumente" -#: py/objtype.c:1149 -msgid "multiple inheritance not supported" -msgstr "" +msgid "expecting a pin" +msgstr "Ein Pin wird erwartet" -#: py/objtype.c:1176 -msgid "multiple bases have instance lay-out conflict" -msgstr "" +msgid "expecting an assembler instruction" +msgstr "erwartet eine Assembler-Anweisung" -#: py/objtype.c:1217 -msgid "first argument to super() must be type" -msgstr "" +msgid "expecting just a value for set" +msgstr "Erwarte nur einen Wert für set" -#: py/objtype.c:1382 -msgid "issubclass() arg 2 must be a class or a tuple of classes" -msgstr "" +msgid "expecting key:value for dict" +msgstr "Erwarte key:value für dict" -#: py/objtype.c:1396 -msgid "issubclass() arg 1 must be a class" -msgstr "" +msgid "extra keyword arguments given" +msgstr "Es wurden zusätzliche Keyword-Argumente angegeben" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "" +msgid "extra positional arguments given" +msgstr "Es wurden zusätzliche Argumente ohne Keyword angegeben" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "" +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" -#: py/parse.c:1170 -msgid "unexpected indent" -msgstr "" -"unerwarteter Einzug (Einrückung) Bitte Leerzeichen am Zeilenanfang " -"kontrollieren!" +msgid "file must be a file opened in byte mode" +msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" -msgstr "" -"Einrückung entspricht keiner äußeren Einrückungsebene. Bitte Leerzeichen am " -"Zeilenanfang kontrollieren!" +msgid "filesystem must provide mount method" +msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" +msgid "first argument to super() must be type" msgstr "" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" -msgstr "" +msgid "firstbit must be MSB" +msgstr "das erste Bit muss MSB sein" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" -msgstr "" +msgid "flash location must be below 1MByte" +msgstr "flash location muss unter 1MByte sein" -#: py/parsenum.c:339 -msgid "invalid syntax for number" -msgstr "" +msgid "float too big" +msgstr "float zu groß" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" +msgid "font must be 2048 bytes long" msgstr "" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "format requires a dict" msgstr "" -"Inkompatible mpy-Datei. Bitte aktualisieren Sie alle mpy-Dateien. Siehe " -"http://adafru.it/mpy-update für weitere Informationen." -#: py/persistentcode.c:326 -msgid "can only save bytecode" -msgstr "kann nur Bytecode speichern" +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "Die Frequenz kann nur 80Mhz oder 160Mhz sein" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "Dieser Name ist nirgends definiert worden (Schreibweise kontrollieren)" +msgid "full" +msgstr "" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "Name '%q' ist nirgends definiert worden (Schreibweise kontrollieren)" +msgid "function does not take keyword arguments" +msgstr "Funktion akzeptiert keine Keyword-Argumente" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "" +#, c-format +msgid "function expected at most %d arguments, got %d" +msgstr "Funktion erwartet maximal %d Argumente, aber hat %d erhalten" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "" +msgid "function got multiple values for argument '%q'" +msgstr "Funktion hat mehrere Werte für Argument '%q'" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "" +#, c-format +msgid "function missing %d required positional arguments" +msgstr "Funktion vermisst %d benötigte Argumente ohne Keyword" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "" +msgid "function missing keyword-only argument" +msgstr "Funktion vermisst Keyword-only-Argument" + +msgid "function missing required keyword argument '%q'" +msgstr "Funktion vermisst benötigtes Keyword-Argumente '%q'" -#: py/runtime.c:883 py/runtime.c:947 #, c-format -msgid "need more than %d values to unpack" -msgstr "" +msgid "function missing required positional argument #%d" +msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d" -#: py/runtime.c:890 #, c-format -msgid "too many values to unpack (expected %d)" +msgid "function takes %d positional arguments but %d were given" msgstr "" +"Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" -#: py/runtime.c:984 -msgid "argument has wrong type" +msgid "function takes exactly 9 arguments" msgstr "" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" +msgid "generator already executing" msgstr "" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" +msgid "generator ignored GeneratorExit" msgstr "" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" +msgid "graphic must be 2048 bytes long" msgstr "" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" -msgstr "'%s' Objekt hat kein Attribut '%q'" +msgid "heap must be a list" +msgstr "heap muss eine Liste sein" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "Objekt nicht iterierbar" +msgid "identifier redefined as global" +msgstr "Bezeichner als global neu definiert" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" -msgstr "'%s' Objekt nicht iterierbar" +msgid "identifier redefined as nonlocal" +msgstr "Bezeichner als nonlocal definiert" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "Objekt ist kein Iterator" +msgid "impossible baudrate" +msgstr "Unmögliche Baudrate" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" -msgstr "'%s' Objekt ist kein Iterator" +msgid "incomplete format" +msgstr "" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "Exceptions müssen von BaseException abgeleitet sein" +msgid "incomplete format key" +msgstr "" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "Name %q kann nicht importiert werden" +msgid "incorrect padding" +msgstr "padding ist inkorrekt" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "Speicherzuweisung fehlgeschlagen, der Heap ist gesperrt" +msgid "index out of range" +msgstr "index außerhalb der Reichweite" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "Speicherzuordnung fehlgeschlagen, Zuweisung von %u Bytes" +msgid "indices must be integers" +msgstr "Indizes müssen ganze Zahlen sein" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "maximale Rekursionstiefe überschritten" +msgid "inline assembler must be a function" +msgstr "inline assembler muss eine function sein" -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "Objekt ist nicht in sequence" +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "stream operation ist nicht unterstützt" +msgid "integer required" +msgstr "" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" -msgstr "Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray" +msgid "interval not in range 0.0020 to 10.24" +msgstr "Das Interval ist nicht im Bereich 0.0020 bis 10.24" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "Für diesen Typ ist length nicht zulässig" +msgid "invalid I2C peripheral" +msgstr "ungültige I2C Schnittstelle" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. Variablen immer zuerst Zuweisen!" +msgid "invalid SPI peripheral" +msgstr "ungültige SPI Schnittstelle" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "" +msgid "invalid alarm" +msgstr "Ungültiger Alarm" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "" +msgid "invalid arguments" +msgstr "ungültige argumente" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgid "invalid buffer length" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" -msgstr "" +msgid "invalid cert" +msgstr "ungültiges cert" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" -msgstr "" +msgid "invalid data bits" +msgstr "Ungültige Datenbits" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" -msgstr "" +msgid "invalid dupterm index" +msgstr "ungültiger dupterm index" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" -msgstr "" +msgid "invalid format" +msgstr "ungültiges Format" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -msgid "Only slices with step=1 (aka None) are supported" +msgid "invalid format specifier" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -msgid "Range out of bounds" -msgstr "" +msgid "invalid key" +msgstr "ungültiger Schlüssel" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" -msgstr "" +msgid "invalid micropython decorator" +msgstr "ungültiger micropython decorator" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." -msgstr "" +msgid "invalid pin" +msgstr "Ungültiger Pin" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" -msgstr "" +msgid "invalid step" +msgstr "ungültiger Schritt (step)" -#: shared-bindings/_pixelbuf/__init__.c:112 -msgid "readonly attribute" -msgstr "" +msgid "invalid stop bits" +msgstr "Ungültige Stopbits" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "" +msgid "invalid syntax" +msgstr "ungültige Syntax" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" +msgid "invalid syntax for integer" msgstr "" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" +#, c-format +msgid "invalid syntax for integer with base %d" msgstr "" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" +msgid "invalid syntax for number" msgstr "" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" +msgid "issubclass() arg 1 must be a class" msgstr "" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" +"Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen " +"normale Argumente" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." -msgstr "" +msgid "keywords must be strings" +msgstr "Schlüsselwörter müssen Zeichenfolgen sein" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "" +msgid "label '%q' not defined" +msgstr "Label '%q' nicht definiert" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "" +msgid "label redefined" +msgstr "Label neu definiert" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "" +msgid "len must be multiple of 4" +msgstr "len muss ein vielfaches von 4 sein" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." -msgstr "" +msgid "length argument not allowed for this type" +msgstr "Für diesen Typ ist length nicht zulässig" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "lhs and rhs should be compatible" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "local '%q' has type '%q' but source is '%q'" msgstr "" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" -msgstr "Ungültige Anzahl von Stimmen" - -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" -msgstr "Ungültige Anzahl von Kanälen" +msgid "local '%q' used before type known" +msgstr "" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" -msgstr "Abtastrate muss positiv sein" +msgid "local variable referenced before assignment" +msgstr "" +"Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. " +"Variablen immer zuerst Zuweisen!" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" -msgstr "Es müssen 8 oder 16 bits_per_sample sein" +msgid "long int not supported in this build" +msgstr "long int wird in diesem Build nicht unterstützt" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" -msgstr "sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', 'b' oder 'B' sein" +msgid "map buffer too small" +msgstr "" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" -msgstr "Puffer muss ein bytes-artiges Objekt sein" +msgid "math domain error" +msgstr "math domain error" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:87 -msgid "file must be a file opened in byte mode" -msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein" +msgid "maximum recursion depth exceeded" +msgstr "maximale Rekursionstiefe überschritten" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "Speicherzuordnung fehlgeschlagen, Zuweisung von %u Bytes" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" -msgstr "Der Puffer muss eine Mindestenslänge von 1 haben" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "" +"Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "Ungültige Polarität" +msgid "memory allocation failed, heap is locked" +msgstr "Speicherzuweisung fehlgeschlagen, der Heap ist gesperrt" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Ungültige Phase" +msgid "module not found" +msgstr "Modul nicht gefunden" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Ungültige Anzahl von Bits" +msgid "multiple *x in assignment" +msgstr "mehrere *x in Zuordnung" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" -msgstr "Puffersegmente müssen gleich lang sein" +msgid "multiple bases have instance lay-out conflict" +msgstr "" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" -msgstr "Die Adresse ist nicht %d Bytes lang oder das Format ist falsch" +msgid "multiple inheritance not supported" +msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, c-format -msgid "Address must be %d bytes long" -msgstr "Die Adresse muss %d Bytes lang sein" +msgid "must raise an object" +msgstr "" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -msgid "Expected a UUID" -msgstr "Eine UUID wird erwartet" +msgid "must specify all of sck/mosi/miso" +msgstr "sck/mosi/miso müssen alle spezifiziert sein" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -msgid "Not connected" -msgstr "Nicht verbunden" +msgid "must use keyword argument for key function" +msgstr "muss Schlüsselwortargument für key function verwenden" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -msgid "timeout must be >= 0.0" -msgstr "timeout muss >= 0.0 sein" +msgid "name '%q' is not defined" +msgstr "Name '%q' ist nirgends definiert worden (Schreibweise kontrollieren)" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -msgid "%q must be >= 1" -msgstr "%q muss >= 1 sein" +msgid "name must be a string" +msgstr "name muss ein String sein" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -msgid "Expected a Characteristic" -msgstr "Characteristic wird erwartet" +msgid "name not defined" +msgstr "Dieser Name ist nirgends definiert worden (Schreibweise kontrollieren)" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "Schreiben von CharacteristicBuffer ist nicht vorgesehen" +msgid "name reused for argument" +msgstr "Name für Argumente wiederverwendet" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +msgid "native yield" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" +#, c-format +msgid "need more than %d values to unpack" msgstr "" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" +msgid "negative power with no float support" msgstr "" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "no active exception to reraise" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +msgid "no available NIC" msgstr "" -#: shared-bindings/bleio/Peripheral.c:119 -msgid "name must be a string" -msgstr "name muss ein String sein" - -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" +msgid "no binding for nonlocal found" msgstr "" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" +msgid "no module named '%q'" +msgstr "Kein Modul mit dem Namen '%q'" + +msgid "no such attribute" msgstr "" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" -msgstr "UUID-Integer nicht im Bereich 0 bis 0xffff" +msgid "non-default argument follows default argument" +msgstr "ein non-default argument folgt auf ein default argument" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "UUID Zeichenfolge ist nicht 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgid "non-hex digit found" +msgstr "eine nicht-hex zahl wurde gefunden" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "Der UUID-Wert ist kein str-, int- oder Byte-Puffer" +msgid "non-keyword arg after */**" +msgstr "" -#: shared-bindings/bleio/UUID.c:107 -msgid "Byte buffer must be 16 bytes." -msgstr "Der Puffer muss 16 Bytes lang sein" +msgid "non-keyword arg after keyword arg" +msgstr "" -#: shared-bindings/bleio/UUID.c:151 msgid "not a 128-bit UUID" msgstr "keine 128-bit UUID" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." -msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" - -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" -msgstr "bits muss 7, 8 oder 9 sein" - -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" -msgstr "stop muss 1 oder 2 sein" +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "Kein gültiger ADC Kanal: %d" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "not all arguments converted during string formatting" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." +msgid "not enough arguments for format string" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." -msgstr "" +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "Objekt '%s' ist weder tupel noch list" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." -msgstr "" +msgid "object does not support item assignment" +msgstr "Objekt unterstützt keine item assignment" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." -msgstr "" +msgid "object does not support item deletion" +msgstr "Objekt unterstützt das Löschen von Elementen nicht" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." -msgstr "" +msgid "object has no len" +msgstr "Objekt hat keine len" -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" -msgstr "" +msgid "object is not subscriptable" +msgstr "Objekt hat keine '__getitem__'-Methode (not subscriptable)" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" -msgstr "" +msgid "object not an iterator" +msgstr "Objekt ist kein Iterator" -#: shared-bindings/displayio/BuiltinFont.c:93 -msgid "%q should be an int" +msgid "object not callable" msgstr "" -#: shared-bindings/displayio/ColorConverter.c:72 -msgid "color should be an int" -msgstr "" +msgid "object not in sequence" +msgstr "Objekt ist nicht in sequence" -#: shared-bindings/displayio/Display.c:131 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgid "object not iterable" +msgstr "Objekt nicht iterierbar" -#: shared-bindings/displayio/Display.c:143 -msgid "Too many displays" -msgstr "" +#, c-format +msgid "object of type '%s' has no len()" +msgstr "Objekt vom Typ '%s' hat keine len()" -#: shared-bindings/displayio/Display.c:167 -msgid "Must be a Group subclass." +msgid "object with buffer protocol required" +msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich" + +msgid "odd-length string" +msgstr "String mit ungerader Länge" + +msgid "offset out of bounds" msgstr "" -#: shared-bindings/displayio/Display.c:209 -#: shared-bindings/displayio/Display.c:219 -msgid "Brightness not adjustable" +msgid "only slices with step=1 (aka None) are supported" msgstr "" -#: shared-bindings/displayio/FourWire.c:93 -#: shared-bindings/displayio/ParallelBus.c:98 -msgid "Too many display busses" +msgid "ord expects a character" +msgstr "ord erwartet ein Zeichen" + +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" +"ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d " +"gefunden" -#: shared-bindings/displayio/FourWire.c:109 -#: shared-bindings/displayio/ParallelBus.c:113 -msgid "Command must be an int between 0 and 255" +msgid "overflow converting long int to machine word" msgstr "" -#: shared-bindings/displayio/Group.c:62 -msgid "Group must have size at least 1" +msgid "palette must be 32 bytes long" msgstr "" -#: shared-bindings/displayio/Palette.c:93 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/Palette.c:99 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgid "parameter annotation must be an identifier" +msgstr "parameter annotation muss ein identifier sein" + +msgid "parameters must be registers in sequence a2 to a5" +msgstr "Die Parameter müssen Register der Reihenfolge a2 bis a5 sein" + +msgid "parameters must be registers in sequence r0 to r3" msgstr "" -#: shared-bindings/displayio/Palette.c:103 -msgid "color must be between 0x000000 and 0xffffff" +msgid "pin does not have IRQ capabilities" +msgstr "Pin hat keine IRQ Fähigkeiten" + +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Palette.c:107 -msgid "color buffer must be a buffer or int" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/Palette.c:120 -#: shared-bindings/displayio/Palette.c:134 -msgid "palette_index should be an int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" +msgid "pop from an empty PulseIn" +msgstr "pop von einem leeren PulseIn" + +msgid "pop from an empty set" msgstr "" -#: shared-bindings/displayio/Shape.c:92 -msgid "start_x should be an int" +msgid "pop from empty list" msgstr "" -#: shared-bindings/displayio/Shape.c:96 -msgid "end_x should be an int" +msgid "popitem(): dictionary is empty" msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:117 -msgid "unsupported bitmap type" -msgstr "Nicht unterstützter Bitmap-Typ" - -#: shared-bindings/displayio/TileGrid.c:128 -msgid "Tile width must exactly divide bitmap width" +msgid "pow() 3rd argument cannot be 0" msgstr "" -#: shared-bindings/displayio/TileGrid.c:131 -msgid "Tile height must exactly divide bitmap height" +msgid "pow() with 3 arguments requires integers" msgstr "" -#: shared-bindings/displayio/TileGrid.c:198 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" -msgstr "" +msgid "queue overflow" +msgstr "Warteschlangenüberlauf" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "zu viele Argumente" +msgid "rawbuf is not the same size as buf" +msgstr "" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" +msgid "readonly attribute" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" -msgstr "kann Adresse nicht in int konvertieren" +msgid "relative import" +msgstr "relativer Import" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" -msgstr "Adresse außerhalb der Grenzen" +#, c-format +msgid "requested length %d but object has length %d" +msgstr "die ersuchte Länge ist %d, aber das Objekt hat eine Länge von %d" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" -msgstr "adresses ist leer" +msgid "return annotation must be an identifier" +msgstr "return annotation muss ein identifier sein" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -msgid "Expected a %q" -msgstr "Erwartet ein(e) %q" +msgid "return expected '%q' but got '%q'" +msgstr "" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q in Benutzung" +msgid "row must be packed and word aligned" +msgstr "" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." -msgstr "Ungültiger Ausführungsmodus" +msgid "rsplit(None,n)" +msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." -msgstr "Stream fehlt readinto() oder write() Methode." +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" +msgstr "" +"sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', 'b' " +"oder 'B' sein" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." -msgstr "Slice und Wert (value) haben unterschiedliche Längen." +msgid "sampling rate out of range" +msgstr "Abtastrate außerhalb der Reichweite" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." -msgstr "Array-Werte sollten aus Einzelbytes bestehen." +msgid "scan failed" +msgstr "Scan fehlgeschlagen" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Schreiben in nvm nicht möglich." +msgid "schedule stack full" +msgstr "Der schedule stack ist voll" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "Ein Bytes kann nur Werte zwischen 0 und 255 annehmen." +msgid "script compilation not supported" +msgstr "kompilieren von Skripten ist nicht unterstützt" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" -msgstr "Kein hardware random verfügbar" +msgid "services includes an object that is not a Service" +msgstr "" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Alle timer für diesen Pin werden bereits benutzt" +msgid "sign not allowed in string format specifier" +msgstr "" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen" +msgid "sign not allowed with integer format specifier 'c'" +msgstr "" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." -msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False." +msgid "single '}' encountered in format string" +msgstr "" -#: shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "Kann Werte nicht löschen" +msgid "sleep length must be non-negative" +msgstr "" -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "Slices werden nicht unterstützt" +msgid "slice step cannot be zero" +msgstr "" -#: shared-bindings/pulseio/PulseIn.c:284 -msgid "index must be int" -msgstr "index muss ein int sein" +msgid "small int overflow" +msgstr "small int Überlauf" -#: shared-bindings/pulseio/PulseIn.c:290 -msgid "Read-only" -msgstr "Nur lesen möglich, da Schreibgeschützt" +msgid "soft reboot\n" +msgstr "soft reboot\n" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" +msgid "start/end indices" msgstr "" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" -msgstr "stop ist von start aus nicht erreichbar" +msgid "start_x should be an int" +msgstr "" -#: shared-bindings/random/__init__.c:111 msgid "step must be non-zero" msgstr "Schritt (step) darf nicht Null sein" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" -msgstr "ungültiger Schritt (step)" +msgid "stop must be 1 or 2" +msgstr "stop muss 1 oder 2 sein" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "leere Sequenz" +msgid "stop not reachable from start" +msgstr "stop ist von start aus nicht erreichbar" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "Eine RTC wird auf diesem Board nicht unterstützt" +msgid "stream operation not supported" +msgstr "stream operation ist nicht unterstützt" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt" +msgid "string index out of range" +msgstr "" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" +#, c-format +msgid "string indices must be integers, not %s" msgstr "" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" +msgid "string not supported; use bytes or bytearray" +msgstr "" +"Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "Die Helligkeit muss zwischen 0 und 255 liegen" +msgid "struct: cannot index" +msgstr "struct: kann nicht indexieren" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "Die Stackgröße sollte mindestens 256 sein" +msgid "struct: index out of range" +msgstr "struct: index außerhalb gültigen Bereichs" -#: shared-bindings/terminalio/Terminal.c:68 -#, fuzzy -msgid "unicode_characters must be a string" -msgstr "unicode_characters muss eine Zeichenfolge sein" +msgid "struct: no fields" +msgstr "struct: keine Felder" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" +msgid "substring not found" msgstr "" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" +msgid "super() can't find self" +msgstr "super() kann self nicht finden" + +msgid "syntax error in JSON" +msgstr "Syntaxfehler in JSON" + +msgid "syntax error in uctypes descriptor" +msgstr "Syntaxfehler in uctypes Deskriptor" + +msgid "threshold must be in the range 0-65536" +msgstr "threshold muss im Intervall 0-65536 liegen" -#: shared-bindings/time/__init__.c:91 msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" +msgid "time.struct_time() takes exactly 1 argument" msgstr "" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 +msgid "timeout must be >= 0.0" +msgstr "timeout muss >= 0.0 sein" + msgid "timestamp out of range for platform time_t" msgstr "" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" -msgstr "threshold muss im Intervall 0-65536 liegen" +msgid "too many arguments" +msgstr "zu viele Argumente" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." -msgstr "Objekt wurde deinitialisiert und kann nicht mehr verwendet werden. Erstelle ein neues Objekt." +msgid "too many arguments provided with the given format" +msgstr "" -#: shared-module/_pixelbuf/PixelBuf.c:69 #, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten" - -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" +msgid "too many values to unpack (expected %d)" msgstr "" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" +msgid "tuple index out of range" msgstr "" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" -msgstr "" +msgid "tuple/list has wrong length" +msgstr "tupel/list hat falsche Länge" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" +msgid "tuple/list required on RHS" msgstr "" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" -msgstr "" +msgid "tx and rx cannot both be None" +msgstr "tx und rx können nicht beide None sein" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" +msgid "type '%q' is not an acceptable base type" msgstr "" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" +msgid "type is not an acceptable base type" msgstr "" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" +msgid "type object '%q' has no attribute '%q'" msgstr "" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" +msgid "type takes 1 or 3 arguments" msgstr "" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" +msgid "ulonglong too large" msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" -msgstr "" +msgid "unary op %q not implemented" +msgstr "Der unäre Operator %q ist nicht implementiert" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" +msgid "unexpected indent" msgstr "" +"unerwarteter Einzug (Einrückung) Bitte Leerzeichen am Zeilenanfang " +"kontrollieren!" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" -msgstr "" +msgid "unexpected keyword argument" +msgstr "unerwartetes Keyword-Argument" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "" +msgid "unexpected keyword argument '%q'" +msgstr "unerwartetes Keyword-Argument '%q'" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." +msgid "unicode name escapes" msgstr "" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." +msgid "unindent does not match any outer indentation level" msgstr "" +"Einrückung entspricht keiner äußeren Einrückungsebene. Bitte Leerzeichen am " +"Zeilenanfang kontrollieren!" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." +msgid "unknown config param" msgstr "" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." +#, c-format +msgid "unknown conversion specifier %c" msgstr "" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." +#, c-format +msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: shared-module/displayio/Bitmap.c:69 -msgid "row must be packed and word aligned" +#, c-format +msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: shared-module/displayio/Bitmap.c:118 -msgid "Read-only object" -msgstr "Schreibgeschützte Objekt" +msgid "unknown status param" +msgstr "Unbekannter Statusparameter" -#: shared-module/displayio/Display.c:67 -msgid "Unsupported display bus type" -msgstr "Nicht unterstützter display bus type" +msgid "unknown type" +msgstr "unbekannter Typ" -#: shared-module/displayio/Group.c:39 -msgid "Group full" +msgid "unknown type '%q'" msgstr "" -#: shared-module/displayio/Group.c:46 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unmatched '{' in format" msgstr "" -#: shared-module/displayio/Group.c:55 -msgid "Group empty" +msgid "unreadable attribute" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" -msgstr "Ungültige BMP-Datei" +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "nicht unterstützter Thumb-Befehl '%s' mit %d Argumenten" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "unsupported Xtensa instruction '%s' with %d arguments" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:64 +msgid "unsupported bitmap type" +msgstr "Nicht unterstützter Bitmap-Typ" + #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" +msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: shared-module/displayio/Shape.c:60 -msgid "y value out of bounds" +msgid "unsupported type for %q: '%s'" msgstr "" -#: shared-module/displayio/Shape.c:63 -msgid "x value out of bounds" +msgid "unsupported type for operator" msgstr "" -#: shared-module/displayio/Shape.c:67 -#, c-format -msgid "Maximum x value when mirrored is %d" +msgid "unsupported types for %q: '%s', '%s'" msgstr "" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "Kann '/' nicht remounten when USB aktiv ist" +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() fehlgeschlagen" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" +msgid "write_args must be a list, tuple, or None" msgstr "" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" +msgid "wrong number of arguments" msgstr "" -#: shared-module/struct/__init__.c:179 -msgid "buffer size must match format" -msgstr "Die Puffergröße muss zum Format passen" - -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Der Puffergröße ist inkorrekt. Sie sollte %d bytes haben." - -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "USB beschäftigt" - -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "USB Fehler" - -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Kein Standard I2C Bus" - -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Kein Standard SPI Bus" - -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Kein Standard UART Bus" - -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Du hast das Starten im Sicherheitsmodus ausgelöst durch " - -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Zum beenden, resette bitte das board ohne " - -#: supervisor/shared/safe_mode.c:107 -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +msgid "wrong number of values to unpack" msgstr "" -"Sie laufen im abgesicherten Modus, was bedeutet, dass etwas Unerwartetes " -"passiert ist.\n" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "x value out of bounds" msgstr "" -"Sieht aus, als wäre der CircuitPython-Kernel-Code abgestürzt. Uups!\n" -"Bitte melde das Problem unter https://github.com/adafruit/circuitpython/" -"issues\n" -"mit dem Inhalt deines CIRCUITPY-Laufwerks und dieser Nachricht:\n" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "y should be an int" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgid "y value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "Schwerwiegender MicroPython-Fehler\n" - -#: supervisor/shared/safe_mode.c:118 -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" +msgid "zero step" msgstr "" -"Die Stromversorgung des Mikrocontrollers ist eingebrochen. Stelle sicher, " -"dass deine Stromversorgung genug Leistung für die gesamte Schaltung zur " -"Verfügung stellt und drücke die Reset-Taste (nach Auswurf des CIRCUITPY-" -"Laufwerks)\n" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" -"Der CircuitPython-Heap war beschädigt, weil der Stack zu klein war.\n" -"Bitte erhöhe die stack size limits und drücke die Reset-Taste (nach Auswurf " -"des CIRCUITPY-Laufwerks)\n" -"Wenn du den Stack nicht geändert hast, melde bitte das Problem unter https://" -"github.com/adafruit/circuitpython/issues\n" -"mit dem Inhalt deines CIRCUITPY-Laufwerks.\n" +#~ msgid "Not enough pins available" +#~ msgstr "Nicht genug Pins vorhanden" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" -"Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie " -"erneut um den abgesicherten Modus zu verlassen. \n" +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART nicht verfügbar" -msgid "All UART peripherals are in use" -msgstr "Alle UART-Peripheriegeräte sind in Benutzung" +#~ msgid "index must be int" +#~ msgstr "index muss ein int sein" -msgid "offset out of bounds" -msgstr "" +#, fuzzy +#~ msgid "unicode_characters must be a string" +#~ msgstr "unicode_characters muss eine Zeichenfolge sein" diff --git a/locale/en_US.po b/locale/en_US.po index d4003af19342..ee3c8e42892e 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,2779 +17,2059 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" +msgid " File \"%q\"" msgstr "" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 -#, c-format -msgid "address %08x is not aligned to %d bytes" +msgid " File \"%q\", line %d" msgstr "" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" +msgid " output:\n" msgstr "" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" +#, c-format +msgid "%%c requires int or char" msgstr "" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" +msgid "%q in use" msgstr "" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" +msgid "%q index out of range" msgstr "" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" +msgid "%q indices must be integers, not %s" msgstr "" -#: extmod/modframebuf.c:299 -msgid "invalid format" +msgid "%q must be >= 1" msgstr "" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" +msgid "%q should be an int" msgstr "" -#: extmod/modubinascii.c:90 -msgid "odd-length string" +msgid "%q() takes %d positional arguments but %d were given" msgstr "" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" +msgid "'%q' argument required" msgstr "" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" +#, c-format +msgid "'%s' expects a label" msgstr "" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" +#, c-format +msgid "'%s' expects a register" msgstr "" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" +#, c-format +msgid "'%s' expects a special register" msgstr "" -#: extmod/moductypes.c:397 -msgid "struct: no fields" +#, c-format +msgid "'%s' expects an FPU register" msgstr "" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" +#, c-format +msgid "'%s' expects an address of the form [a, b]" msgstr "" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" +#, c-format +msgid "'%s' expects an integer" msgstr "" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" +#, c-format +msgid "'%s' expects at most r%d" msgstr "" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" +#, c-format +msgid "'%s' expects {r0, r1, ...}" msgstr "" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" msgstr "" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" msgstr "" -#: extmod/modure.c:428 -msgid "Error in regex" +#, c-format +msgid "'%s' object does not support item assignment" msgstr "" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" +#, c-format +msgid "'%s' object does not support item deletion" msgstr "" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" +msgid "'%s' object has no attribute '%q'" msgstr "" -#: extmod/modutimeq.c:131 -msgid "queue overflow" +#, c-format +msgid "'%s' object is not an iterator" msgstr "" -#: extmod/moduzlib.c:98 -msgid "compression header" +#, c-format +msgid "'%s' object is not callable" msgstr "" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" +#, c-format +msgid "'%s' object is not iterable" msgstr "" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" +#, c-format +msgid "'%s' object is not subscriptable" msgstr "" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" +msgid "'=' alignment not allowed in string format specifier" msgstr "" -#: lib/embed/abort_.c:8 -msgid "abort() called" +msgid "'S' and 'O' are not supported format types" msgstr "" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" +msgid "'align' requires 1 argument" msgstr "" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" +msgid "'await' outside function" msgstr "" -#: main.c:152 -msgid " output:\n" +msgid "'break' outside loop" msgstr "" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +msgid "'continue' outside loop" msgstr "" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" +msgid "'data' requires at least 2 arguments" msgstr "" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" +msgid "'data' requires integer arguments" msgstr "" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" +msgid "'label' requires 1 argument" msgstr "" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" +msgid "'return' outside function" msgstr "" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid "'yield' outside function" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "*x must be assignment target" msgstr "" -#: main.c:422 -msgid "soft reboot\n" +msgid ", in %q\n" msgstr "" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 -msgid "All sync event channels in use" +msgid "0.0 to a complex power" msgstr "" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" +msgid "3-arg pow() not supported" msgstr "" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" +msgid "A hardware interrupt channel is already in use" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" +msgid "AP required" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 -msgid "AnalogOut not supported on given pin" +#, c-format +msgid "Address must be %d bytes long" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" +msgid "All I2C peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" +msgid "All SPI peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" +msgid "All UART peripherals are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" +msgid "All event channels in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" +msgid "All sync event channels in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" +msgid "All timers for this pin are in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." +msgid "All timers in use" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" +msgid "AnalogOut functionality not supported" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" +msgid "AnalogOut not supported on given pin" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " +msgid "Another send is already active" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" +msgid "Array must contain halfwords (type 'H')" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +msgid "Array values should be single bytes." msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" +msgid "Auto-reload is off.\n" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" +msgid "Bit clock and word select must share a clock unit" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" +msgid "Bit depth must be multiple of 8." msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" +msgid "Both pins must support hardware interrupts" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" +msgid "Brightness must be between 0 and 255" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" +msgid "Brightness not adjustable" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" +msgid "Buffer incorrect size. Should be %d bytes." msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" +msgid "Buffer must be at least length 1" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" +#, c-format +msgid "Bus pin %d is already in use" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" +msgid "Byte buffer must be 16 bytes." msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" +msgid "Bytes must be between 0 and 255." msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" +msgid "C-level assert" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" +#, c-format +msgid "Can not use dotstar with %s" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" +msgid "Can't add services in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" +msgid "Can't advertise in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" +msgid "Can't change the name in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 -msgid "Cannot get pull while in output mode" +msgid "Can't connect in Peripheral mode" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -msgid "Data 0 pin must be byte aligned" +msgid "Cannot connect to AP" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, c-format -msgid "Bus pin %d is already in use" +msgid "Cannot delete values" msgstr "" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 -msgid "Cannot reset into bootloader because no bootloader is present." +msgid "Cannot disconnect from AP" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" +msgid "Cannot get pull while in output mode" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" +msgid "Cannot get temperature" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" +msgid "Cannot output both channels on the same pin" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" +msgid "Cannot read without MISO pin." msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" +msgid "Cannot record to a file" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" +msgid "Cannot remount '/' when USB is active." msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" +msgid "Cannot reset into bootloader because no bootloader is present." msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" +msgid "Cannot set STA config" msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" +msgid "Cannot set value when direction is input." msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" +msgid "Cannot subclass slice" msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" +msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" +msgid "Cannot unambiguously get sizeof scalar" msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." +msgid "Cannot update i/f status" msgstr "" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" +msgid "Cannot write without MOSI pin." msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." +msgid "Characteristic UUID doesn't match Service UUID" msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" +msgid "Characteristic already in use by another Service." msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" +msgid "CharacteristicBuffer writing not provided" msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." +msgid "Clock pin init failed." msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." +msgid "Clock stretch too long" msgstr "" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." +msgid "Clock unit in use" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." +msgid "Command must be an int between 0 and 255" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgid "Could not initialize UART" msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" +msgid "Couldn't allocate first buffer" msgstr "" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" +msgid "Couldn't allocate second buffer" msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" +msgid "Crash into the HardFault_Handler.\n" msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" +msgid "DAC already in use" msgstr "" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" +msgid "Data 0 pin must be byte aligned" msgstr "" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" +msgid "Data chunk must follow fmt chunk" msgstr "" -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" +msgid "Data too large for advertisement packet" msgstr "" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" +msgid "Data too large for the advertisement packet" msgstr "" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" +msgid "Destination capacity is smaller than destination_length." msgstr "" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" +msgid "Display rotation must be in 90 degree increments" msgstr "" -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" +msgid "Don't know how to pass object to native function" msgstr "" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" +msgid "Drive mode not used when direction is input." msgstr "" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" +msgid "ESP8226 does not support safe mode." msgstr "" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" +msgid "ESP8266 does not support pull down." msgstr "" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" +msgid "EXTINT channel already in use" msgstr "" -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" +msgid "Error in ffi_prep_cif" msgstr "" -#: ports/esp8266/modesp.c:274 -#, c-format -msgid "memory allocation failed, allocating %u bytes for native code" +msgid "Error in regex" msgstr "" -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" +msgid "Expected a %q" msgstr "" -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" +msgid "Expected a Characteristic" msgstr "" -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" +msgid "Expected a UUID" msgstr "" -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" +#, c-format +msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" +msgid "Failed to acquire mutex" msgstr "" -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" +#, c-format +msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" +#, c-format +msgid "Failed to add characteristic, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" +msgid "Failed to add service" msgstr "" -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" +#, c-format +msgid "Failed to add service, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" +msgid "Failed to allocate RX buffer" msgstr "" -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" +#, c-format +msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" +msgid "Failed to change softdevice state" msgstr "" -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" +msgid "Failed to connect:" msgstr "" -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" +msgid "Failed to continue scanning" msgstr "" -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" +#, c-format +msgid "Failed to continue scanning, err 0x%04x" msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" +msgid "Failed to create mutex" msgstr "" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" +msgid "Failed to discover services" msgstr "" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" +msgid "Failed to get local address" msgstr "" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" +msgid "Failed to get softdevice state" msgstr "" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" +#, c-format +msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" +#, c-format +msgid "Failed to read CCCD value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:119 -msgid "Failed to change softdevice state" +#, c-format +msgid "Failed to read gatts value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -msgid "Failed to get softdevice state" +#, c-format +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:147 -msgid "Failed to get local address" +msgid "Failed to release mutex" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" +#, c-format +msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 -msgid "Data too large for advertisement packet" +msgid "Failed to start advertising" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, c-format msgid "Failed to start advertising, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, c-format -msgid "Failed to stop advertising, err 0x%04x" +msgid "Failed to start scanning" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 #, c-format -msgid "Failed to read CCCD value, err 0x%04x" +msgid "Failed to start scanning, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, c-format -msgid "Failed to read gatts value, err 0x%04x" +msgid "Failed to stop advertising" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 #, c-format -msgid "Failed to write gatts value, err 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, c-format -msgid "Failed to notify or indicate attribute value, err %0x04x" +msgid "Failed to write attribute value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to write gatts value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 -#, c-format -msgid "Failed to acquire mutex, err 0x%04x" +msgid "File exists" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 -#, c-format -msgid "Failed to write attribute value, err 0x%04x" +msgid "Function requires lock" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 -#, c-format -msgid "Failed to release mutex, err 0x%04x" +msgid "Function requires lock." msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" +msgid "GPIO16 does not support pull up." msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -msgid "Data too large for the advertisement packet" +msgid "Group full" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:262 -msgid "Failed to discover services" +msgid "I/O operation on closed file" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -msgid "Failed to acquire mutex" +msgid "I2C operation not supported" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 -msgid "Failed to release mutex" +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:389 -msgid "Failed to continue scanning" +msgid "Input/output error" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:421 -msgid "Failed to connect:" +msgid "Invalid BMP file" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:491 -msgid "Failed to add service" +msgid "Invalid PWM frequency" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:508 -msgid "Failed to start advertising" +msgid "Invalid argument" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:525 -msgid "Failed to stop advertising" +msgid "Invalid bit clock pin" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:550 -msgid "Failed to start scanning" +msgid "Invalid buffer size" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c:566 -msgid "Failed to create mutex" +msgid "Invalid channel count" msgstr "" -#: ports/nrf/common-hal/bleio/Peripheral.c:312 -#, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Invalid clock pin" msgstr "" -#: ports/nrf/common-hal/bleio/Scanner.c:75 -#, c-format -msgid "Failed to continue scanning, err 0x%04x" +msgid "Invalid data pin" msgstr "" -#: ports/nrf/common-hal/bleio/Scanner.c:101 -#, c-format -msgid "Failed to start scanning, err 0x%04x" +msgid "Invalid direction." msgstr "" -#: ports/nrf/common-hal/bleio/Service.c:88 -#, c-format -msgid "Failed to add characteristic, err 0x%04x" +msgid "Invalid file" msgstr "" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." +msgid "Invalid format chunk size" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgid "Invalid number of bits" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" +msgid "Invalid phase" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" +msgid "Invalid pin" msgstr "" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" +msgid "Invalid pin for left channel" msgstr "" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" +msgid "Invalid pin for right channel" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" +msgid "Invalid pins" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:145 -msgid "All UART peripherals are in use" +msgid "Invalid polarity" msgstr "" -#: ports/nrf/common-hal/busio/UART.c:153 -msgid "Invalid buffer size" +msgid "Invalid run mode." msgstr "" -#: ports/nrf/common-hal/busio/UART.c:157 -msgid "Odd parity is not supported" +msgid "Invalid voice count" msgstr "" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -msgid "Cannot get temperature" +msgid "Invalid wave file" msgstr "" -#: ports/unix/modffi.c:138 -msgid "Unknown type" +msgid "LHS of keyword arg must be an id" msgstr "" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" +msgid "Layer must be a Group or TileGrid subclass." msgstr "" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" +msgid "Length must be an int" msgstr "" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" +msgid "Length must be non-negative" msgstr "" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" msgstr "" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" +msgid "MISO pin init failed." msgstr "" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" +msgid "MOSI pin init failed." msgstr "" -#: py/argcheck.c:73 #, c-format -msgid "function missing %d required positional arguments" +msgid "Maximum PWM frequency is %dhz." msgstr "" -#: py/argcheck.c:81 #, c-format -msgid "function expected at most %d arguments, got %d" +msgid "Maximum x value when mirrored is %d" msgstr "" -#: py/argcheck.c:106 -msgid "'%q' argument required" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" msgstr "" -#: py/argcheck.c:131 -msgid "extra positional arguments given" +msgid "MicroPython fatal error.\n" msgstr "" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" +msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" +msgid "Minimum PWM frequency is 1hz." msgstr "" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." msgstr "" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" +msgid "Must be a Group subclass." msgstr "" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" +msgid "No DAC on chip" msgstr "" -#: py/bc.c:199 -msgid "keywords must be strings" +msgid "No DMA channel found" msgstr "" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" +msgid "No PulseIn support for %q" msgstr "" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" +msgid "No RX pin" msgstr "" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" +msgid "No TX pin" msgstr "" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" +msgid "No default I2C bus" msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" +msgid "No default SPI bus" msgstr "" -#: py/binary.c:112 -msgid "bad typecode" +msgid "No default UART bus" msgstr "" -#: py/builtinevex.c:99 -msgid "bad compile mode" +msgid "No free GCLKs" msgstr "" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" +msgid "No hardware random available" msgstr "" -#: py/builtinhelp.c:183 -#, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "No hardware support for analog out." msgstr "" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" +msgid "No hardware support on pin" msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" +msgid "No space left on device" msgstr "" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" +msgid "No such file/directory" msgstr "" -#: py/builtinimport.c:510 -msgid "relative import" +msgid "Not connected" msgstr "" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" +msgid "Not connected." msgstr "" -#: py/compile.c:416 -msgid "multiple *x in assignment" +msgid "Not playing" msgstr "" -#: py/compile.c:642 -msgid "non-default argument follows default argument" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." msgstr "" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" +msgid "Odd parity is not supported" msgstr "" -#: py/compile.c:943 -msgid "can't delete expression" +msgid "Only 8 or 16 bit mono with " msgstr "" -#: py/compile.c:955 -msgid "'break' outside loop" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" msgstr "" -#: py/compile.c:958 -msgid "'continue' outside loop" +msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -#: py/compile.c:969 -msgid "'return' outside function" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" -#: py/compile.c:1169 -msgid "identifier redefined as global" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" msgstr "" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" +msgid "Only tx supported on UART1 (GPIO2)." msgstr "" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" +msgid "Oversample must be multiple of 8." msgstr "" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" msgstr "" -#: py/compile.c:1542 -msgid "default 'except' must be last" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." msgstr "" -#: py/compile.c:2095 -msgid "*x must be assignment target" +#, c-format +msgid "PWM not supported on pin %d" msgstr "" -#: py/compile.c:2193 -msgid "super() can't find self" +msgid "Permission denied" msgstr "" -#: py/compile.c:2256 -msgid "can't have multiple *x" +msgid "Pin %q does not have ADC capabilities" msgstr "" -#: py/compile.c:2263 -msgid "can't have multiple **x" +msgid "Pin does not have ADC capabilities" msgstr "" -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" +msgid "Pin(16) doesn't support pull" msgstr "" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" +msgid "Pins not valid for SPI" msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" +msgid "Pixel beyond bounds of buffer" msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" +msgid "Plus any modules on the filesystem\n" msgstr "" -#: py/compile.c:2465 -msgid "expecting key:value for dict" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "" -#: py/compile.c:2475 -msgid "expecting just a value for set" +msgid "Pull not used when direction is output." msgstr "" -#: py/compile.c:2600 -msgid "'yield' outside function" +msgid "RTC calibration is not supported on this board" msgstr "" -#: py/compile.c:2619 -msgid "'await' outside function" +msgid "RTC is not supported on this board" msgstr "" -#: py/compile.c:2774 -msgid "name reused for argument" +msgid "Range out of bounds" msgstr "" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" +msgid "Read-only" msgstr "" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" +msgid "Read-only filesystem" msgstr "" -#: py/compile.c:3097 -msgid "inline assembler must be a function" +msgid "Read-only object" msgstr "" -#: py/compile.c:3134 -msgid "unknown type" +msgid "Right channel unsupported" msgstr "" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" +msgid "Running in safe mode! Auto-reload is off.\n" msgstr "" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" +msgid "Running in safe mode! Not running saved code.\n" msgstr "" -#: py/compile.c:3190 -msgid "label redefined" +msgid "SDA or SCL needs a pull up" msgstr "" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" +msgid "STA must be active" msgstr "" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" +msgid "STA required" msgstr "" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" +msgid "Sample rate must be positive" msgstr "" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" +#, c-format +msgid "Sample rate too high. It must be less than %d" msgstr "" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" +msgid "Serializer in use" msgstr "" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" +msgid "Slice and value different lengths." msgstr "" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" +msgid "Slices not supported" msgstr "" -#: py/emitinlinethumb.c:211 #, c-format -msgid "'%s' expects a special register" +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" +msgid "Splitting with sub-captures" msgstr "" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" +msgid "Stack size must be at least 256" msgstr "" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" +msgid "Stream missing readinto() or write() method." msgstr "" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" msgstr "" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" msgstr "" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" msgstr "" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" +msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: py/emitinlinethumb.c:806 -#, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" +msgid "The sample's channel count does not match the mixer's" msgstr "" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" +msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" +msgid "The sample's signedness does not match the mixer's" msgstr "" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" +msgid "Tile height must exactly divide bitmap height" msgstr "" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgid "To exit, please reset the board without " msgstr "" -#: py/emitnative.c:183 -msgid "unknown type '%q'" +msgid "Too many channels in sample." msgstr "" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" +msgid "Too many display busses" msgstr "" -#: py/emitnative.c:742 -msgid "conversion to object" +msgid "Too many displays" msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" +msgid "Traceback (most recent call last):\n" msgstr "" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" +msgid "Tuple or struct_time argument required" msgstr "" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" +#, c-format +msgid "UART(%d) does not exist" msgstr "" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" +msgid "UART(1) can't read" msgstr "" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" +msgid "USB Busy" msgstr "" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" +msgid "USB Error" msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" +msgid "UUID integer value not in range 0 to 0xffff" msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" +msgid "UUID value is not str, int or byte buffer" msgstr "" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" +msgid "Unable to allocate buffers for signed conversion" msgstr "" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" +msgid "Unable to find free GCLK" msgstr "" -#: py/emitnative.c:2126 -msgid "casting" +msgid "Unable to init parser" msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" +msgid "Unable to remount filesystem" msgstr "" -#: py/emitnative.c:2191 -msgid "must raise an object" +msgid "Unable to write to nvm." msgstr "" -#: py/emitnative.c:2201 -msgid "native yield" +msgid "Unexpected nrfx uuid type" msgstr "" -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Unknown type" msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" +msgid "Unsupported baudrate" msgstr "" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" +msgid "Unsupported display bus type" msgstr "" -#: py/modbuiltins.c:350 -msgid "ord expects a character" +msgid "Unsupported format" msgstr "" -#: py/modbuiltins.c:353 -#, c-format -msgid "ord() expected a character, but string of length %d found" +msgid "Unsupported operation" msgstr "" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" +msgid "Unsupported pull value." msgstr "" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" +msgid "Use esptool to erase flash and re-upload Python instead" msgstr "" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" +msgid "Voice index too high" msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" +msgid "WARNING: Your code filename has two extensions\n" msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" +#, c-format +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" msgstr "" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" +msgid "You requested starting safe mode by " msgstr "" -#: py/moduerrno.c:148 -msgid "No such file/directory" +#, c-format +msgid "[addrinfo error %d]" +msgstr "" + +msgid "__init__() should return None" msgstr "" -#: py/moduerrno.c:149 -msgid "Input/output error" +#, c-format +msgid "__init__() should return None, not '%s'" msgstr "" -#: py/moduerrno.c:151 -msgid "File exists" +msgid "__new__ arg must be a user-type" msgstr "" -#: py/moduerrno.c:152 -msgid "Unsupported operation" +msgid "a bytes-like object is required" msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" +msgid "abort() called" msgstr "" -#: py/moduerrno.c:154 -msgid "No space left on device" +#, c-format +msgid "address %08x is not aligned to %d bytes" msgstr "" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" +msgid "address out of bounds" msgstr "" -#: py/obj.c:96 -msgid " File \"%q\", line %d" +msgid "addresses is empty" msgstr "" -#: py/obj.c:98 -msgid " File \"%q\"" +msgid "arg is an empty sequence" msgstr "" -#: py/obj.c:102 -msgid ", in %q\n" +msgid "argument has wrong type" msgstr "" -#: py/obj.c:259 -msgid "can't convert to int" +msgid "argument num/types mismatch" msgstr "" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" +msgid "argument should be a '%q' not a '%q'" msgstr "" -#: py/obj.c:322 -msgid "can't convert to float" +msgid "array/bytes required on right side" msgstr "" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" +msgid "attributes not supported yet" msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" +msgid "bad GATT role" msgstr "" -#: py/obj.c:358 -#, c-format -msgid "can't convert %s to complex" +msgid "bad compile mode" msgstr "" -#: py/obj.c:373 -msgid "expected tuple/list" +msgid "bad conversion specifier" msgstr "" -#: py/obj.c:376 -#, c-format -msgid "object '%s' is not a tuple or list" +msgid "bad format string" msgstr "" -#: py/obj.c:387 -msgid "tuple/list has wrong length" +msgid "bad typecode" msgstr "" -#: py/obj.c:389 -#, c-format -msgid "requested length %d but object has length %d" +msgid "binary op %q not implemented" msgstr "" -#: py/obj.c:402 -msgid "indices must be integers" +msgid "bits must be 7, 8 or 9" msgstr "" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" +msgid "bits must be 8" msgstr "" -#: py/obj.c:425 -msgid "%q index out of range" +msgid "bits_per_sample must be 8 or 16" msgstr "" -#: py/obj.c:457 -msgid "object has no len" +msgid "branch not in range" msgstr "" -#: py/obj.c:460 #, c-format -msgid "object of type '%s' has no len()" +msgid "buf is too small. need %d bytes" msgstr "" -#: py/obj.c:500 -msgid "object does not support item deletion" +msgid "buffer must be a bytes-like object" msgstr "" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" +msgid "buffer size must match format" msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" +msgid "buffer slices must be of equal length" msgstr "" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" +msgid "buffer too long" msgstr "" -#: py/obj.c:514 -msgid "object does not support item assignment" +msgid "buffer too small" msgstr "" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" +msgid "buffers must be the same length" msgstr "" -#: py/obj.c:548 -msgid "object with buffer protocol required" +msgid "byte code not implemented" msgstr "" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" +msgid "bytes > 8 bits not supported" msgstr "" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" +msgid "bytes value out of range" msgstr "" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" +msgid "calibration is out of range" msgstr "" -#: py/objcomplex.c:209 -msgid "complex division by zero" +msgid "calibration is read only" msgstr "" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" +msgid "calibration value out of range +/-127" msgstr "" -#: py/objdeque.c:107 -msgid "full" +msgid "can only have up to 4 parameters to Thumb assembly" msgstr "" -#: py/objdeque.c:127 -msgid "empty" +msgid "can only have up to 4 parameters to Xtensa assembly" msgstr "" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" +msgid "can only save bytecode" msgstr "" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" +msgid "can query only one param" msgstr "" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" +msgid "can't assign to expression" msgstr "" -#: py/objgenerator.c:126 -msgid "generator already executing" +#, c-format +msgid "can't convert %s to complex" msgstr "" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" +#, c-format +msgid "can't convert %s to float" msgstr "" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" +#, c-format +msgid "can't convert %s to int" msgstr "" -#: py/objint.c:144 -msgid "can't convert inf to int" +msgid "can't convert '%q' object to %q implicitly" msgstr "" -#: py/objint.c:146 msgid "can't convert NaN to int" msgstr "" -#: py/objint.c:163 -msgid "float too big" +msgid "can't convert address to int" msgstr "" -#: py/objint.c:328 -msgid "long int not supported in this build" +msgid "can't convert inf to int" msgstr "" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" +msgid "can't convert to complex" msgstr "" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" +msgid "can't convert to float" msgstr "" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" +msgid "can't convert to int" msgstr "" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" +msgid "can't convert to str implicitly" msgstr "" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" +msgid "can't declare nonlocal in outer code" msgstr "" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" +msgid "can't delete expression" msgstr "" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" +msgid "can't do binary op between '%q' and '%q'" msgstr "" -#: py/objlist.c:274 -msgid "pop from empty list" +msgid "can't do truncated division of a complex number" msgstr "" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" +msgid "can't get AP config" msgstr "" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" +msgid "can't get STA config" msgstr "" -#: py/objrange.c:110 -msgid "zero step" +msgid "can't have multiple **x" msgstr "" -#: py/objset.c:371 -msgid "pop from an empty set" +msgid "can't have multiple *x" msgstr "" -#: py/objslice.c:66 -msgid "Length must be an int" +msgid "can't implicitly convert '%q' to 'bool'" msgstr "" -#: py/objslice.c:71 -msgid "Length must be non-negative" +msgid "can't load from '%q'" msgstr "" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" +msgid "can't load with '%q' index" msgstr "" -#: py/objslice.c:159 -msgid "Cannot subclass slice" +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objstr.c:261 -msgid "bytes value out of range" +msgid "can't send non-None value to a just-started generator" msgstr "" -#: py/objstr.c:270 -msgid "wrong number of arguments" +msgid "can't set AP config" msgstr "" -#: py/objstr.c:414 py/objstrunicode.c:118 -msgid "offset out of bounds" +msgid "can't set STA config" msgstr "" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" +msgid "can't set attribute" msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" +msgid "can't store '%q'" msgstr "" -#: py/objstr.c:651 -msgid "rsplit(None,n)" +msgid "can't store to '%q'" msgstr "" -#: py/objstr.c:723 -msgid "substring not found" +msgid "can't store with '%q' index" msgstr "" -#: py/objstr.c:780 -msgid "start/end indices" +msgid "" +"can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:941 -msgid "bad format string" +msgid "" +"can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" +msgid "cannot create '%q' instances" msgstr "" -#: py/objstr.c:1002 -msgid "bad conversion specifier" +msgid "cannot create instance" msgstr "" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" +msgid "cannot import name %q" msgstr "" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" +msgid "cannot perform relative import" msgstr "" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" +msgid "casting" msgstr "" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:1060 -msgid "" -"can't switch from automatic field numbering to manual field specification" +msgid "chars buffer too small" msgstr "" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" +msgid "chr() arg not in range(0x110000)" msgstr "" -#: py/objstr.c:1081 -msgid "attributes not supported yet" +msgid "chr() arg not in range(256)" msgstr "" -#: py/objstr.c:1089 -msgid "" -"can't switch from manual field specification to automatic field numbering" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: py/objstr.c:1181 -msgid "invalid format specifier" +msgid "color buffer must be a buffer or int" msgstr "" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" +msgid "color must be between 0x000000 and 0xffffff" msgstr "" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" +msgid "color should be an int" msgstr "" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" +msgid "complex division by zero" msgstr "" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" +msgid "complex values not supported" msgstr "" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" +msgid "compression header" msgstr "" -#: py/objstr.c:1425 -msgid "format requires a dict" +msgid "constant must be an integer" msgstr "" -#: py/objstr.c:1434 -msgid "incomplete format key" +msgid "conversion to object" msgstr "" -#: py/objstr.c:1492 -msgid "incomplete format" +msgid "decimal numbers not supported" msgstr "" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" +msgid "default 'except' must be last" msgstr "" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -#: py/objstr.c:1517 -msgid "integer required" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" +msgid "destination_length must be an int >= 0" msgstr "" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" +msgid "dict update sequence has wrong length" msgstr "" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" +msgid "division by zero" msgstr "" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" +msgid "either pos or kw args are allowed" msgstr "" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" +msgid "empty" msgstr "" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" +msgid "empty heap" msgstr "" -#: py/objtype.c:371 -msgid "__init__() should return None" +msgid "empty separator" msgstr "" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" +msgid "empty sequence" msgstr "" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" +msgid "end_x should be an int" msgstr "" -#: py/objtype.c:883 py/runtime.c:655 #, c-format -msgid "'%s' object is not callable" +msgid "error = 0x%08lX" msgstr "" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" +msgid "exceptions must derive from BaseException" msgstr "" -#: py/objtype.c:1002 -msgid "cannot create instance" +msgid "expected ':' after format specifier" msgstr "" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" +msgid "expected a DigitalInOut" msgstr "" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" +msgid "expected tuple/list" msgstr "" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" +msgid "expecting a dict for keyword args" msgstr "" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" +msgid "expecting a pin" msgstr "" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" +msgid "expecting an assembler instruction" msgstr "" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" +msgid "expecting just a value for set" msgstr "" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" +msgid "expecting key:value for dict" msgstr "" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgid "extra keyword arguments given" msgstr "" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" +msgid "extra positional arguments given" msgstr "" -#: py/parse.c:726 -msgid "constant must be an integer" +msgid "ffi_prep_closure_loc" msgstr "" -#: py/parse.c:868 -msgid "Unable to init parser" +msgid "file must be a file opened in byte mode" msgstr "" -#: py/parse.c:1170 -msgid "unexpected indent" +msgid "filesystem must provide mount method" msgstr "" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" +msgid "first argument to super() must be type" msgstr "" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" +msgid "firstbit must be MSB" msgstr "" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" +msgid "flash location must be below 1MByte" msgstr "" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" +msgid "float too big" msgstr "" -#: py/parsenum.c:339 -msgid "invalid syntax for number" +msgid "font must be 2048 bytes long" msgstr "" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" +msgid "format requires a dict" msgstr "" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "frequency can only be either 80Mhz or 160MHz" msgstr "" -#: py/persistentcode.c:326 -msgid "can only save bytecode" +msgid "full" msgstr "" -#: py/runtime.c:206 -msgid "name not defined" +msgid "function does not take keyword arguments" msgstr "" -#: py/runtime.c:209 -msgid "name '%q' is not defined" +#, c-format +msgid "function expected at most %d arguments, got %d" msgstr "" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" +msgid "function got multiple values for argument '%q'" msgstr "" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" +#, c-format +msgid "function missing %d required positional arguments" msgstr "" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" +msgid "function missing keyword-only argument" msgstr "" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" +msgid "function missing required keyword argument '%q'" msgstr "" -#: py/runtime.c:883 py/runtime.c:947 #, c-format -msgid "need more than %d values to unpack" +msgid "function missing required positional argument #%d" msgstr "" -#: py/runtime.c:890 #, c-format -msgid "too many values to unpack (expected %d)" +msgid "function takes %d positional arguments but %d were given" msgstr "" -#: py/runtime.c:984 -msgid "argument has wrong type" +msgid "function takes exactly 9 arguments" msgstr "" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" +msgid "generator already executing" msgstr "" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" +msgid "generator ignored GeneratorExit" msgstr "" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" +msgid "graphic must be 2048 bytes long" msgstr "" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" +msgid "heap must be a list" msgstr "" -#: py/runtime.c:1238 -msgid "object not iterable" +msgid "identifier redefined as global" msgstr "" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" +msgid "identifier redefined as nonlocal" msgstr "" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" +msgid "impossible baudrate" msgstr "" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" +msgid "incomplete format" msgstr "" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" +msgid "incomplete format key" msgstr "" -#: py/runtime.c:1430 -msgid "cannot import name %q" +msgid "incorrect padding" msgstr "" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" +msgid "index out of range" msgstr "" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" +msgid "indices must be integers" msgstr "" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" +msgid "inline assembler must be a function" msgstr "" -#: py/sequence.c:273 -msgid "object not in sequence" +msgid "int() arg 2 must be >= 2 and <= 36" msgstr "" -#: py/stream.c:96 -msgid "stream operation not supported" +msgid "integer required" msgstr "" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: py/stream.c:289 -msgid "length argument not allowed for this type" +msgid "invalid I2C peripheral" msgstr "" -#: py/vm.c:255 -msgid "local variable referenced before assignment" +msgid "invalid SPI peripheral" msgstr "" -#: py/vm.c:1142 -msgid "no active exception to reraise" +msgid "invalid alarm" msgstr "" -#: py/vm.c:1284 -msgid "byte code not implemented" +msgid "invalid arguments" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgid "invalid buffer length" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" +msgid "invalid cert" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" +msgid "invalid data bits" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" +msgid "invalid dupterm index" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" +msgid "invalid format" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -msgid "Only slices with step=1 (aka None) are supported" +msgid "invalid format specifier" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -msgid "Range out of bounds" +msgid "invalid key" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" +msgid "invalid micropython decorator" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgid "invalid pin" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" +msgid "invalid step" msgstr "" -#: shared-bindings/_pixelbuf/__init__.c:112 -msgid "readonly attribute" +msgid "invalid stop bits" msgstr "" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" +msgid "invalid syntax" msgstr "" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" +msgid "invalid syntax for integer" msgstr "" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" +#, c-format +msgid "invalid syntax for integer with base %d" msgstr "" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" +msgid "invalid syntax for number" msgstr "" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" +msgid "issubclass() arg 1 must be a class" msgstr "" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." +msgid "keywords must be strings" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgid "label '%q' not defined" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" +msgid "label redefined" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" +msgid "len must be multiple of 4" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." +msgid "length argument not allowed for this type" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "lhs and rhs should be compatible" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "local '%q' has type '%q' but source is '%q'" msgstr "" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" +msgid "local '%q' used before type known" msgstr "" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" +msgid "local variable referenced before assignment" msgstr "" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" +msgid "long int not supported in this build" msgstr "" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" +msgid "map buffer too small" msgstr "" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "math domain error" msgstr "" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" +msgid "maximum recursion depth exceeded" msgstr "" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" +#, c-format +msgid "memory allocation failed, allocating %u bytes" msgstr "" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" msgstr "" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" +msgid "memory allocation failed, heap is locked" msgstr "" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" +msgid "module not found" msgstr "" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" +msgid "multiple *x in assignment" msgstr "" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" +msgid "multiple inheritance not supported" msgstr "" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" +msgid "must raise an object" msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, c-format -msgid "Address must be %d bytes long" +msgid "must specify all of sck/mosi/miso" msgstr "" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -msgid "Expected a UUID" +msgid "must use keyword argument for key function" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -msgid "Not connected" +msgid "name '%q' is not defined" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -msgid "timeout must be >= 0.0" +msgid "name must be a string" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -msgid "%q must be >= 1" +msgid "name not defined" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -msgid "Expected a Characteristic" +msgid "name reused for argument" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" +msgid "native yield" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +#, c-format +msgid "need more than %d values to unpack" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" +msgid "negative power with no float support" msgstr "" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" +msgid "no active exception to reraise" msgstr "" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "no available NIC" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +msgid "no binding for nonlocal found" msgstr "" -#: shared-bindings/bleio/Peripheral.c:119 -msgid "name must be a string" +msgid "no module named '%q'" msgstr "" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" +msgid "no such attribute" msgstr "" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" +msgid "non-default argument follows default argument" msgstr "" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" +msgid "non-hex digit found" msgstr "" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgid "non-keyword arg after */**" msgstr "" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" +msgid "non-keyword arg after keyword arg" msgstr "" -#: shared-bindings/bleio/UUID.c:107 -msgid "Byte buffer must be 16 bytes." +msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/bleio/UUID.c:151 -msgid "not a 128-bit UUID" +#, c-format +msgid "not a valid ADC Channel: %d" msgstr "" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." +msgid "not all arguments converted during string formatting" msgstr "" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" +msgid "not enough arguments for format string" msgstr "" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" +#, c-format +msgid "object '%s' is not a tuple or list" msgstr "" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "object does not support item assignment" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." +msgid "object does not support item deletion" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." +msgid "object has no len" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." +msgid "object is not subscriptable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." +msgid "object not an iterator" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." +msgid "object not callable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" +msgid "object not in sequence" msgstr "" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" +msgid "object not iterable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" +#, c-format +msgid "object of type '%s' has no len()" msgstr "" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +msgid "object with buffer protocol required" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 -msgid "%q should be an int" +msgid "odd-length string" msgstr "" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" +msgid "offset out of bounds" msgstr "" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" +msgid "only slices with step=1 (aka None) are supported" msgstr "" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" +msgid "ord expects a character" msgstr "" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" +msgid "overflow converting long int to machine word" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "palette must be 32 bytes long" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -msgid "Command must be an int between 0 and 255" +msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgid "parameter annotation must be an identifier" msgstr "" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgid "parameters must be registers in sequence a2 to a5" msgstr "" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" +msgid "parameters must be registers in sequence r0 to r3" msgstr "" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" +msgid "pin does not have IRQ capabilities" msgstr "" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/Shape.c:101 -msgid "start_x should be an int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" -#: shared-bindings/displayio/Shape.c:105 -msgid "end_x should be an int" +msgid "pop from an empty PulseIn" msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 -msgid "position must be 2-tuple" +msgid "pop from an empty set" msgstr "" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" +msgid "pop from empty list" msgstr "" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" +msgid "popitem(): dictionary is empty" msgstr "" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgid "pow() 3rd argument cannot be 0" msgstr "" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" +msgid "pow() with 3 arguments requires integers" msgstr "" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" +msgid "queue overflow" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" +msgid "readonly attribute" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" +msgid "relative import" msgstr "" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" +#, c-format +msgid "requested length %d but object has length %d" msgstr "" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" +msgid "return annotation must be an identifier" msgstr "" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." +msgid "return expected '%q' but got '%q'" msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." +msgid "row must be packed and word aligned" msgstr "" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "rsplit(None,n)" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" msgstr "" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." +msgid "sampling rate out of range" msgstr "" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." +msgid "scan failed" msgstr "" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" +msgid "schedule stack full" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" +msgid "script compilation not supported" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." +msgid "sign not allowed in string format specifier" msgstr "" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" +msgid "sign not allowed with integer format specifier 'c'" msgstr "" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" +msgid "single '}' encountered in format string" msgstr "" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" +msgid "sleep length must be non-negative" msgstr "" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" +msgid "slice step cannot be zero" msgstr "" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" +msgid "small int overflow" msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" +msgid "soft reboot\n" msgstr "" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" +msgid "start/end indices" msgstr "" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" +msgid "start_x should be an int" msgstr "" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" +msgid "step must be non-zero" msgstr "" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" +msgid "stop must be 1 or 2" msgstr "" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" +msgid "stop not reachable from start" msgstr "" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" +msgid "stream operation not supported" msgstr "" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" +msgid "string index out of range" msgstr "" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" +#, c-format +msgid "string indices must be integers, not %s" msgstr "" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" +msgid "string not supported; use bytes or bytearray" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" +msgid "struct: cannot index" msgstr "" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" +msgid "struct: index out of range" msgstr "" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" +msgid "struct: no fields" msgstr "" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" +msgid "substring not found" msgstr "" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." +msgid "super() can't find self" msgstr "" -#: shared-module/_pixelbuf/PixelBuf.c:69 -#, c-format -msgid "Expected tuple of length %d, got %d" +msgid "syntax error in JSON" msgstr "" -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" +msgid "syntax error in uctypes descriptor" msgstr "" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" +msgid "threshold must be in the range 0-65536" msgstr "" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" +msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" +msgid "time.struct_time() takes exactly 1 argument" msgstr "" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" +msgid "timeout must be >= 0.0" msgstr "" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" +msgid "timestamp out of range for platform time_t" msgstr "" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" +msgid "too many arguments" msgstr "" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" +msgid "too many arguments provided with the given format" msgstr "" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" +#, c-format +msgid "too many values to unpack (expected %d)" msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" +msgid "tuple index out of range" msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" +msgid "tuple/list has wrong length" msgstr "" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" +msgid "tuple/list required on RHS" msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." +msgid "tx and rx cannot both be None" msgstr "" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." +msgid "type '%q' is not an acceptable base type" msgstr "" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." +msgid "type is not an acceptable base type" msgstr "" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." +msgid "type object '%q' has no attribute '%q'" msgstr "" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." +msgid "type takes 1 or 3 arguments" msgstr "" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." +msgid "ulonglong too large" msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" +msgid "unary op %q not implemented" msgstr "" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" +msgid "unexpected indent" msgstr "" -#: shared-module/displayio/Bitmap.c:118 -msgid "Read-only object" +msgid "unexpected keyword argument" msgstr "" -#: shared-module/displayio/Display.c:67 -msgid "Unsupported display bus type" +msgid "unexpected keyword argument '%q'" msgstr "" -#: shared-module/displayio/Group.c:66 -msgid "Group full" +msgid "unicode name escapes" msgstr "" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unindent does not match any outer indentation level" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" +msgid "unknown config param" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "unknown conversion specifier %c" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "" - -#: shared-module/displayio/Shape.c:60 -msgid "y value out of bounds" +msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: shared-module/displayio/Shape.c:63 -msgid "x value out of bounds" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" +msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." +msgid "unknown status param" msgstr "" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" +msgid "unknown type" msgstr "" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" +msgid "unknown type '%q'" msgstr "" -#: shared-module/struct/__init__.c:179 -msgid "buffer size must match format" +msgid "unmatched '{' in format" msgstr "" -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." +msgid "unreadable attribute" msgstr "" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" msgstr "" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" msgstr "" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" +msgid "unsupported bitmap type" msgstr "" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" +msgid "unsupported type for %q: '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " +msgid "unsupported type for operator" msgstr "" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " +msgid "unsupported types for %q: '%s', '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:107 -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +msgid "wifi_set_ip_info() failed" msgstr "" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "write_args must be a list, tuple, or None" msgstr "" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "wrong number of arguments" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgid "wrong number of values to unpack" msgstr "" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" +msgid "x value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:118 -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" +msgid "y should be an int" msgstr "" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" +msgid "y value out of bounds" msgstr "" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" +msgid "zero step" msgstr "" diff --git a/locale/es.po b/locale/es.po index 2c88c1613242..ef35e0d77495 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,2965 +18,2245 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "periférico I2C inválido" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "operación I2C no soportada" +msgid " File \"%q\"" +msgstr " Archivo \"%q\"" + +msgid " File \"%q\", line %d" +msgstr " Archivo \"%q\", línea %d" + +msgid " output:\n" +msgstr " salida:\n" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 #, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "la dirección %08x no esta alineada a %d bytes" +msgid "%%c requires int or char" +msgstr "%%c requiere int o char" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "periférico SPI inválido" +msgid "%q in use" +msgstr "%q está siendo utilizado" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" +msgid "%q index out of range" +msgstr "%w indice fuera de rango" + +msgid "%q indices must be integers, not %s" +msgstr "%q indices deben ser enteros, no %s" + +#, fuzzy +msgid "%q must be >= 1" msgstr "los buffers deben de tener la misma longitud" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "bits debe ser 8" +#, fuzzy +msgid "%q should be an int" +msgstr "y deberia ser un int" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "firstbit debe ser MSB" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "%q() toma %d argumentos posicionales pero %d fueron dados" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "se deben de especificar sck/mosi/miso" +msgid "'%q' argument required" +msgstr "argumento '%q' requerido" -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "formato inválido" +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' espera una etiqueta" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "se requiere un objeto bytes-like" +#, c-format +msgid "'%s' expects a register" +msgstr "'%s' espera un registro" -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "string de longitud impar" +#, c-format +msgid "'%s' expects a special register" +msgstr "ord espera un carácter" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "digito non-hex encontrado" +#, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' espera un registro de FPU" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "relleno (padding) incorrecto" +#, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "'%s' espera una dirección de forma [a, b]" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "error de sintaxis en el descriptor uctypes" +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' espera un entero" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "No se puede obtener inequívocamente sizeof escalar" +#, c-format +msgid "'%s' expects at most r%d" +msgstr "'%s' espera a lo sumo r%d" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: sin campos" +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "'%s' espera {r0, r1, ...}" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: no se puede indexar" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "'%s' entero %d no esta dentro del rango %d..%d" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: index fuera de rango" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "'%s' entero 0x%x no cabe en la máscara 0x%x" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "heap debe ser una lista" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "el objeto '%s' no soporta la asignación de elementos" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "heap vacío" +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "objeto '%s' no soporta la eliminación de elementos" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "error de sintaxis en JSON" +msgid "'%s' object has no attribute '%q'" +msgstr "objeto '%s' no tiene atributo '%q'" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" -msgstr "Dividiendo con sub-capturas" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "objeto '%s' no es un iterator" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "Error en regex" +#, c-format +msgid "'%s' object is not callable" +msgstr "objeto '%s' no puede ser llamado" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "llave inválida" +#, c-format +msgid "'%s' object is not iterable" +msgstr "objeto '%s' no es iterable" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "certificado inválido" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "el objeto '%s' no es suscriptable" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "desbordamiento de cola(queue)" +msgid "'=' alignment not allowed in string format specifier" +msgstr "'=' alineación no permitida en el especificador string format" -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "encabezado de compresión" +msgid "'S' and 'O' are not supported format types" +msgstr "'S' y 'O' no son compatibles con los tipos de formato" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "index dupterm inválido" +msgid "'align' requires 1 argument" +msgstr "'align' requiere 1 argumento" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Sistema de archivos de solo-Lectura" +msgid "'await' outside function" +msgstr "'await' fuera de la función" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "Operación I/O en archivo cerrado" +msgid "'break' outside loop" +msgstr "'break' fuera de un bucle" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "se llamó abort()" +msgid "'continue' outside loop" +msgstr "'continue' fuera de un bucle" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "argumentos inválidos" +msgid "'data' requires at least 2 arguments" +msgstr "'data' requiere como minomo 2 argumentos" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "script de compilación no soportado" +msgid "'data' requires integer arguments" +msgstr "'data' requiere argumentos de tipo entero" -#: main.c:152 -msgid " output:\n" -msgstr " salida:\n" +msgid "'label' requires 1 argument" +msgstr "'label' requiere 1 argumento" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +msgid "'return' outside function" +msgstr "'return' fuera de una función" + +msgid "'yield' outside function" msgstr "" -"Auto-reload habilitado. Simplemente guarda los archivos via USB para " -"ejecutarlos o entra al REPL para desabilitarlos.\n" +"No es posible reiniciar en modo bootloader porque no hay bootloader presente." -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n" +msgid "*x must be assignment target" +msgstr "*x debe ser objetivo de la tarea" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "Auto-recarga deshabilitada.\n" +msgid ", in %q\n" +msgstr ", en %q\n" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n" +msgid "0.0 to a complex power" +msgstr "0.0 a una potencia compleja" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "ADVERTENCIA: El nombre de archivo de tu código tiene dos extensiones\n" +msgid "3-arg pow() not supported" +msgstr "pow() con 3 argumentos no soportado" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" -msgstr "" +msgid "A hardware interrupt channel is already in use" +msgstr "El canal EXTINT ya está siendo utilizado" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "AP required" +msgstr "AP requerido" + +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -"Presiona cualquier tecla para entrar al REPL. Usa CTRL-D para recargar." -#: main.c:422 -msgid "soft reboot\n" -msgstr "reinicio suave\n" +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "palette debe ser 32 bytes de largo" + +msgid "All I2C peripherals are in use" +msgstr "Todos los timers están siendo usados" + +msgid "All SPI peripherals are in use" +msgstr "Todos los timers están siendo usados" + +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Todos los timers están siendo usados" + +msgid "All event channels in use" +msgstr "Todos los canales de eventos en uso" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 msgid "All sync event channels in use" msgstr "" "Todos los canales de eventos de sincronización(sync event channels) están " "siendo utilizados" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "calibration es de solo lectura" +msgid "All timers for this pin are in use" +msgstr "Todos los timers para este pin están siendo utilizados" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "calibration esta fuera de rango" +msgid "All timers in use" +msgstr "Todos los timers en uso" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "Pin no tiene capacidad ADC" +msgid "AnalogOut functionality not supported" +msgstr "Funcionalidad AnalogOut no soportada" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "El chip no tiene DAC" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "AnalogOut es solo de 16 bits. Value debe ser menos a 65536." -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 msgid "AnalogOut not supported on given pin" msgstr "El pin proporcionado no soporta AnalogOut" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Pin bit clock inválido" +msgid "Another send is already active" +msgstr "Otro envío ya está activo" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "Bit clock y word select deben compartir una unidad de reloj" +msgid "Array must contain halfwords (type 'H')" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Pin de datos inválido" +msgid "Array values should be single bytes." +msgstr "Valores del array deben ser bytes individuales." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer está siendo utilizado" +msgid "Auto-reload is off.\n" +msgstr "Auto-recarga deshabilitada.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Clock unit está siendo utilizado" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"Auto-reload habilitado. Simplemente guarda los archivos via USB para " +"ejecutarlos o entra al REPL para desabilitarlos.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "No se pudo encontrar un GCLK libre" +msgid "Bit clock and word select must share a clock unit" +msgstr "Bit clock y word select deben compartir una unidad de reloj" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Demasiados canales en sample." +msgid "Bit depth must be multiple of 8." +msgstr "La profundidad de bits debe ser múltiplo de 8." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "No se encontró el canal DMA" +msgid "Both pins must support hardware interrupts" +msgstr "Ambos pines deben soportar interrupciones por hardware" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "No se pudieron asignar buffers para la conversión con signo" +msgid "Brightness must be between 0 and 255" +msgstr "Brightness debe estar entro 0 y 255" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Pin clock inválido" +msgid "Brightness not adjustable" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " -msgstr "Solo mono de 8 o 16 bit con " +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Tamaño de buffer incorrecto. Debe ser de %d bytes." -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "frecuencia de muestreo fuera de rango" +msgid "Buffer must be at least length 1" +msgstr "Buffer debe ser de longitud 1 como minimo" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +#, fuzzy, c-format +msgid "Bus pin %d is already in use" msgstr "DAC ya está siendo utilizado" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Canal derecho no soportado" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Pin inválido" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Pin inválido para canal izquierdo" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Pin inválido para canal derecho" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" -msgstr "No se puede tener ambos canales en el mismo pin" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "buffer debe de ser un objeto bytes-like" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Todos los timers en uso" +msgid "Bytes must be between 0 and 255." +msgstr "Bytes debe estar entre 0 y 255." -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Todos los canales de eventos en uso" +msgid "C-level assert" +msgstr "C-level assert" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Frecuencia de muestreo demasiado alta. Debe ser menor a %d" - -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "pines inválidos" - -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "SDA o SCL necesitan una pull up" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "Baudrate no soportado" +msgid "Can't add services in Central mode" +msgstr "No se pueden agregar servicio en modo Central" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "bytes > 8 bits no soportados" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "Ambos tx y rx no pueden ser None" +msgid "Can't change the name in Central mode" +msgstr "No se puede cambiar el nombre en modo Central" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Ha fallado la asignación del buffer RX" +msgid "Can't connect in Peripheral mode" +msgstr "No se puede conectar en modo Peripheral" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "No se puede inicializar la UART" +msgid "Cannot connect to AP" +msgstr "No se puede conectar a AP" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Sin pin RX" +msgid "Cannot delete values" +msgstr "No se puede eliminar valores" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Sin pin TX" +msgid "Cannot disconnect from AP" +msgstr "No se puede desconectar de AP" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 msgid "Cannot get pull while in output mode" msgstr "No puede ser pull mientras este en modo de salida" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 #, fuzzy -msgid "Data 0 pin must be byte aligned" -msgstr "graphic debe ser 2048 bytes de largo" +msgid "Cannot get temperature" +msgstr "No se puede obtener la temperatura. status: 0x%02x" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, fuzzy, c-format -msgid "Bus pin %d is already in use" -msgstr "DAC ya está siendo utilizado" +msgid "Cannot output both channels on the same pin" +msgstr "No se puede tener ambos canales en el mismo pin" + +msgid "Cannot read without MISO pin." +msgstr "No se puede leer sin pin MISO." + +msgid "Cannot record to a file" +msgstr "No se puede grabar en un archivo" + +msgid "Cannot remount '/' when USB is active." +msgstr "No se puede volver a montar '/' cuando el USB esta activo." -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 msgid "Cannot reset into bootloader because no bootloader is present." msgstr "No se puede reiniciar a bootloader porque no hay bootloader presente." -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Frecuencia PWM inválida" - -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Sin soporte de hardware en pin" +msgid "Cannot set STA config" +msgstr "No se puede establecer STA config" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "El canal EXTINT ya está siendo utilizado" +msgid "Cannot set value when direction is input." +msgstr "No se puede asignar un valor cuando la dirección es input." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Falló la asignación del buffer RX de %d bytes" +msgid "Cannot subclass slice" +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "pop de un PulseIn vacío" +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "No se puede transferir sin pines MOSI y MISO." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "index fuera de rango" +msgid "Cannot unambiguously get sizeof scalar" +msgstr "No se puede obtener inequívocamente sizeof escalar" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Otro envío ya está activo" +msgid "Cannot update i/f status" +msgstr "No se puede actualizar i/f status" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Ambos pines deben soportar interrupciones por hardware" +msgid "Cannot write without MOSI pin." +msgstr "No se puede escribir sin pin MOSI." -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "El canal EXTINT ya está siendo utilizado" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "Valor de calibración fuera del rango +/-127" +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Sin GCLKs libres" +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Pin %q no tiene capacidades de ADC" +msgid "Clock pin init failed." +msgstr "Clock pin init fallido" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Sin soporte de hardware para analog out" +msgid "Clock stretch too long" +msgstr "" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Pines no válidos para SPI" +msgid "Clock unit in use" +msgstr "Clock unit está siendo utilizado" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Solo tx soportada en UART1 (GPIO2)" +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Bytes debe estar entre 0 y 255." -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "data bits inválidos" +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "stop bits inválidos" +msgid "Could not initialize UART" +msgstr "No se puede inicializar la UART" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "ESP8266 no soporta pull down." +msgid "Couldn't allocate first buffer" +msgstr "No se pudo asignar el primer buffer" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "GPIO16 no soporta pull up." +msgid "Couldn't allocate second buffer" +msgstr "No se pudo asignar el segundo buffer" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "ESP8226 no soporta modo seguro." +msgid "Crash into the HardFault_Handler.\n" +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "La frecuencia máxima del PWM es %dhz." +msgid "DAC already in use" +msgstr "DAC ya está siendo utilizado" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "La frecuencia mínima del PWM es 1hz" +#, fuzzy +msgid "Data 0 pin must be byte aligned" +msgstr "graphic debe ser 2048 bytes de largo" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgid "Data chunk must follow fmt chunk" msgstr "" -"PWM de múltiples frecuencias no soportado. El PWM ya se estableció a %dhz" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" -msgstr "El pin %d no soporta PWM" +#, fuzzy +msgid "Data too large for advertisement packet" +msgstr "Los datos no caben en el paquete de anuncio." -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Sin soporte PulseIn para %q" +#, fuzzy +msgid "Data too large for the advertisement packet" +msgstr "Los datos no caben en el paquete de anuncio." -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Incapaz de montar de nuevo el sistema de archivos" +msgid "Destination capacity is smaller than destination_length." +msgstr "Capacidad de destino es mas pequeña que destination_length." -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "Usa esptool para borrar la flash y vuelve a cargar Python en su lugar" +msgid "Display rotation must be in 90 degree increments" +msgstr "" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" -msgstr "C-level assert" +msgid "Don't know how to pass object to native function" +msgstr "No se sabe cómo pasar objeto a función nativa" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "no es un canal ADC válido: %d" +msgid "Drive mode not used when direction is input." +msgstr "Modo Drive no se usa cuando la dirección es input." -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "baudrate imposible" +msgid "ESP8226 does not support safe mode." +msgstr "ESP8226 no soporta modo seguro." -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "esperando un pin" +msgid "ESP8266 does not support pull down." +msgstr "ESP8266 no soporta pull down." -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pin(16) no soporta para pull" +msgid "EXTINT channel already in use" +msgstr "El canal EXTINT ya está siendo utilizado" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "pin inválido" - -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "pin sin capacidades IRQ" - -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "buffer demasiado largo" +msgid "Error in ffi_prep_cif" +msgstr "Error en ffi_prep_cif" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "alarma inválida" +msgid "Error in regex" +msgstr "Error en regex" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) no existe" +msgid "Expected a %q" +msgstr "Se espera un %q" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) no puede leer" +#, fuzzy +msgid "Expected a Characteristic" +msgstr "No se puede agregar la Característica." -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len debe de ser múltiple de 4" +#, fuzzy +msgid "Expected a UUID" +msgstr "Se espera un %q" -#: ports/esp8266/modesp.c:274 #, c-format -msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "falló la asignación de memoria, asignando %u bytes para código nativo" - -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "la ubicación de la flash debe estar debajo de 1MByte" - -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "la frecuencia solo puede ser 80MHz o 160MHz" - -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP requerido" - -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA requerido" - -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "No se puede actualizar i/f status" - -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "No se puede establecer STA config" - -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "No se puede conectar a AP" - -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "No se puede desconectar de AP" - -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "status param desconocido" - -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "STA debe estar activo" - -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "scan ha fallado" - -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() ha fallado" - -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "ya sea pos o kw args son permitidos" - -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "no se puede obtener STA config" - -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "no se puede obtener AP config" +msgid "Expected tuple of length %d, got %d" +msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "longitud de buffer inválida" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "No se puede adquirir el mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "no se puede establecer STA config" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "No se puede adquirir el mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "no se puede establecer AP config" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "No se puede añadir caracteristica, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "puede consultar solo un param" +#, fuzzy +msgid "Failed to add service" +msgstr "No se puede detener el anuncio. status: 0x%02x" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "parámetro config desconocido" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "No se puede detener el anuncio. status: 0x%02x" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "Funcionalidad AnalogOut no soportada" +msgid "Failed to allocate RX buffer" +msgstr "Ha fallado la asignación del buffer RX" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Falló la asignación del buffer RX de %d bytes" -#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "No se puede cambiar el estado del softdevice, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "No se puede obtener el estado del softdevice, error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Adapter.c:147 #, fuzzy -msgid "Failed to get local address" -msgstr "No se puede obtener la dirección local, error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" +msgid "Failed to connect:" +msgstr "No se puede conectar. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 #, fuzzy -msgid "Data too large for advertisement packet" -msgstr "Los datos no caben en el paquete de anuncio." - -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 -#, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "No se puede inicar el anuncio. status: 0x%02x" +msgid "Failed to continue scanning" +msgstr "No se puede iniciar el escaneo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 #, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" -msgstr "No se puede detener el anuncio. status: 0x%02x" +msgid "Failed to continue scanning, err 0x%04x" +msgstr "No se puede iniciar el escaneo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" +#, fuzzy +msgid "Failed to create mutex" msgstr "No se puede leer el valor del atributo. status 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "No se puede escribir el valor del atributo. status: 0x%02x" +#, fuzzy +msgid "Failed to discover services" +msgstr "No se puede descubrir servicios, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "No se puede escribir el valor del atributo. status: 0x%02x" +#, fuzzy +msgid "Failed to get local address" +msgstr "No se puede obtener la dirección local, error: 0x%08lX" + +#, fuzzy +msgid "Failed to get softdevice state" +msgstr "No se puede obtener el estado del softdevice, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "No se puede notificar el valor del anuncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "No se puede leer el valor del atributo. status 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" -msgstr "No se puede adquirir el mutex, status: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" +msgstr "No se puede leer el valor del atributo. status 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" +msgid "Failed to read gatts value, err 0x%04x" msgstr "No se puede escribir el valor del atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "No se puede liberar el mutex, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -#, fuzzy -msgid "Data too large for the advertisement packet" -msgstr "Los datos no caben en el paquete de anuncio." - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "No se puede descubrir servicios, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "No se puede adquirir el mutex, status: 0x%08lX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "No se puede agregar el Vendor Specific 128-bit UUID." -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "No se puede liberar el mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:389 -#, fuzzy -msgid "Failed to continue scanning" -msgstr "No se puede iniciar el escaneo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:421 -#, fuzzy -msgid "Failed to connect:" -msgstr "No se puede conectar. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "No se puede detener el anuncio. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "No se puede liberar el mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "No se puede inicar el anuncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "No se puede detener el anuncio. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "No se puede inicar el anuncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "No se puede iniciar el escaneo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:566 -#, fuzzy -msgid "Failed to create mutex" -msgstr "No se puede leer el valor del atributo. status 0x%02x" - -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Failed to start scanning, err 0x%04x" +msgstr "No se puede iniciar el escaneo. status: 0x%02x" + +#, fuzzy +msgid "Failed to stop advertising" msgstr "No se puede detener el anuncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "No se puede iniciar el escaneo. status: 0x%02x" +msgid "Failed to stop advertising, err 0x%04x" +msgstr "No se puede detener el anuncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "No se puede iniciar el escaneo. status: 0x%02x" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "No se puede escribir el valor del atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Service.c:88 #, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "No se puede añadir caracteristica, status: 0x%08lX" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "No se puede escribir el valor del atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." -msgstr "" +msgid "File exists" +msgstr "El archivo ya existe" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "No se puede agregar el Vendor Specific 128-bit UUID." +msgid "Function requires lock" +msgstr "La función requiere lock" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" +msgid "Function requires lock." +msgstr "La función requiere lock" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" -msgstr "" +msgid "GPIO16 does not support pull up." +msgstr "GPIO16 no soporta pull up." -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Todos los timers están siendo usados" +msgid "Group full" +msgstr "Group lleno" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Todos los timers están siendo usados" +msgid "I/O operation on closed file" +msgstr "Operación I/O en archivo cerrado" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" -msgstr "error = 0x%08lx" +msgid "I2C operation not supported" +msgstr "operación I2C no soportada" -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Todos los timers están siendo usados" +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" +"Archivo .mpy incompatible. Actualice todos los archivos .mpy. Consulte " +"http://adafru.it/mpy-update para más información" -#: ports/nrf/common-hal/busio/UART.c:153 -msgid "Invalid buffer size" -msgstr "Tamaño de buffer inválido" +msgid "Input/output error" +msgstr "error Input/output" -#: ports/nrf/common-hal/busio/UART.c:157 -msgid "Odd parity is not supported" -msgstr "Paridad impar no soportada" +msgid "Invalid BMP file" +msgstr "Archivo BMP inválido" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -#, fuzzy -msgid "Cannot get temperature" -msgstr "No se puede obtener la temperatura. status: 0x%02x" +msgid "Invalid PWM frequency" +msgstr "Frecuencia PWM inválida" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Tipo desconocido" +msgid "Invalid argument" +msgstr "Argumento inválido" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Error en ffi_prep_cif" +msgid "Invalid bit clock pin" +msgstr "Pin bit clock inválido" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" +msgid "Invalid buffer size" +msgstr "Tamaño de buffer inválido" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "No se sabe cómo pasar objeto a función nativa" +msgid "Invalid channel count" +msgstr "Cuenta de canales inválida" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgid "Invalid clock pin" +msgstr "Pin clock inválido" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "la función no tiene argumentos por palabra clave" +msgid "Invalid data pin" +msgstr "Pin de datos inválido" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "la función toma %d argumentos posicionales pero le fueron dados %d" +msgid "Invalid direction." +msgstr "Dirección inválida." -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "a la función le hacen falta %d argumentos posicionales requeridos" +msgid "Invalid file" +msgstr "Archivo inválido" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "la función esperaba minimo %d argumentos, tiene %d" +msgid "Invalid format chunk size" +msgstr "" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "argumento '%q' requerido" +msgid "Invalid number of bits" +msgstr "Numero inválido de bits" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "argumento posicional adicional dado" +msgid "Invalid phase" +msgstr "Fase inválida" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "argumento(s) por palabra clave adicionales fueron dados" +msgid "Invalid pin" +msgstr "Pin inválido" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "argumento número/tipos no coinciden" +msgid "Invalid pin for left channel" +msgstr "Pin inválido para canal izquierdo" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" -"argumento(s) por palabra clave aún no implementados - usa argumentos " -"normales en su lugar" +msgid "Invalid pin for right channel" +msgstr "Pin inválido para canal derecho" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "%q() toma %d argumentos posicionales pero %d fueron dados" +msgid "Invalid pins" +msgstr "pines inválidos" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "argumento por palabra clave inesperado" +msgid "Invalid polarity" +msgstr "Polaridad inválida" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "palabras clave deben ser strings" +msgid "Invalid run mode." +msgstr "Modo de ejecución inválido." -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "la función tiene múltiples valores para el argumento '%q'" +msgid "Invalid voice count" +msgstr "Cuenta de voces inválida" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "argumento por palabra clave inesperado '%q'" +msgid "Invalid wave file" +msgstr "Archivo wave inválido" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" -msgstr "la función requiere del argumento posicional #%d" +msgid "LHS of keyword arg must be an id" +msgstr "LHS del agumento por palabra clave deberia ser un identificador" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "la función requiere del argumento por palabra clave '%q'" +msgid "Layer must be a Group or TileGrid subclass." +msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "falta palabra clave para función" +msgid "Length must be an int" +msgstr "Length debe ser un int" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "typecode erroneo" +msgid "Length must be non-negative" +msgstr "Longitud no deberia ser negativa" -#: py/builtinevex.c:99 -msgid "bad compile mode" -msgstr "modo de compilación erroneo" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" +"Parece que nuestro código de CircuitPython ha fallado con fuerza. Whoops!\n" +"Por favor, crea un issue en https://github.com/adafruit/circuitpython/" +"issues\n" +" con el contenido de su unidad CIRCUITPY y este mensaje:\n" -#: py/builtinhelp.c:137 -#, fuzzy -msgid "Plus any modules on the filesystem\n" -msgstr "Incapaz de montar de nuevo el sistema de archivos" +msgid "MISO pin init failed." +msgstr "MISO pin init fallido." + +msgid "MOSI pin init failed." +msgstr "MOSI pin init fallido." -#: py/builtinhelp.c:183 #, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "Maximum PWM frequency is %dhz." +msgstr "La frecuencia máxima del PWM es %dhz." + +#, c-format +msgid "Maximum x value when mirrored is %d" msgstr "" -"Bienvenido a Adafruit CircuitPython %s!\n" -"\n" -"Visita learn.adafruit.com/category/circuitpython para obtener guías de " -"proyectos.\n" -"\n" -"Para listar los módulos incorporados por favor haga `help(\"modules\")`.\n" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "no se puedo realizar importación relativa" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "módulo no encontrado" +msgid "MicroPython fatal error.\n" +msgstr "MicroPython fatal error.\n" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "ningún módulo se llama '%q'" +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "" -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "import relativo" +msgid "Minimum PWM frequency is 1hz." +msgstr "La frecuencia mínima del PWM es 1hz" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "no se puede asignar a la expresión" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgstr "" +"PWM de múltiples frecuencias no soportado. El PWM ya se estableció a %dhz" -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "múltiples *x en la asignación" +msgid "Must be a Group subclass." +msgstr "" -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "argumento no predeterminado sigue argumento predeterminado" +msgid "No DAC on chip" +msgstr "El chip no tiene DAC" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "decorador de micropython inválido" +msgid "No DMA channel found" +msgstr "No se encontró el canal DMA" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "no se puede borrar la expresión" +msgid "No PulseIn support for %q" +msgstr "Sin soporte PulseIn para %q" -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' fuera de un bucle" +msgid "No RX pin" +msgstr "Sin pin RX" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' fuera de un bucle" +msgid "No TX pin" +msgstr "Sin pin TX" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' fuera de una función" +msgid "No default I2C bus" +msgstr "Sin bus I2C por defecto" -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "identificador redefinido como global" +msgid "No default SPI bus" +msgstr "Sin bus SPI por defecto" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "no se ha encontrado ningún enlace para nonlocal" +msgid "No default UART bus" +msgstr "Sin bus UART por defecto" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "identificador redefinido como nonlocal" +msgid "No free GCLKs" +msgstr "Sin GCLKs libres" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "no se puede declarar nonlocal" +msgid "No hardware random available" +msgstr "No hay hardware random disponible" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "'except' por defecto deberia estar de último" +msgid "No hardware support for analog out." +msgstr "Sin soporte de hardware para analog out" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "*x debe ser objetivo de la tarea" +msgid "No hardware support on pin" +msgstr "Sin soporte de hardware en pin" -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "super() no puede encontrar self" +msgid "No space left on device" +msgstr "" -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "no puede tener multiples *x" +msgid "No such file/directory" +msgstr "No existe el archivo/directorio" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "no puede tener multiples *x" +#, fuzzy +msgid "Not connected" +msgstr "No se puede conectar a AP" -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" -msgstr "LHS del agumento por palabra clave deberia ser un identificador" +msgid "Not connected." +msgstr "" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" -msgstr "no deberia estar/tener agumento por palabra clave despues de */**" +msgid "Not playing" +msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." msgstr "" -"no deberia estar/tener agumento por palabra clave despues de argumento por " -"palabra clave" +"El objeto se ha desinicializado y ya no se puede utilizar. Crea un nuevo " +"objeto" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "sintaxis inválida" +msgid "Odd parity is not supported" +msgstr "Paridad impar no soportada" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "esperando la clave:valor para dict" +msgid "Only 8 or 16 bit mono with " +msgstr "Solo mono de 8 o 16 bit con " -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "esperando solo un valor para set" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "Solo formato Windows, BMP sin comprimir soportado %d" -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "" -"No es posible reiniciar en modo bootloader porque no hay bootloader presente." +msgid "Only bit maps of 8 bit color or less are supported" +msgstr "Solo se admiten bit maps de color de 8 bits o menos" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' fuera de la función" +#, fuzzy +msgid "Only slices with step=1 (aka None) are supported" +msgstr "solo se admiten segmentos con step=1 (alias None)" -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "nombre reusado para argumento" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "parámetro de anotación debe ser un identificador" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Solo tx soportada en UART1 (GPIO2)" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "la anotación de retorno debe ser un identificador" +msgid "Oversample must be multiple of 8." +msgstr "" -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "ensamblador en línea debe ser una función" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgstr "" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "tipo desconocido" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." +msgstr "" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "esperando una instrucción de ensamblador" +#, c-format +msgid "PWM not supported on pin %d" +msgstr "El pin %d no soporta PWM" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' requiere 1 argumento" +msgid "Permission denied" +msgstr "Permiso denegado" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "etiqueta redefinida" +msgid "Pin %q does not have ADC capabilities" +msgstr "Pin %q no tiene capacidades de ADC" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' requiere 1 argumento" +msgid "Pin does not have ADC capabilities" +msgstr "Pin no tiene capacidad ADC" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' requiere como minomo 2 argumentos" +msgid "Pin(16) doesn't support pull" +msgstr "Pin(16) no soporta para pull" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' requiere argumentos de tipo entero" +msgid "Pins not valid for SPI" +msgstr "Pines no válidos para SPI" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "solo puede tener hasta 4 parámetros para ensamblar Thumb" +msgid "Pixel beyond bounds of buffer" +msgstr "" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" -msgstr "los parametros deben ser registros en secuencia del r0 al r3" +#, fuzzy +msgid "Plus any modules on the filesystem\n" +msgstr "Incapaz de montar de nuevo el sistema de archivos" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" -msgstr "'%s' espera a lo sumo r%d" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "" +"Presiona cualquier tecla para entrar al REPL. Usa CTRL-D para recargar." -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "'%s' espera un registro" +msgid "Pull not used when direction is output." +msgstr "Pull no se usa cuando la dirección es output." -#: py/emitinlinethumb.c:211 -#, c-format -msgid "'%s' expects a special register" -msgstr "ord espera un carácter" +msgid "RTC calibration is not supported on this board" +msgstr "Calibración de RTC no es soportada en esta placa" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" -msgstr "'%s' espera un registro de FPU" +msgid "RTC is not supported on this board" +msgstr "RTC no soportado en esta placa" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "'%s' espera {r0, r1, ...}" +#, fuzzy +msgid "Range out of bounds" +msgstr "address fuera de límites" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" -msgstr "'%s' espera un entero" +msgid "Read-only" +msgstr "Solo-lectura" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "'%s' entero 0x%x no cabe en la máscara 0x%x" +msgid "Read-only filesystem" +msgstr "Sistema de archivos de solo-Lectura" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "'%s' espera una dirección de forma [a, b]" +#, fuzzy +msgid "Read-only object" +msgstr "Solo-lectura" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" -msgstr "'%s' espera una etiqueta" +msgid "Right channel unsupported" +msgstr "Canal derecho no soportado" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "etiqueta '%q' no definida" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n" -#: py/emitinlinethumb.c:806 -#, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "instrucción de tipo Thumb no admitida '%s' con %d argumentos" +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" -msgstr "El argumento de chr() no esta en el rango(256)" +msgid "SDA or SCL needs a pull up" +msgstr "SDA o SCL necesitan una pull up" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "solo puede tener hasta 4 parámetros para ensamblador Xtensa" +msgid "STA must be active" +msgstr "STA debe estar activo" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "los parámetros deben ser registros en secuencia de a2 a a5" +msgid "STA required" +msgstr "STA requerido" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" -msgstr "'%s' entero %d no esta dentro del rango %d..%d" +msgid "Sample rate must be positive" +msgstr "Sample rate debe ser positivo" -#: py/emitinlinextensa.c:327 #, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "instrucción Xtensa '%s' con %d argumentos no soportada" +msgid "Sample rate too high. It must be less than %d" +msgstr "Frecuencia de muestreo demasiado alta. Debe ser menor a %d" -#: py/emitnative.c:183 -msgid "unknown type '%q'" -msgstr "tipo desconocido '%q'" +msgid "Serializer in use" +msgstr "Serializer está siendo utilizado" + +msgid "Slice and value different lengths." +msgstr "" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "funciones Viper actualmente no soportan más de 4 argumentos." +msgid "Slices not supported" +msgstr "" -#: py/emitnative.c:742 -msgid "conversion to object" -msgstr "conversión a objeto" +#, c-format +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "variable local '%q' usada antes del tipo conocido" +msgid "Splitting with sub-captures" +msgstr "Dividiendo con sub-capturas" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "no se puede cargar desde '%q'" +msgid "Stack size must be at least 256" +msgstr "" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" -msgstr "no se puede cargar con el índice '%q'" +msgid "Stream missing readinto() or write() method." +msgstr "A Stream le falta el método readinto() o write()." -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" -msgstr "la variable local '%q' tiene el tipo '%q' pero la fuente es '%q'" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" +msgstr "" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" -msgstr "no se puede almacenar '%q'" +#, fuzzy +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" +msgstr "" +"La alimentación del microcontrolador cayó. Por favor asegurate de que tu " +"fuente de alimentación provee\n" +"suficiente energia para todo el circuito y presiona el botón de reset " +"(despuesde expulsar CIRCUITPY).\n" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" -msgstr "no se puede almacenar para '%q'" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" +msgstr "" +"El botón reset fue presionado mientras arrancaba CircuitPython. Presiona " +"otra vez para salir del modo seguro.\n" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" -msgstr "no se puede almacenar con el indice '%q'" +msgid "The sample's bits_per_sample does not match the mixer's" +msgstr "Los bits_per_sample del sample no igualan a los del mixer" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" -msgstr "no se puede convertir implícitamente '%q' a 'bool'" +msgid "The sample's channel count does not match the mixer's" +msgstr "La cuenta de canales del sample no iguala a las del mixer" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" -msgstr "Operación unica %q no implementada" +msgid "The sample's sample rate does not match the mixer's" +msgstr "El sample rate del sample no iguala al del mixer" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" -msgstr "operacion binaria %q no implementada" +msgid "The sample's signedness does not match the mixer's" +msgstr "El signo del sample no iguala al del mixer" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "no se puede hacer una operacion binaria entre '%q' y '%q'" +msgid "Tile height must exactly divide bitmap height" +msgstr "" -#: py/emitnative.c:2126 -msgid "casting" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "retorno esperado '%q' pero se obtuvo '%q'" +msgid "To exit, please reset the board without " +msgstr "Para salir, por favor reinicia la tarjeta sin " -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "debe hacer un raise de un objeto" +msgid "Too many channels in sample." +msgstr "Demasiados canales en sample." -#: py/emitnative.c:2201 -msgid "native yield" +msgid "Too many display busses" msgstr "" -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Too many displays" msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "El argumento de chr() esta fuera de rango(0x110000)" - -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" -msgstr "El argumento de chr() no esta en el rango(256)" - -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" -msgstr "argumento es una secuencia vacía" +msgid "Traceback (most recent call last):\n" +msgstr "Traceback (ultima llamada reciente):\n" -#: py/modbuiltins.c:350 -msgid "ord expects a character" -msgstr "ord espera un carácter" +msgid "Tuple or struct_time argument required" +msgstr "Argumento tuple o struct_time requerido" -#: py/modbuiltins.c:353 #, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "ord() espera un carácter, pero encontró un string de longitud %d" +msgid "UART(%d) does not exist" +msgstr "UART(%d) no existe" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "pow() con 3 argumentos no soportado" +msgid "UART(1) can't read" +msgstr "UART(1) no puede leer" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" -msgstr "debe utilizar argumento de palabra clave para la función clave" +msgid "USB Busy" +msgstr "USB ocupado" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "error de dominio matemático" +msgid "USB Error" +msgstr "Error USB" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "división por cero" +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" -msgstr "buffer demasiado pequeño" +msgid "UUID value is not str, int or byte buffer" +msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" -msgstr "esperando un diccionario para argumentos por palabra clave" +msgid "Unable to allocate buffers for signed conversion" +msgstr "No se pudieron asignar buffers para la conversión con signo" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Permiso denegado" +msgid "Unable to find free GCLK" +msgstr "No se pudo encontrar un GCLK libre" -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "No existe el archivo/directorio" +msgid "Unable to init parser" +msgstr "Incapaz de inicializar el parser" -#: py/moduerrno.c:149 -msgid "Input/output error" -msgstr "error Input/output" +msgid "Unable to remount filesystem" +msgstr "Incapaz de montar de nuevo el sistema de archivos" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "El archivo ya existe" +msgid "Unable to write to nvm." +msgstr "Imposible escribir en nvm" -#: py/moduerrno.c:152 -msgid "Unsupported operation" -msgstr "Operación no soportada" +msgid "Unexpected nrfx uuid type" +msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Argumento inválido" +msgid "Unknown type" +msgstr "Tipo desconocido" -#: py/moduerrno.c:154 -msgid "No space left on device" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "Traceback (ultima llamada reciente):\n" +msgid "Unsupported baudrate" +msgstr "Baudrate no soportado" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " Archivo \"%q\", línea %d" +#, fuzzy +msgid "Unsupported display bus type" +msgstr "tipo de bitmap no soportado" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " Archivo \"%q\"" +msgid "Unsupported format" +msgstr "Formato no soportado" -#: py/obj.c:102 -msgid ", in %q\n" -msgstr ", en %q\n" +msgid "Unsupported operation" +msgstr "Operación no soportada" -#: py/obj.c:259 -msgid "can't convert to int" -msgstr "no se puede convertir a int" +msgid "Unsupported pull value." +msgstr "valor pull no soportado." -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" -msgstr "no se puede convertir %s a int" +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "Usa esptool para borrar la flash y vuelve a cargar Python en su lugar" -#: py/obj.c:322 -msgid "can't convert to float" -msgstr "no se puede convertir a float" +msgid "Viper functions don't currently support more than 4 arguments" +msgstr "funciones Viper actualmente no soportan más de 4 argumentos." + +msgid "Voice index too high" +msgstr "Index de voz demasiado alto" + +msgid "WARNING: Your code filename has two extensions\n" +msgstr "ADVERTENCIA: El nombre de archivo de tu código tiene dos extensiones\n" -#: py/obj.c:325 #, c-format -msgid "can't convert %s to float" -msgstr "no se puede convertir %s a float" +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" +"Bienvenido a Adafruit CircuitPython %s!\n" +"\n" +"Visita learn.adafruit.com/category/circuitpython para obtener guías de " +"proyectos.\n" +"\n" +"Para listar los módulos incorporados por favor haga `help(\"modules\")`.\n" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "no se puede convertir a complejo" +#, fuzzy +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "" +"Estás ejecutando en modo seguro, lo cual significa que algo realmente malo " +"ha sucedido.\n" + +msgid "You requested starting safe mode by " +msgstr "Solicitaste iniciar en modo seguro por " -#: py/obj.c:358 #, c-format -msgid "can't convert %s to complex" -msgstr "no se puede convertir %s a complejo" +msgid "[addrinfo error %d]" +msgstr "[addrinfo error %d]" -#: py/obj.c:373 -msgid "expected tuple/list" -msgstr "tupla/lista esperada" +msgid "__init__() should return None" +msgstr "__init__() deberia devolver None" -#: py/obj.c:376 #, c-format -msgid "object '%s' is not a tuple or list" -msgstr "el objeto '%s' no es una tupla o lista" +msgid "__init__() should return None, not '%s'" +msgstr "__init__() deberia devolver None, no '%s'" -#: py/obj.c:387 -msgid "tuple/list has wrong length" -msgstr "tupla/lista tiene una longitud incorrecta" +msgid "__new__ arg must be a user-type" +msgstr "__new__ arg debe ser un user-type" + +msgid "a bytes-like object is required" +msgstr "se requiere un objeto bytes-like" + +msgid "abort() called" +msgstr "se llamó abort()" -#: py/obj.c:389 #, c-format -msgid "requested length %d but object has length %d" -msgstr "longitud solicitada %d pero el objeto tiene longitud %d" +msgid "address %08x is not aligned to %d bytes" +msgstr "la dirección %08x no esta alineada a %d bytes" -#: py/obj.c:402 -msgid "indices must be integers" -msgstr "indices deben ser enteros" +msgid "address out of bounds" +msgstr "address fuera de límites" + +msgid "addresses is empty" +msgstr "addresses esta vacío" + +msgid "arg is an empty sequence" +msgstr "argumento es una secuencia vacía" + +msgid "argument has wrong type" +msgstr "el argumento tiene un tipo erroneo" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" -msgstr "%q indices deben ser enteros, no %s" +msgid "argument num/types mismatch" +msgstr "argumento número/tipos no coinciden" -#: py/obj.c:425 -msgid "%q index out of range" -msgstr "%w indice fuera de rango" +msgid "argument should be a '%q' not a '%q'" +msgstr "argumento deberia ser un '%q' no un '%q'" -#: py/obj.c:457 -msgid "object has no len" -msgstr "el objeto no tiene longitud" +msgid "array/bytes required on right side" +msgstr "array/bytes requeridos en el lado derecho" -#: py/obj.c:460 -#, c-format -msgid "object of type '%s' has no len()" -msgstr "el objeto de tipo '%s' no tiene len()" +msgid "attributes not supported yet" +msgstr "atributos aún no soportados" -#: py/obj.c:500 -msgid "object does not support item deletion" -msgstr "object no soporta la eliminación de elementos" +msgid "bad GATT role" +msgstr "" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" -msgstr "objeto '%s' no soporta la eliminación de elementos" +msgid "bad compile mode" +msgstr "modo de compilación erroneo" -#: py/obj.c:507 -msgid "object is not subscriptable" -msgstr "el objeto no es suscriptable" +msgid "bad conversion specifier" +msgstr "especificador de conversion erroneo" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" -msgstr "el objeto '%s' no es suscriptable" +msgid "bad format string" +msgstr "formato de string erroneo" -#: py/obj.c:514 -msgid "object does not support item assignment" -msgstr "el objeto no soporta la asignación de elementos" +msgid "bad typecode" +msgstr "typecode erroneo" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" -msgstr "el objeto '%s' no soporta la asignación de elementos" +msgid "binary op %q not implemented" +msgstr "operacion binaria %q no implementada" -#: py/obj.c:548 -msgid "object with buffer protocol required" -msgstr "objeto con protocolo de buffer requerido" +msgid "bits must be 7, 8 or 9" +msgstr "bits deben ser 7, 8 o 9" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" -msgstr "solo se admiten segmentos con step=1 (alias None)" +msgid "bits must be 8" +msgstr "bits debe ser 8" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" -msgstr "lhs y rhs deben ser compatibles" +msgid "bits_per_sample must be 8 or 16" +msgstr "bits_per_sample debe ser 8 o 16" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" -msgstr "array/bytes requeridos en el lado derecho" +msgid "branch not in range" +msgstr "El argumento de chr() no esta en el rango(256)" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" -msgstr "no se puede hacer la división truncada de un número complejo" +#, c-format +msgid "buf is too small. need %d bytes" +msgstr "" -#: py/objcomplex.c:209 -msgid "complex division by zero" -msgstr "división compleja por cero" +msgid "buffer must be a bytes-like object" +msgstr "buffer debe de ser un objeto bytes-like" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "0.0 a una potencia compleja" +#, fuzzy +msgid "buffer size must match format" +msgstr "los buffers deben de tener la misma longitud" -#: py/objdeque.c:107 -msgid "full" -msgstr "lleno" +msgid "buffer slices must be of equal length" +msgstr "" -#: py/objdeque.c:127 -msgid "empty" -msgstr "vacío" +msgid "buffer too long" +msgstr "buffer demasiado largo" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "popitem(): diccionario vacío" +msgid "buffer too small" +msgstr "buffer demasiado pequeño" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" -msgstr "la secuencia de actualizacion del dict tiene una longitud incorrecta" +msgid "buffers must be the same length" +msgstr "los buffers deben de tener la misma longitud" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" -msgstr "valores complejos no soportados" +msgid "byte code not implemented" +msgstr "codigo byte no implementado" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -"no se puede enviar un valor que no sea None a un generador recién iniciado" -#: py/objgenerator.c:126 -msgid "generator already executing" -msgstr "generador ya se esta ejecutando" +msgid "bytes > 8 bits not supported" +msgstr "bytes > 8 bits no soportados" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" -msgstr "generador ignorado GeneratorExit" +msgid "bytes value out of range" +msgstr "valor de bytes fuera de rango" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" -msgstr "no se puede colgar al generador recién iniciado" +msgid "calibration is out of range" +msgstr "calibration esta fuera de rango" -#: py/objint.c:144 -msgid "can't convert inf to int" -msgstr "no se puede convertir inf en int" +msgid "calibration is read only" +msgstr "calibration es de solo lectura" -#: py/objint.c:146 -msgid "can't convert NaN to int" -msgstr "no se puede convertir Nan a int" +msgid "calibration value out of range +/-127" +msgstr "Valor de calibración fuera del rango +/-127" -#: py/objint.c:163 -msgid "float too big" -msgstr "" +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "solo puede tener hasta 4 parámetros para ensamblar Thumb" -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "long int no soportado en esta compilación" +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "solo puede tener hasta 4 parámetros para ensamblador Xtensa" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" -msgstr "pequeño int desbordamiento" +msgid "can only save bytecode" +msgstr "solo puede almacenar bytecode" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "potencia negativa sin float support" +msgid "can query only one param" +msgstr "puede consultar solo un param" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" -msgstr "ulonglong muy largo" +msgid "can't add special method to already-subclassed class" +msgstr "no se puede agregar un método a una clase ya subclasificada" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" -msgstr "cuenta negativa de turnos" +msgid "can't assign to expression" +msgstr "no se puede asignar a la expresión" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "pow() con 3 argumentos requiere enteros" +#, c-format +msgid "can't convert %s to complex" +msgstr "no se puede convertir %s a complejo" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" -msgstr "el 3er argumento de pow() no puede ser 0" +#, c-format +msgid "can't convert %s to float" +msgstr "no se puede convertir %s a float" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" -msgstr "desbordamiento convirtiendo long int a palabra de máquina" +#, c-format +msgid "can't convert %s to int" +msgstr "no se puede convertir %s a int" -#: py/objlist.c:274 -msgid "pop from empty list" -msgstr "pop desde una lista vacía" +msgid "can't convert '%q' object to %q implicitly" +msgstr "no se puede convertir el objeto '%q' a %q implícitamente" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" -msgstr "no se puede asignar el atributo" +msgid "can't convert NaN to int" +msgstr "no se puede convertir Nan a int" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "__new__ arg debe ser un user-type" +msgid "can't convert address to int" +msgstr "no se puede convertir address a int" -#: py/objrange.c:110 -msgid "zero step" -msgstr "paso cero" +msgid "can't convert inf to int" +msgstr "no se puede convertir inf en int" -#: py/objset.c:371 -msgid "pop from an empty set" -msgstr "pop desde un set vacío" +msgid "can't convert to complex" +msgstr "no se puede convertir a complejo" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "Length debe ser un int" +msgid "can't convert to float" +msgstr "no se puede convertir a float" -#: py/objslice.c:71 -msgid "Length must be non-negative" -msgstr "Longitud no deberia ser negativa" +msgid "can't convert to int" +msgstr "no se puede convertir a int" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" -msgstr "slice step no puede ser cero" +msgid "can't convert to str implicitly" +msgstr "no se puede convertir a str implícitamente" -#: py/objslice.c:159 -msgid "Cannot subclass slice" -msgstr "" +msgid "can't declare nonlocal in outer code" +msgstr "no se puede declarar nonlocal" -#: py/objstr.c:261 -msgid "bytes value out of range" -msgstr "valor de bytes fuera de rango" +msgid "can't delete expression" +msgstr "no se puede borrar la expresión" -#: py/objstr.c:270 -msgid "wrong number of arguments" -msgstr "numero erroneo de argumentos" +msgid "can't do binary op between '%q' and '%q'" +msgstr "no se puede hacer una operacion binaria entre '%q' y '%q'" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "address fuera de límites" +msgid "can't do truncated division of a complex number" +msgstr "no se puede hacer la división truncada de un número complejo" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" -msgstr "" -"join espera una lista de objetos str/bytes consistentes con el mismo objeto" +msgid "can't get AP config" +msgstr "no se puede obtener AP config" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" -msgstr "separator vacío" +msgid "can't get STA config" +msgstr "no se puede obtener STA config" -#: py/objstr.c:651 -msgid "rsplit(None,n)" -msgstr "rsplit(None,n)" +msgid "can't have multiple **x" +msgstr "no puede tener multiples *x" -#: py/objstr.c:723 -msgid "substring not found" -msgstr "substring no encontrado" +msgid "can't have multiple *x" +msgstr "no puede tener multiples *x" -#: py/objstr.c:780 -msgid "start/end indices" -msgstr "índices inicio/final" +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "no se puede convertir implícitamente '%q' a 'bool'" -#: py/objstr.c:941 -msgid "bad format string" -msgstr "formato de string erroneo" +msgid "can't load from '%q'" +msgstr "no se puede cargar desde '%q'" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" -msgstr "un solo '}' encontrado en format string" +msgid "can't load with '%q' index" +msgstr "no se puede cargar con el índice '%q'" -#: py/objstr.c:1002 -msgid "bad conversion specifier" -msgstr "especificador de conversion erroneo" +msgid "can't pend throw to just-started generator" +msgstr "no se puede colgar al generador recién iniciado" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" -msgstr "el final del formato mientras se busca el especificador de conversión" +msgid "can't send non-None value to a just-started generator" +msgstr "" +"no se puede enviar un valor que no sea None a un generador recién iniciado" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "especificador de conversión %c desconocido" +msgid "can't set AP config" +msgstr "no se puede establecer AP config" + +msgid "can't set STA config" +msgstr "no se puede establecer STA config" + +msgid "can't set attribute" +msgstr "no se puede asignar el atributo" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" -msgstr "No coinciden '{' en format" +msgid "can't store '%q'" +msgstr "no se puede almacenar '%q'" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" -msgstr "se espera ':' despues de un especificaro de tipo format" +msgid "can't store to '%q'" +msgstr "no se puede almacenar para '%q'" + +msgid "can't store with '%q' index" +msgstr "no se puede almacenar con el indice '%q'" -#: py/objstr.c:1060 msgid "" "can't switch from automatic field numbering to manual field specification" msgstr "" "no se puede cambiar de la numeración automática de campos a la " "especificación de campo manual" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "tuple index fuera de rango" - -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "atributos aún no soportados" - -#: py/objstr.c:1089 msgid "" "can't switch from manual field specification to automatic field numbering" msgstr "" "no se puede cambiar de especificación de campo manual a numeración " "automática de campos" -#: py/objstr.c:1181 -msgid "invalid format specifier" -msgstr "especificador de formato inválido" - -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" -msgstr "signo no permitido en el espeficador de string format" - -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" -msgstr "signo no permitido con el especificador integer format 'c'" - -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" -msgstr "codigo format desconocido '%c' para el typo de objeto '%s'" - -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" -msgstr "codigo format desconocido '%c' para el typo de objeto 'float'" +msgid "cannot create '%q' instances" +msgstr "no se pueden crear '%q' instancias" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" -msgstr "'=' alineación no permitida en el especificador string format" +msgid "cannot create instance" +msgstr "no se puede crear instancia" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" -msgstr "codigo format desconocido '%c' para objeto de tipo 'str'" +msgid "cannot import name %q" +msgstr "no se puede importar name '%q'" -#: py/objstr.c:1425 -msgid "format requires a dict" -msgstr "format requiere un dict" +msgid "cannot perform relative import" +msgstr "no se puedo realizar importación relativa" -#: py/objstr.c:1434 -msgid "incomplete format key" +msgid "casting" msgstr "" -#: py/objstr.c:1492 -msgid "incomplete format" -msgstr "formato incompleto" - -#: py/objstr.c:1500 -msgid "not enough arguments for format string" -msgstr "no suficientes argumentos para format string" +msgid "characteristics includes an object that is not a Characteristic" +msgstr "" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" -msgstr "%%c requiere int o char" +msgid "chars buffer too small" +msgstr "chars buffer muy pequeño" -#: py/objstr.c:1517 -msgid "integer required" -msgstr "Entero requerido" +msgid "chr() arg not in range(0x110000)" +msgstr "El argumento de chr() esta fuera de rango(0x110000)" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" -msgstr "carácter no soportado '%c' (0x%x) en índice %d" +msgid "chr() arg not in range(256)" +msgstr "El argumento de chr() no esta en el rango(256)" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -"no todos los argumentos fueron convertidos durante el formato de string" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" -msgstr "no se puede convertir a str implícitamente" +msgid "color buffer must be a buffer or int" +msgstr "color buffer deber ser un buffer o un int" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" -msgstr "no se puede convertir el objeto '%q' a %q implícitamente" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgstr "color buffer deberia ser un bytearray o array de tipo 'b' o 'B'" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" -msgstr "índices de string deben ser enteros, no %s" +msgid "color must be between 0x000000 and 0xffffff" +msgstr "color debe estar entre 0x000000 y 0xffffff" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" -msgstr "string index fuera de rango" +msgid "color should be an int" +msgstr "color deberia ser un int" -#: py/objtype.c:371 -msgid "__init__() should return None" -msgstr "__init__() deberia devolver None" +msgid "complex division by zero" +msgstr "división compleja por cero" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" -msgstr "__init__() deberia devolver None, no '%s'" +msgid "complex values not supported" +msgstr "valores complejos no soportados" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" -msgstr "atributo no legible" +msgid "compression header" +msgstr "encabezado de compresión" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" -msgstr "objeto no puede ser llamado" +msgid "constant must be an integer" +msgstr "constant debe ser un entero" -#: py/objtype.c:883 py/runtime.c:655 -#, c-format -msgid "'%s' object is not callable" -msgstr "objeto '%s' no puede ser llamado" +msgid "conversion to object" +msgstr "conversión a objeto" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" -msgstr "type acepta 1 o 3 argumentos" +msgid "decimal numbers not supported" +msgstr "números decimales no soportados" -#: py/objtype.c:1002 -msgid "cannot create instance" -msgstr "no se puede crear instancia" +msgid "default 'except' must be last" +msgstr "'except' por defecto deberia estar de último" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" -msgstr "no se pueden crear '%q' instancias" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgstr "" +"el buffer de destino debe ser un bytearray o array de tipo 'B' para " +"bit_depth = 8" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" -msgstr "no se puede agregar un método a una clase ya subclasificada" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgstr "el buffer de destino debe ser un array de tipo 'H' para bit_depth = 16" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" -msgstr "type no es un tipo de base aceptable" +msgid "destination_length must be an int >= 0" +msgstr "destination_length debe ser un int >= 0" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" -msgstr "type '%q' no es un tipo de base aceptable" +msgid "dict update sequence has wrong length" +msgstr "la secuencia de actualizacion del dict tiene una longitud incorrecta" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" -msgstr "herencia multiple no soportada" +msgid "division by zero" +msgstr "división por cero" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" -msgstr "" +msgid "either pos or kw args are allowed" +msgstr "ya sea pos o kw args son permitidos" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" -msgstr "primer argumento para super() debe ser de tipo" +msgid "empty" +msgstr "vacío" -#: py/objtype.c:1385 -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" +msgid "empty heap" +msgstr "heap vacío" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" -msgstr "issubclass() arg 1 debe ser una clase" +msgid "empty separator" +msgstr "separator vacío" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "constant debe ser un entero" +msgid "empty sequence" +msgstr "secuencia vacía" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "Incapaz de inicializar el parser" +msgid "end of format while looking for conversion specifier" +msgstr "el final del formato mientras se busca el especificador de conversión" -#: py/parse.c:1170 -msgid "unexpected indent" -msgstr "sangría inesperada" +#, fuzzy +msgid "end_x should be an int" +msgstr "y deberia ser un int" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" -msgstr "sangría no coincide con ningún nivel exterior" +#, c-format +msgid "error = 0x%08lX" +msgstr "error = 0x%08lx" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" -msgstr "int() arg 2 debe ser >= 2 y <= 36" +msgid "exceptions must derive from BaseException" +msgstr "las excepciones deben derivar de BaseException" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" -msgstr "sintaxis inválida para entero" +msgid "expected ':' after format specifier" +msgstr "se espera ':' despues de un especificaro de tipo format" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" -msgstr "sintaxis inválida para entero con base %d" +msgid "expected a DigitalInOut" +msgstr "se espera un DigitalInOut" -#: py/parsenum.c:339 -msgid "invalid syntax for number" -msgstr "sintaxis inválida para número" +msgid "expected tuple/list" +msgstr "tupla/lista esperada" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" -msgstr "números decimales no soportados" +msgid "expecting a dict for keyword args" +msgstr "esperando un diccionario para argumentos por palabra clave" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." -msgstr "" -"Archivo .mpy incompatible. Actualice todos los archivos .mpy. Consulte " -"http://adafru.it/mpy-update para más información" +msgid "expecting a pin" +msgstr "esperando un pin" -#: py/persistentcode.c:326 -msgid "can only save bytecode" -msgstr "solo puede almacenar bytecode" +msgid "expecting an assembler instruction" +msgstr "esperando una instrucción de ensamblador" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "name no definido" +msgid "expecting just a value for set" +msgstr "esperando solo un valor para set" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "name '%q' no esta definido" +msgid "expecting key:value for dict" +msgstr "esperando la clave:valor para dict" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "tipo de operador no soportado" +msgid "extra keyword arguments given" +msgstr "argumento(s) por palabra clave adicionales fueron dados" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "tipo no soportado para %q: '%s'" +msgid "extra positional arguments given" +msgstr "argumento posicional adicional dado" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "tipos no soportados para %q: '%s', '%s'" +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "numero erroneo de valores a descomprimir" +msgid "file must be a file opened in byte mode" +msgstr "el archivo deberia ser una archivo abierto en modo byte" -#: py/runtime.c:883 py/runtime.c:947 -#, c-format -msgid "need more than %d values to unpack" -msgstr "necesita más de %d valores para descomprimir" +msgid "filesystem must provide mount method" +msgstr "sistema de archivos debe proporcionar método de montaje" -#: py/runtime.c:890 -#, c-format -msgid "too many values to unpack (expected %d)" -msgstr "demasiados valores para descomprimir (%d esperado)" +msgid "first argument to super() must be type" +msgstr "primer argumento para super() debe ser de tipo" -#: py/runtime.c:984 -msgid "argument has wrong type" -msgstr "el argumento tiene un tipo erroneo" +msgid "firstbit must be MSB" +msgstr "firstbit debe ser MSB" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" -msgstr "argumento deberia ser un '%q' no un '%q'" +msgid "flash location must be below 1MByte" +msgstr "la ubicación de la flash debe estar debajo de 1MByte" + +msgid "float too big" +msgstr "" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" -msgstr "no hay tal atributo" +msgid "font must be 2048 bytes long" +msgstr "font debe ser 2048 bytes de largo" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" -msgstr "objeto de tipo '%q' no tiene atributo '%q'" +msgid "format requires a dict" +msgstr "format requiere un dict" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" -msgstr "objeto '%s' no tiene atributo '%q'" +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "la frecuencia solo puede ser 80MHz o 160MHz" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "objeto no iterable" +msgid "full" +msgstr "lleno" + +msgid "function does not take keyword arguments" +msgstr "la función no tiene argumentos por palabra clave" -#: py/runtime.c:1241 #, c-format -msgid "'%s' object is not iterable" -msgstr "objeto '%s' no es iterable" +msgid "function expected at most %d arguments, got %d" +msgstr "la función esperaba minimo %d argumentos, tiene %d" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "objeto no es un iterator" +msgid "function got multiple values for argument '%q'" +msgstr "la función tiene múltiples valores para el argumento '%q'" -#: py/runtime.c:1262 py/runtime.c:1298 #, c-format -msgid "'%s' object is not an iterator" -msgstr "objeto '%s' no es un iterator" +msgid "function missing %d required positional arguments" +msgstr "a la función le hacen falta %d argumentos posicionales requeridos" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "las excepciones deben derivar de BaseException" +msgid "function missing keyword-only argument" +msgstr "falta palabra clave para función" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "no se puede importar name '%q'" +msgid "function missing required keyword argument '%q'" +msgstr "la función requiere del argumento por palabra clave '%q'" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "la asignación de memoria falló, el heap está bloqueado" +#, c-format +msgid "function missing required positional argument #%d" +msgstr "la función requiere del argumento posicional #%d" -#: py/runtime.c:1539 #, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "la asignación de memoria falló, asignando %u bytes" +msgid "function takes %d positional arguments but %d were given" +msgstr "la función toma %d argumentos posicionales pero le fueron dados %d" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "profundidad máxima de recursión excedida" +msgid "function takes exactly 9 arguments" +msgstr "la función toma exactamente 9 argumentos." -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "objeto no en secuencia" +msgid "generator already executing" +msgstr "generador ya se esta ejecutando" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "operación stream no soportada" +msgid "generator ignored GeneratorExit" +msgstr "generador ignorado GeneratorExit" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" -msgstr "string no soportado; usa bytes o bytearray" +msgid "graphic must be 2048 bytes long" +msgstr "graphic debe ser 2048 bytes de largo" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "argumento length no permitido para este tipo" +msgid "heap must be a list" +msgstr "heap debe ser una lista" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "variable local referenciada antes de la asignación" +msgid "identifier redefined as global" +msgstr "identificador redefinido como global" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "exception no activa para reraise" +msgid "identifier redefined as nonlocal" +msgstr "identificador redefinido como nonlocal" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "codigo byte no implementado" +msgid "impossible baudrate" +msgstr "baudrate imposible" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" -msgstr "" +msgid "incomplete format" +msgstr "formato incompleto" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" +msgid "incomplete format key" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" -msgstr "" +msgid "incorrect padding" +msgstr "relleno (padding) incorrecto" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" -msgstr "" +msgid "index out of range" +msgstr "index fuera de rango" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" -msgstr "" +msgid "indices must be integers" +msgstr "indices deben ser enteros" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -#, fuzzy -msgid "Only slices with step=1 (aka None) are supported" -msgstr "solo se admiten segmentos con step=1 (alias None)" +msgid "inline assembler must be a function" +msgstr "ensamblador en línea debe ser una función" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -#, fuzzy -msgid "Range out of bounds" -msgstr "address fuera de límites" +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "int() arg 2 debe ser >= 2 y <= 36" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" -msgstr "" +msgid "integer required" +msgstr "Entero requerido" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" -msgstr "" +msgid "invalid I2C peripheral" +msgstr "periférico I2C inválido" -#: shared-bindings/_pixelbuf/__init__.c:112 -#, fuzzy -msgid "readonly attribute" -msgstr "atributo no legible" +msgid "invalid SPI peripheral" +msgstr "periférico SPI inválido" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "graphic debe ser 2048 bytes de largo" +msgid "invalid alarm" +msgstr "alarma inválida" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" -msgstr "palette debe ser 32 bytes de largo" +msgid "invalid arguments" +msgstr "argumentos inválidos" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" -msgstr "map buffer muy pequeño" +msgid "invalid buffer length" +msgstr "longitud de buffer inválida" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" -msgstr "font debe ser 2048 bytes de largo" +msgid "invalid cert" +msgstr "certificado inválido" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" -msgstr "chars buffer muy pequeño" +msgid "invalid data bits" +msgstr "data bits inválidos" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." -msgstr "AnalogOut es solo de 16 bits. Value debe ser menos a 65536." +msgid "invalid dupterm index" +msgstr "index dupterm inválido" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" -msgstr "" +msgid "invalid format" +msgstr "formato inválido" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." -msgstr "La profundidad de bits debe ser múltiplo de 8." +msgid "invalid format specifier" +msgstr "especificador de formato inválido" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." -msgstr "" +msgid "invalid key" +msgstr "llave inválida" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "" +msgid "invalid micropython decorator" +msgstr "decorador de micropython inválido" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "destination_length debe ser un int >= 0" +msgid "invalid pin" +msgstr "pin inválido" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "No se puede grabar en un archivo" +msgid "invalid step" +msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." -msgstr "Capacidad de destino es mas pequeña que destination_length." +msgid "invalid stop bits" +msgstr "stop bits inválidos" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" -msgstr "el buffer de destino debe ser un array de tipo 'H' para bit_depth = 16" +msgid "invalid syntax" +msgstr "sintaxis inválida" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" -msgstr "" -"el buffer de destino debe ser un bytearray o array de tipo 'B' para " -"bit_depth = 8" +msgid "invalid syntax for integer" +msgstr "sintaxis inválida para entero" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" -msgstr "Cuenta de voces inválida" +#, c-format +msgid "invalid syntax for integer with base %d" +msgstr "sintaxis inválida para entero con base %d" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" -msgstr "Cuenta de canales inválida" +msgid "invalid syntax for number" +msgstr "sintaxis inválida para número" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" -msgstr "Sample rate debe ser positivo" +msgid "issubclass() arg 1 must be a class" +msgstr "issubclass() arg 1 debe ser una clase" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" -msgstr "bits_per_sample debe ser 8 o 16" +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" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -"sample_source buffer debe ser un bytearray o un array de tipo 'h', 'H', 'b' " -"o'B'" +"join espera una lista de objetos str/bytes consistentes con el mismo objeto" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" -msgstr "buffer debe de ser un objeto bytes-like" +msgid "keyword argument(s) not yet implemented - use normal args instead" +msgstr "" +"argumento(s) por palabra clave aún no implementados - usa argumentos " +"normales en su lugar" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" -msgstr "el archivo deberia ser una archivo abierto en modo byte" +msgid "keywords must be strings" +msgstr "palabras clave deben ser strings" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "La función requiere lock" +msgid "label '%q' not defined" +msgstr "etiqueta '%q' no definida" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" -msgstr "Buffer debe ser de longitud 1 como minimo" +msgid "label redefined" +msgstr "etiqueta redefinida" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "Polaridad inválida" +msgid "len must be multiple of 4" +msgstr "len debe de ser múltiple de 4" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Fase inválida" +msgid "length argument not allowed for this type" +msgstr "argumento length no permitido para este tipo" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Numero inválido de bits" +msgid "lhs and rhs should be compatible" +msgstr "lhs y rhs deben ser compatibles" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" -msgstr "" +msgid "local '%q' has type '%q' but source is '%q'" +msgstr "la variable local '%q' tiene el tipo '%q' pero la fuente es '%q'" + +msgid "local '%q' used before type known" +msgstr "variable local '%q' usada antes del tipo conocido" + +msgid "local variable referenced before assignment" +msgstr "variable local referenciada antes de la asignación" + +msgid "long int not supported in this build" +msgstr "long int no soportado en esta compilación" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" -msgstr "" +msgid "map buffer too small" +msgstr "map buffer muy pequeño" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "palette debe ser 32 bytes de largo" +msgid "math domain error" +msgstr "error de dominio matemático" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -#, fuzzy -msgid "Expected a UUID" -msgstr "Se espera un %q" +msgid "maximum recursion depth exceeded" +msgstr "profundidad máxima de recursión excedida" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "No se puede conectar a AP" +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "la asignación de memoria falló, asignando %u bytes" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -#, fuzzy -msgid "timeout must be >= 0.0" -msgstr "bits debe ser 8" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "falló la asignación de memoria, asignando %u bytes para código nativo" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -#, fuzzy -msgid "%q must be >= 1" -msgstr "los buffers deben de tener la misma longitud" +msgid "memory allocation failed, heap is locked" +msgstr "la asignación de memoria falló, el heap está bloqueado" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -#, fuzzy -msgid "Expected a Characteristic" -msgstr "No se puede agregar la Característica." +msgid "module not found" +msgstr "módulo no encontrado" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "" +msgid "multiple *x in assignment" +msgstr "múltiples *x en la asignación" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" -msgstr "No se pueden agregar servicio en modo Central" +msgid "multiple inheritance not supported" +msgstr "herencia multiple no soportada" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" -msgstr "No se puede conectar en modo Peripheral" +msgid "must raise an object" +msgstr "debe hacer un raise de un objeto" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" -msgstr "No se puede cambiar el nombre en modo Central" +msgid "must specify all of sck/mosi/miso" +msgstr "se deben de especificar sck/mosi/miso" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" -msgstr "" +msgid "must use keyword argument for key function" +msgstr "debe utilizar argumento de palabra clave para la función clave" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" -msgstr "" +msgid "name '%q' is not defined" +msgstr "name '%q' no esta definido" -#: shared-bindings/bleio/Peripheral.c:119 #, fuzzy msgid "name must be a string" msgstr "palabras clave deben ser strings" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" +msgid "name not defined" +msgstr "name no definido" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" +msgid "name reused for argument" +msgstr "nombre reusado para argumento" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" +msgid "native yield" msgstr "" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +#, c-format +msgid "need more than %d values to unpack" +msgstr "necesita más de %d valores para descomprimir" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgid "negative power with no float support" +msgstr "potencia negativa sin float support" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "buffer debe de ser un objeto bytes-like" +msgid "negative shift count" +msgstr "cuenta negativa de turnos" -#: shared-bindings/bleio/UUID.c:151 -msgid "not a 128-bit UUID" -msgstr "" +msgid "no active exception to reraise" +msgstr "exception no activa para reraise" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." -msgstr "La función requiere lock" +msgid "no available NIC" +msgstr "NIC no disponible" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" -msgstr "bits deben ser 7, 8 o 9" +msgid "no binding for nonlocal found" +msgstr "no se ha encontrado ningún enlace para nonlocal" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" -msgstr "stop debe ser 1 o 2" +msgid "no module named '%q'" +msgstr "ningún módulo se llama '%q'" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "" +msgid "no such attribute" +msgstr "no hay tal atributo" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." -msgstr "Dirección inválida." +msgid "non-default argument follows default argument" +msgstr "argumento no predeterminado sigue argumento predeterminado" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." -msgstr "No se puede asignar un valor cuando la dirección es input." +msgid "non-hex digit found" +msgstr "digito non-hex encontrado" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." -msgstr "Modo Drive no se usa cuando la dirección es input." +msgid "non-keyword arg after */**" +msgstr "no deberia estar/tener agumento por palabra clave despues de */**" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." -msgstr "Pull no se usa cuando la dirección es output." +msgid "non-keyword arg after keyword arg" +msgstr "" +"no deberia estar/tener agumento por palabra clave despues de argumento por " +"palabra clave" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." -msgstr "valor pull no soportado." +msgid "not a 128-bit UUID" +msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "No se puede eliminar valores" +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "no es un canal ADC válido: %d" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" +msgid "not all arguments converted during string formatting" msgstr "" +"no todos los argumentos fueron convertidos durante el formato de string" -#: shared-bindings/displayio/Bitmap.c:156 -#, fuzzy -msgid "pixel coordinates out of bounds" -msgstr "address fuera de límites" +msgid "not enough arguments for format string" +msgstr "no suficientes argumentos para format string" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" -msgstr "" +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "el objeto '%s' no es una tupla o lista" -#: shared-bindings/displayio/BuiltinFont.c:93 -#, fuzzy -msgid "%q should be an int" -msgstr "y deberia ser un int" +msgid "object does not support item assignment" +msgstr "el objeto no soporta la asignación de elementos" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" -msgstr "color deberia ser un int" +msgid "object does not support item deletion" +msgstr "object no soporta la eliminación de elementos" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgid "object has no len" +msgstr "el objeto no tiene longitud" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" -msgstr "" +msgid "object is not subscriptable" +msgstr "el objeto no es suscriptable" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." -msgstr "" +msgid "object not an iterator" +msgstr "objeto no es un iterator" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" -msgstr "" +msgid "object not callable" +msgstr "objeto no puede ser llamado" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" -msgstr "" +msgid "object not in sequence" +msgstr "objeto no en secuencia" + +msgid "object not iterable" +msgstr "objeto no iterable" + +#, c-format +msgid "object of type '%s' has no len()" +msgstr "el objeto de tipo '%s' no tiene len()" + +msgid "object with buffer protocol required" +msgstr "objeto con protocolo de buffer requerido" + +msgid "odd-length string" +msgstr "string de longitud impar" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 #, fuzzy -msgid "Command must be an int between 0 and 255" -msgstr "Bytes debe estar entre 0 y 255." +msgid "offset out of bounds" +msgstr "address fuera de límites" -#: shared-bindings/displayio/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" -msgstr "color buffer deberia ser un bytearray o array de tipo 'b' o 'B'" +msgid "only slices with step=1 (aka None) are supported" +msgstr "solo se admiten segmentos con step=1 (alias None)" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" -msgstr "" +msgid "ord expects a character" +msgstr "ord espera un carácter" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" -msgstr "color debe estar entre 0x000000 y 0xffffff" +#, c-format +msgid "ord() expected a character, but string of length %d found" +msgstr "ord() espera un carácter, pero encontró un string de longitud %d" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" -msgstr "color buffer deber ser un buffer o un int" +msgid "overflow converting long int to machine word" +msgstr "desbordamiento convirtiendo long int a palabra de máquina" + +msgid "palette must be 32 bytes long" +msgstr "palette debe ser 32 bytes de largo" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 msgid "palette_index should be an int" msgstr "palette_index deberia ser un int" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" -msgstr "y deberia ser un int" - -#: shared-bindings/displayio/Shape.c:101 -#, fuzzy -msgid "start_x should be an int" -msgstr "y deberia ser un int" +msgid "parameter annotation must be an identifier" +msgstr "parámetro de anotación debe ser un identificador" -#: shared-bindings/displayio/Shape.c:105 -#, fuzzy -msgid "end_x should be an int" -msgstr "y deberia ser un int" +msgid "parameters must be registers in sequence a2 to a5" +msgstr "los parámetros deben ser registros en secuencia de a2 a a5" -#: shared-bindings/displayio/TileGrid.c:49 -msgid "position must be 2-tuple" -msgstr "posición debe ser 2-tuple" +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/TileGrid.c:115 -msgid "unsupported bitmap type" -msgstr "tipo de bitmap no soportado" +msgid "pin does not have IRQ capabilities" +msgstr "pin sin capacidades IRQ" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" -msgstr "" +#, fuzzy +msgid "pixel coordinates out of bounds" +msgstr "address fuera de límites" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "pixel_shader debe ser displayio.Palette o displayio.ColorConverter" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "muchos argumentos" - -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" -msgstr "se espera un DigitalInOut" - -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" -msgstr "no se puede convertir address a int" +msgid "pop from an empty PulseIn" +msgstr "pop de un PulseIn vacío" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" -msgstr "address fuera de límites" +msgid "pop from an empty set" +msgstr "pop desde un set vacío" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" -msgstr "addresses esta vacío" +msgid "pop from empty list" +msgstr "pop desde una lista vacía" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" -msgstr "Se espera un %q" +msgid "popitem(): dictionary is empty" +msgstr "popitem(): diccionario vacío" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q está siendo utilizado" +msgid "position must be 2-tuple" +msgstr "posición debe ser 2-tuple" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." -msgstr "Modo de ejecución inválido." +msgid "pow() 3rd argument cannot be 0" +msgstr "el 3er argumento de pow() no puede ser 0" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." -msgstr "A Stream le falta el método readinto() o write()." +msgid "pow() with 3 arguments requires integers" +msgstr "pow() con 3 argumentos requiere enteros" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "queue overflow" +msgstr "desbordamiento de cola(queue)" + +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." -msgstr "Valores del array deben ser bytes individuales." +#, fuzzy +msgid "readonly attribute" +msgstr "atributo no legible" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Imposible escribir en nvm" +msgid "relative import" +msgstr "import relativo" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "Bytes debe estar entre 0 y 255." +#, c-format +msgid "requested length %d but object has length %d" +msgstr "longitud solicitada %d pero el objeto tiene longitud %d" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" -msgstr "No hay hardware random disponible" +msgid "return annotation must be an identifier" +msgstr "la anotación de retorno debe ser un identificador" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Todos los timers para este pin están siendo utilizados" +msgid "return expected '%q' but got '%q'" +msgstr "retorno esperado '%q' pero se obtuvo '%q'" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "" +msgid "row must be packed and word aligned" +msgstr "la fila debe estar empacada y la palabra alineada" + +msgid "rsplit(None,n)" +msgstr "rsplit(None,n)" -#: shared-bindings/pulseio/PWMOut.c:202 msgid "" -"PWM frequency not writable when variable_frequency is False on construction." +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" msgstr "" +"sample_source buffer debe ser un bytearray o un array de tipo 'h', 'H', 'b' " +"o'B'" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" -msgstr "Solo-lectura" +msgid "sampling rate out of range" +msgstr "frecuencia de muestreo fuera de rango" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" -msgstr "" +msgid "scan failed" +msgstr "scan ha fallado" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" +msgid "schedule stack full" msgstr "" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" -msgstr "" +msgid "script compilation not supported" +msgstr "script de compilación no soportado" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "secuencia vacía" +msgid "sign not allowed in string format specifier" +msgstr "signo no permitido en el espeficador de string format" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "RTC no soportado en esta placa" +msgid "sign not allowed with integer format specifier 'c'" +msgstr "signo no permitido con el especificador integer format 'c'" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "Calibración de RTC no es soportada en esta placa" +msgid "single '}' encountered in format string" +msgstr "un solo '}' encontrado en format string" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" -msgstr "NIC no disponible" +msgid "sleep length must be non-negative" +msgstr "la longitud de sleep no puede ser negativa" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "sistema de archivos debe proporcionar método de montaje" +msgid "slice step cannot be zero" +msgstr "slice step no puede ser cero" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "Brightness debe estar entro 0 y 255" +msgid "small int overflow" +msgstr "pequeño int desbordamiento" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "" +msgid "soft reboot\n" +msgstr "reinicio suave\n" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" -msgstr "la longitud de sleep no puede ser negativa" +msgid "start/end indices" +msgstr "índices inicio/final" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() acepta exactamente 1 argumento" +#, fuzzy +msgid "start_x should be an int" +msgstr "y deberia ser un int" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" +msgid "step must be non-zero" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" -msgstr "Argumento tuple o struct_time requerido" - -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" -msgstr "la función toma exactamente 9 argumentos." +msgid "stop must be 1 or 2" +msgstr "stop debe ser 1 o 2" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" +msgid "stop not reachable from start" msgstr "" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" -msgstr "" +msgid "stream operation not supported" +msgstr "operación stream no soportada" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." -msgstr "" -"El objeto se ha desinicializado y ya no se puede utilizar. Crea un nuevo " -"objeto" +msgid "string index out of range" +msgstr "string index fuera de rango" -#: shared-module/_pixelbuf/PixelBuf.c:69 #, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "" +msgid "string indices must be integers, not %s" +msgstr "índices de string deben ser enteros, no %s" -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" -msgstr "No se pudo asignar el primer buffer" +msgid "string not supported; use bytes or bytearray" +msgstr "string no soportado; usa bytes o bytearray" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" -msgstr "No se pudo asignar el segundo buffer" +msgid "struct: cannot index" +msgstr "struct: no se puede indexar" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" -msgstr "Index de voz demasiado alto" +msgid "struct: index out of range" +msgstr "struct: index fuera de rango" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" -msgstr "El sample rate del sample no iguala al del mixer" +msgid "struct: no fields" +msgstr "struct: sin campos" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" -msgstr "La cuenta de canales del sample no iguala a las del mixer" +msgid "substring not found" +msgstr "substring no encontrado" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" -msgstr "Los bits_per_sample del sample no igualan a los del mixer" +msgid "super() can't find self" +msgstr "super() no puede encontrar self" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" -msgstr "El signo del sample no iguala al del mixer" +msgid "syntax error in JSON" +msgstr "error de sintaxis en JSON" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" -msgstr "Archivo wave inválido" +msgid "syntax error in uctypes descriptor" +msgstr "error de sintaxis en el descriptor uctypes" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" +msgid "threshold must be in the range 0-65536" msgstr "" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" -msgstr "Formato no soportado" +msgid "time.struct_time() takes a 9-sequence" +msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" +msgid "time.struct_time() takes exactly 1 argument" +msgstr "time.struct_time() acepta exactamente 1 argumento" + +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" -msgstr "Archivo inválido" +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "bits debe ser 8" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" +msgid "timestamp out of range for platform time_t" msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "Clock pin init fallido" +msgid "too many arguments" +msgstr "muchos argumentos" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." -msgstr "MOSI pin init fallido." +msgid "too many arguments provided with the given format" +msgstr "demasiados argumentos provistos con el formato dado" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." -msgstr "MISO pin init fallido." +#, c-format +msgid "too many values to unpack (expected %d)" +msgstr "demasiados valores para descomprimir (%d esperado)" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "No se puede escribir sin pin MOSI." +msgid "tuple index out of range" +msgstr "tuple index fuera de rango" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." -msgstr "No se puede leer sin pin MISO." +msgid "tuple/list has wrong length" +msgstr "tupla/lista tiene una longitud incorrecta" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." -msgstr "No se puede transferir sin pines MOSI y MISO." +msgid "tuple/list required on RHS" +msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" -msgstr "Solo se admiten bit maps de color de 8 bits o menos" +msgid "tx and rx cannot both be None" +msgstr "Ambos tx y rx no pueden ser None" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" -msgstr "la fila debe estar empacada y la palabra alineada" +msgid "type '%q' is not an acceptable base type" +msgstr "type '%q' no es un tipo de base aceptable" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Solo-lectura" +msgid "type is not an acceptable base type" +msgstr "type no es un tipo de base aceptable" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "tipo de bitmap no soportado" +msgid "type object '%q' has no attribute '%q'" +msgstr "objeto de tipo '%q' no tiene atributo '%q'" -#: shared-module/displayio/Group.c:66 -msgid "Group full" -msgstr "Group lleno" +msgid "type takes 1 or 3 arguments" +msgstr "type acepta 1 o 3 argumentos" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "ulonglong too large" +msgstr "ulonglong muy largo" + +msgid "unary op %q not implemented" +msgstr "Operación unica %q no implementada" + +msgid "unexpected indent" +msgstr "sangría inesperada" + +msgid "unexpected keyword argument" +msgstr "argumento por palabra clave inesperado" + +msgid "unexpected keyword argument '%q'" +msgstr "argumento por palabra clave inesperado '%q'" + +msgid "unicode name escapes" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" -msgstr "Archivo BMP inválido" +msgid "unindent does not match any outer indentation level" +msgstr "sangría no coincide con ningún nivel exterior" + +msgid "unknown config param" +msgstr "parámetro config desconocido" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Solo formato Windows, BMP sin comprimir soportado %d" +msgid "unknown conversion specifier %c" +msgstr "especificador de conversión %c desconocido" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" - -#: shared-module/displayio/Shape.c:60 -#, fuzzy -msgid "y value out of bounds" -msgstr "address fuera de límites" +msgid "unknown format code '%c' for object of type '%s'" +msgstr "codigo format desconocido '%c' para el typo de objeto '%s'" -#: shared-module/displayio/Shape.c:63 -#, fuzzy -msgid "x value out of bounds" -msgstr "address fuera de límites" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" +msgstr "codigo format desconocido '%c' para el typo de objeto 'float'" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" -msgstr "" +msgid "unknown format code '%c' for object of type 'str'" +msgstr "codigo format desconocido '%c' para objeto de tipo 'str'" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "No se puede volver a montar '/' cuando el USB esta activo." +msgid "unknown status param" +msgstr "status param desconocido" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" -msgstr "'S' y 'O' no son compatibles con los tipos de formato" +msgid "unknown type" +msgstr "tipo desconocido" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" -msgstr "demasiados argumentos provistos con el formato dado" +msgid "unknown type '%q'" +msgstr "tipo desconocido '%q'" -#: shared-module/struct/__init__.c:179 -#, fuzzy -msgid "buffer size must match format" -msgstr "los buffers deben de tener la misma longitud" +msgid "unmatched '{' in format" +msgstr "No coinciden '{' en format" + +msgid "unreadable attribute" +msgstr "atributo no legible" -#: shared-module/usb_hid/Device.c:45 #, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Tamaño de buffer incorrecto. Debe ser de %d bytes." +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "instrucción de tipo Thumb no admitida '%s' con %d argumentos" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "USB ocupado" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "instrucción Xtensa '%s' con %d argumentos no soportada" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "Error USB" +msgid "unsupported bitmap type" +msgstr "tipo de bitmap no soportado" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Sin bus I2C por defecto" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" +msgstr "carácter no soportado '%c' (0x%x) en índice %d" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Sin bus SPI por defecto" +msgid "unsupported type for %q: '%s'" +msgstr "tipo no soportado para %q: '%s'" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Sin bus UART por defecto" +msgid "unsupported type for operator" +msgstr "tipo de operador no soportado" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Solicitaste iniciar en modo seguro por " +msgid "unsupported types for %q: '%s', '%s'" +msgstr "tipos no soportados para %q: '%s', '%s'" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Para salir, por favor reinicia la tarjeta sin " +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() ha fallado" -#: supervisor/shared/safe_mode.c:107 -#, fuzzy -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +msgid "write_args must be a list, tuple, or None" msgstr "" -"Estás ejecutando en modo seguro, lo cual significa que algo realmente malo " -"ha sucedido.\n" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" -msgstr "" -"Parece que nuestro código de CircuitPython ha fallado con fuerza. Whoops!\n" -"Por favor, crea un issue en https://github.com/adafruit/circuitpython/" -"issues\n" -" con el contenido de su unidad CIRCUITPY y este mensaje:\n" +msgid "wrong number of arguments" +msgstr "numero erroneo de argumentos" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" -msgstr "" +msgid "wrong number of values to unpack" +msgstr "numero erroneo de valores a descomprimir" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" -msgstr "" +#, fuzzy +msgid "x value out of bounds" +msgstr "address fuera de límites" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "MicroPython fatal error.\n" +msgid "y should be an int" +msgstr "y deberia ser un int" -#: supervisor/shared/safe_mode.c:118 #, fuzzy -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" -msgstr "" -"La alimentación del microcontrolador cayó. Por favor asegurate de que tu " -"fuente de alimentación provee\n" -"suficiente energia para todo el circuito y presiona el botón de reset " -"(despuesde expulsar CIRCUITPY).\n" +msgid "y value out of bounds" +msgstr "address fuera de límites" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" +msgid "zero step" +msgstr "paso cero" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" -"El botón reset fue presionado mientras arrancaba CircuitPython. Presiona " -"otra vez para salir del modo seguro.\n" +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Todos los periféricos PWM en uso" -#~ msgid "Not enough pins available" -#~ msgstr "No hay suficientes pines disponibles" +#~ msgid "Baud rate too high for this SPI peripheral" +#~ msgstr "Baud rate demasiado alto para este periférico SPI" -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART no disponible" +#~ msgid "Can encode UUID into the advertisement packet." +#~ msgstr "Se puede codificar el UUID en el paquete de anuncio." + +#~ msgid "Can not add Service." +#~ msgstr "No se puede agregar el Servicio." #~ msgid "Can not apply advertisement data. status: 0x%02x" #~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x" -#, fuzzy -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Por favor registra un issue en la siguiente URL con el contenidos de tu " -#~ "unidad de almacenamiento CIRCUITPY:\n" - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "No se pueden establecer los parámetros PPCP." - #~ msgid "Can not apply device name in the stack." #~ msgstr "No se puede aplicar el nombre del dispositivo en el stack." +#~ msgid "Can not encode UUID, to check length." +#~ msgstr "No se puede codificar el UUID, para revisar la longitud." + +#~ msgid "Can not query for the device address." +#~ msgstr "No se puede consultar la dirección del dispositivo." + #~ msgid "Cannot apply GAP parameters." #~ msgstr "No se pueden aplicar los parámetros GAP." -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Numero erroneo de bytes dados" +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "No se pueden establecer los parámetros PPCP." -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "No se puede codificar el UUID, para revisar la longitud." +#~ msgid "Group empty" +#~ msgstr "Group vacío" #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Falló la asignación del buffer RX de %d bytes" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "suficiente poder para todo el circuito y presiona reset (después de " -#~ "expulsar CIRCUITPY).\n" +#~ msgid "Group must have %q at least 1" +#~ msgstr "Group debe tener size de minimo 1" -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio todavia esta en desarrollo" +#~ msgid "Invalid Service type" +#~ msgstr "Tipo de Servicio inválido" -#~ msgid "Can not add Service." -#~ msgstr "No se puede agregar el Servicio." +#~ msgid "Invalid UUID parameter" +#~ msgstr "Parámetro UUID inválido" #~ msgid "Invalid UUID string length" #~ msgstr "Longitud de string UUID inválida" -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de Servicio inválido" +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n" -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Se puede codificar el UUID en el paquete de anuncio." +#~ msgid "Not enough pins available" +#~ msgstr "No hay suficientes pines disponibles" + +#, fuzzy +#~ msgid "" +#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" +#~ msgstr "" +#~ "Por favor registra un issue en la siguiente URL con el contenidos de tu " +#~ "unidad de almacenamiento CIRCUITPY:\n" #~ msgid "Wrong address length" #~ msgstr "Longitud de address erronea" -#~ msgid "Group empty" -#~ msgstr "Group vacío" +#~ msgid "Wrong number of bytes provided" +#~ msgstr "Numero erroneo de bytes dados" -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n" +#, fuzzy +#~ msgid "buffer_size must be >= 1" +#~ msgstr "los buffers deben de tener la misma longitud" -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Todos los periféricos PWM en uso" +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART no disponible" -#~ msgid "Can not query for the device address." -#~ msgstr "No se puede consultar la dirección del dispositivo." +#~ msgid "displayio is a work in progress" +#~ msgstr "displayio todavia esta en desarrollo" + +#~ msgid "" +#~ "enough power for the whole circuit and press reset (after ejecting " +#~ "CIRCUITPY).\n" +#~ msgstr "" +#~ "suficiente poder para todo el circuito y presiona reset (después de " +#~ "expulsar CIRCUITPY).\n" #~ msgid "index must be int" #~ msgstr "indice debe ser int" -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "palabras clave deben ser strings" - -#~ msgid "row data must be a buffer" -#~ msgstr "row data debe ser un buffer" - #~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" #~ msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parámetro UUID inválido" - -#~ msgid "Baud rate too high for this SPI peripheral" -#~ msgstr "Baud rate demasiado alto para este periférico SPI" +#~ msgid "row data must be a buffer" +#~ msgstr "row data debe ser un buffer" #, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Group debe tener size de minimo 1" +#~ msgid "unicode_characters must be a string" +#~ msgstr "palabras clave deben ser strings" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "los buffers deben de tener la misma longitud" +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Falló la asignación del buffer RX de %d bytes" diff --git a/locale/fil.po b/locale/fil.po index ce192f4e11a0..722e15da598a 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -17,2972 +17,2252 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "maling I2C peripheral" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "Hindi supportado ang operasyong I2C" +msgid " File \"%q\"" +msgstr " File \"%q\"" + +msgid " File \"%q\", line %d" +msgstr " File \"%q\", line %d" + +msgid " output:\n" +msgstr " output:\n" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 #, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "address %08x ay hindi pantay sa %d bytes" +msgid "%%c requires int or char" +msgstr "%%c nangangailangan ng int o char" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "hindi wastong SPI peripheral" +msgid "%q in use" +msgstr "%q ay ginagamit" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" -msgstr "ang buffers ay dapat parehas sa haba" +msgid "%q index out of range" +msgstr "%q indeks wala sa sakop" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "bits ay dapat walo (8)" +msgid "%q indices must be integers, not %s" +msgstr "%q indeks ay dapat integers, hindi %s" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "firstbit ay dapat MSB" +#, fuzzy +msgid "%q must be >= 1" +msgstr "aarehas na haba dapat ang buffer slices" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" +#, fuzzy +msgid "%q should be an int" +msgstr "y ay dapat int" -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "hindi wastong pag-format" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "" +"Ang %q() ay kumukuha ng %d positional arguments pero %d lang ang binigay" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "a bytes-like object ay kailangan" +msgid "'%q' argument required" +msgstr "'%q' argument kailangan" -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "odd-length string" +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' umaasa ng label" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "non-hex digit nahanap" +#, c-format +msgid "'%s' expects a register" +msgstr "Inaasahan ng '%s' ang isang rehistro" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "mali ang padding" +#, c-format +msgid "'%s' expects a special register" +msgstr "Inaasahan ng '%s' ang isang espesyal na register" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "may pagkakamali sa sintaks sa uctypes descriptor" +#, c-format +msgid "'%s' expects an FPU register" +msgstr "Inaasahan ng '%s' ang isang FPU register" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" +#, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "Inaasahan ng '%s' ang isang address sa [a, b]" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: walang fields" +#, c-format +msgid "'%s' expects an integer" +msgstr "Inaasahan ng '%s' ang isang integer" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: hindi ma-index" +#, c-format +msgid "'%s' expects at most r%d" +msgstr "Inaasahan ng '%s' ang hangang r%d" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: index hindi maabot" +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "Inaasahan ng '%s' ay {r0, r1, …}" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "list dapat ang heap" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "'%s' integer %d ay wala sa sakop ng %d..%d" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "walang laman ang heap" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "'%s' integer 0x%x ay wala sa mask na sakop ng 0x%x" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "sintaks error sa JSON" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "'%s' object hindi sumusuporta ng item assignment" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" -msgstr "Binibiyak gamit ang sub-captures" +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "'%s' object ay hindi sumusuporta sa pagtanggal ng item" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "May pagkakamali sa REGEX" +msgid "'%s' object has no attribute '%q'" +msgstr "'%s' object ay walang attribute '%q'" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "mali ang key" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "'%s' object ay hindi iterator" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "mali ang cert" +#, c-format +msgid "'%s' object is not callable" +msgstr "'%s' object hindi matatawag" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "puno na ang pila (overflow)" +#, c-format +msgid "'%s' object is not iterable" +msgstr "'%s' object ay hindi ma i-iterable" -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "compression header" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "'%s' object ay hindi maaaring i-subscript" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "mali ang dupterm index" +msgid "'=' alignment not allowed in string format specifier" +msgstr "'=' Gindi pinapayagan ang alignment sa pag specify ng string format" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Basahin-lamang mode" +msgid "'S' and 'O' are not supported format types" +msgstr "Ang 'S' at 'O' ay hindi suportadong uri ng format" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "I/O operasyon sa saradong file" +msgid "'align' requires 1 argument" +msgstr "'align' kailangan ng 1 argument" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() tinawag" +msgid "'await' outside function" +msgstr "'await' sa labas ng function" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "mali ang mga argumento" +msgid "'break' outside loop" +msgstr "'break' sa labas ng loop" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "script kompilasyon hindi supportado" +msgid "'continue' outside loop" +msgstr "'continue' sa labas ng loop" -#: main.c:152 -msgid " output:\n" -msgstr " output:\n" +msgid "'data' requires at least 2 arguments" +msgstr "'data' kailangan ng hindi bababa sa 2 argument" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" -msgstr "" -"Ang awtomatikong pag re-reload ay ON. i-save lamang ang mga files sa USB " -"para patakbuhin sila o pasukin ang REPL para i-disable ito.\n" +msgid "'data' requires integer arguments" +msgstr "'data' kailangan ng integer arguments" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n" +msgid "'label' requires 1 argument" +msgstr "'label' kailangan ng 1 argument" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "Awtomatikong pag re-reload ay OFF.\n" +msgid "'return' outside function" +msgstr "'return' sa labas ng function" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n" +msgid "'yield' outside function" +msgstr "'yield' sa labas ng function" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "BABALA: Ang pangalan ng file ay may dalawang extension\n" +msgid "*x must be assignment target" +msgstr "*x ay dapat na assignment target" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" -msgstr "" +msgid ", in %q\n" +msgstr ", sa %q\n" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "0.0 to a complex power" +msgstr "0.0 para sa complex power" + +msgid "3-arg pow() not supported" +msgstr "3-arg pow() hindi suportado" + +msgid "A hardware interrupt channel is already in use" +msgstr "Isang channel ng hardware interrupt ay ginagamit na" + +msgid "AP required" +msgstr "AP kailangan" + +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -"Pindutin ang anumang key upang pumasok sa REPL. Gamitin ang CTRL-D upang i-" -"reload." -#: main.c:422 -msgid "soft reboot\n" -msgstr "malambot na reboot\n" +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "ang palette ay dapat 32 bytes ang haba" + +msgid "All I2C peripherals are in use" +msgstr "Lahat ng I2C peripherals ginagamit" + +msgid "All SPI peripherals are in use" +msgstr "Lahat ng SPI peripherals ay ginagamit" + +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Lahat ng I2C peripherals ginagamit" + +msgid "All event channels in use" +msgstr "Lahat ng event channels ginagamit" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 msgid "All sync event channels in use" msgstr "Lahat ng sync event channels ay ginagamit" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "pagkakalibrate ay basahin lamang" +msgid "All timers for this pin are in use" +msgstr "Lahat ng timers para sa pin na ito ay ginagamit" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "kalibrasion ay wala sa sakop" +msgid "All timers in use" +msgstr "Lahat ng timer ginagamit" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "Ang pin ay walang kakayahan sa ADC" +msgid "AnalogOut functionality not supported" +msgstr "Hindi supportado ang AnalogOut" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Walang DAC sa chip" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "AnalogOut ay 16 bits. Value ay dapat hindi hihigit pa sa 65536." -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 msgid "AnalogOut not supported on given pin" msgstr "Hindi supportado ang AnalogOut sa ibinigay na pin" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Mali ang bit clock pin" +msgid "Another send is already active" +msgstr "Isa pang send ay aktibo na" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "Ang bit clock at word select dapat makibahagi sa isang clock unit" +msgid "Array must contain halfwords (type 'H')" +msgstr "May halfwords (type 'H') dapat ang array" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Mali ang data pin" +msgid "Array values should be single bytes." +msgstr "Array values ay dapat single bytes." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer ginagamit" +msgid "Auto-reload is off.\n" +msgstr "Awtomatikong pag re-reload ay OFF.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Clock unit ginagamit" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"Ang awtomatikong pag re-reload ay ON. i-save lamang ang mga files sa USB " +"para patakbuhin sila o pasukin ang REPL para i-disable ito.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Hindi mahanap ang libreng GCLK" +msgid "Bit clock and word select must share a clock unit" +msgstr "Ang bit clock at word select dapat makibahagi sa isang clock unit" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Sobra ang channels sa sample." +msgid "Bit depth must be multiple of 8." +msgstr "Bit depth ay dapat multiple ng 8." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "Walang DMA channel na mahanap" +msgid "Both pins must support hardware interrupts" +msgstr "Ang parehong mga pin ay dapat na sumusuporta sa hardware interrupts" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Hindi ma-allocate ang buffers para sa naka-sign na conversion" +msgid "Brightness must be between 0 and 255" +msgstr "Ang liwanag ay dapat sa gitna ng 0 o 255" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Mali ang clock pin" +msgid "Brightness not adjustable" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " -msgstr "Tanging 8 o 16 na bit mono na may " +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Mali ang size ng buffer. Dapat %d bytes." -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "pagpili ng rate wala sa sakop" +msgid "Buffer must be at least length 1" +msgstr "Buffer dapat ay hindi baba sa 1 na haba" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +#, fuzzy, c-format +msgid "Bus pin %d is already in use" msgstr "Ginagamit na ang DAC" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Hindi supportado ang kanang channel" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Mali ang pin" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Mali ang pin para sa kaliwang channel" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Mali ang pin para sa kanang channel" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" -msgstr "Hindi maaaring output ang mga parehong channel sa parehong pin" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "buffer ay dapat bytes-like object" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Lahat ng timer ginagamit" +msgid "Bytes must be between 0 and 255." +msgstr "Sa gitna ng 0 o 255 dapat ang bytes." -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Lahat ng event channels ginagamit" +msgid "C-level assert" +msgstr "C-level assert" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Sample rate ay masyadong mataas. Ito ay dapat hindi hiigit sa %d" - -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Mali ang pins" - -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "Kailangan ng pull up resistors ang SDA o SCL" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "Hindi supportadong baudrate" +msgid "Can't add services in Central mode" +msgstr "Hindi maarang maglagay ng service sa Central mode" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "hindi sinusuportahan ang bytes > 8 bits" +msgid "Can't advertise in Central mode" +msgstr "Hindi ma advertise habang nasa Central mode" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "tx at rx hindi pwedeng parehas na None" +msgid "Can't change the name in Central mode" +msgstr "Hindi mapalitan ang pangalan sa Central mode" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Nabigong ilaan ang RX buffer" +msgid "Can't connect in Peripheral mode" +msgstr "Hindi maconnect sa Peripheral mode" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "Hindi ma-initialize ang UART" +msgid "Cannot connect to AP" +msgstr "Hindi maka connect sa AP" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Walang RX pin" +msgid "Cannot delete values" +msgstr "Hindi mabura ang values" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Walang TX pin" +msgid "Cannot disconnect from AP" +msgstr "Hindi ma disconnect sa AP" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 msgid "Cannot get pull while in output mode" msgstr "Hindi makakakuha ng pull habang nasa output mode" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 #, fuzzy -msgid "Data 0 pin must be byte aligned" -msgstr "graphic ay dapat 2048 bytes ang haba" +msgid "Cannot get temperature" +msgstr "Hindi makuha ang temperatura. status 0x%02x" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, fuzzy, c-format -msgid "Bus pin %d is already in use" -msgstr "Ginagamit na ang DAC" +msgid "Cannot output both channels on the same pin" +msgstr "Hindi maaaring output ang mga parehong channel sa parehong pin" + +msgid "Cannot read without MISO pin." +msgstr "Hindi maaring mabasa kapag walang MISO pin." + +msgid "Cannot record to a file" +msgstr "Hindi ma-record sa isang file" + +msgid "Cannot remount '/' when USB is active." +msgstr "Hindi ma-remount '/' kapag aktibo ang USB." -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 msgid "Cannot reset into bootloader because no bootloader is present." msgstr "Hindi ma-reset sa bootloader dahil walang bootloader." -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Mali ang PWM frequency" - -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Walang support sa hardware ang pin" +msgid "Cannot set STA config" +msgstr "Hindi ma-set ang STA Config" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "Ginagamit na ang EXTINT channel" +msgid "Cannot set value when direction is input." +msgstr "Hindi ma i-set ang value kapag ang direksyon ay input." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Nabigong ilaan ang RX buffer ng %d bytes" +msgid "Cannot subclass slice" +msgstr "Hindi magawa ang sublcass slice" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "pop mula sa walang laman na PulseIn" +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "index wala sa sakop" +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Isa pang send ay aktibo na" +msgid "Cannot update i/f status" +msgstr "Hindi ma-update i/f status" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Ang parehong mga pin ay dapat na sumusuporta sa hardware interrupts" +msgid "Cannot write without MOSI pin." +msgstr "Hindi maaring isulat kapag walang MOSI pin." -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Isang channel ng hardware interrupt ay ginagamit na" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "ang halaga ng pagkakalibrate ay wala sa sakop +/-127" +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Walang libreng GCLKs" +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Walang kakayahang ADC ang pin %q" +msgid "Clock pin init failed." +msgstr "Nabigo sa pag init ng Clock pin." -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Hindi supportado ng hardware ang analog out." +msgid "Clock stretch too long" +msgstr "Masyadong mahaba ang Clock stretch" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Mali ang pins para sa SPI" +msgid "Clock unit in use" +msgstr "Clock unit ginagamit" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Tanging suportado ang TX sa UART1 (GPIO2)." +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Sa gitna ng 0 o 255 dapat ang bytes." -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "mali ang data bits" +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "mali ang stop bits" +msgid "Could not initialize UART" +msgstr "Hindi ma-initialize ang UART" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "Walang pull down support ang ESP8266." +msgid "Couldn't allocate first buffer" +msgstr "Hindi ma-iallocate ang first buffer" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "Walang pull down support ang GPI016." +msgid "Couldn't allocate second buffer" +msgstr "Hindi ma-iallocate ang second buffer" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "Walang safemode support ang ESP8266." +msgid "Crash into the HardFault_Handler.\n" +msgstr "Nagcrash sa HardFault_Handler.\n" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "Pinakamataas na PWM frequency ay %dhz." +msgid "DAC already in use" +msgstr "Ginagamit na ang DAC" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "Pinakamababang PWM frequency ay 1hz." +#, fuzzy +msgid "Data 0 pin must be byte aligned" +msgstr "graphic ay dapat 2048 bytes ang haba" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "" -"Hindi sinusuportahan ang maraming mga PWM frequency. PWM na naka-set sa %dhz." +msgid "Data chunk must follow fmt chunk" +msgstr "Dapat sunurin ng Data chunk ang fmt chunk" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" -msgstr "Walang PWM support sa pin %d" +#, fuzzy +msgid "Data too large for advertisement packet" +msgstr "Hindi makasya ang data sa loob ng advertisement packet" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Walang PulseIn support sa %q" +#, fuzzy +msgid "Data too large for the advertisement packet" +msgstr "Hindi makasya ang data sa loob ng advertisement packet" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Hindi ma-remount ang filesystem" +msgid "Destination capacity is smaller than destination_length." +msgstr "" +"Ang kapasidad ng destinasyon ay mas maliit kaysa sa destination_length." -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" +msgid "Display rotation must be in 90 degree increments" msgstr "" -"Gamitin ang esptool upang burahin ang flash at muling i-upload ang Python" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" -msgstr "C-level assert" +msgid "Don't know how to pass object to native function" +msgstr "Hindi alam ipasa ang object sa native function" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "hindi tamang ADC Channel: %d" +msgid "Drive mode not used when direction is input." +msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input." -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "impossibleng baudrate" +msgid "ESP8226 does not support safe mode." +msgstr "Walang safemode support ang ESP8266." -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "umaasa ng isang pin" - -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Walang pull support ang Pin(16)" - -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "mali ang pin" +msgid "ESP8266 does not support pull down." +msgstr "Walang pull down support ang ESP8266." -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "walang IRQ capabilities ang pin" +msgid "EXTINT channel already in use" +msgstr "Ginagamit na ang EXTINT channel" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "masyadong mahaba ng buffer" +msgid "Error in ffi_prep_cif" +msgstr "Pagkakamali sa ffi_prep_cif" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "mali ang alarm" +msgid "Error in regex" +msgstr "May pagkakamali sa REGEX" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "Walang UART(%d)" +msgid "Expected a %q" +msgstr "Umasa ng %q" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "Hindi mabasa ang UART(1)" +#, fuzzy +msgid "Expected a Characteristic" +msgstr "Hindi mabasa and Characteristic." -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len ay dapat multiple ng 4" +#, fuzzy +msgid "Expected a UUID" +msgstr "Umasa ng %q" -#: ports/esp8266/modesp.c:274 #, c-format -msgid "memory allocation failed, allocating %u bytes for native code" +msgid "Expected tuple of length %d, got %d" msgstr "" -"nabigo ang paglalaan ng memorya, naglalaan ng %u bytes para sa native code" - -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "dapat na mas mababa sa 1MB ang lokasyon ng flash" - -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "ang frequency ay dapat 80Mhz or 160MHz lamang" - -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP kailangan" - -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA kailangan" - -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "Hindi ma-update i/f status" - -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Hindi ma-set ang STA Config" - -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Hindi maka connect sa AP" - -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Hindi ma disconnect sa AP" - -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "hindi alam na status param" - -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "Dapat aktibo ang STA" - -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "nabigo ang pag-scan" - -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "nabigo ang wifi_set_ip_info()" - -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "pos o kw args ang pinahihintulutan" - -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "hindi makuha ang STA config" - -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "hindi makuha ang AP config" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "mali ang buffer length" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "hindi makuha ang STA config" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "hindi makuha ang AP config" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Nabigo sa paglagay ng characteristic, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "maaaring i-query lamang ang isang param" +#, fuzzy +msgid "Failed to add service" +msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "hindi alam na config param" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "Hindi supportado ang AnalogOut" +msgid "Failed to allocate RX buffer" +msgstr "Nabigong ilaan ang RX buffer" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Nabigong ilaan ang RX buffer ng %d bytes" -#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "Nabigo sa pagbago ng softdevice state, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Adapter.c:128 -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Adapter.c:147 #, fuzzy -msgid "Failed to get local address" -msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" +msgid "Failed to connect:" +msgstr "Hindi makaconnect, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 #, fuzzy -msgid "Data too large for advertisement packet" -msgstr "Hindi makasya ang data sa loob ng advertisement packet" +msgid "Failed to continue scanning" +msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX" +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" -msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" +#, fuzzy +msgid "Failed to create mutex" +msgstr "Hindi matagumpay ang pagbuo ng mutex, status: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" +#, fuzzy +msgid "Failed to discover services" +msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" +#, fuzzy +msgid "Failed to get local address" +msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" +#, fuzzy +msgid "Failed to get softdevice state" +msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Hindi mabalitaan ang attribute value, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" -msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" +msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Hindi maisulat ang attribute value, status: 0x%08lX" +msgid "Failed to read gatts value, err 0x%04x" +msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -#, fuzzy -msgid "Data too large for the advertisement packet" -msgstr "Hindi makasya ang data sa loob ng advertisement packet" - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:389 -#, fuzzy -msgid "Failed to continue scanning" -msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" - -#: ports/nrf/common-hal/bleio/Device.c:421 -#, fuzzy -msgid "Failed to connect:" -msgstr "Hindi makaconnect, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Device.c:566 -#, fuzzy -msgid "Failed to create mutex" -msgstr "Hindi matagumpay ang pagbuo ng mutex, status: 0x%0xlX" - -#: ports/nrf/common-hal/bleio/Peripheral.c:312 -#, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" -msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Scanner.c:75 -#, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" - -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format msgid "Failed to start scanning, err 0x%04x" msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Service.c:88 +#, fuzzy +msgid "Failed to stop advertising" +msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" + #, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Nabigo sa paglagay ng characteristic, status: 0x%08lX" +msgid "Failed to stop advertising, err 0x%04x" +msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." -msgstr "" +#, fuzzy, c-format +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Hindi maisulat ang attribute value, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/UUID.c:54 #, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" +msgid "File exists" +msgstr "Mayroong file" -#: ports/nrf/common-hal/bleio/UUID.c:88 -#, fuzzy -msgid "Unexpected nrfx uuid type" -msgstr "hindi inaasahang indent" +msgid "Function requires lock" +msgstr "Function nangangailangan ng lock" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Lahat ng I2C peripherals ginagamit" +msgid "Function requires lock." +msgstr "Kailangan ng lock ang function." -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Lahat ng SPI peripherals ay ginagamit" +msgid "GPIO16 does not support pull up." +msgstr "Walang pull down support ang GPI016." -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" -msgstr "error = 0x%08lX" +msgid "Group full" +msgstr "Puno ang group" -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Lahat ng I2C peripherals ginagamit" +msgid "I/O operation on closed file" +msgstr "I/O operasyon sa saradong file" + +msgid "I2C operation not supported" +msgstr "Hindi supportado ang operasyong I2C" + +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" +".mpy file hindi compatible. Maaring i-update lahat ng .mpy files. See http://" +"adafru.it/mpy-update for more info." + +msgid "Input/output error" +msgstr "May mali sa Input/Output" + +msgid "Invalid BMP file" +msgstr "Mali ang BMP file" + +msgid "Invalid PWM frequency" +msgstr "Mali ang PWM frequency" + +msgid "Invalid argument" +msgstr "Maling argumento" + +msgid "Invalid bit clock pin" +msgstr "Mali ang bit clock pin" -#: ports/nrf/common-hal/busio/UART.c:153 msgid "Invalid buffer size" msgstr "Mali ang buffer size" -#: ports/nrf/common-hal/busio/UART.c:157 -msgid "Odd parity is not supported" -msgstr "Odd na parity ay hindi supportado" +msgid "Invalid channel count" +msgstr "Maling bilang ng channel" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -#, fuzzy -msgid "Cannot get temperature" -msgstr "Hindi makuha ang temperatura. status 0x%02x" +msgid "Invalid clock pin" +msgstr "Mali ang clock pin" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Hindi alam ang type" +msgid "Invalid data pin" +msgstr "Mali ang data pin" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Pagkakamali sa ffi_prep_cif" +msgid "Invalid direction." +msgstr "Mali ang direksyon." -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" +msgid "Invalid file" +msgstr "Mali ang file" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Hindi alam ipasa ang object sa native function" +msgid "Invalid format chunk size" +msgstr "Mali ang format ng chunk size" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgid "Invalid number of bits" +msgstr "Mali ang bilang ng bits" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "ang function ay hindi kumukuha ng mga argumento ng keyword" +msgid "Invalid phase" +msgstr "Mali ang phase" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "" -"ang function ay kumuhuha ng %d positional arguments ngunit %d ang ibinigay" +msgid "Invalid pin" +msgstr "Mali ang pin" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "function kulang ng %d required na positional arguments" +msgid "Invalid pin for left channel" +msgstr "Mali ang pin para sa kaliwang channel" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "function na inaasahang %d ang argumento, ngunit %d ang nakuha" +msgid "Invalid pin for right channel" +msgstr "Mali ang pin para sa kanang channel" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' argument kailangan" +msgid "Invalid pins" +msgstr "Mali ang pins" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "dagdag na positional argument na ibinigay" +msgid "Invalid polarity" +msgstr "Mali ang polarity" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "dagdag na keyword argument na ibinigay" +msgid "Invalid run mode." +msgstr "Mali ang run mode." -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "hindi tugma ang argument num/types" +msgid "Invalid voice count" +msgstr "Maling bilang ng voice" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" -"kindi pa ipinapatupad ang (mga) argument(s) ng keyword - gumamit ng normal " -"args" +msgid "Invalid wave file" +msgstr "May hindi tama sa wave file" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" +msgid "LHS of keyword arg must be an id" +msgstr "LHS ng keyword arg ay dapat na id" + +msgid "Layer must be a Group or TileGrid subclass." msgstr "" -"Ang %q() ay kumukuha ng %d positional arguments pero %d lang ang binigay" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "hindi inaasahang argumento ng keyword" +msgid "Length must be an int" +msgstr "Haba ay dapat int" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "ang keywords dapat strings" +msgid "Length must be non-negative" +msgstr "Haba ay dapat hindi negatibo" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "ang function ay nakakuha ng maraming values para sa argument '%q'" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" +"Mukhang ang core CircuitPython code nag crash. Ay!\n" +"Maaring mag file ng issue sa https://github.com/adafruit/circuitpython/" +"issues\n" +"kasama ng laman ng iyong CIRCUITPY drive at ang message na ito:\n" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "hindi inaasahang argumento ng keyword na '%q'" +msgid "MISO pin init failed." +msgstr "Hindi ma-initialize ang MISO pin." + +msgid "MOSI pin init failed." +msgstr "Hindi ma-initialize ang MOSI pin." -#: py/bc.c:244 #, c-format -msgid "function missing required positional argument #%d" -msgstr "function nangangailangan ng positional argument #%d" +msgid "Maximum PWM frequency is %dhz." +msgstr "Pinakamataas na PWM frequency ay %dhz." -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "function nangangailangan ng keyword argument '%q'" +#, c-format +msgid "Maximum x value when mirrored is %d" +msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "function nangangailangan ng keyword-only argument" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "CircuitPython NLR jump nabigo. Maaring memory corruption.\n" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "masamang typecode" +msgid "MicroPython fatal error.\n" +msgstr "CircuitPython fatal na pagkakamali.\n" -#: py/builtinevex.c:99 -msgid "bad compile mode" -msgstr "masamang mode ng compile" +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "Ang delay ng startup ng mikropono ay dapat na nasa 0.0 hanggang 1.0" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" -msgstr "Kasama ang kung ano pang modules na sa filesystem\n" +msgid "Minimum PWM frequency is 1hz." +msgstr "Pinakamababang PWM frequency ay 1hz." -#: py/builtinhelp.c:183 #, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." msgstr "" -"Mabuhay sa Adafruit CircuitPython %s!\n" -"\n" -"Mangyaring bisitahin ang learn.adafruit.com/category/circuitpython para sa " -"project guides.\n" -"\n" -"Para makita ang listahan ng modules, `help(“modules”)`.\n" +"Hindi sinusuportahan ang maraming mga PWM frequency. PWM na naka-set sa %dhz." -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "hindi maaring isagawa ang relative import" +msgid "Must be a Group subclass." +msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "module hindi nakita" +msgid "No DAC on chip" +msgstr "Walang DAC sa chip" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "walang module na '%q'" +msgid "No DMA channel found" +msgstr "Walang DMA channel na mahanap" -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "relative import" +msgid "No PulseIn support for %q" +msgstr "Walang PulseIn support sa %q" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "hindi ma i-assign sa expression" +msgid "No RX pin" +msgstr "Walang RX pin" -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "maramihang *x sa assignment" +msgid "No TX pin" +msgstr "Walang TX pin" -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "non-default argument sumusunod sa default argument" +msgid "No default I2C bus" +msgstr "Walang default na I2C bus" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "mali ang micropython decorator" +msgid "No default SPI bus" +msgstr "Walang default SPI bus" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "hindi mabura ang expression" +msgid "No default UART bus" +msgstr "Walang default UART bus" -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' sa labas ng loop" +msgid "No free GCLKs" +msgstr "Walang libreng GCLKs" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' sa labas ng loop" +msgid "No hardware random available" +msgstr "Walang magagamit na hardware random" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' sa labas ng function" +msgid "No hardware support for analog out." +msgstr "Hindi supportado ng hardware ang analog out." -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "identifier ginawang global" +msgid "No hardware support on pin" +msgstr "Walang support sa hardware ang pin" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "no binding para sa nonlocal, nahanap" +msgid "No space left on device" +msgstr "" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "identifier ginawang nonlocal" +msgid "No such file/directory" +msgstr "Walang file/directory" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "hindi madeclare nonlocal sa outer code" +#, fuzzy +msgid "Not connected" +msgstr "Hindi maka connect sa AP" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "default 'except' ay dapat sa huli" +msgid "Not connected." +msgstr "" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "*x ay dapat na assignment target" +msgid "Not playing" +msgstr "Hindi playing" -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "super() hindi mahanap ang sarili" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." +msgstr "" +"Object ay deinitialized at hindi na magagamit. Lumikha ng isang bagong " +"Object." -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "hindi puede ang maraming *x" +msgid "Odd parity is not supported" +msgstr "Odd na parity ay hindi supportado" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "hindi puede ang maraming **x" +msgid "Only 8 or 16 bit mono with " +msgstr "Tanging 8 o 16 na bit mono na may " -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" -msgstr "LHS ng keyword arg ay dapat na id" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" -msgstr "non-keyword arg sa huli ng */**" +msgid "Only bit maps of 8 bit color or less are supported" +msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" -msgstr "non-keyword arg sa huli ng keyword arg" +#, fuzzy +msgid "Only slices with step=1 (aka None) are supported" +msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "mali ang sintaks" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "umaasang key: halaga para sa dict" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Tanging suportado ang TX sa UART1 (GPIO2)." -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "umaasa sa value para sa set" +msgid "Oversample must be multiple of 8." +msgstr "Oversample ay dapat multiple ng 8." -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "'yield' sa labas ng function" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgstr "PWM duty_cycle ay dapat sa loob ng 0 at 65535 (16 bit resolution)" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' sa labas ng function" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." +msgstr "" +"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo." -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "name muling ginamit para sa argument" +#, c-format +msgid "PWM not supported on pin %d" +msgstr "Walang PWM support sa pin %d" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "parameter annotation ay dapat na identifier" +msgid "Permission denied" +msgstr "Walang pahintulot" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "return annotation ay dapat na identifier" +msgid "Pin %q does not have ADC capabilities" +msgstr "Walang kakayahang ADC ang pin %q" -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "inline assembler ay dapat na function" +msgid "Pin does not have ADC capabilities" +msgstr "Ang pin ay walang kakayahan sa ADC" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "hindi malaman ang type (unknown type)" +msgid "Pin(16) doesn't support pull" +msgstr "Walang pull support ang Pin(16)" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "umaasa ng assembler instruction" +msgid "Pins not valid for SPI" +msgstr "Mali ang pins para sa SPI" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' kailangan ng 1 argument" +msgid "Pixel beyond bounds of buffer" +msgstr "" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "ang label ay na-define ulit" +msgid "Plus any modules on the filesystem\n" +msgstr "Kasama ang kung ano pang modules na sa filesystem\n" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' kailangan ng 1 argument" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "" +"Pindutin ang anumang key upang pumasok sa REPL. Gamitin ang CTRL-D upang i-" +"reload." -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' kailangan ng hindi bababa sa 2 argument" +msgid "Pull not used when direction is output." +msgstr "Pull hindi ginagamit kapag ang direksyon ay output." -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' kailangan ng integer arguments" +msgid "RTC calibration is not supported on this board" +msgstr "RTC calibration ay hindi supportado ng board na ito" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "maaari lamang magkaroon ng hanggang 4 na parameter sa Thumb assembly" +msgid "RTC is not supported on this board" +msgstr "Hindi supportado ang RTC sa board na ito" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" -msgstr "ang mga parameter ay dapat na nagrerehistro sa sequence r0 hanggang r3" +#, fuzzy +msgid "Range out of bounds" +msgstr "wala sa sakop ang address" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" -msgstr "Inaasahan ng '%s' ang hangang r%d" +msgid "Read-only" +msgstr "Basahin-lamang" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "Inaasahan ng '%s' ang isang rehistro" +msgid "Read-only filesystem" +msgstr "Basahin-lamang mode" -#: py/emitinlinethumb.c:211 -#, c-format -msgid "'%s' expects a special register" -msgstr "Inaasahan ng '%s' ang isang espesyal na register" +#, fuzzy +msgid "Read-only object" +msgstr "Basahin-lamang" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" -msgstr "Inaasahan ng '%s' ang isang FPU register" +msgid "Right channel unsupported" +msgstr "Hindi supportado ang kanang channel" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "Inaasahan ng '%s' ay {r0, r1, …}" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" -msgstr "Inaasahan ng '%s' ang isang integer" +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "'%s' integer 0x%x ay wala sa mask na sakop ng 0x%x" +msgid "SDA or SCL needs a pull up" +msgstr "Kailangan ng pull up resistors ang SDA o SCL" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "Inaasahan ng '%s' ang isang address sa [a, b]" +msgid "STA must be active" +msgstr "Dapat aktibo ang STA" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" -msgstr "'%s' umaasa ng label" +msgid "STA required" +msgstr "STA kailangan" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "label '%d' kailangan na i-define" +msgid "Sample rate must be positive" +msgstr "Sample rate ay dapat positibo" -#: py/emitinlinethumb.c:806 #, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "hindi sinusuportahan ang thumb instruktion '%s' sa %d argumento" +msgid "Sample rate too high. It must be less than %d" +msgstr "Sample rate ay masyadong mataas. Ito ay dapat hindi hiigit sa %d" -#: py/emitinlinethumb.c:810 -msgid "branch not in range" -msgstr "branch wala sa range" +msgid "Serializer in use" +msgstr "Serializer ginagamit" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "maaari lamang magkaroon ng hanggang 4 na parameter sa Xtensa assembly" +msgid "Slice and value different lengths." +msgstr "Slice at value iba't ibang haba." -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "ang mga parameter ay dapat na nagrerehistro sa sequence a2 hanggang a5" +msgid "Slices not supported" +msgstr "Hindi suportado ang Slices" -#: py/emitinlinextensa.c:174 #, c-format -msgid "'%s' integer %d is not within range %d..%d" -msgstr "'%s' integer %d ay wala sa sakop ng %d..%d" +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "hindi sinusuportahan ang instruction ng Xtensa '%s' sa %d argumento" +msgid "Splitting with sub-captures" +msgstr "Binibiyak gamit ang sub-captures" -#: py/emitnative.c:183 -msgid "unknown type '%q'" -msgstr "hindi malaman ang type '%q'" +msgid "Stack size must be at least 256" +msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "" -"Ang mga function ng Viper ay kasalukuyang hindi sumusuporta sa higit sa 4 na " -"argumento" +msgid "Stream missing readinto() or write() method." +msgstr "Stream kulang ng readinto() o write() method." -#: py/emitnative.c:742 -msgid "conversion to object" -msgstr "kombersyon to object" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" +msgstr "" +"Ang CircuitPython heap ay na corrupt dahil ang stack ay maliit.\n" +"Maaring i-increase ang stack size limit at i-press ang reset (pagkatapos i-" +"eject ang CIRCUITPY.\n" +"Kung hindi mo pinalitan ang stack, mag file ng issue dito kasama ng laman ng " +"CIRCUITPY drive:\n" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "local '%q' ginamit bago alam ang type" +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" +msgstr "" +"Ang kapangyarihan ng mikrokontroller ay bumaba. Mangyaring suriin ang power " +"supply \n" +"pindutin ang reset (pagkatapos i-eject ang CIRCUITPY).\n" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "hidi ma i-load galing sa '%q'" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" +msgstr "" +"Ang reset button ay pinindot habang nag boot ang CircuitPython. Pindutin " +"ulit para lumabas sa safe mode.\n" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" -msgstr "hindi ma i-load gamit ng '%q' na index" +msgid "The sample's bits_per_sample does not match the mixer's" +msgstr "Ang bits_per_sample ng sample ay hindi tugma sa mixer" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" -msgstr "local '%q' ay may type '%q' pero ang source ay '%q'" +msgid "The sample's channel count does not match the mixer's" +msgstr "Ang channel count ng sample ay hindi tugma sa mixer" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" -msgstr "hindi ma i-store ang '%q'" +msgid "The sample's sample rate does not match the mixer's" +msgstr "Ang sample rate ng sample ay hindi tugma sa mixer" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" -msgstr "hindi ma i-store sa '%q'" +msgid "The sample's signedness does not match the mixer's" +msgstr "Ang signedness ng sample hindi tugma sa mixer" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" -msgstr "hindi ma i-store gamit ng '%q' na index" +msgid "Tile height must exactly divide bitmap height" +msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" -msgstr "hindi maaaring ma-convert ang '% qt' sa 'bool'" +msgid "Tile width must exactly divide bitmap width" +msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" -msgstr "unary op %q hindi implemented" +msgid "To exit, please reset the board without " +msgstr "Para lumabas, paki-reset ang board na wala ang " -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" -msgstr "binary op %q hindi implemented" +msgid "Too many channels in sample." +msgstr "Sobra ang channels sa sample." -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "hindi magawa ang binary op sa gitna ng '%q' at '%q'" +msgid "Too many display busses" +msgstr "" -#: py/emitnative.c:2126 -msgid "casting" -msgstr "casting" +msgid "Too many displays" +msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "return umasa ng '%q' pero ang nakuha ay ‘%q’" +msgid "Traceback (most recent call last):\n" +msgstr "Traceback (pinakahuling huling tawag): \n" -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "dapat itaas ang isang object" +msgid "Tuple or struct_time argument required" +msgstr "Tuple o struct_time argument kailangan" -#: py/emitnative.c:2201 -msgid "native yield" -msgstr "native yield" +#, c-format +msgid "UART(%d) does not exist" +msgstr "Walang UART(%d)" -#: py/lexer.c:345 -msgid "unicode name escapes" -msgstr "unicode name escapes" +msgid "UART(1) can't read" +msgstr "Hindi mabasa ang UART(1)" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "chr() arg wala sa sakop ng range(0x110000)" +msgid "USB Busy" +msgstr "Busy ang USB" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" -msgstr "chr() arg wala sa sakop ng range(256)" +msgid "USB Error" +msgstr "May pagkakamali ang USB" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" -msgstr "arg ay walang laman na sequence" +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "" -#: py/modbuiltins.c:350 -msgid "ord expects a character" -msgstr "ord umaasa ng character" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgstr "" -#: py/modbuiltins.c:353 -#, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "ord() umaasa ng character pero string ng %d haba ang nakita" +msgid "UUID value is not str, int or byte buffer" +msgstr "" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "3-arg pow() hindi suportado" +msgid "Unable to allocate buffers for signed conversion" +msgstr "Hindi ma-allocate ang buffers para sa naka-sign na conversion" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" -msgstr "dapat gumamit ng keyword argument para sa key function" +msgid "Unable to find free GCLK" +msgstr "Hindi mahanap ang libreng GCLK" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "may pagkakamali sa math domain" +msgid "Unable to init parser" +msgstr "Hindi ma-init ang parser" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "dibisyon ng zero" +msgid "Unable to remount filesystem" +msgstr "Hindi ma-remount ang filesystem" -#: py/modmicropython.c:155 -msgid "schedule stack full" -msgstr "puno na ang schedule stack" +msgid "Unable to write to nvm." +msgstr "Hindi ma i-sulat sa NVM." -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" -msgstr "masyadong maliit ang buffer" +#, fuzzy +msgid "Unexpected nrfx uuid type" +msgstr "hindi inaasahang indent" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" -msgstr "umaasa ng dict para sa keyword args" +msgid "Unknown type" +msgstr "Hindi alam ang type" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Walang pahintulot" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgstr "" -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "Walang file/directory" +msgid "Unsupported baudrate" +msgstr "Hindi supportadong baudrate" -#: py/moduerrno.c:149 -msgid "Input/output error" -msgstr "May mali sa Input/Output" +#, fuzzy +msgid "Unsupported display bus type" +msgstr "Hindi supportadong tipo ng bitmap" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "Mayroong file" +msgid "Unsupported format" +msgstr "Hindi supportadong format" -#: py/moduerrno.c:152 msgid "Unsupported operation" msgstr "Hindi sinusuportahang operasyon" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Maling argumento" +msgid "Unsupported pull value." +msgstr "Hindi suportado ang pull value." -#: py/moduerrno.c:154 -msgid "No space left on device" +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "" +"Gamitin ang esptool upang burahin ang flash at muling i-upload ang Python" + +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" +"Ang mga function ng Viper ay kasalukuyang hindi sumusuporta sa higit sa 4 na " +"argumento" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "Traceback (pinakahuling huling tawag): \n" +msgid "Voice index too high" +msgstr "Index ng Voice ay masyadong mataas" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " File \"%q\", line %d" +msgid "WARNING: Your code filename has two extensions\n" +msgstr "BABALA: Ang pangalan ng file ay may dalawang extension\n" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " File \"%q\"" +#, c-format +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" +"Mabuhay sa Adafruit CircuitPython %s!\n" +"\n" +"Mangyaring bisitahin ang learn.adafruit.com/category/circuitpython para sa " +"project guides.\n" +"\n" +"Para makita ang listahan ng modules, `help(“modules”)`.\n" -#: py/obj.c:102 -msgid ", in %q\n" -msgstr ", sa %q\n" +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "Ikaw ay tumatakbo sa safe mode dahil may masamang nangyari.\n" -#: py/obj.c:259 -msgid "can't convert to int" -msgstr "hindi ma-convert sa int" +msgid "You requested starting safe mode by " +msgstr "Ikaw ang humiling sa safe mode sa pamamagitan ng " -#: py/obj.c:262 #, c-format -msgid "can't convert %s to int" -msgstr "hindi ma-convert %s sa int" +msgid "[addrinfo error %d]" +msgstr "[addrinfo error %d]" -#: py/obj.c:322 -msgid "can't convert to float" -msgstr "hindi ma-convert sa float" +msgid "__init__() should return None" +msgstr "__init __ () dapat magbalik na None" -#: py/obj.c:325 #, c-format -msgid "can't convert %s to float" -msgstr "hindi ma-convert %s sa int" +msgid "__init__() should return None, not '%s'" +msgstr "__init__() dapat magbalink na None, hindi '%s'" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "hindi ma-convert sa complex" +msgid "__new__ arg must be a user-type" +msgstr "__new__ arg ay dapat na user-type" -#: py/obj.c:358 -#, c-format -msgid "can't convert %s to complex" -msgstr "hindi ma-convert %s sa complex" +msgid "a bytes-like object is required" +msgstr "a bytes-like object ay kailangan" -#: py/obj.c:373 -msgid "expected tuple/list" -msgstr "umaasa ng tuple/list" +msgid "abort() called" +msgstr "abort() tinawag" -#: py/obj.c:376 #, c-format -msgid "object '%s' is not a tuple or list" -msgstr "object '%s' ay hindi tuple o list" +msgid "address %08x is not aligned to %d bytes" +msgstr "address %08x ay hindi pantay sa %d bytes" -#: py/obj.c:387 -msgid "tuple/list has wrong length" -msgstr "mali ang haba ng tuple/list" +msgid "address out of bounds" +msgstr "wala sa sakop ang address" -#: py/obj.c:389 -#, c-format -msgid "requested length %d but object has length %d" -msgstr "hiniling ang haba %d ngunit may haba ang object na %d" +msgid "addresses is empty" +msgstr "walang laman ang address" -#: py/obj.c:402 -msgid "indices must be integers" -msgstr "ang mga indeks ay dapat na integer" +msgid "arg is an empty sequence" +msgstr "arg ay walang laman na sequence" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" -msgstr "%q indeks ay dapat integers, hindi %s" +msgid "argument has wrong type" +msgstr "may maling type ang argument" -#: py/obj.c:425 -msgid "%q index out of range" -msgstr "%q indeks wala sa sakop" +msgid "argument num/types mismatch" +msgstr "hindi tugma ang argument num/types" -#: py/obj.c:457 -msgid "object has no len" -msgstr "object walang len" +msgid "argument should be a '%q' not a '%q'" +msgstr "argument ay dapat na '%q' hindi '%q'" -#: py/obj.c:460 -#, c-format -msgid "object of type '%s' has no len()" -msgstr "object na type '%s' walang len()" +msgid "array/bytes required on right side" +msgstr "array/bytes kinakailangan sa kanang bahagi" -#: py/obj.c:500 -msgid "object does not support item deletion" -msgstr "ang object ay hindi sumusuporta sa pagbura ng item" +msgid "attributes not supported yet" +msgstr "attributes hindi sinusuportahan" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" -msgstr "'%s' object ay hindi sumusuporta sa pagtanggal ng item" +msgid "bad GATT role" +msgstr "" + +msgid "bad compile mode" +msgstr "masamang mode ng compile" + +msgid "bad conversion specifier" +msgstr "masamang pag convert na specifier" + +msgid "bad format string" +msgstr "maling format ang string" + +msgid "bad typecode" +msgstr "masamang typecode" + +msgid "binary op %q not implemented" +msgstr "binary op %q hindi implemented" + +msgid "bits must be 7, 8 or 9" +msgstr "bits ay dapat 7, 8 o 9" + +msgid "bits must be 8" +msgstr "bits ay dapat walo (8)" + +msgid "bits_per_sample must be 8 or 16" +msgstr "bits_per_sample ay dapat 8 o 16" -#: py/obj.c:507 -msgid "object is not subscriptable" -msgstr "ang bagay ay hindi maaaring ma-subscript" +msgid "branch not in range" +msgstr "branch wala sa range" -#: py/obj.c:510 #, c-format -msgid "'%s' object is not subscriptable" -msgstr "'%s' object ay hindi maaaring i-subscript" +msgid "buf is too small. need %d bytes" +msgstr "" -#: py/obj.c:514 -msgid "object does not support item assignment" -msgstr "ang object na '%s' ay hindi maaaring i-subscript" +msgid "buffer must be a bytes-like object" +msgstr "buffer ay dapat bytes-like object" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" -msgstr "'%s' object hindi sumusuporta ng item assignment" +#, fuzzy +msgid "buffer size must match format" +msgstr "aarehas na haba dapat ang buffer slices" -#: py/obj.c:548 -msgid "object with buffer protocol required" -msgstr "object na may buffer protocol kinakailangan" +msgid "buffer slices must be of equal length" +msgstr "aarehas na haba dapat ang buffer slices" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" -msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" +msgid "buffer too long" +msgstr "masyadong mahaba ng buffer" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" -msgstr "lhs at rhs ay dapat magkasundo" +msgid "buffer too small" +msgstr "masyadong maliit ang buffer" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" -msgstr "array/bytes kinakailangan sa kanang bahagi" +msgid "buffers must be the same length" +msgstr "ang buffers ay dapat parehas sa haba" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" +msgid "byte code not implemented" +msgstr "byte code hindi pa implemented" + +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -"hindi maaaring gawin ang truncated division ng isang kumplikadong numero" -#: py/objcomplex.c:209 -msgid "complex division by zero" -msgstr "kumplikadong dibisyon sa pamamagitan ng zero" +msgid "bytes > 8 bits not supported" +msgstr "hindi sinusuportahan ang bytes > 8 bits" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "0.0 para sa complex power" +msgid "bytes value out of range" +msgstr "bytes value wala sa sakop" -#: py/objdeque.c:107 -msgid "full" -msgstr "puno" +msgid "calibration is out of range" +msgstr "kalibrasion ay wala sa sakop" -#: py/objdeque.c:127 -msgid "empty" -msgstr "walang laman" +msgid "calibration is read only" +msgstr "pagkakalibrate ay basahin lamang" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "popitem(): dictionary ay walang laman" +msgid "calibration value out of range +/-127" +msgstr "ang halaga ng pagkakalibrate ay wala sa sakop +/-127" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" -msgstr "may mali sa haba ng dict update sequence" +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "maaari lamang magkaroon ng hanggang 4 na parameter sa Thumb assembly" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" -msgstr "kumplikadong values hindi sinusuportahan" +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "maaari lamang magkaroon ng hanggang 4 na parameter sa Xtensa assembly" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" -msgstr "hindi mapadala ang non-None value sa isang kaka umpisang generator" +msgid "can only save bytecode" +msgstr "maaring i-save lamang ang bytecode" -#: py/objgenerator.c:126 -msgid "generator already executing" -msgstr "insinasagawa na ng generator" +msgid "can query only one param" +msgstr "maaaring i-query lamang ang isang param" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" -msgstr "hindi pinansin ng generator ang GeneratorExit" +msgid "can't add special method to already-subclassed class" +msgstr "" +"hindi madagdag ang isang espesyal na method sa isang na i-subclass na class" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" -msgstr "hindi mapadala ang send throw sa isang kaka umpisang generator" +msgid "can't assign to expression" +msgstr "hindi ma i-assign sa expression" -#: py/objint.c:144 -msgid "can't convert inf to int" -msgstr "hindi ma i-convert inf sa int" +#, c-format +msgid "can't convert %s to complex" +msgstr "hindi ma-convert %s sa complex" + +#, c-format +msgid "can't convert %s to float" +msgstr "hindi ma-convert %s sa int" + +#, c-format +msgid "can't convert %s to int" +msgstr "hindi ma-convert %s sa int" + +msgid "can't convert '%q' object to %q implicitly" +msgstr "hindi maaaring i-convert ang '%q' na bagay sa %q nang walang pahiwatig" -#: py/objint.c:146 msgid "can't convert NaN to int" msgstr "hindi ma i-convert NaN sa int" -#: py/objint.c:163 -msgid "float too big" -msgstr "masyadong malaki ang float" - -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "long int hindi sinusuportahan sa build na ito" +msgid "can't convert address to int" +msgstr "hindi ma i-convert ang address sa INT" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" -msgstr "small int overflow" +msgid "can't convert inf to int" +msgstr "hindi ma i-convert inf sa int" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "negatibong power na walang float support" +msgid "can't convert to complex" +msgstr "hindi ma-convert sa complex" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" -msgstr "ulonglong masyadong malaki" +msgid "can't convert to float" +msgstr "hindi ma-convert sa float" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" -msgstr "negative shift count" +msgid "can't convert to int" +msgstr "hindi ma-convert sa int" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "pow() na may 3 argumento kailangan ng integers" +msgid "can't convert to str implicitly" +msgstr "hindi ma i-convert sa string ng walang pahiwatig" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" -msgstr "pow() 3rd argument ay hindi maaring 0" +msgid "can't declare nonlocal in outer code" +msgstr "hindi madeclare nonlocal sa outer code" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" -msgstr "overflow nagcoconvert ng long int sa machine word" +msgid "can't delete expression" +msgstr "hindi mabura ang expression" -#: py/objlist.c:274 -msgid "pop from empty list" -msgstr "pop galing sa walang laman na list" +msgid "can't do binary op between '%q' and '%q'" +msgstr "hindi magawa ang binary op sa gitna ng '%q' at '%q'" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" -msgstr "hindi ma i-set ang attribute" +msgid "can't do truncated division of a complex number" +msgstr "" +"hindi maaaring gawin ang truncated division ng isang kumplikadong numero" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "__new__ arg ay dapat na user-type" +msgid "can't get AP config" +msgstr "hindi makuha ang AP config" -#: py/objrange.c:110 -msgid "zero step" -msgstr "zero step" +msgid "can't get STA config" +msgstr "hindi makuha ang STA config" -#: py/objset.c:371 -msgid "pop from an empty set" -msgstr "pop sa walang laman na set" +msgid "can't have multiple **x" +msgstr "hindi puede ang maraming **x" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "Haba ay dapat int" +msgid "can't have multiple *x" +msgstr "hindi puede ang maraming *x" -#: py/objslice.c:71 -msgid "Length must be non-negative" -msgstr "Haba ay dapat hindi negatibo" +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "hindi maaaring ma-convert ang '% qt' sa 'bool'" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" -msgstr "slice step ay hindi puedeng 0" +msgid "can't load from '%q'" +msgstr "hidi ma i-load galing sa '%q'" -#: py/objslice.c:159 -msgid "Cannot subclass slice" -msgstr "Hindi magawa ang sublcass slice" +msgid "can't load with '%q' index" +msgstr "hindi ma i-load gamit ng '%q' na index" -#: py/objstr.c:261 -msgid "bytes value out of range" -msgstr "bytes value wala sa sakop" +msgid "can't pend throw to just-started generator" +msgstr "hindi mapadala ang send throw sa isang kaka umpisang generator" -#: py/objstr.c:270 -msgid "wrong number of arguments" -msgstr "mali ang bilang ng argumento" +msgid "can't send non-None value to a just-started generator" +msgstr "hindi mapadala ang non-None value sa isang kaka umpisang generator" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "wala sa sakop ang address" +msgid "can't set AP config" +msgstr "hindi makuha ang AP config" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" -msgstr "" -"join umaaasang may listahan ng str/bytes objects na naalinsunod sa self " -"object" +msgid "can't set STA config" +msgstr "hindi makuha ang STA config" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" -msgstr "walang laman na separator" +msgid "can't set attribute" +msgstr "hindi ma i-set ang attribute" -#: py/objstr.c:651 -msgid "rsplit(None,n)" -msgstr "rsplit(None,n)" +msgid "can't store '%q'" +msgstr "hindi ma i-store ang '%q'" -#: py/objstr.c:723 -msgid "substring not found" -msgstr "substring hindi nahanap" +msgid "can't store to '%q'" +msgstr "hindi ma i-store sa '%q'" -#: py/objstr.c:780 -msgid "start/end indices" -msgstr "start/end indeks" +msgid "can't store with '%q' index" +msgstr "hindi ma i-store gamit ng '%q' na index" -#: py/objstr.c:941 -msgid "bad format string" -msgstr "maling format ang string" +msgid "" +"can't switch from automatic field numbering to manual field specification" +msgstr "" +"hindi mapalitan ang awtomatikong field numbering sa manual field " +"specification" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" -msgstr "isang '}' nasalubong sa format string" +msgid "" +"can't switch from manual field specification to automatic field numbering" +msgstr "" +"hindi mapalitan ang manual field specification sa awtomatikong field " +"numbering" -#: py/objstr.c:1002 -msgid "bad conversion specifier" -msgstr "masamang pag convert na specifier" +msgid "cannot create '%q' instances" +msgstr "hindi magawa '%q' instances" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" -msgstr "sa huli ng format habang naghahanap sa conversion specifier" +msgid "cannot create instance" +msgstr "hindi magawa ang instance" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "hindi alam ang conversion specifier na %c" +msgid "cannot import name %q" +msgstr "hindi ma-import ang name %q" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" -msgstr "hindi tugma ang '{' sa format" +msgid "cannot perform relative import" +msgstr "hindi maaring isagawa ang relative import" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" -msgstr "umaasa ng ':' pagkatapos ng format specifier" +msgid "casting" +msgstr "casting" -#: py/objstr.c:1060 -msgid "" -"can't switch from automatic field numbering to manual field specification" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -"hindi mapalitan ang awtomatikong field numbering sa manual field " -"specification" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "indeks ng tuple wala sa sakop" +msgid "chars buffer too small" +msgstr "masyadong maliit ang buffer" + +msgid "chr() arg not in range(0x110000)" +msgstr "chr() arg wala sa sakop ng range(0x110000)" -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "attributes hindi sinusuportahan" +msgid "chr() arg not in range(256)" +msgstr "chr() arg wala sa sakop ng range(256)" -#: py/objstr.c:1089 -msgid "" -"can't switch from manual field specification to automatic field numbering" -msgstr "" -"hindi mapalitan ang manual field specification sa awtomatikong field " -"numbering" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgstr "color buffer ay dapat na 3 bytes (RGB) o 4 bytes (RGB + pad byte)" -#: py/objstr.c:1181 -msgid "invalid format specifier" -msgstr "mali ang format specifier" +msgid "color buffer must be a buffer or int" +msgstr "color buffer ay dapat buffer or int" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" -msgstr "sign hindi maaring string format specifier" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgstr "ang color buffer ay dapat bytearray o array na type ‘b’ or ‘B’" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" -msgstr "sign hindi maari sa integer format specifier 'c'" +msgid "color must be between 0x000000 and 0xffffff" +msgstr "color ay dapat mula sa 0x000000 hangang 0xffffff" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" -msgstr "hindi alam ang format code '%c' para sa object na ang type ay '%s'" +msgid "color should be an int" +msgstr "color ay dapat na int" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" -msgstr "hindi alam ang format code '%c' sa object na ang type ay 'float'" +msgid "complex division by zero" +msgstr "kumplikadong dibisyon sa pamamagitan ng zero" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" -msgstr "'=' Gindi pinapayagan ang alignment sa pag specify ng string format" +msgid "complex values not supported" +msgstr "kumplikadong values hindi sinusuportahan" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" -msgstr "hindi alam ang format ng code na '%c' para sa object ng type ay 'str'" +msgid "compression header" +msgstr "compression header" -#: py/objstr.c:1425 -msgid "format requires a dict" -msgstr "kailangan ng format ng dict" +msgid "constant must be an integer" +msgstr "constant ay dapat na integer" -#: py/objstr.c:1434 -msgid "incomplete format key" -msgstr "hindi kumpleto ang format key" +msgid "conversion to object" +msgstr "kombersyon to object" -#: py/objstr.c:1492 -msgid "incomplete format" -msgstr "hindi kumpleto ang format" +msgid "decimal numbers not supported" +msgstr "decimal numbers hindi sinusuportahan" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" -msgstr "kulang sa arguments para sa format string" +msgid "default 'except' must be last" +msgstr "default 'except' ay dapat sa huli" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" -msgstr "%%c nangangailangan ng int o char" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgstr "" +"ang destination buffer ay dapat na isang bytearray o array ng uri na 'B' " +"para sa bit_depth = 8" -#: py/objstr.c:1517 -msgid "integer required" -msgstr "kailangan ng int" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgstr "" +"ang destination buffer ay dapat na isang array ng uri 'H' para sa bit_depth " +"= 16" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" -msgstr "hindi sinusuportahan ang format character na '%c' (0x%x) sa index %d" +msgid "destination_length must be an int >= 0" +msgstr "ang destination_length ay dapat na isang int >= 0" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" -msgstr "hindi lahat ng arguments na i-convert habang string formatting" +msgid "dict update sequence has wrong length" +msgstr "may mali sa haba ng dict update sequence" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" -msgstr "hindi ma i-convert sa string ng walang pahiwatig" +msgid "division by zero" +msgstr "dibisyon ng zero" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" -msgstr "hindi maaaring i-convert ang '%q' na bagay sa %q nang walang pahiwatig" +msgid "either pos or kw args are allowed" +msgstr "pos o kw args ang pinahihintulutan" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" -msgstr "ang indeks ng string ay dapat na integer, hindi %s" +msgid "empty" +msgstr "walang laman" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" -msgstr "indeks ng string wala sa sakop" +msgid "empty heap" +msgstr "walang laman ang heap" -#: py/objtype.c:371 -msgid "__init__() should return None" -msgstr "__init __ () dapat magbalik na None" +msgid "empty separator" +msgstr "walang laman na separator" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" -msgstr "__init__() dapat magbalink na None, hindi '%s'" +msgid "empty sequence" +msgstr "walang laman ang sequence" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" -msgstr "hindi mabasa ang attribute" +msgid "end of format while looking for conversion specifier" +msgstr "sa huli ng format habang naghahanap sa conversion specifier" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" -msgstr "hindi matatawag ang object" +#, fuzzy +msgid "end_x should be an int" +msgstr "y ay dapat int" -#: py/objtype.c:883 py/runtime.c:655 #, c-format -msgid "'%s' object is not callable" -msgstr "'%s' object hindi matatawag" +msgid "error = 0x%08lX" +msgstr "error = 0x%08lX" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" -msgstr "type kumuhuha ng 1 o 3 arguments" +msgid "exceptions must derive from BaseException" +msgstr "ang mga exceptions ay dapat makuha mula sa BaseException" -#: py/objtype.c:1002 -msgid "cannot create instance" -msgstr "hindi magawa ang instance" +msgid "expected ':' after format specifier" +msgstr "umaasa ng ':' pagkatapos ng format specifier" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" -msgstr "hindi magawa '%q' instances" +msgid "expected a DigitalInOut" +msgstr "umasa ng DigitalInOut" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" -msgstr "" -"hindi madagdag ang isang espesyal na method sa isang na i-subclass na class" +msgid "expected tuple/list" +msgstr "umaasa ng tuple/list" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" -msgstr "hindi puede ang type para sa base type" +msgid "expecting a dict for keyword args" +msgstr "umaasa ng dict para sa keyword args" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" -msgstr "hindi maari ang type na '%q' para sa base type" +msgid "expecting a pin" +msgstr "umaasa ng isang pin" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" -msgstr "maraming inhertance hindi sinusuportahan" +msgid "expecting an assembler instruction" +msgstr "umaasa ng assembler instruction" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" -msgstr "maraming bases ay may instance lay-out conflict" +msgid "expecting just a value for set" +msgstr "umaasa sa value para sa set" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" -msgstr "unang argument ng super() ay dapat type" +msgid "expecting key:value for dict" +msgstr "umaasang key: halaga para sa dict" -#: py/objtype.c:1385 -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" +msgid "extra keyword arguments given" +msgstr "dagdag na keyword argument na ibinigay" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" -msgstr "issubclass() arg 1 ay dapat na class" +msgid "extra positional arguments given" +msgstr "dagdag na positional argument na ibinigay" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "constant ay dapat na integer" +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "Hindi ma-init ang parser" +msgid "file must be a file opened in byte mode" +msgstr "file ay dapat buksan sa byte mode" -#: py/parse.c:1170 -msgid "unexpected indent" -msgstr "hindi inaasahang indent" +msgid "filesystem must provide mount method" +msgstr "ang filesystem dapat mag bigay ng mount method" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" -msgstr "unindent hindi tugma sa indentation level sa labas" +msgid "first argument to super() must be type" +msgstr "unang argument ng super() ay dapat type" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" -msgstr "int() arg 2 ay dapat >=2 at <= 36" +msgid "firstbit must be MSB" +msgstr "firstbit ay dapat MSB" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" -msgstr "maling sintaks sa integer" +msgid "flash location must be below 1MByte" +msgstr "dapat na mas mababa sa 1MB ang lokasyon ng flash" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" -msgstr "maling sintaks sa integer na may base %d" +msgid "float too big" +msgstr "masyadong malaki ang float" -#: py/parsenum.c:339 -msgid "invalid syntax for number" -msgstr "maling sintaks sa number" +msgid "font must be 2048 bytes long" +msgstr "font ay dapat 2048 bytes ang haba" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" -msgstr "decimal numbers hindi sinusuportahan" +msgid "format requires a dict" +msgstr "kailangan ng format ng dict" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." -msgstr "" -".mpy file hindi compatible. Maaring i-update lahat ng .mpy files. See http://" -"adafru.it/mpy-update for more info." +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "ang frequency ay dapat 80Mhz or 160MHz lamang" -#: py/persistentcode.c:326 -msgid "can only save bytecode" -msgstr "maaring i-save lamang ang bytecode" +msgid "full" +msgstr "puno" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "name hindi na define" +msgid "function does not take keyword arguments" +msgstr "ang function ay hindi kumukuha ng mga argumento ng keyword" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "name '%q' ay hindi defined" +#, c-format +msgid "function expected at most %d arguments, got %d" +msgstr "function na inaasahang %d ang argumento, ngunit %d ang nakuha" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "hindi sinusuportahang type para sa operator" +msgid "function got multiple values for argument '%q'" +msgstr "ang function ay nakakuha ng maraming values para sa argument '%q'" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "hindi sinusuportahang type para sa %q: '%s'" +#, c-format +msgid "function missing %d required positional arguments" +msgstr "function kulang ng %d required na positional arguments" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "hindi sinusuportahang type para sa %q: '%s', '%s'" +msgid "function missing keyword-only argument" +msgstr "function nangangailangan ng keyword-only argument" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "maling number ng value na i-unpack" +msgid "function missing required keyword argument '%q'" +msgstr "function nangangailangan ng keyword argument '%q'" -#: py/runtime.c:883 py/runtime.c:947 #, c-format -msgid "need more than %d values to unpack" -msgstr "kailangan ng higit sa %d na halaga upang i-unpack" +msgid "function missing required positional argument #%d" +msgstr "function nangangailangan ng positional argument #%d" -#: py/runtime.c:890 #, c-format -msgid "too many values to unpack (expected %d)" -msgstr "masyadong maraming values para i-unpact (umaasa ng %d)" +msgid "function takes %d positional arguments but %d were given" +msgstr "" +"ang function ay kumuhuha ng %d positional arguments ngunit %d ang ibinigay" + +msgid "function takes exactly 9 arguments" +msgstr "function kumukuha ng 9 arguments" + +msgid "generator already executing" +msgstr "insinasagawa na ng generator" -#: py/runtime.c:984 -msgid "argument has wrong type" -msgstr "may maling type ang argument" +msgid "generator ignored GeneratorExit" +msgstr "hindi pinansin ng generator ang GeneratorExit" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" -msgstr "argument ay dapat na '%q' hindi '%q'" +msgid "graphic must be 2048 bytes long" +msgstr "graphic ay dapat 2048 bytes ang haba" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" -msgstr "walang ganoon na attribute" +msgid "heap must be a list" +msgstr "list dapat ang heap" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" -msgstr "type object '%q' ay walang attribute '%q'" +msgid "identifier redefined as global" +msgstr "identifier ginawang global" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" -msgstr "'%s' object ay walang attribute '%q'" +msgid "identifier redefined as nonlocal" +msgstr "identifier ginawang nonlocal" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "object hindi ma i-iterable" +msgid "impossible baudrate" +msgstr "impossibleng baudrate" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" -msgstr "'%s' object ay hindi ma i-iterable" +msgid "incomplete format" +msgstr "hindi kumpleto ang format" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "object ay hindi iterator" +msgid "incomplete format key" +msgstr "hindi kumpleto ang format key" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" -msgstr "'%s' object ay hindi iterator" +msgid "incorrect padding" +msgstr "mali ang padding" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "ang mga exceptions ay dapat makuha mula sa BaseException" +msgid "index out of range" +msgstr "index wala sa sakop" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "hindi ma-import ang name %q" +msgid "indices must be integers" +msgstr "ang mga indeks ay dapat na integer" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "abigo ang paglalaan ng memorya, ang heap ay naka-lock" +msgid "inline assembler must be a function" +msgstr "inline assembler ay dapat na function" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "nabigo ang paglalaan ng memorya, paglalaan ng %u bytes" +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "int() arg 2 ay dapat >=2 at <= 36" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "lumagpas ang maximum recursion depth" +msgid "integer required" +msgstr "kailangan ng int" -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "object wala sa sequence" +msgid "interval not in range 0.0020 to 10.24" +msgstr "" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "stream operation hindi sinusuportahan" +msgid "invalid I2C peripheral" +msgstr "maling I2C peripheral" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" -msgstr "string hindi supportado; gumamit ng bytes o kaya bytearray" +msgid "invalid SPI peripheral" +msgstr "hindi wastong SPI peripheral" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "length argument ay walang pahintulot sa ganitong type" +msgid "invalid alarm" +msgstr "mali ang alarm" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "local variable na reference bago na i-assign" +msgid "invalid arguments" +msgstr "mali ang mga argumento" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "walang aktibong exception para i-reraise" +msgid "invalid buffer length" +msgstr "mali ang buffer length" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "byte code hindi pa implemented" +msgid "invalid cert" +msgstr "mali ang cert" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" -msgstr "" +msgid "invalid data bits" +msgstr "mali ang data bits" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" -msgstr "" +msgid "invalid dupterm index" +msgstr "mali ang dupterm index" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" -msgstr "" +msgid "invalid format" +msgstr "hindi wastong pag-format" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" -msgstr "" +msgid "invalid format specifier" +msgstr "mali ang format specifier" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" -msgstr "" +msgid "invalid key" +msgstr "mali ang key" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -#, fuzzy -msgid "Only slices with step=1 (aka None) are supported" -msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" +msgid "invalid micropython decorator" +msgstr "mali ang micropython decorator" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -#, fuzzy -msgid "Range out of bounds" -msgstr "wala sa sakop ang address" +msgid "invalid pin" +msgstr "mali ang pin" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" -msgstr "" +msgid "invalid step" +msgstr "mali ang step" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." -msgstr "" +msgid "invalid stop bits" +msgstr "mali ang stop bits" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" -msgstr "" +msgid "invalid syntax" +msgstr "mali ang sintaks" -#: shared-bindings/_pixelbuf/__init__.c:112 -#, fuzzy -msgid "readonly attribute" -msgstr "hindi mabasa ang attribute" +msgid "invalid syntax for integer" +msgstr "maling sintaks sa integer" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "graphic ay dapat 2048 bytes ang haba" +#, c-format +msgid "invalid syntax for integer with base %d" +msgstr "maling sintaks sa integer na may base %d" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" -msgstr "ang palette ay dapat 32 bytes ang haba" +msgid "invalid syntax for number" +msgstr "maling sintaks sa number" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" -msgstr "masyadong maliit ang buffer map" +msgid "issubclass() arg 1 must be a class" +msgstr "issubclass() arg 1 ay dapat na class" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" -msgstr "font ay dapat 2048 bytes ang haba" +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" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" -msgstr "masyadong maliit ang buffer" +msgid "join expects a list of str/bytes objects consistent with self object" +msgstr "" +"join umaaasang may listahan ng str/bytes objects na naalinsunod sa self " +"object" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." -msgstr "AnalogOut ay 16 bits. Value ay dapat hindi hihigit pa sa 65536." +msgid "keyword argument(s) not yet implemented - use normal args instead" +msgstr "" +"kindi pa ipinapatupad ang (mga) argument(s) ng keyword - gumamit ng normal " +"args" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" -msgstr "Hindi playing" +msgid "keywords must be strings" +msgstr "ang keywords dapat strings" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." -msgstr "Bit depth ay dapat multiple ng 8." +msgid "label '%q' not defined" +msgstr "label '%d' kailangan na i-define" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." -msgstr "Oversample ay dapat multiple ng 8." +msgid "label redefined" +msgstr "ang label ay na-define ulit" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "Ang delay ng startup ng mikropono ay dapat na nasa 0.0 hanggang 1.0" +msgid "len must be multiple of 4" +msgstr "len ay dapat multiple ng 4" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "ang destination_length ay dapat na isang int >= 0" +msgid "length argument not allowed for this type" +msgstr "length argument ay walang pahintulot sa ganitong type" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "Hindi ma-record sa isang file" +msgid "lhs and rhs should be compatible" +msgstr "lhs at rhs ay dapat magkasundo" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." -msgstr "" -"Ang kapasidad ng destinasyon ay mas maliit kaysa sa destination_length." +msgid "local '%q' has type '%q' but source is '%q'" +msgstr "local '%q' ay may type '%q' pero ang source ay '%q'" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" -msgstr "" -"ang destination buffer ay dapat na isang array ng uri 'H' para sa bit_depth " -"= 16" +msgid "local '%q' used before type known" +msgstr "local '%q' ginamit bago alam ang type" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" -msgstr "" -"ang destination buffer ay dapat na isang bytearray o array ng uri na 'B' " -"para sa bit_depth = 8" +msgid "local variable referenced before assignment" +msgstr "local variable na reference bago na i-assign" -#: shared-bindings/audioio/Mixer.c:91 -msgid "Invalid voice count" -msgstr "Maling bilang ng voice" +msgid "long int not supported in this build" +msgstr "long int hindi sinusuportahan sa build na ito" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" -msgstr "Maling bilang ng channel" +msgid "map buffer too small" +msgstr "masyadong maliit ang buffer map" -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" -msgstr "Sample rate ay dapat positibo" +msgid "math domain error" +msgstr "may pagkakamali sa math domain" -#: shared-bindings/audioio/Mixer.c:104 -msgid "bits_per_sample must be 8 or 16" -msgstr "bits_per_sample ay dapat 8 o 16" +msgid "maximum recursion depth exceeded" +msgstr "lumagpas ang maximum recursion depth" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" -msgstr "" -"ang sample_source buffer ay dapat na isang bytearray o array ng uri na 'h', " -"'H', 'b' o'B'" +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "nabigo ang paglalaan ng memorya, paglalaan ng %u bytes" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" -msgstr "buffer ay dapat bytes-like object" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "" +"nabigo ang paglalaan ng memorya, naglalaan ng %u bytes para sa native code" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" -msgstr "file ay dapat buksan sa byte mode" +msgid "memory allocation failed, heap is locked" +msgstr "abigo ang paglalaan ng memorya, ang heap ay naka-lock" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "Function nangangailangan ng lock" +msgid "module not found" +msgstr "module hindi nakita" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" -msgstr "Buffer dapat ay hindi baba sa 1 na haba" +msgid "multiple *x in assignment" +msgstr "maramihang *x sa assignment" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "Mali ang polarity" +msgid "multiple bases have instance lay-out conflict" +msgstr "maraming bases ay may instance lay-out conflict" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Mali ang phase" +msgid "multiple inheritance not supported" +msgstr "maraming inhertance hindi sinusuportahan" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Mali ang bilang ng bits" +msgid "must raise an object" +msgstr "dapat itaas ang isang object" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" -msgstr "aarehas na haba dapat ang buffer slices" +msgid "must specify all of sck/mosi/miso" +msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" -msgstr "" +msgid "must use keyword argument for key function" +msgstr "dapat gumamit ng keyword argument para sa key function" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "ang palette ay dapat 32 bytes ang haba" +msgid "name '%q' is not defined" +msgstr "name '%q' ay hindi defined" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 #, fuzzy -msgid "Expected a UUID" -msgstr "Umasa ng %q" +msgid "name must be a string" +msgstr "ang keywords dapat strings" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "Hindi maka connect sa AP" +msgid "name not defined" +msgstr "name hindi na define" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -#, fuzzy -msgid "timeout must be >= 0.0" -msgstr "bits ay dapat walo (8)" +msgid "name reused for argument" +msgstr "name muling ginamit para sa argument" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -#, fuzzy -msgid "%q must be >= 1" -msgstr "aarehas na haba dapat ang buffer slices" +msgid "native yield" +msgstr "native yield" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -#, fuzzy -msgid "Expected a Characteristic" -msgstr "Hindi mabasa and Characteristic." +#, c-format +msgid "need more than %d values to unpack" +msgstr "kailangan ng higit sa %d na halaga upang i-unpack" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "" +msgid "negative power with no float support" +msgstr "negatibong power na walang float support" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." -msgstr "" +msgid "negative shift count" +msgstr "negative shift count" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" -msgstr "Hindi maarang maglagay ng service sa Central mode" +msgid "no active exception to reraise" +msgstr "walang aktibong exception para i-reraise" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" -msgstr "Hindi maconnect sa Peripheral mode" +msgid "no available NIC" +msgstr "walang magagamit na NIC" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" -msgstr "Hindi mapalitan ang pangalan sa Central mode" +msgid "no binding for nonlocal found" +msgstr "no binding para sa nonlocal, nahanap" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" -msgstr "Hindi ma advertise habang nasa Central mode" +msgid "no module named '%q'" +msgstr "walang module na '%q'" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" -msgstr "" +msgid "no such attribute" +msgstr "walang ganoon na attribute" -#: shared-bindings/bleio/Peripheral.c:119 -#, fuzzy -msgid "name must be a string" -msgstr "ang keywords dapat strings" +msgid "non-default argument follows default argument" +msgstr "non-default argument sumusunod sa default argument" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" +msgid "non-hex digit found" +msgstr "non-hex digit nahanap" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" +msgid "non-keyword arg after */**" +msgstr "non-keyword arg sa huli ng */**" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" -msgstr "" +msgid "non-keyword arg after keyword arg" +msgstr "non-keyword arg sa huli ng keyword arg" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "" +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "hindi tamang ADC Channel: %d" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "buffer ay dapat bytes-like object" +msgid "not all arguments converted during string formatting" +msgstr "hindi lahat ng arguments na i-convert habang string formatting" -#: shared-bindings/bleio/UUID.c:151 -msgid "not a 128-bit UUID" -msgstr "" +msgid "not enough arguments for format string" +msgstr "kulang sa arguments para sa format string" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." -msgstr "Kailangan ng lock ang function." +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "object '%s' ay hindi tuple o list" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" -msgstr "bits ay dapat 7, 8 o 9" +msgid "object does not support item assignment" +msgstr "ang object na '%s' ay hindi maaaring i-subscript" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" -msgstr "stop dapat 1 o 2" +msgid "object does not support item deletion" +msgstr "ang object ay hindi sumusuporta sa pagbura ng item" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timeout >100 (units ay seconds, hindi na msecs)" +msgid "object has no len" +msgstr "object walang len" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." -msgstr "Mali ang direksyon." +msgid "object is not subscriptable" +msgstr "ang bagay ay hindi maaaring ma-subscript" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." -msgstr "Hindi ma i-set ang value kapag ang direksyon ay input." +msgid "object not an iterator" +msgstr "object ay hindi iterator" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." -msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input." +msgid "object not callable" +msgstr "hindi matatawag ang object" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." -msgstr "Pull hindi ginagamit kapag ang direksyon ay output." +msgid "object not in sequence" +msgstr "object wala sa sequence" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." -msgstr "Hindi suportado ang pull value." +msgid "object not iterable" +msgstr "object hindi ma i-iterable" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "Hindi mabura ang values" +#, c-format +msgid "object of type '%s' has no len()" +msgstr "object na type '%s' walang len()" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "Hindi suportado ang Slices" +msgid "object with buffer protocol required" +msgstr "object na may buffer protocol kinakailangan" + +msgid "odd-length string" +msgstr "odd-length string" -#: shared-bindings/displayio/Bitmap.c:156 #, fuzzy -msgid "pixel coordinates out of bounds" +msgid "offset out of bounds" msgstr "wala sa sakop ang address" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" -msgstr "" +msgid "only slices with step=1 (aka None) are supported" +msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" -#: shared-bindings/displayio/BuiltinFont.c:93 -#, fuzzy -msgid "%q should be an int" -msgstr "y ay dapat int" +msgid "ord expects a character" +msgstr "ord umaasa ng character" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" -msgstr "color ay dapat na int" +#, c-format +msgid "ord() expected a character, but string of length %d found" +msgstr "ord() umaasa ng character pero string ng %d haba ang nakita" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgid "overflow converting long int to machine word" +msgstr "overflow nagcoconvert ng long int sa machine word" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" -msgstr "" +msgid "palette must be 32 bytes long" +msgstr "ang palette ay dapat 32 bytes ang haba" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." -msgstr "" +msgid "palette_index should be an int" +msgstr "palette_index ay dapat na int" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" -msgstr "" +msgid "parameter annotation must be an identifier" +msgstr "parameter annotation ay dapat na identifier" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" -msgstr "" +msgid "parameters must be registers in sequence a2 to a5" +msgstr "ang mga parameter ay dapat na nagrerehistro sa sequence a2 hanggang a5" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -#, fuzzy -msgid "Command must be an int between 0 and 255" -msgstr "Sa gitna ng 0 o 255 dapat ang bytes." +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/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" -msgstr "ang color buffer ay dapat bytearray o array na type ‘b’ or ‘B’" +msgid "pin does not have IRQ capabilities" +msgstr "walang IRQ capabilities ang pin" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" -msgstr "color buffer ay dapat na 3 bytes (RGB) o 4 bytes (RGB + pad byte)" +#, fuzzy +msgid "pixel coordinates out of bounds" +msgstr "wala sa sakop ang address" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" -msgstr "color ay dapat mula sa 0x000000 hangang 0xffffff" +msgid "pixel value requires too many bits" +msgstr "" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" -msgstr "color buffer ay dapat buffer or int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" -msgstr "palette_index ay dapat na int" +msgid "pop from an empty PulseIn" +msgstr "pop mula sa walang laman na PulseIn" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" -msgstr "y ay dapat int" +msgid "pop from an empty set" +msgstr "pop sa walang laman na set" -#: shared-bindings/displayio/Shape.c:101 -#, fuzzy -msgid "start_x should be an int" -msgstr "y ay dapat int" +msgid "pop from empty list" +msgstr "pop galing sa walang laman na list" -#: shared-bindings/displayio/Shape.c:105 -#, fuzzy -msgid "end_x should be an int" -msgstr "y ay dapat int" +msgid "popitem(): dictionary is empty" +msgstr "popitem(): dictionary ay walang laman" -#: shared-bindings/displayio/TileGrid.c:49 msgid "position must be 2-tuple" msgstr "position ay dapat 2-tuple" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" -msgstr "Hindi supportadong tipo ng bitmap" +msgid "pow() 3rd argument cannot be 0" +msgstr "pow() 3rd argument ay hindi maaring 0" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" -msgstr "" +msgid "pow() with 3 arguments requires integers" +msgstr "pow() na may 3 argumento kailangan ng integers" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "queue overflow" +msgstr "puno na ang pila (overflow)" + +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" -msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter" +#, fuzzy +msgid "readonly attribute" +msgstr "hindi mabasa ang attribute" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "masyadong maraming argumento" +msgid "relative import" +msgstr "relative import" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" -msgstr "umasa ng DigitalInOut" +#, c-format +msgid "requested length %d but object has length %d" +msgstr "hiniling ang haba %d ngunit may haba ang object na %d" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" -msgstr "hindi ma i-convert ang address sa INT" +msgid "return annotation must be an identifier" +msgstr "return annotation ay dapat na identifier" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" -msgstr "wala sa sakop ang address" +msgid "return expected '%q' but got '%q'" +msgstr "return umasa ng '%q' pero ang nakuha ay ‘%q’" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" -msgstr "walang laman ang address" +msgid "row must be packed and word aligned" +msgstr "row ay dapat packed at ang word nakahanay" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" -msgstr "Umasa ng %q" +msgid "rsplit(None,n)" +msgstr "rsplit(None,n)" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q ay ginagamit" +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" +msgstr "" +"ang sample_source buffer ay dapat na isang bytearray o array ng uri na 'h', " +"'H', 'b' o'B'" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." -msgstr "Mali ang run mode." +msgid "sampling rate out of range" +msgstr "pagpili ng rate wala sa sakop" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." -msgstr "Stream kulang ng readinto() o write() method." +msgid "scan failed" +msgstr "nabigo ang pag-scan" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." -msgstr "Slice at value iba't ibang haba." +msgid "schedule stack full" +msgstr "puno na ang schedule stack" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." -msgstr "Array values ay dapat single bytes." +msgid "script compilation not supported" +msgstr "script kompilasyon hindi supportado" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Hindi ma i-sulat sa NVM." +msgid "services includes an object that is not a Service" +msgstr "" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "Sa gitna ng 0 o 255 dapat ang bytes." +msgid "sign not allowed in string format specifier" +msgstr "sign hindi maaring string format specifier" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" -msgstr "Walang magagamit na hardware random" +msgid "sign not allowed with integer format specifier 'c'" +msgstr "sign hindi maari sa integer format specifier 'c'" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Lahat ng timers para sa pin na ito ay ginagamit" +msgid "single '}' encountered in format string" +msgstr "isang '}' nasalubong sa format string" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "PWM duty_cycle ay dapat sa loob ng 0 at 65535 (16 bit resolution)" +msgid "sleep length must be non-negative" +msgstr "sleep length ay dapat hindi negatibo" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." -msgstr "" -"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo." +msgid "slice step cannot be zero" +msgstr "slice step ay hindi puedeng 0" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" -msgstr "Basahin-lamang" +msgid "small int overflow" +msgstr "small int overflow" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" -msgstr "May halfwords (type 'H') dapat ang array" +msgid "soft reboot\n" +msgstr "malambot na reboot\n" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" -msgstr "stop hindi maabot sa simula" +msgid "start/end indices" +msgstr "start/end indeks" + +#, fuzzy +msgid "start_x should be an int" +msgstr "y ay dapat int" -#: shared-bindings/random/__init__.c:111 msgid "step must be non-zero" msgstr "step ay dapat hindi zero" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" -msgstr "mali ang step" - -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "walang laman ang sequence" +msgid "stop must be 1 or 2" +msgstr "stop dapat 1 o 2" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "Hindi supportado ang RTC sa board na ito" +msgid "stop not reachable from start" +msgstr "stop hindi maabot sa simula" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "RTC calibration ay hindi supportado ng board na ito" +msgid "stream operation not supported" +msgstr "stream operation hindi sinusuportahan" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" -msgstr "walang magagamit na NIC" +msgid "string index out of range" +msgstr "indeks ng string wala sa sakop" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "ang filesystem dapat mag bigay ng mount method" +#, c-format +msgid "string indices must be integers, not %s" +msgstr "ang indeks ng string ay dapat na integer, hindi %s" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "Ang liwanag ay dapat sa gitna ng 0 o 255" +msgid "string not supported; use bytes or bytearray" +msgstr "string hindi supportado; gumamit ng bytes o kaya bytearray" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256" +msgid "struct: cannot index" +msgstr "struct: hindi ma-index" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" -msgstr "sleep length ay dapat hindi negatibo" +msgid "struct: index out of range" +msgstr "struct: index hindi maabot" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() kumukuha ng 1 argument" +msgid "struct: no fields" +msgstr "struct: walang fields" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" -msgstr "time.struct_time() kumukuha ng 9-sequence" +msgid "substring not found" +msgstr "substring hindi nahanap" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" -msgstr "Tuple o struct_time argument kailangan" +msgid "super() can't find self" +msgstr "super() hindi mahanap ang sarili" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" -msgstr "function kumukuha ng 9 arguments" +msgid "syntax error in JSON" +msgstr "sintaks error sa JSON" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" -msgstr "wala sa sakop ng timestamp ang platform time_t" +msgid "syntax error in uctypes descriptor" +msgstr "may pagkakamali sa sintaks sa uctypes descriptor" -#: shared-bindings/touchio/TouchIn.c:173 msgid "threshold must be in the range 0-65536" msgstr "ang threshold ay dapat sa range 0-65536" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." -msgstr "" -"Object ay deinitialized at hindi na magagamit. Lumikha ng isang bagong " -"Object." - -#: shared-module/_pixelbuf/PixelBuf.c:69 -#, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "" - -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" -msgstr "Hindi ma-iallocate ang first buffer" - -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" -msgstr "Hindi ma-iallocate ang second buffer" - -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" -msgstr "Index ng Voice ay masyadong mataas" +msgid "time.struct_time() takes a 9-sequence" +msgstr "time.struct_time() kumukuha ng 9-sequence" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" -msgstr "Ang sample rate ng sample ay hindi tugma sa mixer" +msgid "time.struct_time() takes exactly 1 argument" +msgstr "time.struct_time() kumukuha ng 1 argument" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" -msgstr "Ang channel count ng sample ay hindi tugma sa mixer" +msgid "timeout >100 (units are now seconds, not msecs)" +msgstr "timeout >100 (units ay seconds, hindi na msecs)" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" -msgstr "Ang bits_per_sample ng sample ay hindi tugma sa mixer" +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "bits ay dapat walo (8)" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" -msgstr "Ang signedness ng sample hindi tugma sa mixer" +msgid "timestamp out of range for platform time_t" +msgstr "wala sa sakop ng timestamp ang platform time_t" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" -msgstr "May hindi tama sa wave file" +msgid "too many arguments" +msgstr "masyadong maraming argumento" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" -msgstr "Mali ang format ng chunk size" +msgid "too many arguments provided with the given format" +msgstr "masyadong maraming mga argumento na ibinigay sa ibinigay na format" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" -msgstr "Hindi supportadong format" +#, c-format +msgid "too many values to unpack (expected %d)" +msgstr "masyadong maraming values para i-unpact (umaasa ng %d)" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" -msgstr "Dapat sunurin ng Data chunk ang fmt chunk" +msgid "tuple index out of range" +msgstr "indeks ng tuple wala sa sakop" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" -msgstr "Mali ang file" +msgid "tuple/list has wrong length" +msgstr "mali ang haba ng tuple/list" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" -msgstr "Masyadong mahaba ang Clock stretch" +msgid "tuple/list required on RHS" +msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "Nabigo sa pag init ng Clock pin." +msgid "tx and rx cannot both be None" +msgstr "tx at rx hindi pwedeng parehas na None" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." -msgstr "Hindi ma-initialize ang MOSI pin." +msgid "type '%q' is not an acceptable base type" +msgstr "hindi maari ang type na '%q' para sa base type" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." -msgstr "Hindi ma-initialize ang MISO pin." +msgid "type is not an acceptable base type" +msgstr "hindi puede ang type para sa base type" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "Hindi maaring isulat kapag walang MOSI pin." +msgid "type object '%q' has no attribute '%q'" +msgstr "type object '%q' ay walang attribute '%q'" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." -msgstr "Hindi maaring mabasa kapag walang MISO pin." +msgid "type takes 1 or 3 arguments" +msgstr "type kumuhuha ng 1 o 3 arguments" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." -msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin." +msgid "ulonglong too large" +msgstr "ulonglong masyadong malaki" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" -msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado" +msgid "unary op %q not implemented" +msgstr "unary op %q hindi implemented" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" -msgstr "row ay dapat packed at ang word nakahanay" +msgid "unexpected indent" +msgstr "hindi inaasahang indent" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Basahin-lamang" +msgid "unexpected keyword argument" +msgstr "hindi inaasahang argumento ng keyword" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "Hindi supportadong tipo ng bitmap" +msgid "unexpected keyword argument '%q'" +msgstr "hindi inaasahang argumento ng keyword na '%q'" -#: shared-module/displayio/Group.c:66 -msgid "Group full" -msgstr "Puno ang group" +msgid "unicode name escapes" +msgstr "unicode name escapes" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." -msgstr "" +msgid "unindent does not match any outer indentation level" +msgstr "unindent hindi tugma sa indentation level sa labas" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" -msgstr "Mali ang BMP file" +msgid "unknown config param" +msgstr "hindi alam na config param" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" +msgid "unknown conversion specifier %c" +msgstr "hindi alam ang conversion specifier na %c" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" - -#: shared-module/displayio/Shape.c:60 -#, fuzzy -msgid "y value out of bounds" -msgstr "wala sa sakop ang address" +msgid "unknown format code '%c' for object of type '%s'" +msgstr "hindi alam ang format code '%c' para sa object na ang type ay '%s'" -#: shared-module/displayio/Shape.c:63 -#, fuzzy -msgid "x value out of bounds" -msgstr "wala sa sakop ang address" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" +msgstr "hindi alam ang format code '%c' sa object na ang type ay 'float'" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" -msgstr "" +msgid "unknown format code '%c' for object of type 'str'" +msgstr "hindi alam ang format ng code na '%c' para sa object ng type ay 'str'" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "Hindi ma-remount '/' kapag aktibo ang USB." +msgid "unknown status param" +msgstr "hindi alam na status param" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" -msgstr "Ang 'S' at 'O' ay hindi suportadong uri ng format" +msgid "unknown type" +msgstr "hindi malaman ang type (unknown type)" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" -msgstr "masyadong maraming mga argumento na ibinigay sa ibinigay na format" +msgid "unknown type '%q'" +msgstr "hindi malaman ang type '%q'" -#: shared-module/struct/__init__.c:179 -#, fuzzy -msgid "buffer size must match format" -msgstr "aarehas na haba dapat ang buffer slices" +msgid "unmatched '{' in format" +msgstr "hindi tugma ang '{' sa format" -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Mali ang size ng buffer. Dapat %d bytes." +msgid "unreadable attribute" +msgstr "hindi mabasa ang attribute" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "Busy ang USB" +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "hindi sinusuportahan ang thumb instruktion '%s' sa %d argumento" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "May pagkakamali ang USB" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "hindi sinusuportahan ang instruction ng Xtensa '%s' sa %d argumento" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Walang default na I2C bus" +msgid "unsupported bitmap type" +msgstr "Hindi supportadong tipo ng bitmap" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Walang default SPI bus" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" +msgstr "hindi sinusuportahan ang format character na '%c' (0x%x) sa index %d" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Walang default UART bus" +msgid "unsupported type for %q: '%s'" +msgstr "hindi sinusuportahang type para sa %q: '%s'" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Ikaw ang humiling sa safe mode sa pamamagitan ng " +msgid "unsupported type for operator" +msgstr "hindi sinusuportahang type para sa operator" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Para lumabas, paki-reset ang board na wala ang " +msgid "unsupported types for %q: '%s', '%s'" +msgstr "hindi sinusuportahang type para sa %q: '%s', '%s'" -#: supervisor/shared/safe_mode.c:107 -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" -msgstr "Ikaw ay tumatakbo sa safe mode dahil may masamang nangyari.\n" +msgid "wifi_set_ip_info() failed" +msgstr "nabigo ang wifi_set_ip_info()" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "write_args must be a list, tuple, or None" msgstr "" -"Mukhang ang core CircuitPython code nag crash. Ay!\n" -"Maaring mag file ng issue sa https://github.com/adafruit/circuitpython/" -"issues\n" -"kasama ng laman ng iyong CIRCUITPY drive at ang message na ito:\n" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" -msgstr "Nagcrash sa HardFault_Handler.\n" +msgid "wrong number of arguments" +msgstr "mali ang bilang ng argumento" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" -msgstr "CircuitPython NLR jump nabigo. Maaring memory corruption.\n" +msgid "wrong number of values to unpack" +msgstr "maling number ng value na i-unpack" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "CircuitPython fatal na pagkakamali.\n" +#, fuzzy +msgid "x value out of bounds" +msgstr "wala sa sakop ang address" -#: supervisor/shared/safe_mode.c:118 -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" -msgstr "" -"Ang kapangyarihan ng mikrokontroller ay bumaba. Mangyaring suriin ang power " -"supply \n" -"pindutin ang reset (pagkatapos i-eject ang CIRCUITPY).\n" +msgid "y should be an int" +msgstr "y ay dapat int" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" -"Ang CircuitPython heap ay na corrupt dahil ang stack ay maliit.\n" -"Maaring i-increase ang stack size limit at i-press ang reset (pagkatapos i-" -"eject ang CIRCUITPY.\n" -"Kung hindi mo pinalitan ang stack, mag file ng issue dito kasama ng laman ng " -"CIRCUITPY drive:\n" +#, fuzzy +msgid "y value out of bounds" +msgstr "wala sa sakop ang address" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" -"Ang reset button ay pinindot habang nag boot ang CircuitPython. Pindutin " -"ulit para lumabas sa safe mode.\n" +msgid "zero step" +msgstr "zero step" -#~ msgid "Not enough pins available" -#~ msgstr "Hindi sapat ang magagamit na pins" +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Lahat ng PWM peripherals ay ginagamit" -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART hindi available" +#~ msgid "Can encode UUID into the advertisement packet." +#~ msgstr "Maaring i-encode ang UUID sa advertisement packet." + +#~ msgid "Can not add Service." +#~ msgstr "Hindi maidaragdag ang serbisyo." #~ msgid "Can not apply advertisement data. status: 0x%02x" #~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x" -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY " -#~ "drive:\n" - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Hindi ma-set ang PPCP parameters." - #~ msgid "Can not apply device name in the stack." #~ msgstr "Hindi maaaring ma-aplay ang device name sa stack." +#~ msgid "Can not encode UUID, to check length." +#~ msgstr "Hindi ma-encode UUID, para suriin ang haba." + +#~ msgid "Can not query for the device address." +#~ msgstr "Hindi maaaring mag-query para sa address ng device." + #~ msgid "Cannot apply GAP parameters." #~ msgstr "Hindi ma-apply ang GAP parameters." -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Mali ang bilang ng bytes" +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "Hindi ma-set ang PPCP parameters." -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Hindi ma-encode UUID, para suriin ang haba." +#~ msgid "Group empty" +#~ msgstr "Walang laman ang group" #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang " -#~ "reset (pagkatapos i-eject ang CIRCUITPY).\n" +#~ msgid "Group must have %q at least 1" +#~ msgstr "Group dapat ay hindi baba sa 1 na haba" -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio ay nasa gitna ng konstruksiyon" +#~ msgid "Invalid Service type" +#~ msgstr "Mali ang tipo ng serbisyo" -#~ msgid "Can not add Service." -#~ msgstr "Hindi maidaragdag ang serbisyo." +#~ msgid "Invalid UUID parameter" +#~ msgstr "Mali ang UUID parameter" #~ msgid "Invalid UUID string length" #~ msgstr "Mali ang UUID string length" -#~ msgid "Invalid Service type" -#~ msgstr "Mali ang tipo ng serbisyo" +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n" -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Maaring i-encode ang UUID sa advertisement packet." +#~ msgid "Not enough pins available" +#~ msgstr "Hindi sapat ang magagamit na pins" + +#~ msgid "" +#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" +#~ msgstr "" +#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY " +#~ "drive:\n" #~ msgid "Wrong address length" #~ msgstr "Mali ang address length" -#~ msgid "Group empty" -#~ msgstr "Walang laman ang group" +#~ msgid "Wrong number of bytes provided" +#~ msgstr "Mali ang bilang ng bytes" -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n" +#, fuzzy +#~ msgid "buffer_size must be >= 1" +#~ msgstr "aarehas na haba dapat ang buffer slices" -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Lahat ng PWM peripherals ay ginagamit" +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART hindi available" -#~ msgid "Can not query for the device address." -#~ msgstr "Hindi maaaring mag-query para sa address ng device." +#~ msgid "displayio is a work in progress" +#~ msgstr "displayio ay nasa gitna ng konstruksiyon" + +#~ msgid "" +#~ "enough power for the whole circuit and press reset (after ejecting " +#~ "CIRCUITPY).\n" +#~ msgstr "" +#~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang " +#~ "reset (pagkatapos i-eject ang CIRCUITPY).\n" #~ msgid "index must be int" #~ msgstr "index ay dapat int" #, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "ang keywords dapat strings" - -#~ msgid "row data must be a buffer" -#~ msgstr "row data ay dapat na buffer" +#~ msgid "palette must be displayio.Palette" +#~ msgstr "ang palette ay dapat 32 bytes ang haba" #~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" #~ msgstr "ang row buffer ay dapat bytearray o array na type ‘b’ or ‘B’" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Mali ang UUID parameter" - -#, fuzzy -#~ msgid "palette must be displayio.Palette" -#~ msgstr "ang palette ay dapat 32 bytes ang haba" +#~ msgid "row data must be a buffer" +#~ msgstr "row data ay dapat na buffer" #, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Group dapat ay hindi baba sa 1 na haba" +#~ msgid "unicode_characters must be a string" +#~ msgstr "ang keywords dapat strings" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "aarehas na haba dapat ang buffer slices" +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes" diff --git a/locale/fr.po b/locale/fr.po index b24abeb5d34e..7f2006575a11 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -16,3002 +16,2282 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "périphérique I2C invalide" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "opération sur I2C non supportée" +msgid " File \"%q\"" +msgstr " Fichier \"%q\"" + +msgid " File \"%q\", line %d" +msgstr " Fichier \"%q\", ligne %d" + +msgid " output:\n" +msgstr " sortie:\n" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 #, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "l'adresse %08x n'est pas alignée sur %d octets" +msgid "%%c requires int or char" +msgstr "%%c nécessite un entier int ou un caractère char" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "périphérique SPI invalide" +msgid "%q in use" +msgstr "%q utilisé" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" -msgstr "les tampons doivent être de la même longueur" +msgid "%q index out of range" +msgstr "index %q hors gamme" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "les bits doivent être 8" +msgid "%q indices must be integers, not %s" +msgstr "les indices %q doivent être des entiers, pas %s" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "le 1er bit doit être le MSB" +#, fuzzy +msgid "%q must be >= 1" +msgstr "les slices de tampon doivent être de longueurs égales" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "SCK, MOSI et MISO doivent tous être spécifiés" +#, fuzzy +msgid "%q should be an int" +msgstr "y doit être un entier (int)" -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "format invalide" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "%q() prend %d arguments mais %d ont été donnés" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "un objet 'bytes-like' est requis" +msgid "'%q' argument required" +msgstr "'%q' argument requis" -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "chaîne de longueur impaire" +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' attend un label" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "digit non-héxadécimale trouvé" +#, c-format +msgid "'%s' expects a register" +msgstr "'%s' attend un registre" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "espacement incorrect" +#, fuzzy, c-format +msgid "'%s' expects a special register" +msgstr "'%s' attend un registre special" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "erreur de syntaxe dans le descripteur d'uctypes" +#, fuzzy, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' attend un registre FPU" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" +#, fuzzy, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "'%s' attend une adresse de la forme [a, b]" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: aucun champs" +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' attend un entier" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: indexage impossible" +#, fuzzy, c-format +msgid "'%s' expects at most r%d" +msgstr "'%s' attend un registre" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: index hors limite" +#, fuzzy, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "'%s' attend {r0, r1, ...}" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "'heap' doit être une liste" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "'%s' l'entier %d n'est pas dans la gamme %d..%d" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "'heap' vide" +#, fuzzy, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "'%s' l'entier 0x%x ne correspond pas au masque 0x%x" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "erreur de syntaxe JSON" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "l'objet '%s' ne supporte pas l'assignation d'éléments" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" -msgstr "Fractionnement avec des captures 'sub'" +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "l'objet '%s' ne supporte pas la suppression d'éléments" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "Erreur dans l'expression régulière" +msgid "'%s' object has no attribute '%q'" +msgstr "l'objet '%s' n'a pas d'attribut '%q'" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "clé invalide" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "l'objet '%s' n'est pas un itérateur" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "certificat invalide" +#, c-format +msgid "'%s' object is not callable" +msgstr "objet '%s' non appelable" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "dépassement de file" +#, c-format +msgid "'%s' object is not iterable" +msgstr "objet '%s' non itérable" -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "entête de compression" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "l'objet '%s' n'est pas sous-scriptable" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "index invalide pour dupterm" +msgid "'=' alignment not allowed in string format specifier" +msgstr "'=' alignement non autorisé dans la spéc. de format de chaîne" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Système de fichier en lecture seule" +msgid "'S' and 'O' are not supported format types" +msgstr "'S' et 'O' ne sont pas des types de format supportés" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "opération d'E/S sur un fichier fermé" +msgid "'align' requires 1 argument" +msgstr "'align' nécessite 1 argument" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() appelé" +msgid "'await' outside function" +msgstr "'await' en dehors d'une fonction" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "arguments invalides" +msgid "'break' outside loop" +msgstr "'break' en dehors d'une boucle" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "compilation de script non supporté" +msgid "'continue' outside loop" +msgstr "'continue' en dehors d'une boucle" -#: main.c:152 -msgid " output:\n" -msgstr " sortie:\n" +msgid "'data' requires at least 2 arguments" +msgstr "'data' nécessite au moins 2 arguments" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" -msgstr "" -"Auto-chargement activé. Copiez simplement les fichiers en USB pour les " -"lancer ou entrez sur REPL pour le désactiver.\n" +msgid "'data' requires integer arguments" +msgstr "'data' nécessite des arguments entiers" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Mode sans-échec. Auto-rechargement désactivé.\n" +msgid "'label' requires 1 argument" +msgstr "'label' nécessite 1 argument" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "Auto-rechargement désactivé.\n" +msgid "'return' outside function" +msgstr "'return' en dehors d'une fonction" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Mode sans-échec! Le code sauvegardé ne s'éxecute pas.\n" +msgid "'yield' outside function" +msgstr "'yield' en dehors d'une fonction" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "ATTENTION: le nom de fichier de votre code a deux extensions\n" +msgid "*x must be assignment target" +msgstr "*x doit être la cible de l'assignement" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid ", in %q\n" +msgstr ", dans %q\n" + +msgid "0.0 to a complex power" +msgstr "0.0 à une puissance complexe" + +msgid "3-arg pow() not supported" +msgstr "pow() avec 3 arguments non supporté" + +msgid "A hardware interrupt channel is already in use" +msgstr "Un canal d'interruptions est déjà utilisé" + +msgid "AP required" +msgstr "'AP' requis" + +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." -msgstr "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger." +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "la palette doit être longue de 32 octets" -#: main.c:422 -msgid "soft reboot\n" -msgstr "redémarrage logiciel\n" +#, fuzzy +msgid "All I2C peripherals are in use" +msgstr "Tous les périphériques I2C sont utilisés" + +#, fuzzy +msgid "All SPI peripherals are in use" +msgstr "Tous les périphériques SPI sont utilisés" + +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Tous les périphériques I2C sont utilisés" + +msgid "All event channels in use" +msgstr "Tous les canaux d'événements sont utilisés" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 msgid "All sync event channels in use" msgstr "Tous les canaux d'événements de synchro sont utilisés" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "calibration en lecture seule" +msgid "All timers for this pin are in use" +msgstr "Tous les timers pour cette broche sont utilisés" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "calibration hors gamme" +msgid "All timers in use" +msgstr "Tous les timers sont utilisés" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "la broche ne peut être utilisé pour l'ADC" +msgid "AnalogOut functionality not supported" +msgstr "AnalogOut non supporté" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Pas de DAC sur la puce" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "" +"AnalogOut est seulement 16 bits. Les valeurs doivent être inf. à 65536." -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 msgid "AnalogOut not supported on given pin" msgstr "AnalogOut n'est pas supporté sur la broche indiquée" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Broche invalide pour 'bit clock'" +msgid "Another send is already active" +msgstr "Un autre envoi est déjà actif" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "'bit clock' et 'word select' doivent partager une horloge" +msgid "Array must contain halfwords (type 'H')" +msgstr "Le tableau doit contenir des halfwords (type 'H')" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Broche de données invalide" +msgid "Array values should be single bytes." +msgstr "Les valeurs du tableau doivent être des octets simples 'bytes'." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Sérialiseur en cours d'utilisation" +msgid "Auto-reload is off.\n" +msgstr "Auto-rechargement désactivé.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Horloge en cours d'utilisation" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"Auto-chargement activé. Copiez simplement les fichiers en USB pour les " +"lancer ou entrez sur REPL pour le désactiver.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Impossible de trouver un GCLK libre" +msgid "Bit clock and word select must share a clock unit" +msgstr "'bit clock' et 'word select' doivent partager une horloge" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Trop de canaux dans l'échantillon." +msgid "Bit depth must be multiple of 8." +msgstr "La profondeur de bit doit être un multiple de 8." -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "Aucun canal DMA trouvé" +msgid "Both pins must support hardware interrupts" +msgstr "Les deux entrées doivent supporter les interruptions" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Impossible d'allouer des tampons pour une conversion signée" +msgid "Brightness must be between 0 and 255" +msgstr "La luminosité doit être entre 0 et 255" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Broche d'horloge invalide" +msgid "Brightness not adjustable" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " -msgstr "Uniquement 8 ou 16 bit mono avec " +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Tampon de taille incorrect. Devrait être de %d octets." -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "taux d'échantillonage hors gamme" +msgid "Buffer must be at least length 1" +msgstr "Le tampon doit être de longueur au moins 1" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +#, fuzzy, c-format +msgid "Bus pin %d is already in use" msgstr "DAC déjà utilisé" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Canal droit non supporté" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Broche invalide" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Broche invalide pour le canal gauche" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Broche invalide pour le canal droit" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" -msgstr "Les 2 canaux de sortie ne peuvent être sur la même broche" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "le tampon doit être un objet bytes-like" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Tous les timers sont utilisés" +msgid "Bytes must be between 0 and 255." +msgstr "Les octets 'bytes' doivent être entre 0 et 255" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Tous les canaux d'événements sont utilisés" +msgid "C-level assert" +msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Taux d'échantillonage trop élevé. Doit être inf. à %d" - -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Broches invalides" - -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "Débit non supporté" +msgid "Can't add services in Central mode" +msgstr "Impossible d'ajouter des service en mode Central" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "octets > 8 bits non supporté" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "tx et rx ne peuvent être None tous les deux" +msgid "Can't change the name in Central mode" +msgstr "Modification du nom impossible en mode Central" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Echec de l'allocation du tampon RX" +msgid "Can't connect in Peripheral mode" +msgstr "Impossible de se connecter en mode Peripheral" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "L'UART n'a pu être initialisé" +msgid "Cannot connect to AP" +msgstr "Impossible de se connecter à 'AP'" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Pas de broche RX" +msgid "Cannot delete values" +msgstr "Impossible de supprimer les valeurs" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Pas de broche TX" +msgid "Cannot disconnect from AP" +msgstr "Impossible de se déconnecter de 'AP'" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 msgid "Cannot get pull while in output mode" msgstr "Ne peux être tiré ('pull') en mode 'output'" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 #, fuzzy -msgid "Data 0 pin must be byte aligned" -msgstr "le graphic doit être long de 2048 octets" +msgid "Cannot get temperature" +msgstr "Impossible de lire la température. status: 0x%02x" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, fuzzy, c-format -msgid "Bus pin %d is already in use" -msgstr "DAC déjà utilisé" +msgid "Cannot output both channels on the same pin" +msgstr "Les 2 canaux de sortie ne peuvent être sur la même broche" + +msgid "Cannot read without MISO pin." +msgstr "Impossible de lire sans broche MISO." + +msgid "Cannot record to a file" +msgstr "Impossible d'enregistrer vers un fichier" + +msgid "Cannot remount '/' when USB is active." +msgstr "'/' ne peut être remonté quand l'USB est actif." -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 msgid "Cannot reset into bootloader because no bootloader is present." msgstr "" "Ne peut être redémarré vers le bootloader car il n'y a pas de bootloader." -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Fréquence de PWM invalide" +msgid "Cannot set STA config" +msgstr "Impossible de configurer STA" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Pas de support matériel pour cette broche" +msgid "Cannot set value when direction is input." +msgstr "Impossible d'affecter une valeur quand la direction est 'input'." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "Canal EXTINT déjà utilisé" +msgid "Cannot subclass slice" +msgstr "On ne peut faire de subclass de slice" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Echec de l'allocation de %d octets du tampon RX" +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "Pas de transfert sans broches MOSI et MISO" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "'pop' d'une entrée PulseIn vide" +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "index hors gamme" +msgid "Cannot update i/f status" +msgstr "le status i/f ne peut être mis à jour" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Un autre envoi est déjà actif" +msgid "Cannot write without MOSI pin." +msgstr "Impossible d'écrire sans broche MOSI." -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Les deux entrées doivent supporter les interruptions" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Un canal d'interruptions est déjà utilisé" +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "valeur de calibration hors gamme +/-127" +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Pas de GCLK libre" +msgid "Clock pin init failed." +msgstr "Echec de l'init. de la broche d'horloge" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "La broche %q n'a pas de convertisseur analogique-digital" +msgid "Clock stretch too long" +msgstr "Période de l'horloge trop longue" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Pas de support matériel pour une sortie analogique" +msgid "Clock unit in use" +msgstr "Horloge en cours d'utilisation" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Broche invalide pour le SPI" +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Les octets 'bytes' doivent être entre 0 et 255" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Seul le tx est supporté sur l'UART1 (GPIO2)." +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "bits de données invalides" +msgid "Could not initialize UART" +msgstr "L'UART n'a pu être initialisé" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "bits d'arrêt invalides" +msgid "Couldn't allocate first buffer" +msgstr "Impossible d'allouer le 1er tampon" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "L'ESP8266 ne supporte pas le rappel (pull-down)" +msgid "Couldn't allocate second buffer" +msgstr "Impossible d'allouer le 2e tampon" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "le GPIO16 ne supporte pas le tirage (pull-up)" +msgid "Crash into the HardFault_Handler.\n" +msgstr "" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "l'ESP8266 ne supporte pas le mode sans-échec" +msgid "DAC already in use" +msgstr "DAC déjà utilisé" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "La fréquence de PWM maximale est %dHz" +#, fuzzy +msgid "Data 0 pin must be byte aligned" +msgstr "le graphic doit être long de 2048 octets" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "La fréquence de PWM minimale est 1Hz" +msgid "Data chunk must follow fmt chunk" +msgstr "Un bloc de données doit suivre un bloc de format" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgid "Data too large for advertisement packet" msgstr "" -"Les fréquences de PWM multiples ne sont pas supportées. PWM réglé à %dHz" - -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" -msgstr "La broche %d ne supporte pas le PWM" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Pas de support de PulseIn pour %q" +msgid "Data too large for the advertisement packet" +msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Impossible de remonter le système de fichiers" +msgid "Destination capacity is smaller than destination_length." +msgstr "La capacité de la cible est plus petite que destination_length." -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" +msgid "Display rotation must be in 90 degree increments" msgstr "" -"Utilisez 'esptool' pour effacer la flash et rechargez Python à la place" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" -msgstr "" +msgid "Don't know how to pass object to native function" +msgstr "Ne sais pas comment passer l'objet à une fonction native" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "canal ADC non valide : %d" +msgid "Drive mode not used when direction is input." +msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'." -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "débit impossible" +msgid "ESP8226 does not support safe mode." +msgstr "l'ESP8266 ne supporte pas le mode sans-échec" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "une broche (Pin) est attendue" +msgid "ESP8266 does not support pull down." +msgstr "L'ESP8266 ne supporte pas le rappel (pull-down)" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pin(16) ne supporte pas le tirage (pull)" - -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "broche invalide" - -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "la broche ne supporte pas les interruptions (IRQ)" +msgid "EXTINT channel already in use" +msgstr "Canal EXTINT déjà utilisé" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "tampon trop long" +msgid "Error in ffi_prep_cif" +msgstr "Erreur dans ffi_prep_cif" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "alarme invalide" +msgid "Error in regex" +msgstr "Erreur dans l'expression régulière" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) n'existe pas" +msgid "Expected a %q" +msgstr "Attendu : %q" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) ne peut pas lire" +#, fuzzy +msgid "Expected a Characteristic" +msgstr "Impossible d'ajouter la Characteristic." -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "'len' doit être un multiple de 4" +#, fuzzy +msgid "Expected a UUID" +msgstr "Attendu : %q" -#: ports/esp8266/modesp.c:274 #, c-format -msgid "memory allocation failed, allocating %u bytes for native code" +msgid "Expected tuple of length %d, got %d" msgstr "" -"l'allocation de mémoire a échoué en allouant %u octets pour un code natif" - -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "l'emplacement en mémoire flash doit être inférieure à 1Mo" - -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "la fréquence doit être soit 80MHz soit 160MHz" - -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "'AP' requis" - -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "'STA' requis" - -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "le status i/f ne peut être mis à jour" - -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Impossible de configurer STA" - -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Impossible de se connecter à 'AP'" - -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Impossible de se déconnecter de 'AP'" - -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "paramètre de status inconnu" - -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "'STA' doit être actif" -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "échec du scan" - -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() a échoué" - -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "soit 'pos', soit 'kw' est permis en argument" - -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "impossible de récupérer la config de 'STA'" - -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "impossible de récupérer la config de 'AP'" - -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "longueur de tampon invalide" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "Echec de l'obtention de mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "impossible de régler la config de 'STA'" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Echec de l'obtention de mutex, status: 0x%08lX" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "impossible de régler la config de 'AP'" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Echec de l'ajout de caractéristique, statut: 0x%08lX" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "ne peut demander qu'un seul paramètre" +#, fuzzy +msgid "Failed to add service" +msgstr "Echec de l'ajout de service, statut: 0x%08lX" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "paramètre de config. inconnu" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "Echec de l'ajout de service, statut: 0x%08lX" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "AnalogOut non supporté" +msgid "Failed to allocate RX buffer" +msgstr "Echec de l'allocation du tampon RX" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Echec de l'allocation de %d octets du tampon RX" -#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "Echec de la modification de l'état du périph., erreur: 0x%08lX" -#: ports/nrf/common-hal/bleio/Adapter.c:128 #, fuzzy -msgid "Failed to get softdevice state" -msgstr "Echec de l'obtention de l'état du périph., erreur: 0x%08lX" +msgid "Failed to connect:" +msgstr "Connection impossible. statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Adapter.c:147 #, fuzzy -msgid "Failed to get local address" -msgstr "Echec de l'obtention de l'adresse locale, erreur: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 -msgid "Data too large for advertisement packet" -msgstr "" +msgid "Failed to continue scanning" +msgstr "Impossible de commencer à scanner. statut: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 #, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Impossible de commencer à scanner, statut: 0x%0xlX" +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Impossible de commencer à scanner. statut: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" -msgstr "Echec de l'ajout de service, statut: 0x%08lX" +#, fuzzy +msgid "Failed to create mutex" +msgstr "Echec de la création de mutex, statut: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX" +#, fuzzy +msgid "Failed to discover services" +msgstr "Echec de la découverte de services, statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Impossible d'écrire la valeur de gatts. status: 0x%08lX" +#, fuzzy +msgid "Failed to get local address" +msgstr "Echec de l'obtention de l'adresse locale, erreur: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Impossible d'écrire la valeur de gatts. status: 0x%08lX" +#, fuzzy +msgid "Failed to get softdevice state" +msgstr "Echec de l'obtention de l'état du périph., erreur: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Impossible de notifier la valeur de l'attribut. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" -msgstr "Echec de l'obtention de mutex, status: 0x%08lX" +msgid "Failed to read attribute value, err %0x04x" +msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Impossible d'écrire la valeur de l'attribut. status: 0x%08lX" +msgid "Failed to read gatts value, err 0x%04x" +msgstr "Impossible d'écrire la valeur de gatts. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Impossible de libérer mutex, status: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -msgid "Data too large for the advertisement packet" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "Echec de la découverte de services, statut: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "Echec de l'obtention de mutex, status: 0x%08lX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Echec de l'ajout de l'UUID Vendor Specific, , statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "Impossible de libérer mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:389 -#, fuzzy -msgid "Failed to continue scanning" -msgstr "Impossible de commencer à scanner. statut: 0x%0xlX" - -#: ports/nrf/common-hal/bleio/Device.c:421 -#, fuzzy -msgid "Failed to connect:" -msgstr "Connection impossible. statut: 0x%08lX" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "Echec de l'ajout de service, statut: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Impossible de libérer mutex, status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "Echec de l'ajout de service, statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "Echec de l'ajout de service, statut: 0x%08lX" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Impossible de commencer à scanner, statut: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "Impossible de commencer à scanner, statut: 0x%0xlX" -#: ports/nrf/common-hal/bleio/Device.c:566 +#, fuzzy, c-format +msgid "Failed to start scanning, err 0x%04x" +msgstr "Impossible de commencer à scanner, statut: 0x%0xlX" + #, fuzzy -msgid "Failed to create mutex" -msgstr "Echec de la création de mutex, statut: 0x%0xlX" +msgid "Failed to stop advertising" +msgstr "Echec de l'ajout de service, statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" msgstr "Echec de l'ajout de service, statut: 0x%08lX" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Impossible de commencer à scanner. statut: 0x%0xlX" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Impossible d'écrire la valeur de l'attribut. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Impossible de commencer à scanner, statut: 0x%0xlX" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "Impossible d'écrire la valeur de gatts. status: 0x%08lX" -#: ports/nrf/common-hal/bleio/Service.c:88 -#, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Echec de l'ajout de caractéristique, statut: 0x%08lX" +msgid "File exists" +msgstr "Le fichier existe" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." -msgstr "" +msgid "Function requires lock" +msgstr "La fonction nécessite un verrou" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Echec de l'ajout de l'UUID Vendor Specific, , statut: 0x%08lX" +msgid "Function requires lock." +msgstr "La fonction nécessite un verrou." -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" +msgid "GPIO16 does not support pull up." +msgstr "le GPIO16 ne supporte pas le tirage (pull-up)" -#: ports/nrf/common-hal/bleio/UUID.c:88 -#, fuzzy -msgid "Unexpected nrfx uuid type" -msgstr "indentation inattendue" +msgid "Group full" +msgstr "Groupe plein" -#: ports/nrf/common-hal/busio/I2C.c:98 -#, fuzzy -msgid "All I2C peripherals are in use" -msgstr "Tous les périphériques I2C sont utilisés" +msgid "I/O operation on closed file" +msgstr "opération d'E/S sur un fichier fermé" -#: ports/nrf/common-hal/busio/SPI.c:133 -#, fuzzy -msgid "All SPI peripherals are in use" -msgstr "Tous les périphériques SPI sont utilisés" +msgid "I2C operation not supported" +msgstr "opération sur I2C non supportée" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" -msgstr "erreur = 0x%08lX" +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" +"Fichier .mpy incompatible. Merci de mettre à jour tous les .mpy. Voirhttp://" +"adafru.it/mpy-update pour plus d'informations." + +msgid "Input/output error" +msgstr "Erreur d'entrée/sortie" -#: ports/nrf/common-hal/busio/UART.c:145 #, fuzzy -msgid "All UART peripherals are in use" -msgstr "Tous les périphériques I2C sont utilisés" +msgid "Invalid BMP file" +msgstr "Fichier invalide" + +msgid "Invalid PWM frequency" +msgstr "Fréquence de PWM invalide" + +msgid "Invalid argument" +msgstr "Argument invalide" + +msgid "Invalid bit clock pin" +msgstr "Broche invalide pour 'bit clock'" -#: ports/nrf/common-hal/busio/UART.c:153 #, fuzzy msgid "Invalid buffer size" msgstr "longueur de tampon invalide" -#: ports/nrf/common-hal/busio/UART.c:157 -#, fuzzy -msgid "Odd parity is not supported" -msgstr "parité impaire non supportée" +msgid "Invalid channel count" +msgstr "" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -#, fuzzy -msgid "Cannot get temperature" -msgstr "Impossible de lire la température. status: 0x%02x" +msgid "Invalid clock pin" +msgstr "Broche d'horloge invalide" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Type inconnu" +msgid "Invalid data pin" +msgstr "Broche de données invalide" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Erreur dans ffi_prep_cif" +msgid "Invalid direction." +msgstr "Direction invalide" -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "" +msgid "Invalid file" +msgstr "Fichier invalide" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Ne sais pas comment passer l'objet à une fonction native" +msgid "Invalid format chunk size" +msgstr "Taille de bloc de formatage invalide" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "" +msgid "Invalid number of bits" +msgstr "Nombre de bits invalide" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "la fonction ne prend pas d'arguments nommés" +msgid "Invalid phase" +msgstr "Phase invalide" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "la fonction prend %d argument(s) mais %d ont été donné(s)" +msgid "Invalid pin" +msgstr "Broche invalide" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "il manque %d arguments obligatoires à la fonction" +msgid "Invalid pin for left channel" +msgstr "Broche invalide pour le canal gauche" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "la fonction attendait au plus %d arguments, reçu %d" +msgid "Invalid pin for right channel" +msgstr "Broche invalide pour le canal droit" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' argument requis" +msgid "Invalid pins" +msgstr "Broches invalides" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "argument positionnel donné en plus" +msgid "Invalid polarity" +msgstr "Polarité invalide" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "argument nommé donné en plus" +msgid "Invalid run mode." +msgstr "Mode de lancement invalide" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "argument num/types ne correspond pas" +#, fuzzy +msgid "Invalid voice count" +msgstr "Type de service invalide" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" +msgid "Invalid wave file" +msgstr "Fichier WAVE invalide" + +msgid "LHS of keyword arg must be an id" +msgstr "La partie gauche de l'argument nommé doit être un identifiant" + +msgid "Layer must be a Group or TileGrid subclass." msgstr "" -"argument(s) nommé(s) pas encore implémenté - utilisez les arguments normaux" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "%q() prend %d arguments mais %d ont été donnés" +msgid "Length must be an int" +msgstr "La longueur doit être entière" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "argument nommé imprévu" +msgid "Length must be non-negative" +msgstr "La longueur ne doit pas être négative" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "les noms doivent être des chaînes de caractère" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" +"On dirait que notre code CircuitPython a durement planté. Oups !\n" +"Merci de remplir un ticket sur https://github.com/adafruit/circuitpython/" +"issues\n" +"avec le contenu de votre lecteur CIRCUITPY et ce message:\n" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "la fonction a reçu plusieurs valeurs pour l'argument '%q'" +msgid "MISO pin init failed." +msgstr "Echec de l'init. de la broche MISO" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "argument nommé '%q' imprévu" +msgid "MOSI pin init failed." +msgstr "Echec de l'init. de la broche MOSI" -#: py/bc.c:244 #, c-format -msgid "function missing required positional argument #%d" -msgstr "il manque l'argument obligatoire #%d" +msgid "Maximum PWM frequency is %dhz." +msgstr "La fréquence de PWM maximale est %dHz" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "il manque l'argument nommé obligatoire '%q'" +#, c-format +msgid "Maximum x value when mirrored is %d" +msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "il manque l'argument nommé obligatoire" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "mauvais code type" +msgid "MicroPython fatal error.\n" +msgstr "Erreur fatale de MicroPython.\n" -#: py/builtinevex.c:99 -msgid "bad compile mode" -msgstr "mauvais mode de compilation" +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "Le délais au démarrage du micro doit être entre 0.0 et 1.0" -#: py/builtinhelp.c:137 -msgid "Plus any modules on the filesystem\n" -msgstr "" +msgid "Minimum PWM frequency is 1hz." +msgstr "La fréquence de PWM minimale est 1Hz" -#: py/builtinhelp.c:183 #, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." msgstr "" -"Bienvenue sur Adafruit CircuitPython %s!\n" -"\n" -"Vistez learn.adafruit.com/category/circuitpython pour des guides.\n" -"\n" -"Pour lister les modules inclus, tapez `help(\"modules\")`.\n" +"Les fréquences de PWM multiples ne sont pas supportées. PWM réglé à %dHz" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "ne peut pas réaliser un import relatif" +msgid "Must be a Group subclass." +msgstr "" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "module introuvable" +msgid "No DAC on chip" +msgstr "Pas de DAC sur la puce" -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "pas de module '%q'" +msgid "No DMA channel found" +msgstr "Aucun canal DMA trouvé" -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "import relatif" +msgid "No PulseIn support for %q" +msgstr "Pas de support de PulseIn pour %q" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "ne peut pas assigner à l'expression" +msgid "No RX pin" +msgstr "Pas de broche RX" -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "*x multiple dans l'assignement" +msgid "No TX pin" +msgstr "Pas de broche TX" -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "" -"un argument sans valeur par défaut suit un argument avec valeur par défaut" +msgid "No default I2C bus" +msgstr "Pas de bus I2C par défaut" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "décorateur micropython invalide" +msgid "No default SPI bus" +msgstr "Pas de bus SPI par défaut" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "ne peut pas supprimer l'expression" +msgid "No default UART bus" +msgstr "Pas de bus UART par défaut" -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' en dehors d'une boucle" +msgid "No free GCLKs" +msgstr "Pas de GCLK libre" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' en dehors d'une boucle" +msgid "No hardware random available" +msgstr "Pas de source matérielle d'aléa disponible" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' en dehors d'une fonction" +msgid "No hardware support for analog out." +msgstr "Pas de support matériel pour une sortie analogique" -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "identifiant redéfini comme global" +msgid "No hardware support on pin" +msgstr "Pas de support matériel pour cette broche" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "pas de lien trouvé pour nonlocal" +msgid "No space left on device" +msgstr "" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "identifiant redéfini comme nonlocal" +msgid "No such file/directory" +msgstr "Fichier/dossier introuvable" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "ne peut déclarer de nonlocal dans un code externe" +#, fuzzy +msgid "Not connected" +msgstr "Impossible de se connecter à 'AP'" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "l''except' par défaut doit être en dernier" +msgid "Not connected." +msgstr "" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "*x doit être la cible de l'assignement" +msgid "Not playing" +msgstr "Ne joue pas" -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "super() ne peut pas trouver self" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." +msgstr "" +"L'objet a été désinitialisé et ne peut plus être utilisé. Créez un nouvel " +"objet." -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "il ne peut y avoir de *x multiples" +#, fuzzy +msgid "Odd parity is not supported" +msgstr "parité impaire non supportée" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "il ne peut y avoir de **x multiples" +msgid "Only 8 or 16 bit mono with " +msgstr "Uniquement 8 ou 16 bit mono avec " -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" -msgstr "La partie gauche de l'argument nommé doit être un identifiant" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" -msgstr "argument non-nommé après */**" +msgid "Only bit maps of 8 bit color or less are supported" +msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" -msgstr "argument non-nommé après argument nommé" +#, fuzzy +msgid "Only slices with step=1 (aka None) are supported" +msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "syntaxe invalide" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "Seul les BMP 24bits ou plus sont supportés %x" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "couple clef:valeur attendu pour un objet dict" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Seul le tx est supporté sur l'UART1 (GPIO2)." -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "une simple valeur est attendue pour set" +msgid "Oversample must be multiple of 8." +msgstr "Le sur-échantillonage doit être un multiple de 8." -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "'yield' en dehors d'une fonction" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgstr "" +"La valeur de cycle PWM doit être entre 0 et 65535 inclus (résolution de 16 " +"bits)" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' en dehors d'une fonction" +#, fuzzy +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." +msgstr "" +"La fréquence de PWM n'est pas modifiable quand variable_frequency est False " +"à la construction." -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "nom réutilisé comme argument" +#, c-format +msgid "PWM not supported on pin %d" +msgstr "La broche %d ne supporte pas le PWM" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "l'annotation du paramètre doit être un identifiant" +msgid "Permission denied" +msgstr "Permission refusée" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "l'annotation de return doit être un identifiant" +msgid "Pin %q does not have ADC capabilities" +msgstr "La broche %q n'a pas de convertisseur analogique-digital" -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "l'assembleur doit être une fonction" +msgid "Pin does not have ADC capabilities" +msgstr "la broche ne peut être utilisé pour l'ADC" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "type inconnu" +msgid "Pin(16) doesn't support pull" +msgstr "Pin(16) ne supporte pas le tirage (pull)" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "une instruction assembleur est attendue" +msgid "Pins not valid for SPI" +msgstr "Broche invalide pour le SPI" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' nécessite 1 argument" +msgid "Pixel beyond bounds of buffer" +msgstr "" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "label redéfini" +msgid "Plus any modules on the filesystem\n" +msgstr "" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' nécessite 1 argument" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger." -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' nécessite au moins 2 arguments" +msgid "Pull not used when direction is output." +msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'." -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' nécessite des arguments entiers" +msgid "RTC calibration is not supported on this board" +msgstr "calibration de la RTC non supportée sur cette carte" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "il peut y avoir jusqu'à 4 paramètres pour Thumb assembly" +msgid "RTC is not supported on this board" +msgstr "RTC non supportée sur cette carte" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 #, fuzzy -msgid "parameters must be registers in sequence r0 to r3" -msgstr "les paramètres doivent être des registres dans la séquence r0 à r3" +msgid "Range out of bounds" +msgstr "adresse hors limites" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, fuzzy, c-format -msgid "'%s' expects at most r%d" -msgstr "'%s' attend un registre" +msgid "Read-only" +msgstr "Lecture seule" + +msgid "Read-only filesystem" +msgstr "Système de fichier en lecture seule" + +#, fuzzy +msgid "Read-only object" +msgstr "Lecture seule" + +msgid "Right channel unsupported" +msgstr "Canal droit non supporté" + +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Mode sans-échec. Auto-rechargement désactivé.\n" + +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Mode sans-échec! Le code sauvegardé ne s'éxecute pas.\n" + +msgid "SDA or SCL needs a pull up" +msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')" + +msgid "STA must be active" +msgstr "'STA' doit être actif" + +msgid "STA required" +msgstr "'STA' requis" + +#, fuzzy +msgid "Sample rate must be positive" +msgstr "le taux d'échantillonage doit être positif" + +#, c-format +msgid "Sample rate too high. It must be less than %d" +msgstr "Taux d'échantillonage trop élevé. Doit être inf. à %d" + +msgid "Serializer in use" +msgstr "Sérialiseur en cours d'utilisation" + +msgid "Slice and value different lengths." +msgstr "Slice et valeur de tailles différentes" + +msgid "Slices not supported" +msgstr "Slices non supportées" + +#, c-format +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" + +msgid "Splitting with sub-captures" +msgstr "Fractionnement avec des captures 'sub'" + +msgid "Stack size must be at least 256" +msgstr "La pile doit être au moins de 256" + +msgid "Stream missing readinto() or write() method." +msgstr "Il manque une méthode readinto() ou write() au flux." + +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" +msgstr "" +"La pile de CircuitPython a été corrompue parce que la pile était trop " +"petite.\n" +"Augmentez la limite de taille de la pile et appuyez sur 'reset' (après avoir " +"éjecter CIRCUITPY).\n" +"Si vous n'avez pas modifié la pile, merci de remplir un ticket avec le " +"contenu de votre lecteur CIRCUITPY :\n" + +#, fuzzy +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" +msgstr "" +"L'alimentation du microcontroleur a chuté. Merci de vérifier que votre " +"alimentation fournit\n" +"suffisamment de puissance pour l'ensemble du circuit et appuyez sur " +"'reset' (après avoir éjecter CIRCUITPY).\n" + +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" +msgstr "" +"Le bouton 'reset' a été appuyé pendant le démarrage de CircuitPython. " +"Appuyer denouveau pour quitter de le mode sans-échec.\n" + +msgid "The sample's bits_per_sample does not match the mixer's" +msgstr "Le bits_per_sample de l'échantillon ne correspond pas à celui du mixer" + +msgid "The sample's channel count does not match the mixer's" +msgstr "Le canal de l'échantillon ne correspond pas à celui du mixer" + +msgid "The sample's sample rate does not match the mixer's" +msgstr "L'échantillonage de l'échantillon ne correspond pas à celui du mixer" + +msgid "The sample's signedness does not match the mixer's" +msgstr "Le signe de l'échantillon ne correspond pas au mixer" + +msgid "Tile height must exactly divide bitmap height" +msgstr "" + +msgid "Tile width must exactly divide bitmap width" +msgstr "" + +msgid "To exit, please reset the board without " +msgstr "Pour quitter, redémarrez la carte SVP sans " + +msgid "Too many channels in sample." +msgstr "Trop de canaux dans l'échantillon." + +msgid "Too many display busses" +msgstr "" + +msgid "Too many displays" +msgstr "" + +msgid "Traceback (most recent call last):\n" +msgstr "Trace (appels les plus récents en dernier):\n" + +msgid "Tuple or struct_time argument required" +msgstr "Argument de type tuple ou struct_time nécessaire" + +#, c-format +msgid "UART(%d) does not exist" +msgstr "UART(%d) n'existe pas" + +msgid "UART(1) can't read" +msgstr "UART(1) ne peut pas lire" + +msgid "USB Busy" +msgstr "USB occupé" + +msgid "USB Error" +msgstr "Erreur USB" + +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "" + +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgstr "" + +msgid "UUID value is not str, int or byte buffer" +msgstr "" + +msgid "Unable to allocate buffers for signed conversion" +msgstr "Impossible d'allouer des tampons pour une conversion signée" + +msgid "Unable to find free GCLK" +msgstr "Impossible de trouver un GCLK libre" + +msgid "Unable to init parser" +msgstr "Impossible d'initialiser le parser" + +msgid "Unable to remount filesystem" +msgstr "Impossible de remonter le système de fichiers" + +msgid "Unable to write to nvm." +msgstr "Impossible d'écrire sur la nvm." + +#, fuzzy +msgid "Unexpected nrfx uuid type" +msgstr "indentation inattendue" + +msgid "Unknown type" +msgstr "Type inconnu" + +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgstr "" + +msgid "Unsupported baudrate" +msgstr "Débit non supporté" + +#, fuzzy +msgid "Unsupported display bus type" +msgstr "type de bitmap non supporté" + +msgid "Unsupported format" +msgstr "Format non supporté" + +msgid "Unsupported operation" +msgstr "Opération non supportée" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "'%s' attend un registre" +msgid "Unsupported pull value." +msgstr "Valeur de tirage 'pull' non supportée." -#: py/emitinlinethumb.c:211 -#, fuzzy, c-format -msgid "'%s' expects a special register" -msgstr "'%s' attend un registre special" +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "" +"Utilisez 'esptool' pour effacer la flash et rechargez Python à la place" -#: py/emitinlinethumb.c:239 -#, fuzzy, c-format -msgid "'%s' expects an FPU register" -msgstr "'%s' attend un registre FPU" +msgid "Viper functions don't currently support more than 4 arguments" +msgstr "les fonctions Viper ne supportent pas plus de 4 arguments actuellement" -#: py/emitinlinethumb.c:292 -#, fuzzy, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "'%s' attend {r0, r1, ...}" +msgid "Voice index too high" +msgstr "Index de la voix trop grand" + +msgid "WARNING: Your code filename has two extensions\n" +msgstr "ATTENTION: le nom de fichier de votre code a deux extensions\n" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 #, c-format -msgid "'%s' expects an integer" -msgstr "'%s' attend un entier" +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" +"Bienvenue sur Adafruit CircuitPython %s!\n" +"\n" +"Vistez learn.adafruit.com/category/circuitpython pour des guides.\n" +"\n" +"Pour lister les modules inclus, tapez `help(\"modules\")`.\n" -#: py/emitinlinethumb.c:304 -#, fuzzy, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "'%s' l'entier 0x%x ne correspond pas au masque 0x%x" +#, fuzzy +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "" +"Vous êtes en mode sans-échec ce qui signifie qu'un imprévu est survenu.\n" -#: py/emitinlinethumb.c:328 -#, fuzzy, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "'%s' attend une adresse de la forme [a, b]" +msgid "You requested starting safe mode by " +msgstr "Vous avez demandé à démarrer en mode sans-échec par " -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 #, c-format -msgid "'%s' expects a label" -msgstr "'%s' attend un label" +msgid "[addrinfo error %d]" +msgstr "" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "label '%q' non supporté" +msgid "__init__() should return None" +msgstr "__init__() doit retourner None" -#: py/emitinlinethumb.c:806 -#, fuzzy, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "instruction Thumb '%s' non supportée avec %d arguments" +#, c-format +msgid "__init__() should return None, not '%s'" +msgstr "__init__() doit retourner None, pas '%s'" -#: py/emitinlinethumb.c:810 -#, fuzzy -msgid "branch not in range" -msgstr "argument de chr() hors de la gamme range(256)" +msgid "__new__ arg must be a user-type" +msgstr "l'argument __new__ doit être d'un type défini par l'utilisateur" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "Maximum 4 paramètres pour l'assembleur Xtensa" +msgid "a bytes-like object is required" +msgstr "un objet 'bytes-like' est requis" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "les paramètres doivent être des registres dans la séquence a2 à a5" +msgid "abort() called" +msgstr "abort() appelé" -#: py/emitinlinextensa.c:174 #, c-format -msgid "'%s' integer %d is not within range %d..%d" -msgstr "'%s' l'entier %d n'est pas dans la gamme %d..%d" +msgid "address %08x is not aligned to %d bytes" +msgstr "l'adresse %08x n'est pas alignée sur %d octets" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "instruction Xtensa '%s' non supportée avec %d arguments" +msgid "address out of bounds" +msgstr "adresse hors limites" -#: py/emitnative.c:183 -msgid "unknown type '%q'" -msgstr "type '%q' inconnu" +msgid "addresses is empty" +msgstr "adresses vides" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "les fonctions Viper ne supportent pas plus de 4 arguments actuellement" +msgid "arg is an empty sequence" +msgstr "l'argument est une séquence vide" -#: py/emitnative.c:742 -msgid "conversion to object" -msgstr "conversion en objet" +msgid "argument has wrong type" +msgstr "l'argument est d'un mauvais type" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "variable locale '%q' utilisée avant d'en connaitre le type" +msgid "argument num/types mismatch" +msgstr "argument num/types ne correspond pas" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "impossible de charger depuis '%q'" +msgid "argument should be a '%q' not a '%q'" +msgstr "l'argument devrait être un(e) '%q', pas '%q'" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" -msgstr "impossible de charger avec l'index '%q'" +msgid "array/bytes required on right side" +msgstr "tableau/octets requis à droite" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" -msgstr "la variable locale '%q' a le type '%q' mais la source est '%q'" +msgid "attributes not supported yet" +msgstr "attribut pas encore supporté" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" -msgstr "impossible de stocker '%q'" +msgid "bad GATT role" +msgstr "" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" -msgstr "impossible de stocker vers '%q'" +msgid "bad compile mode" +msgstr "mauvais mode de compilation" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" -msgstr "impossible de stocker avec un index '%q'" +msgid "bad conversion specifier" +msgstr "mauvaise spécification de conversion" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" -msgstr "impossible de convertir implicitement '%q' en 'bool'" +msgid "bad format string" +msgstr "chaîne mal-formée" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" -msgstr "opération unaire '%q' non implémentée" +msgid "bad typecode" +msgstr "mauvais code type" -#: py/emitnative.c:1930 msgid "binary op %q not implemented" msgstr "opération binaire '%q' non implémentée" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "opération binaire impossible entre '%q' et '%q'" - -#: py/emitnative.c:2126 -msgid "casting" -msgstr "typage" - -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "return attendait '%q' mais a reçu '%q'" - -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "doit lever un objet" - -#: py/emitnative.c:2201 -msgid "native yield" -msgstr "native yield" +msgid "bits must be 7, 8 or 9" +msgstr "bits doivent être 7, 8 ou 9" -#: py/lexer.c:345 -msgid "unicode name escapes" -msgstr "échappements de nom unicode" +msgid "bits must be 8" +msgstr "les bits doivent être 8" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "argument de chr() hors de la gamme range(0x11000)" +#, fuzzy +msgid "bits_per_sample must be 8 or 16" +msgstr "bits doivent être 8 ou 16" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" +#, fuzzy +msgid "branch not in range" msgstr "argument de chr() hors de la gamme range(256)" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" -msgstr "l'argument est une séquence vide" - -#: py/modbuiltins.c:350 -msgid "ord expects a character" -msgstr "ord attend un caractère" - -#: py/modbuiltins.c:353 #, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "ord() attend un caractère mais une chaîne de longueur %d a été trouvée" - -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "pow() avec 3 arguments non supporté" +msgid "buf is too small. need %d bytes" +msgstr "" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" -msgstr "il faut utiliser un argument nommé pour une fonction key" +msgid "buffer must be a bytes-like object" +msgstr "le tampon doit être un objet bytes-like" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "erreur de domaine math" +#, fuzzy +msgid "buffer size must match format" +msgstr "les slices de tampon doivent être de longueurs égales" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "division par zéro" +msgid "buffer slices must be of equal length" +msgstr "les slices de tampon doivent être de longueurs égales" -#: py/modmicropython.c:155 -msgid "schedule stack full" -msgstr "pile de plannification pleine" +msgid "buffer too long" +msgstr "tampon trop long" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 msgid "buffer too small" msgstr "tampon trop petit" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" -msgstr "un dict est attendu pour les arguments nommés" - -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Permission refusée" - -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "Fichier/dossier introuvable" - -#: py/moduerrno.c:149 -msgid "Input/output error" -msgstr "Erreur d'entrée/sortie" +msgid "buffers must be the same length" +msgstr "les tampons doivent être de la même longueur" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "Le fichier existe" +msgid "byte code not implemented" +msgstr "bytecode non implémenté" -#: py/moduerrno.c:152 -msgid "Unsupported operation" -msgstr "Opération non supportée" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Argument invalide" +msgid "bytes > 8 bits not supported" +msgstr "octets > 8 bits non supporté" -#: py/moduerrno.c:154 -msgid "No space left on device" -msgstr "" +msgid "bytes value out of range" +msgstr "valeur des octets hors gamme" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "Trace (appels les plus récents en dernier):\n" +msgid "calibration is out of range" +msgstr "calibration hors gamme" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " Fichier \"%q\", ligne %d" +msgid "calibration is read only" +msgstr "calibration en lecture seule" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " Fichier \"%q\"" +msgid "calibration value out of range +/-127" +msgstr "valeur de calibration hors gamme +/-127" -#: py/obj.c:102 -msgid ", in %q\n" -msgstr ", dans %q\n" +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "il peut y avoir jusqu'à 4 paramètres pour Thumb assembly" -#: py/obj.c:259 -msgid "can't convert to int" -msgstr "ne peut convertir en entier (int)" +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "Maximum 4 paramètres pour l'assembleur Xtensa" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" -msgstr "ne peut convertir %s en entier (int)" +msgid "can only save bytecode" +msgstr "ne peut sauvegarder que du bytecode" -#: py/obj.c:322 -msgid "can't convert to float" -msgstr "ne peut convertir en nombre à virgule flottante (float)" +msgid "can query only one param" +msgstr "ne peut demander qu'un seul paramètre" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" -msgstr "ne peut convertir %s en nombre à virgule flottante (float)" +msgid "can't add special method to already-subclassed class" +msgstr "" +"impossible d'ajouter une méthode spécial à une classe déjà sous-classée" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "ne peut convertir en nombre complexe" +msgid "can't assign to expression" +msgstr "ne peut pas assigner à l'expression" -#: py/obj.c:358 #, c-format msgid "can't convert %s to complex" msgstr "ne peut convertir %s en nombre complexe" -#: py/obj.c:373 -msgid "expected tuple/list" -msgstr "un tuple ou une liste est attendu" - -#: py/obj.c:376 #, c-format -msgid "object '%s' is not a tuple or list" -msgstr "l'objet '%s' n'est pas un tuple ou une liste" - -#: py/obj.c:387 -msgid "tuple/list has wrong length" -msgstr "tuple/liste a une mauvaise longueur" +msgid "can't convert %s to float" +msgstr "ne peut convertir %s en nombre à virgule flottante (float)" -#: py/obj.c:389 #, c-format -msgid "requested length %d but object has length %d" -msgstr "la longueur requise est %d mais l'objet est long de %d" - -#: py/obj.c:402 -msgid "indices must be integers" -msgstr "les indices doivent être des entiers" - -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" -msgstr "les indices %q doivent être des entiers, pas %s" - -#: py/obj.c:425 -msgid "%q index out of range" -msgstr "index %q hors gamme" - -#: py/obj.c:457 -msgid "object has no len" -msgstr "l'objet n'a pas de len" +msgid "can't convert %s to int" +msgstr "ne peut convertir %s en entier (int)" -#: py/obj.c:460 -#, c-format -msgid "object of type '%s' has no len()" -msgstr "l'objet de type '%s' n'a pas de len()" +msgid "can't convert '%q' object to %q implicitly" +msgstr "impossible de convertir l'objet '%q' en '%q' implicitement" -#: py/obj.c:500 -msgid "object does not support item deletion" -msgstr "l'objet ne supporte pas la suppression d'éléments" +msgid "can't convert NaN to int" +msgstr "on ne peut convertir NaN en int" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" -msgstr "l'objet '%s' ne supporte pas la suppression d'éléments" +#, fuzzy +msgid "can't convert address to int" +msgstr "ne peut convertir %s en entier int" -#: py/obj.c:507 -msgid "object is not subscriptable" -msgstr "l'objet n'est pas sous-scriptable" +msgid "can't convert inf to int" +msgstr "on ne peut convertir inf en int" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" -msgstr "l'objet '%s' n'est pas sous-scriptable" +msgid "can't convert to complex" +msgstr "ne peut convertir en nombre complexe" -#: py/obj.c:514 -msgid "object does not support item assignment" -msgstr "l'objet ne supporte pas l'assignation d'éléments" +msgid "can't convert to float" +msgstr "ne peut convertir en nombre à virgule flottante (float)" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" -msgstr "l'objet '%s' ne supporte pas l'assignation d'éléments" +msgid "can't convert to int" +msgstr "ne peut convertir en entier (int)" -#: py/obj.c:548 -msgid "object with buffer protocol required" -msgstr "un objet avec un protocol de tampon est nécessaire" +msgid "can't convert to str implicitly" +msgstr "impossible de convertir en str implicitement" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" -msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" +msgid "can't declare nonlocal in outer code" +msgstr "ne peut déclarer de nonlocal dans un code externe" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" -msgstr "Les parties gauches et droites doivent être compatibles" +msgid "can't delete expression" +msgstr "ne peut pas supprimer l'expression" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" -msgstr "tableau/octets requis à droite" +msgid "can't do binary op between '%q' and '%q'" +msgstr "opération binaire impossible entre '%q' et '%q'" -#: py/objcomplex.c:203 msgid "can't do truncated division of a complex number" msgstr "on ne peut pas faire de division tronquée de nombres complexes" -#: py/objcomplex.c:209 -msgid "complex division by zero" -msgstr "division complexe par zéro" +msgid "can't get AP config" +msgstr "impossible de récupérer la config de 'AP'" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "0.0 à une puissance complexe" +msgid "can't get STA config" +msgstr "impossible de récupérer la config de 'STA'" -#: py/objdeque.c:107 -msgid "full" -msgstr "plein" +msgid "can't have multiple **x" +msgstr "il ne peut y avoir de **x multiples" -#: py/objdeque.c:127 -msgid "empty" -msgstr "vide" +msgid "can't have multiple *x" +msgstr "il ne peut y avoir de *x multiples" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "popitem(): dictionnaire vide" +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "impossible de convertir implicitement '%q' en 'bool'" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" -msgstr "la séquence de mise à jour de dict a une mauvaise longueur" +msgid "can't load from '%q'" +msgstr "impossible de charger depuis '%q'" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" -msgstr "valeurs complexes non supportées" +msgid "can't load with '%q' index" +msgstr "impossible de charger avec l'index '%q'" + +msgid "can't pend throw to just-started generator" +msgstr "" -#: py/objgenerator.c:108 msgid "can't send non-None value to a just-started generator" msgstr "" "on ne peut envoyer une valeur autre que None à un générateur fraîchement " "démarré" -#: py/objgenerator.c:126 -msgid "generator already executing" -msgstr "générateur déjà en cours d'exécution" - -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" -msgstr "le générateur a ignoré GeneratorExit" - -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" -msgstr "" - -#: py/objint.c:144 -msgid "can't convert inf to int" -msgstr "on ne peut convertir inf en int" - -#: py/objint.c:146 -msgid "can't convert NaN to int" -msgstr "on ne peut convertir NaN en int" - -#: py/objint.c:163 -msgid "float too big" -msgstr "nombre flottant trop grand" - -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "entiers longs non supportés dans cette build" - -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" -msgstr "dépassement de capacité d'un entier court" - -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "puissance négative sans support des nombres flottants" - -#: py/objint_longlong.c:251 -msgid "ulonglong too large" -msgstr "ulonglong trop grand" - -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" -msgstr "compte de décalage négatif" - -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "pow() avec 3 arguments nécessite des entiers" - -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" -msgstr "le 3e argument de pow() ne peut être 0" - -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" -msgstr "dépassement de capacité en convertissant un entier long en mot machine" +msgid "can't set AP config" +msgstr "impossible de régler la config de 'AP'" -#: py/objlist.c:274 -msgid "pop from empty list" -msgstr "pop d'une liste vide" +msgid "can't set STA config" +msgstr "impossible de régler la config de 'STA'" -#: py/objnamedtuple.c:92 msgid "can't set attribute" msgstr "attribut non modifiable" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "l'argument __new__ doit être d'un type défini par l'utilisateur" +msgid "can't store '%q'" +msgstr "impossible de stocker '%q'" -#: py/objrange.c:110 -msgid "zero step" -msgstr "'step' nul" +msgid "can't store to '%q'" +msgstr "impossible de stocker vers '%q'" -#: py/objset.c:371 -msgid "pop from an empty set" -msgstr "pop d'un ensemble set vide" +msgid "can't store with '%q' index" +msgstr "impossible de stocker avec un index '%q'" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "La longueur doit être entière" +msgid "" +"can't switch from automatic field numbering to manual field specification" +msgstr "" +"impossible de passer d'une énumération auto des champs à une spécification " +"manuelle" -#: py/objslice.c:71 -msgid "Length must be non-negative" -msgstr "La longueur ne doit pas être négative" +msgid "" +"can't switch from manual field specification to automatic field numbering" +msgstr "" +"impossible de passer d'une spécification manuelle des champs à une " +"énumération auto" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" -msgstr "le pas 'step' de slice ne peut être zéro" +msgid "cannot create '%q' instances" +msgstr "ne peut pas créer une instance de '%q'" -#: py/objslice.c:159 -msgid "Cannot subclass slice" -msgstr "On ne peut faire de subclass de slice" +msgid "cannot create instance" +msgstr "ne peut pas créer une instance" -#: py/objstr.c:261 -msgid "bytes value out of range" -msgstr "valeur des octets hors gamme" +msgid "cannot import name %q" +msgstr "ne peut pas importer le nom %q" -#: py/objstr.c:270 -msgid "wrong number of arguments" -msgstr "mauvais nombres d'arguments" +msgid "cannot perform relative import" +msgstr "ne peut pas réaliser un import relatif" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "adresse hors limites" +msgid "casting" +msgstr "typage" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" -msgstr "join attend une liste d'objets str/bytes cohérent avec l'objet self" +msgid "characteristics includes an object that is not a Characteristic" +msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" -msgstr "séparateur vide" +msgid "chars buffer too small" +msgstr "tampon de caractères trop petit" -#: py/objstr.c:651 -msgid "rsplit(None,n)" -msgstr "rsplit(None,n)" +msgid "chr() arg not in range(0x110000)" +msgstr "argument de chr() hors de la gamme range(0x11000)" -#: py/objstr.c:723 -msgid "substring not found" -msgstr "sous-chaîne non trouvée" +msgid "chr() arg not in range(256)" +msgstr "argument de chr() hors de la gamme range(256)" -#: py/objstr.c:780 -msgid "start/end indices" -msgstr "indices de début/fin" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgstr "le tampon de couleur doit faire 3 octets (RVB) ou 4 (RVB + pad byte)" -#: py/objstr.c:941 -msgid "bad format string" -msgstr "chaîne mal-formée" +#, fuzzy +msgid "color buffer must be a buffer or int" +msgstr "le tampon de couleur doit être un tampon ou un entier" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" -msgstr "'}' seule rencontrée dans une chaîne de format" +#, fuzzy +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgstr "" +"le tampon de couleur doit être un bytearray ou un tableau de type 'b' ou 'B'" -#: py/objstr.c:1002 -msgid "bad conversion specifier" -msgstr "mauvaise spécification de conversion" +#, fuzzy +msgid "color must be between 0x000000 and 0xffffff" +msgstr "la couleur doit être entre 0x000000 et 0xffffff" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" -msgstr "fin de format en cherchant une spécification de conversion" +#, fuzzy +msgid "color should be an int" +msgstr "la couleur doit être un entier (int)" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "spécification %c de conversion inconnue" +msgid "complex division by zero" +msgstr "division complexe par zéro" + +msgid "complex values not supported" +msgstr "valeurs complexes non supportées" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" -msgstr "'{' sans correspondance dans le format" +msgid "compression header" +msgstr "entête de compression" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" -msgstr "':' attendu après la spécification de format" +msgid "constant must be an integer" +msgstr "une constante doit être un entier" -#: py/objstr.c:1060 -msgid "" -"can't switch from automatic field numbering to manual field specification" -msgstr "" -"impossible de passer d'une énumération auto des champs à une spécification " -"manuelle" +msgid "conversion to object" +msgstr "conversion en objet" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "index du tuple hors gamme" +msgid "decimal numbers not supported" +msgstr "nombres décimaux non supportés" -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "attribut pas encore supporté" +msgid "default 'except' must be last" +msgstr "l''except' par défaut doit être en dernier" -#: py/objstr.c:1089 msgid "" -"can't switch from manual field specification to automatic field numbering" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -"impossible de passer d'une spécification manuelle des champs à une " -"énumération auto" +"le tampon de destination doit être un tableau de type 'B' pour bit_depth = 8" -#: py/objstr.c:1181 -msgid "invalid format specifier" -msgstr "spécification de format invalide" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgstr "" +"le tampon de destination doit être un tableau de type 'H' pour bit_depth = 16" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" -msgstr "signe non autorisé dans les spéc. de formats de chaînes de caractères" +msgid "destination_length must be an int >= 0" +msgstr "destination_length doit être un entier >= 0" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" -msgstr "signe non autorisé avec la spéc. de format d'entier 'c'" +msgid "dict update sequence has wrong length" +msgstr "la séquence de mise à jour de dict a une mauvaise longueur" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" -msgstr "code de format '%c' inconnu pour un objet de type '%s'" +msgid "division by zero" +msgstr "division par zéro" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" -msgstr "code de format '%c' inconnu pour un objet de type 'float'" +msgid "either pos or kw args are allowed" +msgstr "soit 'pos', soit 'kw' est permis en argument" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" -msgstr "'=' alignement non autorisé dans la spéc. de format de chaîne" +msgid "empty" +msgstr "vide" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" -msgstr "code de format '%c' inconnu pour un objet de type 'str'" +msgid "empty heap" +msgstr "'heap' vide" -#: py/objstr.c:1425 -msgid "format requires a dict" -msgstr "le format nécessite un dict" +msgid "empty separator" +msgstr "séparateur vide" -#: py/objstr.c:1434 -msgid "incomplete format key" -msgstr "clé de format incomplète" +msgid "empty sequence" +msgstr "séquence vide" -#: py/objstr.c:1492 -msgid "incomplete format" -msgstr "format incomplet" +msgid "end of format while looking for conversion specifier" +msgstr "fin de format en cherchant une spécification de conversion" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" -msgstr "pas assez d'arguments pour la chaîne de format" +#, fuzzy +msgid "end_x should be an int" +msgstr "y doit être un entier (int)" -#: py/objstr.c:1510 #, c-format -msgid "%%c requires int or char" -msgstr "%%c nécessite un entier int ou un caractère char" - -#: py/objstr.c:1517 -msgid "integer required" -msgstr "entier requis" +msgid "error = 0x%08lX" +msgstr "erreur = 0x%08lX" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" -msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d" +msgid "exceptions must derive from BaseException" +msgstr "les exceptions doivent dériver de BaseException" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" -msgstr "" -"tous les arguments n'ont pas été convertis pendant le formatage de la chaîne" +msgid "expected ':' after format specifier" +msgstr "':' attendu après la spécification de format" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" -msgstr "impossible de convertir en str implicitement" +msgid "expected a DigitalInOut" +msgstr "objet DigitalInOut attendu" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" -msgstr "impossible de convertir l'objet '%q' en '%q' implicitement" +msgid "expected tuple/list" +msgstr "un tuple ou une liste est attendu" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" -msgstr "les indices de chaîne de caractère doivent être des entiers, pas %s" +msgid "expecting a dict for keyword args" +msgstr "un dict est attendu pour les arguments nommés" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" -msgstr "index de chaîne hors gamme" +msgid "expecting a pin" +msgstr "une broche (Pin) est attendue" -#: py/objtype.c:371 -msgid "__init__() should return None" -msgstr "__init__() doit retourner None" +msgid "expecting an assembler instruction" +msgstr "une instruction assembleur est attendue" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" -msgstr "__init__() doit retourner None, pas '%s'" +msgid "expecting just a value for set" +msgstr "une simple valeur est attendue pour set" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" -msgstr "attribut illisible" +msgid "expecting key:value for dict" +msgstr "couple clef:valeur attendu pour un objet dict" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" -msgstr "objet non appelable" +msgid "extra keyword arguments given" +msgstr "argument nommé donné en plus" -#: py/objtype.c:883 py/runtime.c:655 -#, c-format -msgid "'%s' object is not callable" -msgstr "objet '%s' non appelable" +msgid "extra positional arguments given" +msgstr "argument positionnel donné en plus" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" -msgstr "le type prend 1 ou 3 arguments" +msgid "ffi_prep_closure_loc" +msgstr "" -#: py/objtype.c:1002 -msgid "cannot create instance" -msgstr "ne peut pas créer une instance" +msgid "file must be a file opened in byte mode" +msgstr "le fichier doit être un fichier ouvert en mode 'byte'" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" -msgstr "ne peut pas créer une instance de '%q'" +msgid "filesystem must provide mount method" +msgstr "le system de fichier doit fournir une méthode 'mount'" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" -msgstr "" -"impossible d'ajouter une méthode spécial à une classe déjà sous-classée" +msgid "first argument to super() must be type" +msgstr "le premier argument de super() doit être un type" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" -msgstr "le type n'est pas un type de base accepté" +msgid "firstbit must be MSB" +msgstr "le 1er bit doit être le MSB" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" -msgstr "le type '%q' n'est pas un type de base accepté" +msgid "flash location must be below 1MByte" +msgstr "l'emplacement en mémoire flash doit être inférieure à 1Mo" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" -msgstr "héritage multiple non supporté" +msgid "float too big" +msgstr "nombre flottant trop grand" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" -msgstr "de multiple bases ont un conflit de lay-out d'instance" +msgid "font must be 2048 bytes long" +msgstr "la fonte doit être longue de 2048 octets" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" -msgstr "le premier argument de super() doit être un type" +msgid "format requires a dict" +msgstr "le format nécessite un dict" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" -msgstr "" -"l'argument 2 de issubclass() doit être une classe ou un tuple de classes" +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "la fréquence doit être soit 80MHz soit 160MHz" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" -msgstr "l'argument 1 de issubclass() doit être une classe" +msgid "full" +msgstr "plein" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "une constante doit être un entier" +msgid "function does not take keyword arguments" +msgstr "la fonction ne prend pas d'arguments nommés" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "Impossible d'initialiser le parser" +#, c-format +msgid "function expected at most %d arguments, got %d" +msgstr "la fonction attendait au plus %d arguments, reçu %d" -#: py/parse.c:1170 -msgid "unexpected indent" -msgstr "indentation inattendue" +msgid "function got multiple values for argument '%q'" +msgstr "la fonction a reçu plusieurs valeurs pour l'argument '%q'" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" -msgstr "la désindentation ne correspond à aucune indentation" +#, c-format +msgid "function missing %d required positional arguments" +msgstr "il manque %d arguments obligatoires à la fonction" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" -msgstr "l'argument 2 de int() doit être >=2 et <=36" +msgid "function missing keyword-only argument" +msgstr "il manque l'argument nommé obligatoire" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" -msgstr "syntaxe invalide pour un entier" +msgid "function missing required keyword argument '%q'" +msgstr "il manque l'argument nommé obligatoire '%q'" -#: py/parsenum.c:155 #, c-format -msgid "invalid syntax for integer with base %d" -msgstr "syntaxe invalide pour un entier de base %d" - -#: py/parsenum.c:339 -msgid "invalid syntax for number" -msgstr "syntaxe invalide pour un nombre" +msgid "function missing required positional argument #%d" +msgstr "il manque l'argument obligatoire #%d" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" -msgstr "nombres décimaux non supportés" +#, c-format +msgid "function takes %d positional arguments but %d were given" +msgstr "la fonction prend %d argument(s) mais %d ont été donné(s)" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." -msgstr "" -"Fichier .mpy incompatible. Merci de mettre à jour tous les .mpy. Voirhttp://" -"adafru.it/mpy-update pour plus d'informations." +msgid "function takes exactly 9 arguments" +msgstr "la fonction prend exactement 9 arguments" -#: py/persistentcode.c:326 -msgid "can only save bytecode" -msgstr "ne peut sauvegarder que du bytecode" +msgid "generator already executing" +msgstr "générateur déjà en cours d'exécution" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "nom non défini" +msgid "generator ignored GeneratorExit" +msgstr "le générateur a ignoré GeneratorExit" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "nom '%q' non défini" +msgid "graphic must be 2048 bytes long" +msgstr "le graphic doit être long de 2048 octets" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "type non supporté pour l'opérateur" +msgid "heap must be a list" +msgstr "'heap' doit être une liste" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "type non supporté pour %q: '%s'" +msgid "identifier redefined as global" +msgstr "identifiant redéfini comme global" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "type non supporté pour %q: '%s', '%s'" +msgid "identifier redefined as nonlocal" +msgstr "identifiant redéfini comme nonlocal" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "mauvais nombre de valeurs à dégrouper" +msgid "impossible baudrate" +msgstr "débit impossible" -#: py/runtime.c:883 py/runtime.c:947 -#, c-format -msgid "need more than %d values to unpack" -msgstr "nécessite plus de %d valeur à dégrouper" +msgid "incomplete format" +msgstr "format incomplet" -#: py/runtime.c:890 -#, c-format -msgid "too many values to unpack (expected %d)" -msgstr "trop de valeur à dégrouper (%d attendues)" +msgid "incomplete format key" +msgstr "clé de format incomplète" -#: py/runtime.c:984 -msgid "argument has wrong type" -msgstr "l'argument est d'un mauvais type" +msgid "incorrect padding" +msgstr "espacement incorrect" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" -msgstr "l'argument devrait être un(e) '%q', pas '%q'" +msgid "index out of range" +msgstr "index hors gamme" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" -msgstr "pas de tel attribut" +msgid "indices must be integers" +msgstr "les indices doivent être des entiers" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" -msgstr "l'objet de type '%q' n'a pas d'attribut '%q'" +msgid "inline assembler must be a function" +msgstr "l'assembleur doit être une fonction" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" -msgstr "l'objet '%s' n'a pas d'attribut '%q'" +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "l'argument 2 de int() doit être >=2 et <=36" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "objet non itérable" +msgid "integer required" +msgstr "entier requis" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" -msgstr "objet '%s' non itérable" +msgid "interval not in range 0.0020 to 10.24" +msgstr "" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "l'objet n'est pas un itérateur" +msgid "invalid I2C peripheral" +msgstr "périphérique I2C invalide" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" -msgstr "l'objet '%s' n'est pas un itérateur" +msgid "invalid SPI peripheral" +msgstr "périphérique SPI invalide" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "les exceptions doivent dériver de BaseException" +msgid "invalid alarm" +msgstr "alarme invalide" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "ne peut pas importer le nom %q" +msgid "invalid arguments" +msgstr "arguments invalides" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "l'allocation de mémoire a échoué, la pile est vérrouillé" +msgid "invalid buffer length" +msgstr "longueur de tampon invalide" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "l'allocation de mémoire a échoué en allouant %u octets" +msgid "invalid cert" +msgstr "certificat invalide" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "profondeur maximale de récursivité dépassée" +msgid "invalid data bits" +msgstr "bits de données invalides" -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "l'objet n'est pas dans la séquence" +msgid "invalid dupterm index" +msgstr "index invalide pour dupterm" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "opération de flux non supportée" +msgid "invalid format" +msgstr "format invalide" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" -msgstr "" -"chaîne de carac. non supportée; utilisez des bytes ou un tableau de bytes" +msgid "invalid format specifier" +msgstr "spécification de format invalide" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "argument lenght non permis pour ce type" +msgid "invalid key" +msgstr "clé invalide" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "variable locale référencée avant d'être assignée" +msgid "invalid micropython decorator" +msgstr "décorateur micropython invalide" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "aucune exception active à relever" +msgid "invalid pin" +msgstr "broche invalide" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "bytecode non implémenté" +msgid "invalid step" +msgstr "pas invalide" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" -msgstr "" +msgid "invalid stop bits" +msgstr "bits d'arrêt invalides" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" -msgstr "" +msgid "invalid syntax" +msgstr "syntaxe invalide" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" -msgstr "" +msgid "invalid syntax for integer" +msgstr "syntaxe invalide pour un entier" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 #, c-format -msgid "buf is too small. need %d bytes" -msgstr "" - -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" -msgstr "" +msgid "invalid syntax for integer with base %d" +msgstr "syntaxe invalide pour un entier de base %d" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -#, fuzzy -msgid "Only slices with step=1 (aka None) are supported" -msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" +msgid "invalid syntax for number" +msgstr "syntaxe invalide pour un nombre" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -#, fuzzy -msgid "Range out of bounds" -msgstr "adresse hors limites" +msgid "issubclass() arg 1 must be a class" +msgstr "l'argument 1 de issubclass() doit être une classe" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" +"l'argument 2 de issubclass() doit être une classe ou un tuple de classes" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." -msgstr "" +msgid "join expects a list of str/bytes objects consistent with self object" +msgstr "join attend une liste d'objets str/bytes cohérent avec l'objet self" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" +"argument(s) nommé(s) pas encore implémenté - utilisez les arguments normaux" -#: shared-bindings/_pixelbuf/__init__.c:112 -#, fuzzy -msgid "readonly attribute" -msgstr "attribut illisible" - -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "le graphic doit être long de 2048 octets" +msgid "keywords must be strings" +msgstr "les noms doivent être des chaînes de caractère" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" -msgstr "la palette doit être longue de 32 octets" +msgid "label '%q' not defined" +msgstr "label '%q' non supporté" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" -msgstr "tampon trop petit" +msgid "label redefined" +msgstr "label redéfini" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" -msgstr "la fonte doit être longue de 2048 octets" +msgid "len must be multiple of 4" +msgstr "'len' doit être un multiple de 4" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" -msgstr "tampon de caractères trop petit" +msgid "length argument not allowed for this type" +msgstr "argument lenght non permis pour ce type" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." -msgstr "" -"AnalogOut est seulement 16 bits. Les valeurs doivent être inf. à 65536." +msgid "lhs and rhs should be compatible" +msgstr "Les parties gauches et droites doivent être compatibles" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" -msgstr "Ne joue pas" +msgid "local '%q' has type '%q' but source is '%q'" +msgstr "la variable locale '%q' a le type '%q' mais la source est '%q'" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." -msgstr "La profondeur de bit doit être un multiple de 8." +msgid "local '%q' used before type known" +msgstr "variable locale '%q' utilisée avant d'en connaitre le type" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." -msgstr "Le sur-échantillonage doit être un multiple de 8." +msgid "local variable referenced before assignment" +msgstr "variable locale référencée avant d'être assignée" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "Le délais au démarrage du micro doit être entre 0.0 et 1.0" +msgid "long int not supported in this build" +msgstr "entiers longs non supportés dans cette build" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "destination_length doit être un entier >= 0" +msgid "map buffer too small" +msgstr "tampon trop petit" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "Impossible d'enregistrer vers un fichier" +msgid "math domain error" +msgstr "erreur de domaine math" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." -msgstr "La capacité de la cible est plus petite que destination_length." +msgid "maximum recursion depth exceeded" +msgstr "profondeur maximale de récursivité dépassée" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" -msgstr "" -"le tampon de destination doit être un tableau de type 'H' pour bit_depth = 16" +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "l'allocation de mémoire a échoué en allouant %u octets" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" msgstr "" -"le tampon de destination doit être un tableau de type 'B' pour bit_depth = 8" +"l'allocation de mémoire a échoué en allouant %u octets pour un code natif" -#: shared-bindings/audioio/Mixer.c:91 -#, fuzzy -msgid "Invalid voice count" -msgstr "Type de service invalide" +msgid "memory allocation failed, heap is locked" +msgstr "l'allocation de mémoire a échoué, la pile est vérrouillé" -#: shared-bindings/audioio/Mixer.c:96 -msgid "Invalid channel count" -msgstr "" +msgid "module not found" +msgstr "module introuvable" -#: shared-bindings/audioio/Mixer.c:100 -#, fuzzy -msgid "Sample rate must be positive" -msgstr "le taux d'échantillonage doit être positif" +msgid "multiple *x in assignment" +msgstr "*x multiple dans l'assignement" -#: shared-bindings/audioio/Mixer.c:104 -#, fuzzy -msgid "bits_per_sample must be 8 or 16" -msgstr "bits doivent être 8 ou 16" +msgid "multiple bases have instance lay-out conflict" +msgstr "de multiple bases ont un conflit de lay-out d'instance" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" -msgstr "" -"le tampon de sample_source doit être un bytearray ou un tableau de type " -"'h','H', 'b' ou 'B'" +msgid "multiple inheritance not supported" +msgstr "héritage multiple non supporté" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" -msgstr "le tampon doit être un objet bytes-like" +msgid "must raise an object" +msgstr "doit lever un objet" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" -msgstr "le fichier doit être un fichier ouvert en mode 'byte'" +msgid "must specify all of sck/mosi/miso" +msgstr "SCK, MOSI et MISO doivent tous être spécifiés" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "La fonction nécessite un verrou" +msgid "must use keyword argument for key function" +msgstr "il faut utiliser un argument nommé pour une fonction key" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" -msgstr "Le tampon doit être de longueur au moins 1" +msgid "name '%q' is not defined" +msgstr "nom '%q' non défini" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "Polarité invalide" +#, fuzzy +msgid "name must be a string" +msgstr "les noms doivent être des chaînes de caractère" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Phase invalide" +msgid "name not defined" +msgstr "nom non défini" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Nombre de bits invalide" +msgid "name reused for argument" +msgstr "nom réutilisé comme argument" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" -msgstr "les slices de tampon doivent être de longueurs égales" +msgid "native yield" +msgstr "native yield" -#: shared-bindings/bleio/Address.c:115 #, c-format -msgid "Address is not %d bytes long or is in wrong format" -msgstr "" +msgid "need more than %d values to unpack" +msgstr "nécessite plus de %d valeur à dégrouper" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "la palette doit être longue de 32 octets" +msgid "negative power with no float support" +msgstr "puissance négative sans support des nombres flottants" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -#, fuzzy -msgid "Expected a UUID" -msgstr "Attendu : %q" +msgid "negative shift count" +msgstr "compte de décalage négatif" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "Impossible de se connecter à 'AP'" +msgid "no active exception to reraise" +msgstr "aucune exception active à relever" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 #, fuzzy -msgid "timeout must be >= 0.0" -msgstr "les bits doivent être 8" +msgid "no available NIC" +msgstr "NIC non disponible" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -#, fuzzy -msgid "%q must be >= 1" -msgstr "les slices de tampon doivent être de longueurs égales" +msgid "no binding for nonlocal found" +msgstr "pas de lien trouvé pour nonlocal" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -#, fuzzy -msgid "Expected a Characteristic" -msgstr "Impossible d'ajouter la Characteristic." +msgid "no module named '%q'" +msgstr "pas de module '%q'" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "" +msgid "no such attribute" +msgstr "pas de tel attribut" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +msgid "non-default argument follows default argument" msgstr "" +"un argument sans valeur par défaut suit un argument avec valeur par défaut" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" -msgstr "Impossible d'ajouter des service en mode Central" +msgid "non-hex digit found" +msgstr "digit non-héxadécimale trouvé" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" -msgstr "Impossible de se connecter en mode Peripheral" +msgid "non-keyword arg after */**" +msgstr "argument non-nommé après */**" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" -msgstr "Modification du nom impossible en mode Central" +msgid "non-keyword arg after keyword arg" +msgstr "argument non-nommé après argument nommé" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "canal ADC non valide : %d" + +msgid "not all arguments converted during string formatting" msgstr "" +"tous les arguments n'ont pas été convertis pendant le formatage de la chaîne" -#: shared-bindings/bleio/Peripheral.c:119 -#, fuzzy -msgid "name must be a string" -msgstr "les noms doivent être des chaînes de caractère" +msgid "not enough arguments for format string" +msgstr "pas assez d'arguments pour la chaîne de format" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "l'objet '%s' n'est pas un tuple ou une liste" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" +msgid "object does not support item assignment" +msgstr "l'objet ne supporte pas l'assignation d'éléments" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" -msgstr "" +msgid "object does not support item deletion" +msgstr "l'objet ne supporte pas la suppression d'éléments" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +msgid "object has no len" +msgstr "l'objet n'a pas de len" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgid "object is not subscriptable" +msgstr "l'objet n'est pas sous-scriptable" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "le tampon doit être un objet bytes-like" +msgid "object not an iterator" +msgstr "l'objet n'est pas un itérateur" -#: shared-bindings/bleio/UUID.c:151 -msgid "not a 128-bit UUID" -msgstr "" +msgid "object not callable" +msgstr "objet non appelable" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." -msgstr "La fonction nécessite un verrou." +msgid "object not in sequence" +msgstr "l'objet n'est pas dans la séquence" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" -msgstr "bits doivent être 7, 8 ou 9" +msgid "object not iterable" +msgstr "objet non itérable" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" -msgstr "stop doit être 1 ou 2" +#, c-format +msgid "object of type '%s' has no len()" +msgstr "l'objet de type '%s' n'a pas de len()" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timeout >100 (exprimé en secondes, pas en ms)" +msgid "object with buffer protocol required" +msgstr "un objet avec un protocol de tampon est nécessaire" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." -msgstr "Direction invalide" +msgid "odd-length string" +msgstr "chaîne de longueur impaire" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." -msgstr "Impossible d'affecter une valeur quand la direction est 'input'." +#, fuzzy +msgid "offset out of bounds" +msgstr "adresse hors limites" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." -msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'." +msgid "only slices with step=1 (aka None) are supported" +msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." -msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'." +msgid "ord expects a character" +msgstr "ord attend un caractère" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." -msgstr "Valeur de tirage 'pull' non supportée." +#, c-format +msgid "ord() expected a character, but string of length %d found" +msgstr "ord() attend un caractère mais une chaîne de longueur %d a été trouvée" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "Impossible de supprimer les valeurs" +msgid "overflow converting long int to machine word" +msgstr "dépassement de capacité en convertissant un entier long en mot machine" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "Slices non supportées" +msgid "palette must be 32 bytes long" +msgstr "la palette doit être longue de 32 octets" -#: shared-bindings/displayio/Bitmap.c:156 #, fuzzy -msgid "pixel coordinates out of bounds" -msgstr "adresse hors limites" +msgid "palette_index should be an int" +msgstr "palette_index devrait être un entier (int)'" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" -msgstr "" +msgid "parameter annotation must be an identifier" +msgstr "l'annotation du paramètre doit être un identifiant" -#: shared-bindings/displayio/BuiltinFont.c:93 -#, fuzzy -msgid "%q should be an int" -msgstr "y doit être un entier (int)" +msgid "parameters must be registers in sequence a2 to a5" +msgstr "les paramètres doivent être des registres dans la séquence a2 à a5" -#: shared-bindings/displayio/ColorConverter.c:70 #, fuzzy -msgid "color should be an int" -msgstr "la couleur doit être un entier (int)" - -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgid "parameters must be registers in sequence r0 to r3" +msgstr "les paramètres doivent être des registres dans la séquence r0 à r3" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" -msgstr "" +msgid "pin does not have IRQ capabilities" +msgstr "la broche ne supporte pas les interruptions (IRQ)" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." -msgstr "" +#, fuzzy +msgid "pixel coordinates out of bounds" +msgstr "adresse hors limites" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" msgstr "" +"pixel_shader doit être un objet displayio.Palette ou displayio.ColorConverter" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -#, fuzzy -msgid "Command must be an int between 0 and 255" -msgstr "Les octets 'bytes' doivent être entre 0 et 255" +msgid "pop from an empty PulseIn" +msgstr "'pop' d'une entrée PulseIn vide" -#: shared-bindings/displayio/Palette.c:91 -#, fuzzy -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" -msgstr "" -"le tampon de couleur doit être un bytearray ou un tableau de type 'b' ou 'B'" +msgid "pop from an empty set" +msgstr "pop d'un ensemble set vide" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" -msgstr "le tampon de couleur doit faire 3 octets (RVB) ou 4 (RVB + pad byte)" +msgid "pop from empty list" +msgstr "pop d'une liste vide" -#: shared-bindings/displayio/Palette.c:101 -#, fuzzy -msgid "color must be between 0x000000 and 0xffffff" -msgstr "la couleur doit être entre 0x000000 et 0xffffff" +msgid "popitem(): dictionary is empty" +msgstr "popitem(): dictionnaire vide" -#: shared-bindings/displayio/Palette.c:105 #, fuzzy -msgid "color buffer must be a buffer or int" -msgstr "le tampon de couleur doit être un tampon ou un entier" +msgid "position must be 2-tuple" +msgstr "position doit être un 2-tuple" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -#, fuzzy -msgid "palette_index should be an int" -msgstr "palette_index devrait être un entier (int)'" +msgid "pow() 3rd argument cannot be 0" +msgstr "le 3e argument de pow() ne peut être 0" -#: shared-bindings/displayio/Shape.c:97 -#, fuzzy -msgid "y should be an int" -msgstr "y doit être un entier (int)" +msgid "pow() with 3 arguments requires integers" +msgstr "pow() avec 3 arguments nécessite des entiers" -#: shared-bindings/displayio/Shape.c:101 -#, fuzzy -msgid "start_x should be an int" -msgstr "y doit être un entier (int)" +msgid "queue overflow" +msgstr "dépassement de file" -#: shared-bindings/displayio/Shape.c:105 -#, fuzzy -msgid "end_x should be an int" -msgstr "y doit être un entier (int)" +msgid "rawbuf is not the same size as buf" +msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 #, fuzzy -msgid "position must be 2-tuple" -msgstr "position doit être un 2-tuple" +msgid "readonly attribute" +msgstr "attribut illisible" -#: shared-bindings/displayio/TileGrid.c:115 -#, fuzzy -msgid "unsupported bitmap type" -msgstr "type de bitmap non supporté" +msgid "relative import" +msgstr "import relatif" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" -msgstr "" +#, c-format +msgid "requested length %d but object has length %d" +msgstr "la longueur requise est %d mais l'objet est long de %d" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" -msgstr "" +msgid "return annotation must be an identifier" +msgstr "l'annotation de return doit être un identifiant" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" -msgstr "" -"pixel_shader doit être un objet displayio.Palette ou displayio.ColorConverter" +msgid "return expected '%q' but got '%q'" +msgstr "return attendait '%q' mais a reçu '%q'" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "trop d'arguments" +msgid "row must be packed and word aligned" +msgstr "" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" -msgstr "objet DigitalInOut attendu" +msgid "rsplit(None,n)" +msgstr "rsplit(None,n)" -#: shared-bindings/i2cslave/I2CSlave.c:95 -#, fuzzy -msgid "can't convert address to int" -msgstr "ne peut convertir %s en entier int" +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" +msgstr "" +"le tampon de sample_source doit être un bytearray ou un tableau de type " +"'h','H', 'b' ou 'B'" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" -msgstr "adresse hors limites" +msgid "sampling rate out of range" +msgstr "taux d'échantillonage hors gamme" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" -msgstr "adresses vides" +msgid "scan failed" +msgstr "échec du scan" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" -msgstr "Attendu : %q" +msgid "schedule stack full" +msgstr "pile de plannification pleine" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q utilisé" +msgid "script compilation not supported" +msgstr "compilation de script non supporté" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." -msgstr "Mode de lancement invalide" +msgid "services includes an object that is not a Service" +msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." -msgstr "Il manque une méthode readinto() ou write() au flux." +msgid "sign not allowed in string format specifier" +msgstr "signe non autorisé dans les spéc. de formats de chaînes de caractères" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." -msgstr "Slice et valeur de tailles différentes" +msgid "sign not allowed with integer format specifier 'c'" +msgstr "signe non autorisé avec la spéc. de format d'entier 'c'" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." -msgstr "Les valeurs du tableau doivent être des octets simples 'bytes'." +msgid "single '}' encountered in format string" +msgstr "'}' seule rencontrée dans une chaîne de format" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Impossible d'écrire sur la nvm." +msgid "sleep length must be non-negative" +msgstr "la longueur de sleep ne doit pas être négative" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "Les octets 'bytes' doivent être entre 0 et 255" +msgid "slice step cannot be zero" +msgstr "le pas 'step' de slice ne peut être zéro" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" -msgstr "Pas de source matérielle d'aléa disponible" +msgid "small int overflow" +msgstr "dépassement de capacité d'un entier court" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Tous les timers pour cette broche sont utilisés" +msgid "soft reboot\n" +msgstr "redémarrage logiciel\n" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "" -"La valeur de cycle PWM doit être entre 0 et 65535 inclus (résolution de 16 " -"bits)" +msgid "start/end indices" +msgstr "indices de début/fin" -#: shared-bindings/pulseio/PWMOut.c:202 #, fuzzy -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." -msgstr "" -"La fréquence de PWM n'est pas modifiable quand variable_frequency est False " -"à la construction." +msgid "start_x should be an int" +msgstr "y doit être un entier (int)" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" -msgstr "Lecture seule" +msgid "step must be non-zero" +msgstr "le pas 'step' doit être non nul" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" -msgstr "Le tableau doit contenir des halfwords (type 'H')" +msgid "stop must be 1 or 2" +msgstr "stop doit être 1 ou 2" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 msgid "stop not reachable from start" msgstr "stop n'est pas accessible au démarrage" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" -msgstr "le pas 'step' doit être non nul" +msgid "stream operation not supported" +msgstr "opération de flux non supportée" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" -msgstr "pas invalide" +msgid "string index out of range" +msgstr "index de chaîne hors gamme" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "séquence vide" +#, c-format +msgid "string indices must be integers, not %s" +msgstr "les indices de chaîne de caractère doivent être des entiers, pas %s" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "RTC non supportée sur cette carte" +msgid "string not supported; use bytes or bytearray" +msgstr "" +"chaîne de carac. non supportée; utilisez des bytes ou un tableau de bytes" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "calibration de la RTC non supportée sur cette carte" +msgid "struct: cannot index" +msgstr "struct: indexage impossible" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -#, fuzzy -msgid "no available NIC" -msgstr "NIC non disponible" +msgid "struct: index out of range" +msgstr "struct: index hors limite" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "le system de fichier doit fournir une méthode 'mount'" +msgid "struct: no fields" +msgstr "struct: aucun champs" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "La luminosité doit être entre 0 et 255" +msgid "substring not found" +msgstr "sous-chaîne non trouvée" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "La pile doit être au moins de 256" +msgid "super() can't find self" +msgstr "super() ne peut pas trouver self" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" -msgstr "la longueur de sleep ne doit pas être négative" +msgid "syntax error in JSON" +msgstr "erreur de syntaxe JSON" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() prend exactement 1 argument" +msgid "syntax error in uctypes descriptor" +msgstr "erreur de syntaxe dans le descripteur d'uctypes" + +msgid "threshold must be in the range 0-65536" +msgstr "le seuil doit être dans la gamme 0-65536" -#: shared-bindings/time/__init__.c:91 msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() prend une séquence de longueur 9" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" -msgstr "Argument de type tuple ou struct_time nécessaire" +msgid "time.struct_time() takes exactly 1 argument" +msgstr "time.struct_time() prend exactement 1 argument" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" -msgstr "la fonction prend exactement 9 arguments" +msgid "timeout >100 (units are now seconds, not msecs)" +msgstr "timeout >100 (exprimé en secondes, pas en ms)" + +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "les bits doivent être 8" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 msgid "timestamp out of range for platform time_t" msgstr "timestamp hors gamme pour time_t de la plateforme" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" -msgstr "le seuil doit être dans la gamme 0-65536" +msgid "too many arguments" +msgstr "trop d'arguments" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." -msgstr "" -"L'objet a été désinitialisé et ne peut plus être utilisé. Créez un nouvel " -"objet." +msgid "too many arguments provided with the given format" +msgstr "trop d'arguments fournis avec ce format" -#: shared-module/_pixelbuf/PixelBuf.c:69 #, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "" - -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" -msgstr "Impossible d'allouer le 1er tampon" - -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" -msgstr "Impossible d'allouer le 2e tampon" - -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" -msgstr "Index de la voix trop grand" - -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" -msgstr "L'échantillonage de l'échantillon ne correspond pas à celui du mixer" - -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" -msgstr "Le canal de l'échantillon ne correspond pas à celui du mixer" - -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" -msgstr "Le bits_per_sample de l'échantillon ne correspond pas à celui du mixer" - -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" -msgstr "Le signe de l'échantillon ne correspond pas au mixer" - -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" -msgstr "Fichier WAVE invalide" +msgid "too many values to unpack (expected %d)" +msgstr "trop de valeur à dégrouper (%d attendues)" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" -msgstr "Taille de bloc de formatage invalide" +msgid "tuple index out of range" +msgstr "index du tuple hors gamme" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" -msgstr "Format non supporté" +msgid "tuple/list has wrong length" +msgstr "tuple/liste a une mauvaise longueur" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" -msgstr "Un bloc de données doit suivre un bloc de format" +msgid "tuple/list required on RHS" +msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" -msgstr "Fichier invalide" +msgid "tx and rx cannot both be None" +msgstr "tx et rx ne peuvent être None tous les deux" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" -msgstr "Période de l'horloge trop longue" +msgid "type '%q' is not an acceptable base type" +msgstr "le type '%q' n'est pas un type de base accepté" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "Echec de l'init. de la broche d'horloge" +msgid "type is not an acceptable base type" +msgstr "le type n'est pas un type de base accepté" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." -msgstr "Echec de l'init. de la broche MOSI" +msgid "type object '%q' has no attribute '%q'" +msgstr "l'objet de type '%q' n'a pas d'attribut '%q'" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." -msgstr "Echec de l'init. de la broche MISO" +msgid "type takes 1 or 3 arguments" +msgstr "le type prend 1 ou 3 arguments" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "Impossible d'écrire sans broche MOSI." +msgid "ulonglong too large" +msgstr "ulonglong trop grand" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." -msgstr "Impossible de lire sans broche MISO." +msgid "unary op %q not implemented" +msgstr "opération unaire '%q' non implémentée" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." -msgstr "Pas de transfert sans broches MOSI et MISO" +msgid "unexpected indent" +msgstr "indentation inattendue" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" -msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées" +msgid "unexpected keyword argument" +msgstr "argument nommé imprévu" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" -msgstr "" +msgid "unexpected keyword argument '%q'" +msgstr "argument nommé '%q' imprévu" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Lecture seule" +msgid "unicode name escapes" +msgstr "échappements de nom unicode" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "type de bitmap non supporté" +msgid "unindent does not match any outer indentation level" +msgstr "la désindentation ne correspond à aucune indentation" -#: shared-module/displayio/Group.c:66 -msgid "Group full" -msgstr "Groupe plein" +msgid "unknown config param" +msgstr "paramètre de config. inconnu" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." -msgstr "" +#, c-format +msgid "unknown conversion specifier %c" +msgstr "spécification %c de conversion inconnue" -#: shared-module/displayio/OnDiskBitmap.c:49 -#, fuzzy -msgid "Invalid BMP file" -msgstr "Fichier invalide" +#, c-format +msgid "unknown format code '%c' for object of type '%s'" +msgstr "code de format '%c' inconnu pour un objet de type '%s'" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" +msgid "unknown format code '%c' for object of type 'float'" +msgstr "code de format '%c' inconnu pour un objet de type 'float'" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Seul les BMP 24bits ou plus sont supportés %x" +msgid "unknown format code '%c' for object of type 'str'" +msgstr "code de format '%c' inconnu pour un objet de type 'str'" -#: shared-module/displayio/Shape.c:60 -#, fuzzy -msgid "y value out of bounds" -msgstr "adresse hors limites" +msgid "unknown status param" +msgstr "paramètre de status inconnu" -#: shared-module/displayio/Shape.c:63 -#, fuzzy -msgid "x value out of bounds" -msgstr "adresse hors limites" +msgid "unknown type" +msgstr "type inconnu" -#: shared-module/displayio/Shape.c:67 -#, c-format -msgid "Maximum x value when mirrored is %d" -msgstr "" +msgid "unknown type '%q'" +msgstr "type '%q' inconnu" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "'/' ne peut être remonté quand l'USB est actif." +msgid "unmatched '{' in format" +msgstr "'{' sans correspondance dans le format" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" -msgstr "'S' et 'O' ne sont pas des types de format supportés" +msgid "unreadable attribute" +msgstr "attribut illisible" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" -msgstr "trop d'arguments fournis avec ce format" +#, fuzzy, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "instruction Thumb '%s' non supportée avec %d arguments" + +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "instruction Xtensa '%s' non supportée avec %d arguments" -#: shared-module/struct/__init__.c:179 #, fuzzy -msgid "buffer size must match format" -msgstr "les slices de tampon doivent être de longueurs égales" +msgid "unsupported bitmap type" +msgstr "type de bitmap non supporté" -#: shared-module/usb_hid/Device.c:45 #, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Tampon de taille incorrect. Devrait être de %d octets." +msgid "unsupported format character '%c' (0x%x) at index %d" +msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "USB occupé" +msgid "unsupported type for %q: '%s'" +msgstr "type non supporté pour %q: '%s'" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "Erreur USB" +msgid "unsupported type for operator" +msgstr "type non supporté pour l'opérateur" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Pas de bus I2C par défaut" +msgid "unsupported types for %q: '%s', '%s'" +msgstr "type non supporté pour %q: '%s', '%s'" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Pas de bus SPI par défaut" +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() a échoué" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Pas de bus UART par défaut" +msgid "write_args must be a list, tuple, or None" +msgstr "" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Vous avez demandé à démarrer en mode sans-échec par " +msgid "wrong number of arguments" +msgstr "mauvais nombres d'arguments" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Pour quitter, redémarrez la carte SVP sans " +msgid "wrong number of values to unpack" +msgstr "mauvais nombre de valeurs à dégrouper" -#: supervisor/shared/safe_mode.c:107 #, fuzzy -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" -msgstr "" -"Vous êtes en mode sans-échec ce qui signifie qu'un imprévu est survenu.\n" - -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" -msgstr "" -"On dirait que notre code CircuitPython a durement planté. Oups !\n" -"Merci de remplir un ticket sur https://github.com/adafruit/circuitpython/" -"issues\n" -"avec le contenu de votre lecteur CIRCUITPY et ce message:\n" +msgid "x value out of bounds" +msgstr "adresse hors limites" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" -msgstr "" +#, fuzzy +msgid "y should be an int" +msgstr "y doit être un entier (int)" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" -msgstr "" +#, fuzzy +msgid "y value out of bounds" +msgstr "adresse hors limites" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "Erreur fatale de MicroPython.\n" +msgid "zero step" +msgstr "'step' nul" -#: supervisor/shared/safe_mode.c:118 #, fuzzy -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" -msgstr "" -"L'alimentation du microcontroleur a chuté. Merci de vérifier que votre " -"alimentation fournit\n" -"suffisamment de puissance pour l'ensemble du circuit et appuyez sur " -"'reset' (après avoir éjecter CIRCUITPY).\n" +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Tous les périphériques PWM sont utilisés" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" -"La pile de CircuitPython a été corrompue parce que la pile était trop " -"petite.\n" -"Augmentez la limite de taille de la pile et appuyez sur 'reset' (après avoir " -"éjecter CIRCUITPY).\n" -"Si vous n'avez pas modifié la pile, merci de remplir un ticket avec le " -"contenu de votre lecteur CIRCUITPY :\n" +#~ msgid "Can not add Characteristic." +#~ msgstr "Impossible d'ajouter la Characteristic." -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" -"Le bouton 'reset' a été appuyé pendant le démarrage de CircuitPython. " -"Appuyer denouveau pour quitter de le mode sans-échec.\n" +#~ msgid "Can not add Service." +#~ msgstr "Impossible d'ajouter le Service" -#~ msgid "Not enough pins available" -#~ msgstr "Pas assez de broches disponibles" +#~ msgid "Can not apply device name in the stack." +#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile" -#, fuzzy -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART n'est pas disponible" +#~ msgid "Can not encode UUID, to check length." +#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur." #~ msgid "Can not query for the device address." #~ msgstr "Impossible d'obtenir l'adresse du périphérique" -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur." - #~ msgid "Cannot apply GAP parameters." #~ msgstr "Impossible d'appliquer les paramètres GAP" -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n" +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "Impossible d'appliquer les paramètres PPCP" #, fuzzy -#~ msgid "Wrong number of bytes provided" -#~ msgstr "mauvais nombre d'octets fourni'" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "assez de puissance pour l'ensemble du circuit et appuyez sur " -#~ "'reset' (après avoir éjecter CIRCUITPY).\n" +#~ msgid "Group empty" +#~ msgstr "Groupe vide" #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Echec de l'allocation de %d octets du tampon RX" +#~ msgid "Group must have %q at least 1" +#~ msgstr "Le tampon doit être de longueur au moins 1" #~ msgid "Invalid Service type" #~ msgstr "Type de service invalide" -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio est en cours de développement" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile" +#~ msgid "Invalid UUID parameter" +#~ msgstr "Paramètre UUID invalide" #~ msgid "Invalid UUID string length" #~ msgstr "Longeur de chaîne UUID invalide" -#~ msgid "Can not add Characteristic." -#~ msgstr "Impossible d'ajouter la Characteristic." +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n" -#~ msgid "Can not add Service." -#~ msgstr "Impossible d'ajouter le Service" +#~ msgid "Not enough pins available" +#~ msgstr "Pas assez de broches disponibles" + +#~ msgid "" +#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" +#~ msgstr "" +#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n" #~ msgid "Wrong address length" #~ msgstr "Mauvaise longueur d'adresse" #, fuzzy -#~ msgid "Group empty" -#~ msgstr "Groupe vide" +#~ msgid "Wrong number of bytes provided" +#~ msgstr "mauvais nombre d'octets fourni'" #, fuzzy -#~ msgid "value_size must be power of two" -#~ msgstr "value_size doit être une puissance de 2" +#~ msgid "buffer_size must be >= 1" +#~ msgstr "les slices de tampon doivent être de longueurs égales" #, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Tous les périphériques PWM sont utilisés" +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART n'est pas disponible" -#, fuzzy -#~ msgid "palette must be displayio.Palette" -#~ msgstr "la palette doit être une displayio.Palette" +#~ msgid "displayio is a work in progress" +#~ msgstr "displayio est en cours de développement" + +#~ msgid "" +#~ "enough power for the whole circuit and press reset (after ejecting " +#~ "CIRCUITPY).\n" +#~ msgstr "" +#~ "assez de puissance pour l'ensemble du circuit et appuyez sur " +#~ "'reset' (après avoir éjecter CIRCUITPY).\n" #~ msgid "index must be int" #~ msgstr "l'index doit être un entier" #, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "les noms doivent être des chaînes de caractère" - -#, fuzzy -#~ msgid "row data must be a buffer" -#~ msgstr "les données de ligne doivent être un tampon" +#~ msgid "palette must be displayio.Palette" +#~ msgstr "la palette doit être une displayio.Palette" #, fuzzy #~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" #~ msgstr "" #~ "le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Paramètre UUID invalide" +#, fuzzy +#~ msgid "row data must be a buffer" +#~ msgstr "les données de ligne doivent être un tampon" -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Impossible d'appliquer les paramètres PPCP" +#, fuzzy +#~ msgid "unicode_characters must be a string" +#~ msgstr "les noms doivent être des chaînes de caractère" #, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Le tampon doit être de longueur au moins 1" +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Echec de l'allocation de %d octets du tampon RX" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "les slices de tampon doivent être de longueurs égales" +#~ msgid "value_size must be power of two" +#~ msgstr "value_size doit être une puissance de 2" diff --git a/locale/it_IT.po b/locale/it_IT.po index d4e68f0984b0..d00d42270c87 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -17,2966 +17,2246 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "periferica I2C invalida" - -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "operazione I2C non supportata" - -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "l'indirizzo %08x non è allineato a %d bytes" - -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "periferica SPI invalida" - -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" -msgstr "i buffer devono essere della stessa lunghezza" - -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "i bit devono essere 8" - -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "il primo bit deve essere il più significativo (MSB)" - -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "è necessario specificare tutte le sck/mosi/miso" - -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "formato non valido" - -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" -msgstr "un oggetto byte-like è richiesto" - -#: extmod/modubinascii.c:90 -msgid "odd-length string" -msgstr "stringa di lunghezza dispari" - -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" -msgstr "trovata cifra non esadecimale" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "padding incorretto" +msgid " File \"%q\"" +msgstr " File \"%q\"" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" -msgstr "errore di sintassi nel descrittore uctypes" +msgid " File \"%q\", line %d" +msgstr " File \"%q\", riga %d" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" +msgid " output:\n" +msgstr " output:\n" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: nessun campo" +#, c-format +msgid "%%c requires int or char" +msgstr "%%c necessita di int o char" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: impossibile indicizzare" +msgid "%q in use" +msgstr "%q in uso" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: indice fuori intervallo" +msgid "%q index out of range" +msgstr "indice %q fuori intervallo" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "l'heap deve essere una lista" +msgid "%q indices must be integers, not %s" +msgstr "gli indici %q devono essere interi, non %s" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "heap vuoto" +#, fuzzy +msgid "%q must be >= 1" +msgstr "slice del buffer devono essere della stessa lunghezza" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "errore di sintassi nel JSON" +#, fuzzy +msgid "%q should be an int" +msgstr "y dovrebbe essere un int" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" -msgstr "Suddivisione con sotto-catture" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "Errore nella regex" +msgid "'%q' argument required" +msgstr "'%q' argomento richiesto" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "chiave non valida" +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' aspetta una etichetta" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "certificato non valido" +#, c-format +msgid "'%s' expects a register" +msgstr "'%s' aspetta un registro" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "overflow della coda" +#, fuzzy, c-format +msgid "'%s' expects a special register" +msgstr "'%s' aspetta un registro" -#: extmod/moduzlib.c:98 -msgid "compression header" -msgstr "compressione dell'header" +#, fuzzy, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' aspetta un registro" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "indice dupterm non valido" +#, fuzzy, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "'%s' aspetta un registro" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Filesystem in sola lettura" +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' aspetta un intero" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "operazione I/O su file chiuso" +#, fuzzy, c-format +msgid "'%s' expects at most r%d" +msgstr "'%s' aspetta un registro" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() chiamato" +#, fuzzy, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "'%s' aspetta un registro" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "argomenti non validi" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "intero '%s' non è nell'intervallo %d..%d" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "compilazione dello scrip non suportata" +#, fuzzy, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "intero '%s' non è nell'intervallo %d..%d" -#: main.c:152 -msgid " output:\n" -msgstr " output:\n" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +#, c-format +msgid "'%s' object does not support item deletion" msgstr "" -"L'auto-reload è attivo. Salva i file su USB per eseguirli o entra nel REPL " -"per disabilitarlo.\n" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n" +msgid "'%s' object has no attribute '%q'" +msgstr "l'oggetto '%s' non ha l'attributo '%q'" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "Auto-reload disattivato.\n" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "l'oggetto '%s' non è un iteratore" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n" +#, c-format +msgid "'%s' object is not callable" +msgstr "" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "ATTENZIONE: Il nome del sorgente ha due estensioni\n" +#, c-format +msgid "'%s' object is not iterable" +msgstr "l'oggetto '%s' non è iterabile" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +#, c-format +msgid "'%s' object is not subscriptable" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "'=' alignment not allowed in string format specifier" msgstr "" -"Premi un qualunque tasto per entrare nel REPL. Usa CTRL-D per ricaricare." - -#: main.c:422 -msgid "soft reboot\n" -msgstr "soft reboot\n" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 -msgid "All sync event channels in use" -msgstr "Tutti i canali di eventi sincronizzati in uso" +msgid "'S' and 'O' are not supported format types" +msgstr "'S' e 'O' non sono formati supportati" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "la calibrazione è in sola lettura" +msgid "'align' requires 1 argument" +msgstr "'align' richiede 1 argomento" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "la calibrazione è fuori intervallo" +msgid "'await' outside function" +msgstr "'await' al di fuori della funzione" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "Il pin non ha capacità di ADC" +msgid "'break' outside loop" +msgstr "'break' al di fuori del ciclo" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Nessun DAC sul chip" +msgid "'continue' outside loop" +msgstr "'continue' al di fuori del ciclo" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 -msgid "AnalogOut not supported on given pin" -msgstr "AnalogOut non supportato sul pin scelto" +msgid "'data' requires at least 2 arguments" +msgstr "'data' richiede almeno 2 argomento" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Pin del clock di bit non valido" +msgid "'data' requires integer arguments" +msgstr "'data' richiede argomenti interi" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" -msgstr "" -"Clock di bit e selezione parola devono condividere la stessa unità di clock" +msgid "'label' requires 1 argument" +msgstr "'label' richiede 1 argomento" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Pin dati non valido" +msgid "'return' outside function" +msgstr "'return' al di fuori della funzione" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer in uso" +msgid "'yield' outside function" +msgstr "'yield' al di fuori della funzione" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Unità di clock in uso" +msgid "*x must be assignment target" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Impossibile trovare un GCLK libero" +msgid ", in %q\n" +msgstr ", in %q\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "" +msgid "0.0 to a complex power" +msgstr "0.0 elevato alla potenza di un numero complesso" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "Nessun canale DMA trovato" +msgid "3-arg pow() not supported" +msgstr "pow() con tre argmomenti non supportata" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Ipossibilitato ad allocare buffer per la conversione con segno" +msgid "A hardware interrupt channel is already in use" +msgstr "Un canale di interrupt hardware è già in uso" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Pin di clock non valido" +msgid "AP required" +msgstr "AP richiesto" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "frequenza di campionamento fuori intervallo" +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "la palette deve essere lunga 32 byte" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" -msgstr "DAC già in uso" +msgid "All I2C peripherals are in use" +msgstr "Tutte le periferiche I2C sono in uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Canale destro non supportato" +msgid "All SPI peripherals are in use" +msgstr "Tutte le periferiche SPI sono in uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Pin non valido" +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Tutte le periferiche I2C sono in uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Pin non valido per il canale sinistro" +msgid "All event channels in use" +msgstr "Tutti i canali eventi utilizati" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Pin non valido per il canale destro" +msgid "All sync event channels in use" +msgstr "Tutti i canali di eventi sincronizzati in uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" -msgstr "Impossibile dare in output entrambi i canal sullo stesso pin" +msgid "All timers for this pin are in use" +msgstr "Tutti i timer per questo pin sono in uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 msgid "All timers in use" msgstr "Tutti i timer utilizzati" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Tutti i canali eventi utilizati" +msgid "AnalogOut functionality not supported" +msgstr "funzionalità AnalogOut non supportata" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 -#, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "" -"Frequenza di campionamento troppo alta. Il valore deve essere inferiore a %d" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "AnalogOut ha solo 16 bit. Il valore deve essere meno di 65536." -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Pin non validi" +msgid "AnalogOut not supported on given pin" +msgstr "AnalogOut non supportato sul pin scelto" -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "SDA o SCL necessitano un pull-up" +msgid "Another send is already active" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "baudrate non supportato" +msgid "Array must contain halfwords (type 'H')" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "byte > 8 bit non supportati" +msgid "Array values should be single bytes." +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "tx e rx non possono essere entrambi None" +msgid "Auto-reload is off.\n" +msgstr "Auto-reload disattivato.\n" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Impossibile allocare buffer RX" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"L'auto-reload è attivo. Salva i file su USB per eseguirli o entra nel REPL " +"per disabilitarlo.\n" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "Impossibile inizializzare l'UART" +msgid "Bit clock and word select must share a clock unit" +msgstr "" +"Clock di bit e selezione parola devono condividere la stessa unità di clock" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Nessun pin RX" +msgid "Bit depth must be multiple of 8." +msgstr "La profondità di bit deve essere multipla di 8." -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Nessun pin TX" +msgid "Both pins must support hardware interrupts" +msgstr "Entrambi i pin devono supportare gli interrupt hardware" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 -msgid "Cannot get pull while in output mode" +msgid "Brightness must be between 0 and 255" +msgstr "La luminosità deve essere compreso tra 0 e 255" + +msgid "Brightness not adjustable" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -#, fuzzy -msgid "Data 0 pin must be byte aligned" -msgstr "graphic deve essere lunga 2048 byte" +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Buffer di lunghezza non valida. Dovrebbe essere di %d bytes." + +msgid "Buffer must be at least length 1" +msgstr "Il buffer deve essere lungo almeno 1" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 #, fuzzy, c-format msgid "Bus pin %d is already in use" msgstr "DAC già in uso" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 -msgid "Cannot reset into bootloader because no bootloader is present." -msgstr "" -"Impossibile resettare nel bootloader poiché nessun bootloader è presente." - -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Frequenza PWM non valida" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "i buffer devono essere della stessa lunghezza" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Nessun supporto hardware sul pin" +msgid "Bytes must be between 0 and 255." +msgstr "I byte devono essere compresi tra 0 e 255" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "Canale EXTINT già in uso" +msgid "C-level assert" +msgstr "assert a livello C" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 #, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Fallita allocazione del buffer RX di %d byte" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" -msgstr "pop sun un PulseIn vuoto" +msgid "Can't add services in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "indice fuori intervallo" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" +msgid "Can't change the name in Central mode" msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Entrambi i pin devono supportare gli interrupt hardware" +msgid "Can't connect in Peripheral mode" +msgstr "" -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Un canale di interrupt hardware è già in uso" +msgid "Cannot connect to AP" +msgstr "Impossible connettersi all'AP" -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "valore di calibrazione fuori intervallo +/-127" +msgid "Cannot delete values" +msgstr "Impossibile cancellare valori" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Nessun GCLK libero" +msgid "Cannot disconnect from AP" +msgstr "Impossible disconnettersi all'AP" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Il pin %q non ha capacità ADC" +msgid "Cannot get pull while in output mode" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Nessun supporto hardware per l'uscita analogica." +#, fuzzy +msgid "Cannot get temperature" +msgstr "Impossibile leggere la temperatura. status: 0x%02x" -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Pin non validi per SPI" +msgid "Cannot output both channels on the same pin" +msgstr "Impossibile dare in output entrambi i canal sullo stesso pin" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Solo tx supportato su UART1 (GPIO2)." +msgid "Cannot read without MISO pin." +msgstr "Impossibile leggere senza pin MISO." -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "bit dati invalidi" +msgid "Cannot record to a file" +msgstr "Impossibile registrare in un file" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "bit di stop invalidi" +msgid "Cannot remount '/' when USB is active." +msgstr "Non è possibile rimontare '/' mentre l'USB è attiva." -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "ESP8266 non supporta pull-down" +msgid "Cannot reset into bootloader because no bootloader is present." +msgstr "" +"Impossibile resettare nel bootloader poiché nessun bootloader è presente." -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "GPIO16 non supporta pull-up" +msgid "Cannot set STA config" +msgstr "Impossibile impostare la configurazione della STA" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "ESP8266 non supporta la modalità sicura." +msgid "Cannot set value when direction is input." +msgstr "" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "Frequenza massima su PWM è %dhz" +msgid "Cannot subclass slice" +msgstr "Impossibile subclasare slice" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "Frequenza minima su PWM è 1hz" +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "Impossibile trasferire senza i pin MOSI e MISO." -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "Frequenze PWM multiple non supportate. PWM già impostato a %shz." +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 -#, c-format -msgid "PWM not supported on pin %d" -msgstr "PWM non è supportato sul pin %d" +msgid "Cannot update i/f status" +msgstr "Impossibile aggiornare status di i/f" -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Nessun supporto per PulseIn per %q" +msgid "Cannot write without MOSI pin." +msgstr "Impossibile scrivere senza pin MOSI." -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Imposssibile rimontare il filesystem" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "Usa esptool per cancellare la flash e ricaricare Python invece" +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" -msgstr "assert a livello C" +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "canale ADC non valido: %d" +msgid "Clock pin init failed." +msgstr "Inizializzazione del pin di clock fallita." -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "baudrate impossibile" +msgid "Clock stretch too long" +msgstr "" -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "pin atteso" +msgid "Clock unit in use" +msgstr "Unità di clock in uso" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pin(16) non supporta pull" +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "I byte devono essere compresi tra 0 e 255" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "pin non valido" +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "il pin non implementa IRQ" +msgid "Could not initialize UART" +msgstr "Impossibile inizializzare l'UART" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "buffer troppo lungo" +msgid "Couldn't allocate first buffer" +msgstr "Impossibile allocare il primo buffer" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "alarm non valido" +msgid "Couldn't allocate second buffer" +msgstr "Impossibile allocare il secondo buffer" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) non esistente" +msgid "Crash into the HardFault_Handler.\n" +msgstr "" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) non leggibile" +msgid "DAC already in use" +msgstr "DAC già in uso" -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len deve essere multiplo di 4" +#, fuzzy +msgid "Data 0 pin must be byte aligned" +msgstr "graphic deve essere lunga 2048 byte" -#: ports/esp8266/modesp.c:274 -#, c-format -msgid "memory allocation failed, allocating %u bytes for native code" +msgid "Data chunk must follow fmt chunk" msgstr "" -"allocazione di memoria fallita, allocazione di %d byte per codice nativo" -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "Locazione della flash deve essere inferiore a 1mb" +#, fuzzy +msgid "Data too large for advertisement packet" +msgstr "Impossibile inserire dati nel pacchetto di advertisement." -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "la frequenza può essere o 80Mhz o 160Mhz" +#, fuzzy +msgid "Data too large for the advertisement packet" +msgstr "Impossibile inserire dati nel pacchetto di advertisement." -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP richiesto" +msgid "Destination capacity is smaller than destination_length." +msgstr "La capacità di destinazione è più piccola di destination_length." -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA richiesta" +msgid "Display rotation must be in 90 degree increments" +msgstr "" -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "Impossibile aggiornare status di i/f" +msgid "Don't know how to pass object to native function" +msgstr "Non so come passare l'oggetto alla funzione nativa" -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Impossibile impostare la configurazione della STA" +msgid "Drive mode not used when direction is input." +msgstr "" -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Impossible connettersi all'AP" +msgid "ESP8226 does not support safe mode." +msgstr "ESP8266 non supporta la modalità sicura." -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Impossible disconnettersi all'AP" +msgid "ESP8266 does not support pull down." +msgstr "ESP8266 non supporta pull-down" -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "prametro di stato sconosciuto" +msgid "EXTINT channel already in use" +msgstr "Canale EXTINT già in uso" -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "STA deve essere attiva" +msgid "Error in ffi_prep_cif" +msgstr "Errore in ffi_prep_cif" -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "scansione fallita" +msgid "Error in regex" +msgstr "Errore nella regex" -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() faillito" +msgid "Expected a %q" +msgstr "Atteso un %q" -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "sono permesse solo gli argomenti pos o kw" +#, fuzzy +msgid "Expected a Characteristic" +msgstr "Non è possibile aggiungere Characteristic." -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "impossibile recuperare la configurazione della STA" +#, fuzzy +msgid "Expected a UUID" +msgstr "Atteso un %q" -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "impossibile recuperare le configurazioni dell'AP" +#, c-format +msgid "Expected tuple of length %d, got %d" +msgstr "" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "lunghezza del buffer non valida" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "Impossibile allocare buffer RX" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "impossibile impostare le configurazioni della STA" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "impossibile impostare le configurazioni dell'AP" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "è possibile interrogare solo un parametro" +#, fuzzy +msgid "Failed to add service" +msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "parametro di configurazione sconosciuto" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "funzionalità AnalogOut non supportata" +msgid "Failed to allocate RX buffer" +msgstr "Impossibile allocare buffer RX" -#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "" +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Fallita allocazione del buffer RX di %d byte" -#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:128 #, fuzzy -msgid "Failed to get softdevice state" +msgid "Failed to connect:" +msgstr "Impossibile connettersi. status: 0x%02x" + +#, fuzzy +msgid "Failed to continue scanning" +msgstr "Impossible iniziare la scansione. status: 0x%02x" + +#, fuzzy, c-format +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Impossible iniziare la scansione. status: 0x%02x" + +#, fuzzy +msgid "Failed to create mutex" +msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" + +#, fuzzy +msgid "Failed to discover services" msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 #, fuzzy -msgid "Data too large for advertisement packet" -msgstr "Impossibile inserire dati nel pacchetto di advertisement." - -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 -#, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Impossibile avviare advertisement. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" +msgid "Failed to get softdevice state" msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Impossibile notificare valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" +msgid "Failed to read attribute value, err %0x04x" msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" +msgid "Failed to read gatts value, err 0x%04x" msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -#, fuzzy -msgid "Data too large for the advertisement packet" -msgstr "Impossibile inserire dati nel pacchetto di advertisement." - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "Impossibile fermare advertisement. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "Impossibile allocare buffer RX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit" -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:389 -#, fuzzy -msgid "Failed to continue scanning" -msgstr "Impossible iniziare la scansione. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:421 -#, fuzzy -msgid "Failed to connect:" -msgstr "Impossibile connettersi. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "Impossibile fermare advertisement. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "Impossibile avviare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "Impossibile fermare advertisement. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Impossibile avviare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "Impossible iniziare la scansione. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:566 +#, fuzzy, c-format +msgid "Failed to start scanning, err 0x%04x" +msgstr "Impossible iniziare la scansione. status: 0x%02x" + #, fuzzy -msgid "Failed to create mutex" -msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" +msgid "Failed to stop advertising" +msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Impossible iniziare la scansione. status: 0x%02x" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Impossible iniziare la scansione. status: 0x%02x" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Service.c:88 -#, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Impossibile fermare advertisement. status: 0x%02x" +msgid "File exists" +msgstr "File esistente" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." +msgid "Function requires lock" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit" - -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" +msgid "Function requires lock." msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:88 -#, fuzzy -msgid "Unexpected nrfx uuid type" -msgstr "indentazione inaspettata" +msgid "GPIO16 does not support pull up." +msgstr "GPIO16 non supporta pull-up" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Tutte le periferiche I2C sono in uso" +msgid "Group full" +msgstr "Gruppo pieno" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Tutte le periferiche SPI sono in uso" +msgid "I/O operation on closed file" +msgstr "operazione I/O su file chiuso" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" +msgid "I2C operation not supported" +msgstr "operazione I2C non supportata" + +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." msgstr "" +"File .mpy incompatibile. Aggiorna tutti i file .mpy. Vedi http://adafru.it/" +"mpy-update per più informazioni." -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Tutte le periferiche I2C sono in uso" +msgid "Input/output error" +msgstr "Errore input/output" + +msgid "Invalid BMP file" +msgstr "File BMP non valido" + +msgid "Invalid PWM frequency" +msgstr "Frequenza PWM non valida" + +msgid "Invalid argument" +msgstr "Argomento non valido" + +msgid "Invalid bit clock pin" +msgstr "Pin del clock di bit non valido" -#: ports/nrf/common-hal/busio/UART.c:153 #, fuzzy msgid "Invalid buffer size" msgstr "lunghezza del buffer non valida" -#: ports/nrf/common-hal/busio/UART.c:157 #, fuzzy -msgid "Odd parity is not supported" -msgstr "operazione I2C non supportata" +msgid "Invalid channel count" +msgstr "Argomento non valido" -#: ports/nrf/common-hal/microcontroller/Processor.c:48 -#, fuzzy -msgid "Cannot get temperature" -msgstr "Impossibile leggere la temperatura. status: 0x%02x" +msgid "Invalid clock pin" +msgstr "Pin di clock non valido" -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Tipo sconosciuto" +msgid "Invalid data pin" +msgstr "Pin dati non valido" -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Errore in ffi_prep_cif" +msgid "Invalid direction." +msgstr "Direzione non valida." -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" +msgid "Invalid file" +msgstr "File non valido" -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Non so come passare l'oggetto alla funzione nativa" +msgid "Invalid format chunk size" +msgstr "" -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "[errore addrinfo %d]" +msgid "Invalid number of bits" +msgstr "Numero di bit non valido" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "la funzione non prende argomenti nominati" +msgid "Invalid phase" +msgstr "Fase non valida" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "" -"la funzione prende %d argomenti posizionali ma ne sono stati forniti %d" +msgid "Invalid pin" +msgstr "Pin non valido" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "mancano %d argomenti posizionali obbligatori alla funzione" +msgid "Invalid pin for left channel" +msgstr "Pin non valido per il canale sinistro" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "la funzione prevede al massimo %d argmoneti, ma ne ha ricevuti %d" +msgid "Invalid pin for right channel" +msgstr "Pin non valido per il canale destro" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' argomento richiesto" +msgid "Invalid pins" +msgstr "Pin non validi" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "argomenti posizonali extra dati" +msgid "Invalid polarity" +msgstr "Polarità non valida" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "argomento nominato aggiuntivo fornito" +msgid "Invalid run mode." +msgstr "Modalità di esecuzione non valida." -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "discrepanza di numero/tipo di argomenti" +#, fuzzy +msgid "Invalid voice count" +msgstr "Tipo di servizio non valido" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" -"argomento(i) nominati non ancora implementati - usare invece argomenti " -"normali" +msgid "Invalid wave file" +msgstr "File wave non valido" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d" +msgid "LHS of keyword arg must be an id" +msgstr "" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "argomento nominato inaspettato" +msgid "Layer must be a Group or TileGrid subclass." +msgstr "" -#: py/bc.c:199 -msgid "keywords must be strings" -msgstr "argomenti nominati devono essere stringhe" +msgid "Length must be an int" +msgstr "Length deve essere un intero" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" -msgstr "la funzione ha ricevuto valori multipli per l'argomento '%q'" +msgid "Length must be non-negative" +msgstr "Length deve essere non negativo" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "argomento nominato '%q' inaspettato" +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" -msgstr "mancante il #%d argomento posizonale obbligatorio della funzione" +msgid "MISO pin init failed." +msgstr "inizializzazione del pin MISO fallita." -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" -msgstr "argomento nominato '%q' mancante alla funzione" +msgid "MOSI pin init failed." +msgstr "inizializzazione del pin MOSI fallita." -#: py/bc.c:269 -msgid "function missing keyword-only argument" -msgstr "argomento nominato mancante alla funzione" +#, c-format +msgid "Maximum PWM frequency is %dhz." +msgstr "Frequenza massima su PWM è %dhz" -#: py/binary.c:112 -msgid "bad typecode" +#, c-format +msgid "Maximum x value when mirrored is %d" msgstr "" -#: py/builtinevex.c:99 -msgid "bad compile mode" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" msgstr "" -#: py/builtinhelp.c:137 -#, fuzzy -msgid "Plus any modules on the filesystem\n" -msgstr "Imposssibile rimontare il filesystem" +msgid "MicroPython fatal error.\n" +msgstr "" -#: py/builtinhelp.c:183 -#, c-format -msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" +"Il ritardo di avvio del microfono deve essere nell'intervallo tra 0.0 e 1.0" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "impossibile effettuare l'importazione relativa" +msgid "Minimum PWM frequency is 1hz." +msgstr "Frequenza minima su PWM è 1hz" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "modulo non trovato" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgstr "Frequenze PWM multiple non supportate. PWM già impostato a %shz." -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "nessun modulo chiamato '%q'" +msgid "Must be a Group subclass." +msgstr "" -#: py/builtinimport.c:510 -msgid "relative import" -msgstr "importazione relativa" +msgid "No DAC on chip" +msgstr "Nessun DAC sul chip" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" -msgstr "impossibile assegnare all'espressione" +msgid "No DMA channel found" +msgstr "Nessun canale DMA trovato" -#: py/compile.c:416 -msgid "multiple *x in assignment" -msgstr "*x multipli nell'assegnamento" +msgid "No PulseIn support for %q" +msgstr "Nessun supporto per PulseIn per %q" -#: py/compile.c:642 -msgid "non-default argument follows default argument" -msgstr "argomento non predefinito segue argmoento predfinito" +msgid "No RX pin" +msgstr "Nessun pin RX" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "decoratore non valido in micropython" +msgid "No TX pin" +msgstr "Nessun pin TX" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "impossibile cancellare l'espessione" +msgid "No default I2C bus" +msgstr "Nessun bus I2C predefinito" -#: py/compile.c:955 -msgid "'break' outside loop" -msgstr "'break' al di fuori del ciclo" +msgid "No default SPI bus" +msgstr "Nessun bus SPI predefinito" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "'continue' al di fuori del ciclo" +msgid "No default UART bus" +msgstr "Nessun bus UART predefinito" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "'return' al di fuori della funzione" +msgid "No free GCLKs" +msgstr "Nessun GCLK libero" -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "identificatore ridefinito come globale" +msgid "No hardware random available" +msgstr "Nessun generatore hardware di numeri casuali disponibile" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "nessun binding per nonlocal trovato" +msgid "No hardware support for analog out." +msgstr "Nessun supporto hardware per l'uscita analogica." -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "identificatore ridefinito come nonlocal" +msgid "No hardware support on pin" +msgstr "Nessun supporto hardware sul pin" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "impossibile dichiarare nonlocal nel codice esterno" +msgid "No space left on device" +msgstr "" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "'except' predefinito deve essere ultimo" +msgid "No such file/directory" +msgstr "Nessun file/directory esistente" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "" +#, fuzzy +msgid "Not connected" +msgstr "Impossible connettersi all'AP" -#: py/compile.c:2193 -msgid "super() can't find self" +msgid "Not connected." msgstr "" -#: py/compile.c:2256 -msgid "can't have multiple *x" -msgstr "impossibile usare *x multipli" - -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "impossibile usare **x multipli" +msgid "Not playing" +msgstr "In pausa" -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." msgstr "" +"L'oggetto è stato deinizializzato e non può essere più usato. Crea un nuovo " +"oggetto." -#: py/compile.c:2287 -msgid "non-keyword arg after */**" -msgstr "argomento non nominato dopo */**" +#, fuzzy +msgid "Odd parity is not supported" +msgstr "operazione I2C non supportata" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" -msgstr "argomento non nominato seguito da argomento nominato" +msgid "Only 8 or 16 bit mono with " +msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "sintassi non valida" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "Formato solo di Windows, BMP non compresso supportato %d" -#: py/compile.c:2465 -msgid "expecting key:value for dict" -msgstr "chiave:valore atteso per dict" +msgid "Only bit maps of 8 bit color or less are supported" +msgstr "Sono supportate solo bitmap con colori a 8 bit o meno" -#: py/compile.c:2475 -msgid "expecting just a value for set" -msgstr "un solo valore atteso per set" +#, fuzzy +msgid "Only slices with step=1 (aka None) are supported" +msgstr "solo slice con step=1 (aka None) sono supportate" -#: py/compile.c:2600 -msgid "'yield' outside function" -msgstr "'yield' al di fuori della funzione" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "'await' al di fuori della funzione" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Solo tx supportato su UART1 (GPIO2)." -#: py/compile.c:2774 -msgid "name reused for argument" -msgstr "nome riutilizzato come argomento" +msgid "Oversample must be multiple of 8." +msgstr "L'oversampling deve essere multiplo di 8." -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" msgstr "" +"duty_cycle del PWM deve essere compresa tra 0 e 65535 inclusiva (risoluzione " +"a 16 bit)" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" +#, fuzzy +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." msgstr "" +"frequenza PWM frequency non è scrivibile quando variable_frequency è " +"impostato nel costruttore a False." -#: py/compile.c:3097 -msgid "inline assembler must be a function" -msgstr "inline assembler deve essere una funzione" - -#: py/compile.c:3134 -msgid "unknown type" -msgstr "tipo sconosciuto" - -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "istruzione assembler attesa" +#, c-format +msgid "PWM not supported on pin %d" +msgstr "PWM non è supportato sul pin %d" -#: py/compile.c:3184 -msgid "'label' requires 1 argument" -msgstr "'label' richiede 1 argomento" +msgid "Permission denied" +msgstr "Permesso negato" -#: py/compile.c:3190 -msgid "label redefined" -msgstr "etichetta ridefinita" +msgid "Pin %q does not have ADC capabilities" +msgstr "Il pin %q non ha capacità ADC" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" -msgstr "'align' richiede 1 argomento" +msgid "Pin does not have ADC capabilities" +msgstr "Il pin non ha capacità di ADC" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "'data' richiede almeno 2 argomento" +msgid "Pin(16) doesn't support pull" +msgstr "Pin(16) non supporta pull" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "'data' richiede argomenti interi" +msgid "Pins not valid for SPI" +msgstr "Pin non validi per SPI" -#: py/emitinlinethumb.c:102 -#, fuzzy -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "sono disponibili fino a 4 parametri per il Xtensa assembly" +msgid "Pixel beyond bounds of buffer" +msgstr "" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 #, fuzzy -msgid "parameters must be registers in sequence r0 to r3" -msgstr "parametri devono essere i registri in sequenza da a2 a a5" - -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, fuzzy, c-format -msgid "'%s' expects at most r%d" -msgstr "'%s' aspetta un registro" +msgid "Plus any modules on the filesystem\n" +msgstr "Imposssibile rimontare il filesystem" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "'%s' aspetta un registro" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "" +"Premi un qualunque tasto per entrare nel REPL. Usa CTRL-D per ricaricare." -#: py/emitinlinethumb.c:211 -#, fuzzy, c-format -msgid "'%s' expects a special register" -msgstr "'%s' aspetta un registro" +msgid "Pull not used when direction is output." +msgstr "" -#: py/emitinlinethumb.c:239 -#, fuzzy, c-format -msgid "'%s' expects an FPU register" -msgstr "'%s' aspetta un registro" +msgid "RTC calibration is not supported on this board" +msgstr "calibrazione RTC non supportata su questa scheda" -#: py/emitinlinethumb.c:292 -#, fuzzy, c-format -msgid "'%s' expects {r0, r1, ...}" -msgstr "'%s' aspetta un registro" +msgid "RTC is not supported on this board" +msgstr "RTC non supportato su questa scheda" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" -msgstr "'%s' aspetta un intero" +#, fuzzy +msgid "Range out of bounds" +msgstr "indirizzo fuori limite" -#: py/emitinlinethumb.c:304 -#, fuzzy, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "intero '%s' non è nell'intervallo %d..%d" +msgid "Read-only" +msgstr "Sola lettura" -#: py/emitinlinethumb.c:328 -#, fuzzy, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "'%s' aspetta un registro" +msgid "Read-only filesystem" +msgstr "Filesystem in sola lettura" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" -msgstr "'%s' aspetta una etichetta" +#, fuzzy +msgid "Read-only object" +msgstr "Sola lettura" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "etichetta '%q' non definita" +msgid "Right channel unsupported" +msgstr "Canale destro non supportato" -#: py/emitinlinethumb.c:806 -#, fuzzy, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "istruzione '%s' Xtensa non supportata con %d argomenti" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n" -#: py/emitinlinethumb.c:810 -#, fuzzy -msgid "branch not in range" -msgstr "argomento di chr() non è in range(256)" +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "sono disponibili fino a 4 parametri per il Xtensa assembly" +msgid "SDA or SCL needs a pull up" +msgstr "SDA o SCL necessitano un pull-up" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "parametri devono essere i registri in sequenza da a2 a a5" +msgid "STA must be active" +msgstr "STA deve essere attiva" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" -msgstr "intero '%s' non è nell'intervallo %d..%d" +msgid "STA required" +msgstr "STA richiesta" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "istruzione '%s' Xtensa non supportata con %d argomenti" +#, fuzzy +msgid "Sample rate must be positive" +msgstr "STA deve essere attiva" -#: py/emitnative.c:183 -msgid "unknown type '%q'" -msgstr "tipo '%q' sconosciuto" +#, c-format +msgid "Sample rate too high. It must be less than %d" +msgstr "" +"Frequenza di campionamento troppo alta. Il valore deve essere inferiore a %d" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "Le funzioni Viper non supportano più di 4 argomenti al momento" +msgid "Serializer in use" +msgstr "Serializer in uso" -#: py/emitnative.c:742 -msgid "conversion to object" -msgstr "conversione in oggetto" +msgid "Slice and value different lengths." +msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "locla '%q' utilizzato prima che il tipo fosse noto" +msgid "Slices not supported" +msgstr "Slice non supportate" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "impossibile caricare da '%q'" +#, c-format +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" -msgstr "impossibile caricare con indice '%q'" +msgid "Splitting with sub-captures" +msgstr "Suddivisione con sotto-catture" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" -msgstr "local '%q' ha tipo '%q' ma sorgente è '%q'" +msgid "Stack size must be at least 256" +msgstr "La dimensione dello stack deve essere almeno 256" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" -msgstr "impossibile memorizzare '%q'" +msgid "Stream missing readinto() or write() method." +msgstr "Metodi mancanti readinto() o write() allo stream." -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" -msgstr "impossibile memorizzare in '%q'" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" +msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" -msgstr "impossibile memorizzare con indice '%q'" +#, fuzzy +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" +msgstr "" +"La potenza del microcontrollore è calata. Assicurati che l'alimentazione sia " +"attaccata correttamente\n" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" -msgstr "non è possibile convertire implicitamente '%q' in 'bool'" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" +msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" -msgstr "operazione unaria %q non implementata" +msgid "The sample's bits_per_sample does not match the mixer's" +msgstr "" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" -msgstr "operazione binaria %q non implementata" +msgid "The sample's channel count does not match the mixer's" +msgstr "" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" -msgstr "impossibile eseguire operazione binaria tra '%q' e '%q'" +msgid "The sample's sample rate does not match the mixer's" +msgstr "" -#: py/emitnative.c:2126 -msgid "casting" -msgstr "casting" +msgid "The sample's signedness does not match the mixer's" +msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" -msgstr "return aspettava '%q' ma ha ottenuto '%q'" +msgid "Tile height must exactly divide bitmap height" +msgstr "" -#: py/emitnative.c:2191 -msgid "must raise an object" -msgstr "deve lanciare un oggetto" +msgid "Tile width must exactly divide bitmap width" +msgstr "" -#: py/emitnative.c:2201 -msgid "native yield" -msgstr "yield nativo" +msgid "To exit, please reset the board without " +msgstr "Per uscire resettare la scheda senza " -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Too many channels in sample." msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "argomento di chr() non è in range(0x110000)" +msgid "Too many display busses" +msgstr "" -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" -msgstr "argomento di chr() non è in range(256)" +msgid "Too many displays" +msgstr "" -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" -msgstr "l'argomento è una sequenza vuota" +msgid "Traceback (most recent call last):\n" +msgstr "Traceback (chiamata più recente per ultima):\n" -#: py/modbuiltins.c:350 -msgid "ord expects a character" -msgstr "ord() aspetta un carattere" +msgid "Tuple or struct_time argument required" +msgstr "Tupla o struct_time richiesto come argomento" -#: py/modbuiltins.c:353 #, c-format -msgid "ord() expected a character, but string of length %d found" -msgstr "" -"ord() aspettava un carattere, ma ha ricevuto una stringa di lunghezza %d" +msgid "UART(%d) does not exist" +msgstr "UART(%d) non esistente" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "pow() con tre argmomenti non supportata" +msgid "UART(1) can't read" +msgstr "UART(1) non leggibile" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" -msgstr "" +msgid "USB Busy" +msgstr "USB occupata" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "errore di dominio matematico" +msgid "USB Error" +msgstr "Errore USB" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "divisione per zero" +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "" -#: py/modmicropython.c:155 -msgid "schedule stack full" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" -msgstr "buffer troppo piccolo" +msgid "UUID value is not str, int or byte buffer" +msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" -msgstr "argomenti nominati necessitano un dizionario" +msgid "Unable to allocate buffers for signed conversion" +msgstr "Ipossibilitato ad allocare buffer per la conversione con segno" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Permesso negato" +msgid "Unable to find free GCLK" +msgstr "Impossibile trovare un GCLK libero" -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "Nessun file/directory esistente" +msgid "Unable to init parser" +msgstr "Inizilizzazione del parser non possibile" -#: py/moduerrno.c:149 -msgid "Input/output error" -msgstr "Errore input/output" +msgid "Unable to remount filesystem" +msgstr "Imposssibile rimontare il filesystem" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "File esistente" +msgid "Unable to write to nvm." +msgstr "Imposibile scrivere su nvm." -#: py/moduerrno.c:152 -msgid "Unsupported operation" -msgstr "Operazione non supportata" +#, fuzzy +msgid "Unexpected nrfx uuid type" +msgstr "indentazione inaspettata" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Argomento non valido" +msgid "Unknown type" +msgstr "Tipo sconosciuto" -#: py/moduerrno.c:154 -msgid "No space left on device" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "Traceback (chiamata più recente per ultima):\n" +msgid "Unsupported baudrate" +msgstr "baudrate non supportato" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " File \"%q\", riga %d" +#, fuzzy +msgid "Unsupported display bus type" +msgstr "tipo di bitmap non supportato" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " File \"%q\"" +msgid "Unsupported format" +msgstr "Formato non supportato" -#: py/obj.c:102 -msgid ", in %q\n" -msgstr ", in %q\n" +msgid "Unsupported operation" +msgstr "Operazione non supportata" -#: py/obj.c:259 -msgid "can't convert to int" -msgstr "non è possibile convertire a int" +msgid "Unsupported pull value." +msgstr "Valore di pull non supportato." -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" -msgstr "non è possibile convertire %s a int" +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "Usa esptool per cancellare la flash e ricaricare Python invece" -#: py/obj.c:322 -msgid "can't convert to float" -msgstr "non è possibile convertire a float" +msgid "Viper functions don't currently support more than 4 arguments" +msgstr "Le funzioni Viper non supportano più di 4 argomenti al momento" + +msgid "Voice index too high" +msgstr "" + +msgid "WARNING: Your code filename has two extensions\n" +msgstr "ATTENZIONE: Il nome del sorgente ha due estensioni\n" -#: py/obj.c:325 #, c-format -msgid "can't convert %s to float" -msgstr "non è possibile convertire %s a float" +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "non è possibile convertire a complex" +#, fuzzy +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "" +"Sei nella modalità sicura che significa che qualcosa di molto brutto è " +"successo.\n" + +msgid "You requested starting safe mode by " +msgstr "È stato richiesto l'avvio in modalità sicura da " -#: py/obj.c:358 #, c-format -msgid "can't convert %s to complex" -msgstr "non è possibile convertire a complex" +msgid "[addrinfo error %d]" +msgstr "[errore addrinfo %d]" -#: py/obj.c:373 -msgid "expected tuple/list" -msgstr "lista/tupla prevista" +msgid "__init__() should return None" +msgstr "__init__() deve ritornare None" -#: py/obj.c:376 #, c-format -msgid "object '%s' is not a tuple or list" -msgstr "oggetto '%s' non è una tupla o una lista" +msgid "__init__() should return None, not '%s'" +msgstr "__init__() deve ritornare None, non '%s'" + +msgid "__new__ arg must be a user-type" +msgstr "" -#: py/obj.c:387 -msgid "tuple/list has wrong length" -msgstr "tupla/lista ha la lunghezza sbagliata" +msgid "a bytes-like object is required" +msgstr "un oggetto byte-like è richiesto" + +msgid "abort() called" +msgstr "abort() chiamato" -#: py/obj.c:389 #, c-format -msgid "requested length %d but object has length %d" -msgstr "lunghezza %d richiesta ma l'oggetto ha lunghezza %d" +msgid "address %08x is not aligned to %d bytes" +msgstr "l'indirizzo %08x non è allineato a %d bytes" -#: py/obj.c:402 -msgid "indices must be integers" -msgstr "gli indici devono essere interi" +msgid "address out of bounds" +msgstr "indirizzo fuori limite" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" -msgstr "gli indici %q devono essere interi, non %s" +msgid "addresses is empty" +msgstr "gli indirizzi sono vuoti" -#: py/obj.c:425 -msgid "%q index out of range" -msgstr "indice %q fuori intervallo" +msgid "arg is an empty sequence" +msgstr "l'argomento è una sequenza vuota" -#: py/obj.c:457 -msgid "object has no len" -msgstr "l'oggetto non ha lunghezza" +msgid "argument has wrong type" +msgstr "il tipo dell'argomento è errato" -#: py/obj.c:460 -#, c-format -msgid "object of type '%s' has no len()" -msgstr "l'oggetto di tipo '%s' non implementa len()" +msgid "argument num/types mismatch" +msgstr "discrepanza di numero/tipo di argomenti" -#: py/obj.c:500 -msgid "object does not support item deletion" -msgstr "" +msgid "argument should be a '%q' not a '%q'" +msgstr "l'argomento dovrebbe essere un '%q' e non un '%q'" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" +msgid "array/bytes required on right side" msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" -msgstr "" +msgid "attributes not supported yet" +msgstr "attributi non ancora supportati" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" +msgid "bad GATT role" msgstr "" -#: py/obj.c:514 -msgid "object does not support item assignment" +msgid "bad compile mode" msgstr "" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" -msgstr "" +msgid "bad conversion specifier" +msgstr "specificatore di conversione scorretto" -#: py/obj.c:548 -msgid "object with buffer protocol required" +msgid "bad format string" +msgstr "stringa di formattazione scorretta" + +msgid "bad typecode" msgstr "" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" -msgstr "solo slice con step=1 (aka None) sono supportate" +msgid "binary op %q not implemented" +msgstr "operazione binaria %q non implementata" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" -msgstr "lhs e rhs devono essere compatibili" +msgid "bits must be 7, 8 or 9" +msgstr "i bit devono essere 7, 8 o 9" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" -msgstr "" +msgid "bits must be 8" +msgstr "i bit devono essere 8" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" -msgstr "impossibile fare il modulo di un numero complesso" +#, fuzzy +msgid "bits_per_sample must be 8 or 16" +msgstr "i bit devono essere 7, 8 o 9" -#: py/objcomplex.c:209 -msgid "complex division by zero" -msgstr "complex divisione per zero" +#, fuzzy +msgid "branch not in range" +msgstr "argomento di chr() non è in range(256)" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" -msgstr "0.0 elevato alla potenza di un numero complesso" +#, c-format +msgid "buf is too small. need %d bytes" +msgstr "" -#: py/objdeque.c:107 -msgid "full" -msgstr "pieno" +msgid "buffer must be a bytes-like object" +msgstr "" -#: py/objdeque.c:127 -msgid "empty" -msgstr "vuoto" +#, fuzzy +msgid "buffer size must match format" +msgstr "slice del buffer devono essere della stessa lunghezza" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "popitem(): il dizionario è vuoto" +msgid "buffer slices must be of equal length" +msgstr "slice del buffer devono essere della stessa lunghezza" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" -msgstr "sequanza di aggiornamento del dizionario ha la lunghezza errata" +msgid "buffer too long" +msgstr "buffer troppo lungo" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" -msgstr "valori complessi non supportai" +msgid "buffer too small" +msgstr "buffer troppo piccolo" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" -msgstr "" +msgid "buffers must be the same length" +msgstr "i buffer devono essere della stessa lunghezza" -#: py/objgenerator.c:126 -msgid "generator already executing" -msgstr "" +msgid "byte code not implemented" +msgstr "byte code non implementato" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" -msgstr "" +msgid "bytes > 8 bits not supported" +msgstr "byte > 8 bit non supportati" -#: py/objint.c:144 -msgid "can't convert inf to int" -msgstr "impossibile convertire inf in int" +msgid "bytes value out of range" +msgstr "valore byte fuori intervallo" -#: py/objint.c:146 -msgid "can't convert NaN to int" -msgstr "impossibile convertire NaN in int" +msgid "calibration is out of range" +msgstr "la calibrazione è fuori intervallo" -#: py/objint.c:163 -msgid "float too big" -msgstr "float troppo grande" +msgid "calibration is read only" +msgstr "la calibrazione è in sola lettura" -#: py/objint.c:328 -msgid "long int not supported in this build" -msgstr "long int non supportata in questa build" +msgid "calibration value out of range +/-127" +msgstr "valore di calibrazione fuori intervallo +/-127" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" -msgstr "small int overflow" +#, fuzzy +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "sono disponibili fino a 4 parametri per il Xtensa assembly" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" -msgstr "potenza negativa senza supporto per float" +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "sono disponibili fino a 4 parametri per il Xtensa assembly" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" -msgstr "ulonglong troppo grande" +msgid "can only save bytecode" +msgstr "È possibile salvare solo bytecode" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" +msgid "can query only one param" +msgstr "è possibile interrogare solo un parametro" + +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" -msgstr "pow() con 3 argomenti richiede interi" +msgid "can't assign to expression" +msgstr "impossibile assegnare all'espressione" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" -msgstr "il terzo argomento di pow() non può essere 0" +#, c-format +msgid "can't convert %s to complex" +msgstr "non è possibile convertire a complex" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" -msgstr "overflow convertendo long int in parola" +#, c-format +msgid "can't convert %s to float" +msgstr "non è possibile convertire %s a float" -#: py/objlist.c:274 -msgid "pop from empty list" -msgstr "pop da una lista vuota" +#, c-format +msgid "can't convert %s to int" +msgstr "non è possibile convertire %s a int" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" -msgstr "impossibile impostare attributo" +msgid "can't convert '%q' object to %q implicitly" +msgstr "impossibile convertire l'oggetto '%q' implicitamente in %q" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" -msgstr "" +msgid "can't convert NaN to int" +msgstr "impossibile convertire NaN in int" -#: py/objrange.c:110 -msgid "zero step" -msgstr "zero step" +msgid "can't convert address to int" +msgstr "impossible convertire indirizzo in int" -#: py/objset.c:371 -msgid "pop from an empty set" -msgstr "pop da un set vuoto" +msgid "can't convert inf to int" +msgstr "impossibile convertire inf in int" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "Length deve essere un intero" +msgid "can't convert to complex" +msgstr "non è possibile convertire a complex" -#: py/objslice.c:71 -msgid "Length must be non-negative" -msgstr "Length deve essere non negativo" +msgid "can't convert to float" +msgstr "non è possibile convertire a float" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" -msgstr "la step della slice non può essere zero" +msgid "can't convert to int" +msgstr "non è possibile convertire a int" -#: py/objslice.c:159 -msgid "Cannot subclass slice" -msgstr "Impossibile subclasare slice" +msgid "can't convert to str implicitly" +msgstr "impossibile convertire a stringa implicitamente" -#: py/objstr.c:261 -msgid "bytes value out of range" -msgstr "valore byte fuori intervallo" +msgid "can't declare nonlocal in outer code" +msgstr "impossibile dichiarare nonlocal nel codice esterno" -#: py/objstr.c:270 -msgid "wrong number of arguments" -msgstr "numero di argomenti errato" +msgid "can't delete expression" +msgstr "impossibile cancellare l'espessione" -#: py/objstr.c:414 py/objstrunicode.c:118 -#, fuzzy -msgid "offset out of bounds" -msgstr "indirizzo fuori limite" +msgid "can't do binary op between '%q' and '%q'" +msgstr "impossibile eseguire operazione binaria tra '%q' e '%q'" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" -msgstr "" -"join prende una lista di oggetti str/byte consistenti con l'oggetto stesso" +msgid "can't do truncated division of a complex number" +msgstr "impossibile fare il modulo di un numero complesso" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" -msgstr "separatore vuoto" +msgid "can't get AP config" +msgstr "impossibile recuperare le configurazioni dell'AP" -#: py/objstr.c:651 -msgid "rsplit(None,n)" -msgstr "" +msgid "can't get STA config" +msgstr "impossibile recuperare la configurazione della STA" -#: py/objstr.c:723 -msgid "substring not found" -msgstr "sottostringa non trovata" +msgid "can't have multiple **x" +msgstr "impossibile usare **x multipli" -#: py/objstr.c:780 -msgid "start/end indices" +msgid "can't have multiple *x" +msgstr "impossibile usare *x multipli" + +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "non è possibile convertire implicitamente '%q' in 'bool'" + +msgid "can't load from '%q'" +msgstr "impossibile caricare da '%q'" + +msgid "can't load with '%q' index" +msgstr "impossibile caricare con indice '%q'" + +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objstr.c:941 -msgid "bad format string" -msgstr "stringa di formattazione scorretta" +msgid "can't send non-None value to a just-started generator" +msgstr "" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" -msgstr "'}' singolo presente nella stringa di formattazione" +msgid "can't set AP config" +msgstr "impossibile impostare le configurazioni dell'AP" -#: py/objstr.c:1002 -msgid "bad conversion specifier" -msgstr "specificatore di conversione scorretto" +msgid "can't set STA config" +msgstr "impossibile impostare le configurazioni della STA" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" -msgstr "" +msgid "can't set attribute" +msgstr "impossibile impostare attributo" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" -msgstr "specificatore di conversione %s sconosciuto" +msgid "can't store '%q'" +msgstr "impossibile memorizzare '%q'" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" -msgstr "'{' spaiato nella stringa di formattazione" +msgid "can't store to '%q'" +msgstr "impossibile memorizzare in '%q'" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" -msgstr "':' atteso dopo lo specificatore di formato" +msgid "can't store with '%q' index" +msgstr "impossibile memorizzare con indice '%q'" -#: py/objstr.c:1060 msgid "" "can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "indice della tupla fuori intervallo" - -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "attributi non ancora supportati" - -#: py/objstr.c:1089 msgid "" "can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:1181 -msgid "invalid format specifier" -msgstr "specificatore di formato non valido" +msgid "cannot create '%q' instances" +msgstr "creare '%q' istanze" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" -msgstr "segno non permesso nello spcificatore di formato della stringa" +msgid "cannot create instance" +msgstr "impossibile creare un istanza" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" -msgstr "segno non permesso nello spcificatore di formato 'c' della stringa" +msgid "cannot import name %q" +msgstr "impossibile imporate il nome %q" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" -msgstr "codice di formattaione '%c' sconosciuto per oggetto di tipo '%s'" +msgid "cannot perform relative import" +msgstr "impossibile effettuare l'importazione relativa" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" -msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'float'" +msgid "casting" +msgstr "casting" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" -msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'str'" - -#: py/objstr.c:1425 -msgid "format requires a dict" -msgstr "la formattazione richiede un dict" +msgid "chars buffer too small" +msgstr "buffer dei caratteri troppo piccolo" -#: py/objstr.c:1434 -msgid "incomplete format key" -msgstr "" +msgid "chr() arg not in range(0x110000)" +msgstr "argomento di chr() non è in range(0x110000)" -#: py/objstr.c:1492 -msgid "incomplete format" -msgstr "formato incompleto" +msgid "chr() arg not in range(256)" +msgstr "argomento di chr() non è in range(256)" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" -msgstr "argomenti non sufficienti per la stringa di formattazione" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgstr "" +"il buffer del colore deve esseer di 3 byte (RGB) o 4 byte (RGB + pad byte)" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" -msgstr "%%c necessita di int o char" +msgid "color buffer must be a buffer or int" +msgstr "il buffer del colore deve essere un buffer o un int" -#: py/objstr.c:1517 -msgid "integer required" -msgstr "intero richiesto" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgstr "" +"buffer del colore deve essere un bytearray o un array di tipo 'b' o 'B'" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" -msgstr "carattere di formattazione '%c' (0x%x) non supportato all indice %d" +msgid "color must be between 0x000000 and 0xffffff" +msgstr "il colore deve essere compreso tra 0x000000 e 0xffffff" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" -msgstr "" -"non tutti gli argomenti sono stati convertiti durante la formatazione in " -"stringhe" +msgid "color should be an int" +msgstr "il colore deve essere un int" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" -msgstr "impossibile convertire a stringa implicitamente" +msgid "complex division by zero" +msgstr "complex divisione per zero" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" -msgstr "impossibile convertire l'oggetto '%q' implicitamente in %q" +msgid "complex values not supported" +msgstr "valori complessi non supportai" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" -msgstr "indici della stringa devono essere interi, non %s" +msgid "compression header" +msgstr "compressione dell'header" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" -msgstr "indice della stringa fuori intervallo" +msgid "constant must be an integer" +msgstr "la costante deve essere un intero" -#: py/objtype.c:371 -msgid "__init__() should return None" -msgstr "__init__() deve ritornare None" +msgid "conversion to object" +msgstr "conversione in oggetto" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" -msgstr "__init__() deve ritornare None, non '%s'" +msgid "decimal numbers not supported" +msgstr "numeri decimali non supportati" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" -msgstr "attributo non leggibile" +msgid "default 'except' must be last" +msgstr "'except' predefinito deve essere ultimo" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" +"il buffer di destinazione deve essere un bytearray o un array di tipo 'B' " +"con bit_depth = 8" -#: py/objtype.c:883 py/runtime.c:655 -#, c-format -msgid "'%s' object is not callable" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" +"il buffer di destinazione deve essere un array di tipo 'H' con bit_depth = 16" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" -msgstr "tipo prende 1 o 3 argomenti" +msgid "destination_length must be an int >= 0" +msgstr "destination_length deve essere un int >= 0" -#: py/objtype.c:1002 -msgid "cannot create instance" -msgstr "impossibile creare un istanza" +msgid "dict update sequence has wrong length" +msgstr "sequanza di aggiornamento del dizionario ha la lunghezza errata" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" -msgstr "creare '%q' istanze" +msgid "division by zero" +msgstr "divisione per zero" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" -msgstr "" +msgid "either pos or kw args are allowed" +msgstr "sono permesse solo gli argomenti pos o kw" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" -msgstr "il tipo non è un tipo di base accettabile" +msgid "empty" +msgstr "vuoto" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" -msgstr "il tipo '%q' non è un tipo di base accettabile" +msgid "empty heap" +msgstr "heap vuoto" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" -msgstr "ereditarietà multipla non supportata" +msgid "empty separator" +msgstr "separatore vuoto" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" -msgstr "" +msgid "empty sequence" +msgstr "sequenza vuota" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" +#, fuzzy +msgid "end_x should be an int" +msgstr "y dovrebbe essere un int" + +#, c-format +msgid "error = 0x%08lX" msgstr "" -"il secondo argomento di issubclass() deve essere una classe o una tupla di " -"classi" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" -msgstr "il primo argomento di issubclass() deve essere una classe" +msgid "exceptions must derive from BaseException" +msgstr "le eccezioni devono derivare da BaseException" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "la costante deve essere un intero" +msgid "expected ':' after format specifier" +msgstr "':' atteso dopo lo specificatore di formato" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "Inizilizzazione del parser non possibile" +msgid "expected a DigitalInOut" +msgstr "DigitalInOut atteso" -#: py/parse.c:1170 -msgid "unexpected indent" -msgstr "indentazione inaspettata" +msgid "expected tuple/list" +msgstr "lista/tupla prevista" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" -msgstr "" +msgid "expecting a dict for keyword args" +msgstr "argomenti nominati necessitano un dizionario" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" -msgstr "il secondo argomanto di int() deve essere >= 2 e <= 36" +msgid "expecting a pin" +msgstr "pin atteso" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" -msgstr "sintassi invalida per l'intero" +msgid "expecting an assembler instruction" +msgstr "istruzione assembler attesa" -#: py/parsenum.c:155 -#, c-format -msgid "invalid syntax for integer with base %d" -msgstr "sintassi invalida per l'intero con base %d" +msgid "expecting just a value for set" +msgstr "un solo valore atteso per set" -#: py/parsenum.c:339 -msgid "invalid syntax for number" -msgstr "sintassi invalida per il numero" +msgid "expecting key:value for dict" +msgstr "chiave:valore atteso per dict" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" -msgstr "numeri decimali non supportati" +msgid "extra keyword arguments given" +msgstr "argomento nominato aggiuntivo fornito" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "extra positional arguments given" +msgstr "argomenti posizonali extra dati" + +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" + +msgid "file must be a file opened in byte mode" msgstr "" -"File .mpy incompatibile. Aggiorna tutti i file .mpy. Vedi http://adafru.it/" -"mpy-update per più informazioni." -#: py/persistentcode.c:326 -msgid "can only save bytecode" -msgstr "È possibile salvare solo bytecode" +msgid "filesystem must provide mount method" +msgstr "il filesystem deve fornire un metodo di mount" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "nome non definito" +msgid "first argument to super() must be type" +msgstr "" -#: py/runtime.c:209 -msgid "name '%q' is not defined" -msgstr "nome '%q'non definito" +msgid "firstbit must be MSB" +msgstr "il primo bit deve essere il più significativo (MSB)" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" -msgstr "tipo non supportato per l'operando" +msgid "flash location must be below 1MByte" +msgstr "Locazione della flash deve essere inferiore a 1mb" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" -msgstr "tipo non supportato per %q: '%s'" +msgid "float too big" +msgstr "float troppo grande" + +msgid "font must be 2048 bytes long" +msgstr "il font deve essere lungo 2048 byte" + +msgid "format requires a dict" +msgstr "la formattazione richiede un dict" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" -msgstr "tipi non supportati per %q: '%s', '%s'" +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "la frequenza può essere o 80Mhz o 160Mhz" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" -msgstr "numero di valori da scompattare non corretto" +msgid "full" +msgstr "pieno" -#: py/runtime.c:883 py/runtime.c:947 -#, c-format -msgid "need more than %d values to unpack" -msgstr "necessari più di %d valori da scompattare" +msgid "function does not take keyword arguments" +msgstr "la funzione non prende argomenti nominati" -#: py/runtime.c:890 #, c-format -msgid "too many values to unpack (expected %d)" -msgstr "troppi valori da scompattare (%d attesi)" - -#: py/runtime.c:984 -msgid "argument has wrong type" -msgstr "il tipo dell'argomento è errato" +msgid "function expected at most %d arguments, got %d" +msgstr "la funzione prevede al massimo %d argmoneti, ma ne ha ricevuti %d" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" -msgstr "l'argomento dovrebbe essere un '%q' e non un '%q'" +msgid "function got multiple values for argument '%q'" +msgstr "la funzione ha ricevuto valori multipli per l'argomento '%q'" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" -msgstr "attributo inesistente" +#, c-format +msgid "function missing %d required positional arguments" +msgstr "mancano %d argomenti posizionali obbligatori alla funzione" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" -msgstr "l'oggetto di tipo '%q' non ha l'attributo '%q'" +msgid "function missing keyword-only argument" +msgstr "argomento nominato mancante alla funzione" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" -msgstr "l'oggetto '%s' non ha l'attributo '%q'" +msgid "function missing required keyword argument '%q'" +msgstr "argomento nominato '%q' mancante alla funzione" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "oggetto non iterabile" +#, c-format +msgid "function missing required positional argument #%d" +msgstr "mancante il #%d argomento posizonale obbligatorio della funzione" -#: py/runtime.c:1241 #, c-format -msgid "'%s' object is not iterable" -msgstr "l'oggetto '%s' non è iterabile" +msgid "function takes %d positional arguments but %d were given" +msgstr "" +"la funzione prende %d argomenti posizionali ma ne sono stati forniti %d" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "l'oggetto non è un iteratore" +msgid "function takes exactly 9 arguments" +msgstr "la funzione prende esattamente 9 argomenti" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" -msgstr "l'oggetto '%s' non è un iteratore" +msgid "generator already executing" +msgstr "" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "le eccezioni devono derivare da BaseException" +msgid "generator ignored GeneratorExit" +msgstr "" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "impossibile imporate il nome %q" +msgid "graphic must be 2048 bytes long" +msgstr "graphic deve essere lunga 2048 byte" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "allocazione di memoria fallita, l'heap è bloccato" +msgid "heap must be a list" +msgstr "l'heap deve essere una lista" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "allocazione di memoria fallita, allocando %u byte" +msgid "identifier redefined as global" +msgstr "identificatore ridefinito come globale" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "profondità massima di ricorsione superata" +msgid "identifier redefined as nonlocal" +msgstr "identificatore ridefinito come nonlocal" -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "oggetto non in sequenza" +msgid "impossible baudrate" +msgstr "baudrate impossibile" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "operazione di stream non supportata" +msgid "incomplete format" +msgstr "formato incompleto" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" +msgid "incomplete format key" msgstr "" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "" +msgid "incorrect padding" +msgstr "padding incorretto" -#: py/vm.c:255 -msgid "local variable referenced before assignment" -msgstr "variabile locale richiamata prima di un assegnamento" +msgid "index out of range" +msgstr "indice fuori intervallo" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "nessuna eccezione attiva da rilanciare" +msgid "indices must be integers" +msgstr "gli indici devono essere interi" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "byte code non implementato" +msgid "inline assembler must be a function" +msgstr "inline assembler deve essere una funzione" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" -msgstr "" +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "il secondo argomanto di int() deve essere >= 2 e <= 36" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" -msgstr "" +msgid "integer required" +msgstr "intero richiesto" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 -#, c-format -msgid "buf is too small. need %d bytes" -msgstr "" +msgid "invalid I2C peripheral" +msgstr "periferica I2C invalida" -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" -msgstr "" +msgid "invalid SPI peripheral" +msgstr "periferica SPI invalida" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -#, fuzzy -msgid "Only slices with step=1 (aka None) are supported" -msgstr "solo slice con step=1 (aka None) sono supportate" +msgid "invalid alarm" +msgstr "alarm non valido" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -#, fuzzy -msgid "Range out of bounds" -msgstr "indirizzo fuori limite" +msgid "invalid arguments" +msgstr "argomenti non validi" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" -msgstr "" +msgid "invalid buffer length" +msgstr "lunghezza del buffer non valida" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." -msgstr "" +msgid "invalid cert" +msgstr "certificato non valido" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" -msgstr "" +msgid "invalid data bits" +msgstr "bit dati invalidi" -#: shared-bindings/_pixelbuf/__init__.c:112 -#, fuzzy -msgid "readonly attribute" -msgstr "attributo non leggibile" +msgid "invalid dupterm index" +msgstr "indice dupterm non valido" -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" -msgstr "graphic deve essere lunga 2048 byte" +msgid "invalid format" +msgstr "formato non valido" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" -msgstr "la palette deve essere lunga 32 byte" +msgid "invalid format specifier" +msgstr "specificatore di formato non valido" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" -msgstr "map buffer troppo piccolo" +msgid "invalid key" +msgstr "chiave non valida" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" -msgstr "il font deve essere lungo 2048 byte" +msgid "invalid micropython decorator" +msgstr "decoratore non valido in micropython" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" -msgstr "buffer dei caratteri troppo piccolo" +msgid "invalid pin" +msgstr "pin non valido" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." -msgstr "AnalogOut ha solo 16 bit. Il valore deve essere meno di 65536." +msgid "invalid step" +msgstr "step non valida" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" -msgstr "In pausa" +msgid "invalid stop bits" +msgstr "bit di stop invalidi" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." -msgstr "La profondità di bit deve essere multipla di 8." +msgid "invalid syntax" +msgstr "sintassi non valida" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." -msgstr "L'oversampling deve essere multiplo di 8." +msgid "invalid syntax for integer" +msgstr "sintassi invalida per l'intero" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "" -"Il ritardo di avvio del microfono deve essere nell'intervallo tra 0.0 e 1.0" +#, c-format +msgid "invalid syntax for integer with base %d" +msgstr "sintassi invalida per l'intero con base %d" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "destination_length deve essere un int >= 0" +msgid "invalid syntax for number" +msgstr "sintassi invalida per il numero" -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "Impossibile registrare in un file" +msgid "issubclass() arg 1 must be a class" +msgstr "il primo argomento di issubclass() deve essere una classe" -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." -msgstr "La capacità di destinazione è più piccola di destination_length." +msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgstr "" +"il secondo argomento di issubclass() deve essere una classe o una tupla di " +"classi" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -"il buffer di destinazione deve essere un array di tipo 'H' con bit_depth = 16" +"join prende una lista di oggetti str/byte consistenti con l'oggetto stesso" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" -"il buffer di destinazione deve essere un bytearray o un array di tipo 'B' " -"con bit_depth = 8" +"argomento(i) nominati non ancora implementati - usare invece argomenti " +"normali" -#: shared-bindings/audioio/Mixer.c:91 -#, fuzzy -msgid "Invalid voice count" -msgstr "Tipo di servizio non valido" +msgid "keywords must be strings" +msgstr "argomenti nominati devono essere stringhe" -#: shared-bindings/audioio/Mixer.c:96 -#, fuzzy -msgid "Invalid channel count" -msgstr "Argomento non valido" +msgid "label '%q' not defined" +msgstr "etichetta '%q' non definita" -#: shared-bindings/audioio/Mixer.c:100 -#, fuzzy -msgid "Sample rate must be positive" -msgstr "STA deve essere attiva" +msgid "label redefined" +msgstr "etichetta ridefinita" -#: shared-bindings/audioio/Mixer.c:104 -#, fuzzy -msgid "bits_per_sample must be 8 or 16" -msgstr "i bit devono essere 7, 8 o 9" +msgid "len must be multiple of 4" +msgstr "len deve essere multiplo di 4" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "length argument not allowed for this type" msgstr "" -"il buffer sample_source deve essere un bytearray o un array di tipo 'h', " -"'H', 'b' o 'B'" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" -msgstr "" +msgid "lhs and rhs should be compatible" +msgstr "lhs e rhs devono essere compatibili" + +msgid "local '%q' has type '%q' but source is '%q'" +msgstr "local '%q' ha tipo '%q' ma sorgente è '%q'" + +msgid "local '%q' used before type known" +msgstr "locla '%q' utilizzato prima che il tipo fosse noto" + +msgid "local variable referenced before assignment" +msgstr "variabile locale richiamata prima di un assegnamento" + +msgid "long int not supported in this build" +msgstr "long int non supportata in questa build" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" -msgstr "" +msgid "map buffer too small" +msgstr "map buffer troppo piccolo" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" -msgstr "" +msgid "math domain error" +msgstr "errore di dominio matematico" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" -msgstr "Il buffer deve essere lungo almeno 1" +msgid "maximum recursion depth exceeded" +msgstr "profondità massima di ricorsione superata" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" -msgstr "Polarità non valida" +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "allocazione di memoria fallita, allocando %u byte" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Fase non valida" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "" +"allocazione di memoria fallita, allocazione di %d byte per codice nativo" -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Numero di bit non valido" +msgid "memory allocation failed, heap is locked" +msgstr "allocazione di memoria fallita, l'heap è bloccato" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" -msgstr "slice del buffer devono essere della stessa lunghezza" +msgid "module not found" +msgstr "modulo non trovato" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" +msgid "multiple *x in assignment" +msgstr "*x multipli nell'assegnamento" + +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "la palette deve essere lunga 32 byte" +msgid "multiple inheritance not supported" +msgstr "ereditarietà multipla non supportata" -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -#, fuzzy -msgid "Expected a UUID" -msgstr "Atteso un %q" +msgid "must raise an object" +msgstr "deve lanciare un oggetto" -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "Impossible connettersi all'AP" +msgid "must specify all of sck/mosi/miso" +msgstr "è necessario specificare tutte le sck/mosi/miso" -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -#, fuzzy -msgid "timeout must be >= 0.0" -msgstr "i bit devono essere 8" +msgid "must use keyword argument for key function" +msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 -#, fuzzy -msgid "%q must be >= 1" -msgstr "slice del buffer devono essere della stessa lunghezza" +msgid "name '%q' is not defined" +msgstr "nome '%q'non definito" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 #, fuzzy -msgid "Expected a Characteristic" -msgstr "Non è possibile aggiungere Characteristic." +msgid "name must be a string" +msgstr "argomenti nominati devono essere stringhe" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" -msgstr "" +msgid "name not defined" +msgstr "nome non definito" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." -msgstr "" +msgid "name reused for argument" +msgstr "nome riutilizzato come argomento" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" -msgstr "" +msgid "native yield" +msgstr "yield nativo" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" -msgstr "" +#, c-format +msgid "need more than %d values to unpack" +msgstr "necessari più di %d valori da scompattare" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" -msgstr "" +msgid "negative power with no float support" +msgstr "potenza negativa senza supporto per float" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" -msgstr "" +msgid "no active exception to reraise" +msgstr "nessuna eccezione attiva da rilanciare" -#: shared-bindings/bleio/Peripheral.c:119 #, fuzzy -msgid "name must be a string" -msgstr "argomenti nominati devono essere stringhe" +msgid "no available NIC" +msgstr "busio.UART non ancora implementato" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" +msgid "no binding for nonlocal found" +msgstr "nessun binding per nonlocal trovato" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" +msgid "no module named '%q'" +msgstr "nessun modulo chiamato '%q'" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" -msgstr "" +msgid "no such attribute" +msgstr "attributo inesistente" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +msgid "non-default argument follows default argument" +msgstr "argomento non predefinito segue argmoento predfinito" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgid "non-hex digit found" +msgstr "trovata cifra non esadecimale" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "i buffer devono essere della stessa lunghezza" +msgid "non-keyword arg after */**" +msgstr "argomento non nominato dopo */**" + +msgid "non-keyword arg after keyword arg" +msgstr "argomento non nominato seguito da argomento nominato" -#: shared-bindings/bleio/UUID.c:151 msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "canale ADC non valido: %d" + +msgid "not all arguments converted during string formatting" msgstr "" +"non tutti gli argomenti sono stati convertiti durante la formatazione in " +"stringhe" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" -msgstr "i bit devono essere 7, 8 o 9" +msgid "not enough arguments for format string" +msgstr "argomenti non sufficienti per la stringa di formattazione" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "oggetto '%s' non è una tupla o una lista" + +msgid "object does not support item assignment" msgstr "" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "object does not support item deletion" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." -msgstr "Direzione non valida." +msgid "object has no len" +msgstr "l'oggetto non ha lunghezza" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." +msgid "object is not subscriptable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." -msgstr "" +msgid "object not an iterator" +msgstr "l'oggetto non è un iteratore" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." +msgid "object not callable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." -msgstr "Valore di pull non supportato." - -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "Impossibile cancellare valori" +msgid "object not in sequence" +msgstr "oggetto non in sequenza" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" -msgstr "Slice non supportate" +msgid "object not iterable" +msgstr "oggetto non iterabile" -#: shared-bindings/displayio/Bitmap.c:156 -#, fuzzy -msgid "pixel coordinates out of bounds" -msgstr "indirizzo fuori limite" +#, c-format +msgid "object of type '%s' has no len()" +msgstr "l'oggetto di tipo '%s' non implementa len()" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +msgid "object with buffer protocol required" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 +msgid "odd-length string" +msgstr "stringa di lunghezza dispari" + #, fuzzy -msgid "%q should be an int" -msgstr "y dovrebbe essere un int" +msgid "offset out of bounds" +msgstr "indirizzo fuori limite" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" -msgstr "il colore deve essere un int" +msgid "only slices with step=1 (aka None) are supported" +msgstr "solo slice con step=1 (aka None) sono supportate" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgid "ord expects a character" +msgstr "ord() aspetta un carattere" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" +"ord() aspettava un carattere, ma ha ricevuto una stringa di lunghezza %d" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." -msgstr "" +msgid "overflow converting long int to machine word" +msgstr "overflow convertendo long int in parola" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" -msgstr "" +msgid "palette must be 32 bytes long" +msgstr "la palette deve essere lunga 32 byte" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "palette_index should be an int" +msgstr "palette_index deve essere un int" + +msgid "parameter annotation must be an identifier" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 +msgid "parameters must be registers in sequence a2 to a5" +msgstr "parametri devono essere i registri in sequenza da a2 a a5" + #, fuzzy -msgid "Command must be an int between 0 and 255" -msgstr "I byte devono essere compresi tra 0 e 255" +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/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" -msgstr "" -"buffer del colore deve essere un bytearray o un array di tipo 'b' o 'B'" +msgid "pin does not have IRQ capabilities" +msgstr "il pin non implementa IRQ" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" -msgstr "" -"il buffer del colore deve esseer di 3 byte (RGB) o 4 byte (RGB + pad byte)" +#, fuzzy +msgid "pixel coordinates out of bounds" +msgstr "indirizzo fuori limite" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" -msgstr "il colore deve essere compreso tra 0x000000 e 0xffffff" +msgid "pixel value requires too many bits" +msgstr "" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" -msgstr "il buffer del colore deve essere un buffer o un int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" -msgstr "palette_index deve essere un int" +msgid "pop from an empty PulseIn" +msgstr "pop sun un PulseIn vuoto" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" -msgstr "y dovrebbe essere un int" +msgid "pop from an empty set" +msgstr "pop da un set vuoto" -#: shared-bindings/displayio/Shape.c:101 -#, fuzzy -msgid "start_x should be an int" -msgstr "y dovrebbe essere un int" +msgid "pop from empty list" +msgstr "pop da una lista vuota" -#: shared-bindings/displayio/Shape.c:105 -#, fuzzy -msgid "end_x should be an int" -msgstr "y dovrebbe essere un int" +msgid "popitem(): dictionary is empty" +msgstr "popitem(): il dizionario è vuoto" -#: shared-bindings/displayio/TileGrid.c:49 msgid "position must be 2-tuple" msgstr "position deve essere una 2-tuple" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" -msgstr "tipo di bitmap non supportato" +msgid "pow() 3rd argument cannot be 0" +msgstr "il terzo argomento di pow() non può essere 0" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" -msgstr "" +msgid "pow() with 3 arguments requires integers" +msgstr "pow() con 3 argomenti richiede interi" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "queue overflow" +msgstr "overflow della coda" + +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" -msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter" +#, fuzzy +msgid "readonly attribute" +msgstr "attributo non leggibile" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "troppi argomenti" +msgid "relative import" +msgstr "importazione relativa" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" -msgstr "DigitalInOut atteso" +#, c-format +msgid "requested length %d but object has length %d" +msgstr "lunghezza %d richiesta ma l'oggetto ha lunghezza %d" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" -msgstr "impossible convertire indirizzo in int" +msgid "return annotation must be an identifier" +msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" -msgstr "indirizzo fuori limite" +msgid "return expected '%q' but got '%q'" +msgstr "return aspettava '%q' ma ha ottenuto '%q'" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" -msgstr "gli indirizzi sono vuoti" +msgid "row must be packed and word aligned" +msgstr "la riga deve essere compattata e allineata alla parola" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" -msgstr "Atteso un %q" +msgid "rsplit(None,n)" +msgstr "" -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q in uso" +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" +msgstr "" +"il buffer sample_source deve essere un bytearray o un array di tipo 'h', " +"'H', 'b' o 'B'" -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." -msgstr "Modalità di esecuzione non valida." +msgid "sampling rate out of range" +msgstr "frequenza di campionamento fuori intervallo" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." -msgstr "Metodi mancanti readinto() o write() allo stream." +msgid "scan failed" +msgstr "scansione fallita" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "schedule stack full" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." +msgid "script compilation not supported" +msgstr "compilazione dello scrip non suportata" + +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Imposibile scrivere su nvm." +msgid "sign not allowed in string format specifier" +msgstr "segno non permesso nello spcificatore di formato della stringa" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "I byte devono essere compresi tra 0 e 255" +msgid "sign not allowed with integer format specifier 'c'" +msgstr "segno non permesso nello spcificatore di formato 'c' della stringa" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" -msgstr "Nessun generatore hardware di numeri casuali disponibile" +msgid "single '}' encountered in format string" +msgstr "'}' singolo presente nella stringa di formattazione" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Tutti i timer per questo pin sono in uso" +msgid "sleep length must be non-negative" +msgstr "la lunghezza di sleed deve essere non negativa" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "" -"duty_cycle del PWM deve essere compresa tra 0 e 65535 inclusiva (risoluzione " -"a 16 bit)" +msgid "slice step cannot be zero" +msgstr "la step della slice non può essere zero" -#: shared-bindings/pulseio/PWMOut.c:202 -#, fuzzy -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." -msgstr "" -"frequenza PWM frequency non è scrivibile quando variable_frequency è " -"impostato nel costruttore a False." +msgid "small int overflow" +msgstr "small int overflow" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" -msgstr "Sola lettura" +msgid "soft reboot\n" +msgstr "soft reboot\n" -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" +msgid "start/end indices" msgstr "" -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" -msgstr "stop non raggiungibile dall'inizio" +#, fuzzy +msgid "start_x should be an int" +msgstr "y dovrebbe essere un int" -#: shared-bindings/random/__init__.c:111 msgid "step must be non-zero" msgstr "step deve essere non zero" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" -msgstr "step non valida" +msgid "stop must be 1 or 2" +msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "sequenza vuota" +msgid "stop not reachable from start" +msgstr "stop non raggiungibile dall'inizio" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "RTC non supportato su questa scheda" +msgid "stream operation not supported" +msgstr "operazione di stream non supportata" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "calibrazione RTC non supportata su questa scheda" +msgid "string index out of range" +msgstr "indice della stringa fuori intervallo" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -#, fuzzy -msgid "no available NIC" -msgstr "busio.UART non ancora implementato" +#, c-format +msgid "string indices must be integers, not %s" +msgstr "indici della stringa devono essere interi, non %s" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "il filesystem deve fornire un metodo di mount" +msgid "string not supported; use bytes or bytearray" +msgstr "" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "La luminosità deve essere compreso tra 0 e 255" +msgid "struct: cannot index" +msgstr "struct: impossibile indicizzare" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "La dimensione dello stack deve essere almeno 256" +msgid "struct: index out of range" +msgstr "struct: indice fuori intervallo" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" -msgstr "la lunghezza di sleed deve essere non negativa" +msgid "struct: no fields" +msgstr "struct: nessun campo" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() prende esattamente un argomento" +msgid "substring not found" +msgstr "sottostringa non trovata" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" +msgid "super() can't find self" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" -msgstr "Tupla o struct_time richiesto come argomento" - -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" -msgstr "la funzione prende esattamente 9 argomenti" +msgid "syntax error in JSON" +msgstr "errore di sintassi nel JSON" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" -msgstr "timestamp è fuori intervallo per il time_t della piattaforma" +msgid "syntax error in uctypes descriptor" +msgstr "errore di sintassi nel descrittore uctypes" -#: shared-bindings/touchio/TouchIn.c:173 msgid "threshold must be in the range 0-65536" msgstr "la soglia deve essere nell'intervallo 0-65536" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." -msgstr "" -"L'oggetto è stato deinizializzato e non può essere più usato. Crea un nuovo " -"oggetto." - -#: shared-module/_pixelbuf/PixelBuf.c:69 -#, c-format -msgid "Expected tuple of length %d, got %d" -msgstr "" - -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" -msgstr "Impossibile allocare il primo buffer" - -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" -msgstr "Impossibile allocare il secondo buffer" - -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" +msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" -msgstr "" +msgid "time.struct_time() takes exactly 1 argument" +msgstr "time.struct_time() prende esattamente un argomento" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" -msgstr "" +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "i bit devono essere 8" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" -msgstr "" +msgid "timestamp out of range for platform time_t" +msgstr "timestamp è fuori intervallo per il time_t della piattaforma" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" -msgstr "File wave non valido" +msgid "too many arguments" +msgstr "troppi argomenti" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" -msgstr "" +msgid "too many arguments provided with the given format" +msgstr "troppi argomenti forniti con il formato specificato" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" -msgstr "Formato non supportato" +#, c-format +msgid "too many values to unpack (expected %d)" +msgstr "troppi valori da scompattare (%d attesi)" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" -msgstr "" +msgid "tuple index out of range" +msgstr "indice della tupla fuori intervallo" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" -msgstr "File non valido" +msgid "tuple/list has wrong length" +msgstr "tupla/lista ha la lunghezza sbagliata" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" +msgid "tuple/list required on RHS" msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "Inizializzazione del pin di clock fallita." - -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." -msgstr "inizializzazione del pin MOSI fallita." +msgid "tx and rx cannot both be None" +msgstr "tx e rx non possono essere entrambi None" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." -msgstr "inizializzazione del pin MISO fallita." +msgid "type '%q' is not an acceptable base type" +msgstr "il tipo '%q' non è un tipo di base accettabile" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "Impossibile scrivere senza pin MOSI." +msgid "type is not an acceptable base type" +msgstr "il tipo non è un tipo di base accettabile" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." -msgstr "Impossibile leggere senza pin MISO." +msgid "type object '%q' has no attribute '%q'" +msgstr "l'oggetto di tipo '%q' non ha l'attributo '%q'" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." -msgstr "Impossibile trasferire senza i pin MOSI e MISO." +msgid "type takes 1 or 3 arguments" +msgstr "tipo prende 1 o 3 argomenti" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" -msgstr "Sono supportate solo bitmap con colori a 8 bit o meno" +msgid "ulonglong too large" +msgstr "ulonglong troppo grande" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" -msgstr "la riga deve essere compattata e allineata alla parola" +msgid "unary op %q not implemented" +msgstr "operazione unaria %q non implementata" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Sola lettura" +msgid "unexpected indent" +msgstr "indentazione inaspettata" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "tipo di bitmap non supportato" +msgid "unexpected keyword argument" +msgstr "argomento nominato inaspettato" -#: shared-module/displayio/Group.c:66 -msgid "Group full" -msgstr "Gruppo pieno" +msgid "unexpected keyword argument '%q'" +msgstr "argomento nominato '%q' inaspettato" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unicode name escapes" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" -msgstr "File BMP non valido" +msgid "unindent does not match any outer indentation level" +msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:59 -#, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Formato solo di Windows, BMP non compresso supportato %d" +msgid "unknown config param" +msgstr "parametro di configurazione sconosciuto" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" - -#: shared-module/displayio/Shape.c:60 -#, fuzzy -msgid "y value out of bounds" -msgstr "indirizzo fuori limite" +msgid "unknown conversion specifier %c" +msgstr "specificatore di conversione %s sconosciuto" -#: shared-module/displayio/Shape.c:63 -#, fuzzy -msgid "x value out of bounds" -msgstr "indirizzo fuori limite" +#, c-format +msgid "unknown format code '%c' for object of type '%s'" +msgstr "codice di formattaione '%c' sconosciuto per oggetto di tipo '%s'" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" -msgstr "" +msgid "unknown format code '%c' for object of type 'float'" +msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'float'" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "Non è possibile rimontare '/' mentre l'USB è attiva." +#, c-format +msgid "unknown format code '%c' for object of type 'str'" +msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'str'" -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" -msgstr "'S' e 'O' non sono formati supportati" +msgid "unknown status param" +msgstr "prametro di stato sconosciuto" -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" -msgstr "troppi argomenti forniti con il formato specificato" +msgid "unknown type" +msgstr "tipo sconosciuto" -#: shared-module/struct/__init__.c:179 -#, fuzzy -msgid "buffer size must match format" -msgstr "slice del buffer devono essere della stessa lunghezza" +msgid "unknown type '%q'" +msgstr "tipo '%q' sconosciuto" -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Buffer di lunghezza non valida. Dovrebbe essere di %d bytes." +msgid "unmatched '{' in format" +msgstr "'{' spaiato nella stringa di formattazione" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "USB occupata" +msgid "unreadable attribute" +msgstr "attributo non leggibile" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "Errore USB" +#, fuzzy, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "istruzione '%s' Xtensa non supportata con %d argomenti" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Nessun bus I2C predefinito" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "istruzione '%s' Xtensa non supportata con %d argomenti" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Nessun bus SPI predefinito" +msgid "unsupported bitmap type" +msgstr "tipo di bitmap non supportato" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Nessun bus UART predefinito" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" +msgstr "carattere di formattazione '%c' (0x%x) non supportato all indice %d" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "È stato richiesto l'avvio in modalità sicura da " +msgid "unsupported type for %q: '%s'" +msgstr "tipo non supportato per %q: '%s'" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Per uscire resettare la scheda senza " +msgid "unsupported type for operator" +msgstr "tipo non supportato per l'operando" -#: supervisor/shared/safe_mode.c:107 -#, fuzzy -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" -msgstr "" -"Sei nella modalità sicura che significa che qualcosa di molto brutto è " -"successo.\n" +msgid "unsupported types for %q: '%s', '%s'" +msgstr "tipi non supportati per %q: '%s', '%s'" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" -msgstr "" +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() faillito" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "write_args must be a list, tuple, or None" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" -msgstr "" +msgid "wrong number of arguments" +msgstr "numero di argomenti errato" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" -msgstr "" +msgid "wrong number of values to unpack" +msgstr "numero di valori da scompattare non corretto" -#: supervisor/shared/safe_mode.c:118 #, fuzzy -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" -msgstr "" -"La potenza del microcontrollore è calata. Assicurati che l'alimentazione sia " -"attaccata correttamente\n" - -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" -msgstr "" - -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" -msgstr "" +msgid "x value out of bounds" +msgstr "indirizzo fuori limite" -#~ msgid "Not enough pins available" -#~ msgstr "Non sono presenti abbastanza pin" +msgid "y should be an int" +msgstr "y dovrebbe essere un int" #, fuzzy -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART non ancora implementato" +msgid "y value out of bounds" +msgstr "indirizzo fuori limite" -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare." +msgid "zero step" +msgstr "zero step" #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Fallita allocazione del buffer RX di %d byte" +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Tutte le periferiche SPI sono in uso" -#~ msgid "Invalid UUID string length" -#~ msgstr "Lunghezza della stringa UUID non valida" +#~ msgid "Can encode UUID into the advertisement packet." +#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement." -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "abbastanza potenza per l'intero circuito e premere reset (dopo aver " -#~ "espulso CIRCUITPY).\n" +#~ msgid "Can not add Characteristic." +#~ msgstr "Non è possibile aggiungere Characteristic." #~ msgid "Can not add Service." #~ msgstr "Non è possibile aggiungere Service." -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement." +#~ msgid "Can not apply advertisement data. status: 0x%02x" +#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x" #~ msgid "Can not apply device name in the stack." #~ msgstr "Non è possibile inserire il nome del dipositivo nella lista." -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Impossibile impostare i parametri PPCP." +#~ msgid "Can not encode UUID, to check length." +#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare." #~ msgid "Can not query for the device address." #~ msgstr "Non è possibile trovare l'indirizzo del dispositivo." -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie " -#~ "CIRCUITPY:\n" - -#~ msgid "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x" - #~ msgid "Cannot apply GAP parameters." #~ msgstr "Impossibile applicare i parametri GAP." -#~ msgid "Can not add Characteristic." -#~ msgstr "Non è possibile aggiungere Characteristic." +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "Impossibile impostare i parametri PPCP." + +#~ msgid "Group empty" +#~ msgstr "Gruppo vuoto" + +#, fuzzy +#~ msgid "Group must have %q at least 1" +#~ msgstr "Il gruppo deve avere dimensione almeno 1" + +#~ msgid "Invalid Service type" +#~ msgstr "Tipo di servizio non valido" + +#~ msgid "Invalid UUID parameter" +#~ msgstr "Parametro UUID non valido" + +#~ msgid "Invalid UUID string length" +#~ msgstr "Lunghezza della stringa UUID non valida" #~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" #~ msgstr "" #~ "Sembra che il codice del core di CircuitPython sia crashato malamente. " #~ "Whoops!\n" +#~ msgid "Not enough pins available" +#~ msgstr "Non sono presenti abbastanza pin" + +#~ msgid "" +#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" +#~ msgstr "" +#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie " +#~ "CIRCUITPY:\n" + #, fuzzy #~ msgid "Wrong number of bytes provided" #~ msgstr "numero di argomenti errato" -#~ msgid "Invalid Service type" -#~ msgstr "Tipo di servizio non valido" +#, fuzzy +#~ msgid "buffer_size must be >= 1" +#~ msgstr "slice del buffer devono essere della stessa lunghezza" + +#, fuzzy +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART non ancora implementato" + +#~ msgid "" +#~ "enough power for the whole circuit and press reset (after ejecting " +#~ "CIRCUITPY).\n" +#~ msgstr "" +#~ "abbastanza potenza per l'intero circuito e premere reset (dopo aver " +#~ "espulso CIRCUITPY).\n" #~ msgid "index must be int" #~ msgstr "l'indice deve essere int" -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "argomenti nominati devono essere stringhe" - #~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" #~ msgstr "" #~ "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'" -#, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Tutte le periferiche SPI sono in uso" - -#~ msgid "Group empty" -#~ msgstr "Gruppo vuoto" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parametro UUID non valido" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Il gruppo deve avere dimensione almeno 1" - #~ msgid "row data must be a buffer" #~ msgstr "valori della riga devono essere un buffer" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "slice del buffer devono essere della stessa lunghezza" +#~ msgid "unicode_characters must be a string" +#~ msgstr "argomenti nominati devono essere stringhe" + +#, fuzzy +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Fallita allocazione del buffer RX di %d byte" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index deca76daf22c..8f2e307c3d28 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-17 23:36-0500\n" +"POT-Creation-Date: 2019-02-22 13:06-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,2878 +17,2158 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extmod/machine_i2c.c:299 -msgid "invalid I2C peripheral" -msgstr "periférico I2C inválido" +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" -#: extmod/machine_i2c.c:338 extmod/machine_i2c.c:352 extmod/machine_i2c.c:366 -#: extmod/machine_i2c.c:390 -msgid "I2C operation not supported" -msgstr "I2C operação não suportada" +msgid " File \"%q\"" +msgstr " Arquivo \"%q\"" + +msgid " File \"%q\", line %d" +msgstr " Arquivo \"%q\", linha %d" + +msgid " output:\n" +msgstr " saída:\n" -#: extmod/machine_mem.c:45 ports/unix/modmachine.c:53 #, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "endereço %08x não está alinhado com %d bytes" +msgid "%%c requires int or char" +msgstr "%%c requer int ou char" -#: extmod/machine_spi.c:57 -msgid "invalid SPI peripheral" -msgstr "periférico SPI inválido" +msgid "%q in use" +msgstr "%q em uso" -#: extmod/machine_spi.c:124 -msgid "buffers must be the same length" -msgstr "buffers devem ser o mesmo tamanho" +msgid "%q index out of range" +msgstr "" -#: extmod/machine_spi.c:207 -msgid "bits must be 8" -msgstr "bits devem ser 8" +msgid "%q indices must be integers, not %s" +msgstr "" -#: extmod/machine_spi.c:210 -msgid "firstbit must be MSB" -msgstr "firstbit devem ser MSB" +#, fuzzy +msgid "%q must be >= 1" +msgstr "buffers devem ser o mesmo tamanho" -#: extmod/machine_spi.c:215 -msgid "must specify all of sck/mosi/miso" -msgstr "deve especificar todos sck/mosi/miso" +#, fuzzy +msgid "%q should be an int" +msgstr "y deve ser um int" -#: extmod/modframebuf.c:299 -msgid "invalid format" -msgstr "formato inválido" +msgid "%q() takes %d positional arguments but %d were given" +msgstr "" -#: extmod/modubinascii.c:38 extmod/moduhashlib.c:102 -msgid "a bytes-like object is required" +msgid "'%q' argument required" +msgstr "'%q' argumento(s) requerido(s)" + +#, c-format +msgid "'%s' expects a label" msgstr "" -#: extmod/modubinascii.c:90 -msgid "odd-length string" +#, c-format +msgid "'%s' expects a register" msgstr "" -#: extmod/modubinascii.c:101 -msgid "non-hex digit found" +#, c-format +msgid "'%s' expects a special register" msgstr "" -#: extmod/modubinascii.c:169 -msgid "incorrect padding" -msgstr "preenchimento incorreto" +#, c-format +msgid "'%s' expects an FPU register" +msgstr "" -#: extmod/moductypes.c:122 -msgid "syntax error in uctypes descriptor" +#, c-format +msgid "'%s' expects an address of the form [a, b]" msgstr "" -#: extmod/moductypes.c:219 -msgid "Cannot unambiguously get sizeof scalar" +#, c-format +msgid "'%s' expects an integer" msgstr "" -#: extmod/moductypes.c:397 -msgid "struct: no fields" -msgstr "struct: sem campos" +#, c-format +msgid "'%s' expects at most r%d" +msgstr "" -#: extmod/moductypes.c:530 -msgid "struct: cannot index" -msgstr "struct: não pode indexar" +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "" -#: extmod/moductypes.c:544 -msgid "struct: index out of range" -msgstr "struct: índice fora do intervalo" +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "" -#: extmod/moduheapq.c:38 -msgid "heap must be a list" -msgstr "heap deve ser uma lista" +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "" -#: extmod/moduheapq.c:86 extmod/modutimeq.c:147 extmod/modutimeq.c:172 -msgid "empty heap" -msgstr "heap vazia" +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "" -#: extmod/modujson.c:281 -msgid "syntax error in JSON" -msgstr "erro de sintaxe no JSON" +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "" -#: extmod/modure.c:265 -msgid "Splitting with sub-captures" +msgid "'%s' object has no attribute '%q'" msgstr "" -#: extmod/modure.c:428 -msgid "Error in regex" -msgstr "Erro no regex" +#, c-format +msgid "'%s' object is not an iterator" +msgstr "" -#: extmod/modussl_axtls.c:81 -msgid "invalid key" -msgstr "chave inválida" +#, c-format +msgid "'%s' object is not callable" +msgstr "" -#: extmod/modussl_axtls.c:87 -msgid "invalid cert" -msgstr "certificado inválido" +#, c-format +msgid "'%s' object is not iterable" +msgstr "" -#: extmod/modutimeq.c:131 -msgid "queue overflow" -msgstr "estouro de fila" +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "" -#: extmod/moduzlib.c:98 -msgid "compression header" +msgid "'=' alignment not allowed in string format specifier" msgstr "" -#: extmod/uos_dupterm.c:120 -msgid "invalid dupterm index" -msgstr "Índice de dupterm inválido" +msgid "'S' and 'O' are not supported format types" +msgstr "'S' e 'O' não são tipos de formato suportados" -#: extmod/vfs_fat.c:426 py/moduerrno.c:155 -msgid "Read-only filesystem" -msgstr "Sistema de arquivos somente leitura" +msgid "'align' requires 1 argument" +msgstr "" -#: extmod/vfs_posix_file.c:48 ports/unix/file.c:50 py/objstringio.c:43 -msgid "I/O operation on closed file" -msgstr "Operação I/O no arquivo fechado" +msgid "'await' outside function" +msgstr "" -#: lib/embed/abort_.c:8 -msgid "abort() called" -msgstr "abort() chamado" +msgid "'break' outside loop" +msgstr "" -#: lib/netutils/netutils.c:83 -msgid "invalid arguments" -msgstr "argumentos inválidos" +msgid "'continue' outside loop" +msgstr "" -#: lib/utils/pyexec.c:97 py/builtinimport.c:251 -msgid "script compilation not supported" -msgstr "compilação de script não suportada" +msgid "'data' requires at least 2 arguments" +msgstr "" -#: main.c:152 -msgid " output:\n" -msgstr " saída:\n" +msgid "'data' requires integer arguments" +msgstr "" -#: main.c:166 main.c:250 -msgid "" -"Auto-reload is on. Simply save files over USB to run them or enter REPL to " -"disable.\n" +msgid "'label' requires 1 argument" msgstr "" -#: main.c:168 -msgid "Running in safe mode! Auto-reload is off.\n" -msgstr "Rodando em modo seguro! Atualização automática está desligada.\n" +msgid "'return' outside function" +msgstr "" -#: main.c:170 main.c:252 -msgid "Auto-reload is off.\n" -msgstr "A atualização automática está desligada.\n" +msgid "'yield' outside function" +msgstr "" -#: main.c:184 -msgid "Running in safe mode! Not running saved code.\n" -msgstr "Rodando em modo seguro! Não está executando o código salvo.\n" +msgid "*x must be assignment target" +msgstr "" -#: main.c:200 -msgid "WARNING: Your code filename has two extensions\n" -msgstr "AVISO: Seu arquivo de código tem duas extensões\n" +msgid ", in %q\n" +msgstr "" -#: main.c:223 -msgid "" -"\n" -"Code done running. Waiting for reload.\n" +msgid "0.0 to a complex power" msgstr "" -#: main.c:257 -msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgid "3-arg pow() not supported" msgstr "" -#: main.c:422 -msgid "soft reboot\n" +msgid "A hardware interrupt channel is already in use" +msgstr "Um canal de interrupção de hardware já está em uso" + +msgid "AP required" +msgstr "AP requerido" + +#, c-format +msgid "Address is not %d bytes long or is in wrong format" msgstr "" -#: ports/atmel-samd/audio_dma.c:209 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:361 +#, fuzzy, c-format +msgid "Address must be %d bytes long" +msgstr "buffers devem ser o mesmo tamanho" + +msgid "All I2C peripherals are in use" +msgstr "Todos os periféricos I2C estão em uso" + +msgid "All SPI peripherals are in use" +msgstr "Todos os periféricos SPI estão em uso" + +#, fuzzy +msgid "All UART peripherals are in use" +msgstr "Todos os periféricos I2C estão em uso" + +msgid "All event channels in use" +msgstr "Todos os canais de eventos em uso" + msgid "All sync event channels in use" msgstr "" -#: ports/atmel-samd/bindings/samd/Clock.c:135 -msgid "calibration is read only" -msgstr "Calibração é somente leitura" +msgid "All timers for this pin are in use" +msgstr "Todos os temporizadores para este pino estão em uso" -#: ports/atmel-samd/bindings/samd/Clock.c:137 -msgid "calibration is out of range" -msgstr "Calibração está fora do intervalo" +msgid "All timers in use" +msgstr "Todos os temporizadores em uso" -#: ports/atmel-samd/common-hal/analogio/AnalogIn.c:63 -#: ports/nrf/common-hal/analogio/AnalogIn.c:39 -msgid "Pin does not have ADC capabilities" -msgstr "O pino não tem recursos de ADC" +msgid "AnalogOut functionality not supported" +msgstr "Funcionalidade AnalogOut não suportada" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:49 -msgid "No DAC on chip" -msgstr "Nenhum DAC no chip" +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "" -#: ports/atmel-samd/common-hal/analogio/AnalogOut.c:56 msgid "AnalogOut not supported on given pin" msgstr "Saída analógica não suportada no pino fornecido" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:147 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:150 -msgid "Invalid bit clock pin" -msgstr "Pino de bit clock inválido" +msgid "Another send is already active" +msgstr "Outro envio já está ativo" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:153 -msgid "Bit clock and word select must share a clock unit" +msgid "Array must contain halfwords (type 'H')" +msgstr "Array deve conter meias palavras (tipo 'H')" + +msgid "Array values should be single bytes." msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:156 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:130 -msgid "Invalid data pin" -msgstr "Pino de dados inválido" +msgid "Auto-reload is off.\n" +msgstr "A atualização automática está desligada.\n" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:169 -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:174 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:145 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:150 -msgid "Serializer in use" -msgstr "Serializer em uso" +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:230 -msgid "Clock unit in use" -msgstr "Unidade de Clock em uso" +msgid "Bit clock and word select must share a clock unit" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:240 -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:172 -msgid "Unable to find free GCLK" -msgstr "Não é possível encontrar GCLK livre" +msgid "Bit depth must be multiple of 8." +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:254 -msgid "Too many channels in sample." -msgstr "Muitos canais na amostra." +msgid "Both pins must support hardware interrupts" +msgstr "Ambos os pinos devem suportar interrupções de hardware" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:305 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:417 -msgid "No DMA channel found" -msgstr "Nenhum canal DMA encontrado" +msgid "Brightness must be between 0 and 255" +msgstr "O brilho deve estar entre 0 e 255" -#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c:308 -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:419 -msgid "Unable to allocate buffers for signed conversion" -msgstr "Não é possível alocar buffers para conversão assinada" +msgid "Brightness not adjustable" +msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:109 -msgid "Invalid clock pin" -msgstr "Pino do Clock inválido" +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "Buffer de tamanho incorreto. Deve ser %d bytes." -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:134 -msgid "Only 8 or 16 bit mono with " +msgid "Buffer must be at least length 1" msgstr "" -#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c:167 -msgid "sampling rate out of range" -msgstr "Taxa de amostragem fora do intervalo" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:132 -msgid "DAC already in use" +#, fuzzy, c-format +msgid "Bus pin %d is already in use" msgstr "DAC em uso" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:136 -msgid "Right channel unsupported" -msgstr "Canal direito não suportado" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:139 -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:65 -#: shared-bindings/pulseio/PWMOut.c:113 -msgid "Invalid pin" -msgstr "Pino inválido" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:147 -msgid "Invalid pin for left channel" -msgstr "Pino inválido para canal esquerdo" +#, fuzzy +msgid "Byte buffer must be 16 bytes." +msgstr "buffers devem ser o mesmo tamanho" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:151 -msgid "Invalid pin for right channel" -msgstr "Pino inválido para canal direito" +msgid "Bytes must be between 0 and 255." +msgstr "Os bytes devem estar entre 0 e 255." -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:154 -msgid "Cannot output both channels on the same pin" +msgid "C-level assert" msgstr "" -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:243 -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:110 -#: ports/nrf/common-hal/pulseio/PulseOut.c:107 -#: shared-bindings/pulseio/PWMOut.c:119 -msgid "All timers in use" -msgstr "Todos os temporizadores em uso" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:285 -msgid "All event channels in use" -msgstr "Todos os canais de eventos em uso" - -#: ports/atmel-samd/common-hal/audioio/AudioOut.c:375 #, c-format -msgid "Sample rate too high. It must be less than %d" -msgstr "Taxa de amostragem muito alta. Deve ser menor que %d" - -#: ports/atmel-samd/common-hal/busio/I2C.c:74 -#: ports/atmel-samd/common-hal/busio/SPI.c:176 -#: ports/atmel-samd/common-hal/busio/UART.c:120 -#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c:45 -#: ports/nrf/common-hal/busio/I2C.c:84 -msgid "Invalid pins" -msgstr "Pinos inválidos" - -#: ports/atmel-samd/common-hal/busio/I2C.c:97 -msgid "SDA or SCL needs a pull up" -msgstr "SDA ou SCL precisa de um pull up" +msgid "Can not use dotstar with %s" +msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c:117 -msgid "Unsupported baudrate" -msgstr "Taxa de transmissão não suportada" +msgid "Can't add services in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:67 -msgid "bytes > 8 bits not supported" -msgstr "bytes > 8 bits não suportado" +msgid "Can't advertise in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:73 -#: ports/nrf/common-hal/busio/UART.c:149 -msgid "tx and rx cannot both be None" -msgstr "TX e RX não podem ser ambos" +msgid "Can't change the name in Central mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:146 -#: ports/nrf/common-hal/busio/UART.c:188 -msgid "Failed to allocate RX buffer" -msgstr "Falha ao alocar buffer RX" +msgid "Can't connect in Peripheral mode" +msgstr "" -#: ports/atmel-samd/common-hal/busio/UART.c:154 -msgid "Could not initialize UART" -msgstr "Não foi possível inicializar o UART" +msgid "Cannot connect to AP" +msgstr "Não é possível conectar-se ao AP" -#: ports/atmel-samd/common-hal/busio/UART.c:252 -#: ports/nrf/common-hal/busio/UART.c:230 -msgid "No RX pin" -msgstr "Nenhum pino RX" +msgid "Cannot delete values" +msgstr "Não é possível excluir valores" -#: ports/atmel-samd/common-hal/busio/UART.c:311 -#: ports/nrf/common-hal/busio/UART.c:265 -msgid "No TX pin" -msgstr "Nenhum pino TX" +msgid "Cannot disconnect from AP" +msgstr "Não é possível desconectar do AP" -#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c:170 -#: ports/nrf/common-hal/digitalio/DigitalInOut.c:147 msgid "Cannot get pull while in output mode" msgstr "" -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:43 -#: ports/nrf/common-hal/displayio/ParallelBus.c:43 -msgid "Data 0 pin must be byte aligned" -msgstr "" - -#: ports/atmel-samd/common-hal/displayio/ParallelBus.c:47 -#: ports/nrf/common-hal/displayio/ParallelBus.c:47 -#, fuzzy, c-format -msgid "Bus pin %d is already in use" -msgstr "DAC em uso" +#, fuzzy +msgid "Cannot get temperature" +msgstr "Não pode obter a temperatura. status: 0x%02x" -#: ports/atmel-samd/common-hal/microcontroller/__init__.c:74 -#: ports/esp8266/common-hal/microcontroller/__init__.c:64 -msgid "Cannot reset into bootloader because no bootloader is present." +msgid "Cannot output both channels on the same pin" msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PWMOut.c:394 -#: ports/nrf/common-hal/pulseio/PWMOut.c:259 -#: shared-bindings/pulseio/PWMOut.c:115 -msgid "Invalid PWM frequency" -msgstr "Frequência PWM inválida" - -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:110 -msgid "No hardware support on pin" -msgstr "Nenhum suporte de hardware no pino" +msgid "Cannot read without MISO pin." +msgstr "Não é possível ler sem o pino MISO." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:113 -msgid "EXTINT channel already in use" -msgstr "Canal EXTINT em uso" +msgid "Cannot record to a file" +msgstr "Não é possível gravar em um arquivo" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:118 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:86 -#: ports/nrf/common-hal/pulseio/PulseIn.c:129 -#, c-format -msgid "Failed to allocate RX buffer of %d bytes" -msgstr "Falha ao alocar buffer RX de %d bytes" +msgid "Cannot remount '/' when USB is active." +msgstr "Não é possível remontar '/' enquanto o USB estiver ativo." -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:205 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:151 -#: ports/nrf/common-hal/pulseio/PulseIn.c:254 -msgid "pop from an empty PulseIn" +msgid "Cannot reset into bootloader because no bootloader is present." msgstr "" -#: ports/atmel-samd/common-hal/pulseio/PulseIn.c:237 -#: ports/esp8266/common-hal/pulseio/PulseIn.c:182 -#: ports/nrf/common-hal/pulseio/PulseIn.c:241 py/obj.c:422 -msgid "index out of range" -msgstr "Índice fora do intervalo" - -#: ports/atmel-samd/common-hal/pulseio/PulseOut.c:178 -msgid "Another send is already active" -msgstr "Outro envio já está ativo" - -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:38 -msgid "Both pins must support hardware interrupts" -msgstr "Ambos os pinos devem suportar interrupções de hardware" - -#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c:46 -msgid "A hardware interrupt channel is already in use" -msgstr "Um canal de interrupção de hardware já está em uso" - -#: ports/atmel-samd/common-hal/rtc/RTC.c:101 -msgid "calibration value out of range +/-127" -msgstr "Valor de calibração fora do intervalo +/- 127" +msgid "Cannot set STA config" +msgstr "Não é possível definir a configuração STA" -#: ports/atmel-samd/common-hal/touchio/TouchIn.c:75 -msgid "No free GCLKs" -msgstr "Não há GCLKs livre" +msgid "Cannot set value when direction is input." +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogIn.c:43 -msgid "Pin %q does not have ADC capabilities" -msgstr "Pino %q não tem recursos de ADC" +msgid "Cannot subclass slice" +msgstr "" -#: ports/esp8266/common-hal/analogio/AnalogOut.c:39 -msgid "No hardware support for analog out." -msgstr "Nenhum suporte de hardware para saída analógica." +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "Não é possível transferir sem os pinos MOSI e MISO." -#: ports/esp8266/common-hal/busio/SPI.c:72 -msgid "Pins not valid for SPI" -msgstr "Pinos não válidos para SPI" +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" -#: ports/esp8266/common-hal/busio/UART.c:45 -msgid "Only tx supported on UART1 (GPIO2)." -msgstr "Apenas TX suportado no UART1 (GPIO2)." +msgid "Cannot update i/f status" +msgstr "Não é possível atualizar o status i/f" -#: ports/esp8266/common-hal/busio/UART.c:67 ports/esp8266/machine_uart.c:108 -msgid "invalid data bits" -msgstr "Bits de dados inválidos" +msgid "Cannot write without MOSI pin." +msgstr "Não é possível ler sem um pino MOSI" -#: ports/esp8266/common-hal/busio/UART.c:91 ports/esp8266/machine_uart.c:144 -msgid "invalid stop bits" -msgstr "Bits de parada inválidos" +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:200 -msgid "ESP8266 does not support pull down." -msgstr "ESP8266 não suporta pull down." +msgid "Characteristic already in use by another Service." +msgstr "" -#: ports/esp8266/common-hal/digitalio/DigitalInOut.c:210 -msgid "GPIO16 does not support pull up." -msgstr "GPIO16 não suporta pull up." +msgid "CharacteristicBuffer writing not provided" +msgstr "" -#: ports/esp8266/common-hal/microcontroller/__init__.c:66 -msgid "ESP8226 does not support safe mode." -msgstr "O ESP8226 não suporta o modo de segurança." +msgid "Clock pin init failed." +msgstr "Inicialização do pino de Clock falhou." -#: ports/esp8266/common-hal/pulseio/PWMOut.c:54 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:113 -#, c-format -msgid "Maximum PWM frequency is %dhz." -msgstr "A frequência máxima PWM é de %dhz." +msgid "Clock stretch too long" +msgstr "Clock se estendeu por tempo demais" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:57 -#: ports/esp8266/common-hal/pulseio/PWMOut.c:116 -msgid "Minimum PWM frequency is 1hz." -msgstr "A frequência mínima PWM é de 1hz" +msgid "Clock unit in use" +msgstr "Unidade de Clock em uso" -#: ports/esp8266/common-hal/pulseio/PWMOut.c:68 -#, c-format -msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "Múltiplas frequências PWM não suportadas. PWM já definido para %dhz." +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Os bytes devem estar entre 0 e 255." -#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70 #, c-format -msgid "PWM not supported on pin %d" -msgstr "PWM não suportado no pino %d" - -#: ports/esp8266/common-hal/pulseio/PulseIn.c:78 -msgid "No PulseIn support for %q" -msgstr "Não há suporte para PulseIn no pino %q" - -#: ports/esp8266/common-hal/storage/__init__.c:34 -msgid "Unable to remount filesystem" -msgstr "Não é possível remontar o sistema de arquivos" - -#: ports/esp8266/common-hal/storage/__init__.c:38 -msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "Use o esptool para apagar o flash e recarregar o Python" - -#: ports/esp8266/esp_mphal.c:154 -msgid "C-level assert" +msgid "Could not decode ble_uuid, err 0x%04x" msgstr "" -#: ports/esp8266/machine_adc.c:57 -#, c-format -msgid "not a valid ADC Channel: %d" -msgstr "não é um canal ADC válido: %d" - -#: ports/esp8266/machine_hspi.c:131 ports/esp8266/machine_hspi.c:137 -msgid "impossible baudrate" -msgstr "taxa de transmissão impossível" - -#: ports/esp8266/machine_pin.c:129 -msgid "expecting a pin" -msgstr "esperando um pino" +msgid "Could not initialize UART" +msgstr "Não foi possível inicializar o UART" -#: ports/esp8266/machine_pin.c:284 -msgid "Pin(16) doesn't support pull" -msgstr "Pino (16) não suporta pull" +msgid "Couldn't allocate first buffer" +msgstr "Não pôde alocar primeiro buffer" -#: ports/esp8266/machine_pin.c:323 -msgid "invalid pin" -msgstr "Pino inválido" +msgid "Couldn't allocate second buffer" +msgstr "Não pôde alocar segundo buffer" -#: ports/esp8266/machine_pin.c:389 -msgid "pin does not have IRQ capabilities" -msgstr "Pino não tem recursos de IRQ" +msgid "Crash into the HardFault_Handler.\n" +msgstr "" -#: ports/esp8266/machine_rtc.c:185 -msgid "buffer too long" -msgstr "buffer muito longo" +msgid "DAC already in use" +msgstr "DAC em uso" -#: ports/esp8266/machine_rtc.c:209 ports/esp8266/machine_rtc.c:223 -#: ports/esp8266/machine_rtc.c:246 -msgid "invalid alarm" -msgstr "Alarme inválido" +msgid "Data 0 pin must be byte aligned" +msgstr "" -#: ports/esp8266/machine_uart.c:169 -#, c-format -msgid "UART(%d) does not exist" -msgstr "UART(%d) não existe" +msgid "Data chunk must follow fmt chunk" +msgstr "Pedaço de dados deve seguir o pedaço de cortes" -#: ports/esp8266/machine_uart.c:219 -msgid "UART(1) can't read" -msgstr "UART(1) não pode ler" +#, fuzzy +msgid "Data too large for advertisement packet" +msgstr "Não é possível ajustar dados no pacote de anúncios." -#: ports/esp8266/modesp.c:119 -msgid "len must be multiple of 4" -msgstr "len deve ser múltiplo de 4" +#, fuzzy +msgid "Data too large for the advertisement packet" +msgstr "Não é possível ajustar dados no pacote de anúncios." -#: ports/esp8266/modesp.c:274 -#, c-format -msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "alocação de memória falhou, alocando %u bytes para código nativo" +msgid "Destination capacity is smaller than destination_length." +msgstr "" -#: ports/esp8266/modesp.c:317 -msgid "flash location must be below 1MByte" -msgstr "o local do flash deve estar abaixo de 1 MByte" +msgid "Display rotation must be in 90 degree increments" +msgstr "" -#: ports/esp8266/modmachine.c:63 -msgid "frequency can only be either 80Mhz or 160MHz" -msgstr "A frequência só pode ser 80Mhz ou 160MHz" +msgid "Don't know how to pass object to native function" +msgstr "Não sabe como passar o objeto para a função nativa" -#: ports/esp8266/modnetwork.c:61 -msgid "AP required" -msgstr "AP requerido" +msgid "Drive mode not used when direction is input." +msgstr "" -#: ports/esp8266/modnetwork.c:61 -msgid "STA required" -msgstr "STA requerido" +msgid "ESP8226 does not support safe mode." +msgstr "O ESP8226 não suporta o modo de segurança." -#: ports/esp8266/modnetwork.c:87 -msgid "Cannot update i/f status" -msgstr "Não é possível atualizar o status i/f" +msgid "ESP8266 does not support pull down." +msgstr "ESP8266 não suporta pull down." -#: ports/esp8266/modnetwork.c:142 -msgid "Cannot set STA config" -msgstr "Não é possível definir a configuração STA" +msgid "EXTINT channel already in use" +msgstr "Canal EXTINT em uso" -#: ports/esp8266/modnetwork.c:144 -msgid "Cannot connect to AP" -msgstr "Não é possível conectar-se ao AP" +msgid "Error in ffi_prep_cif" +msgstr "Erro no ffi_prep_cif" -#: ports/esp8266/modnetwork.c:152 -msgid "Cannot disconnect from AP" -msgstr "Não é possível desconectar do AP" +msgid "Error in regex" +msgstr "Erro no regex" -#: ports/esp8266/modnetwork.c:173 -msgid "unknown status param" -msgstr "parâmetro de status desconhecido" +msgid "Expected a %q" +msgstr "Esperado um" -#: ports/esp8266/modnetwork.c:222 -msgid "STA must be active" -msgstr "STA deve estar ativo" +#, fuzzy +msgid "Expected a Characteristic" +msgstr "Não é possível adicionar Característica." -#: ports/esp8266/modnetwork.c:239 -msgid "scan failed" -msgstr "varredura falhou" +#, fuzzy +msgid "Expected a UUID" +msgstr "Esperado um" -#: ports/esp8266/modnetwork.c:306 -msgid "wifi_set_ip_info() failed" -msgstr "wifi_set_ip_info() falhou" +#, c-format +msgid "Expected tuple of length %d, got %d" +msgstr "" -#: ports/esp8266/modnetwork.c:319 -msgid "either pos or kw args are allowed" -msgstr "pos ou kw args são permitidos" +#, fuzzy +msgid "Failed to acquire mutex" +msgstr "Falha ao alocar buffer RX" -#: ports/esp8266/modnetwork.c:329 -msgid "can't get STA config" -msgstr "não pode obter a configuração STA" +#, fuzzy, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/esp8266/modnetwork.c:331 -msgid "can't get AP config" -msgstr "não pode obter configuração de AP" +#, fuzzy, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/esp8266/modnetwork.c:346 -msgid "invalid buffer length" -msgstr "comprimento de buffer inválido" +#, fuzzy +msgid "Failed to add service" +msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/esp8266/modnetwork.c:405 -msgid "can't set STA config" -msgstr "não é possível definir a configuração STA" +#, fuzzy, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/esp8266/modnetwork.c:407 -msgid "can't set AP config" -msgstr "não é possível definir a configuração do AP" +msgid "Failed to allocate RX buffer" +msgstr "Falha ao alocar buffer RX" -#: ports/esp8266/modnetwork.c:416 -msgid "can query only one param" -msgstr "pode consultar apenas um parâmetro" +#, c-format +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "Falha ao alocar buffer RX de %d bytes" -#: ports/esp8266/modnetwork.c:469 -msgid "unknown config param" -msgstr "parâmetro configuração desconhecido" +#, fuzzy +msgid "Failed to change softdevice state" +msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/analogio/AnalogOut.c:37 -msgid "AnalogOut functionality not supported" -msgstr "Funcionalidade AnalogOut não suportada" +msgid "Failed to connect:" +msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:43 -#, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgid "Failed to continue scanning" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:119 +#, fuzzy, c-format +msgid "Failed to continue scanning, err 0x%04x" +msgstr "Não é possível iniciar o anúncio. status: 0x%02x" + #, fuzzy -msgid "Failed to change softdevice state" -msgstr "Não pode parar propaganda. status: 0x%02x" +msgid "Failed to create mutex" +msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:128 #, fuzzy -msgid "Failed to get softdevice state" +msgid "Failed to discover services" msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c:48 -msgid "interval not in range 0.0020 to 10.24" -msgstr "" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:58 -#: ports/nrf/common-hal/bleio/Peripheral.c:56 #, fuzzy -msgid "Data too large for advertisement packet" -msgstr "Não é possível ajustar dados no pacote de anúncios." - -#: ports/nrf/common-hal/bleio/Broadcaster.c:83 -#: ports/nrf/common-hal/bleio/Peripheral.c:332 -#, fuzzy, c-format -msgid "Failed to start advertising, err 0x%04x" -msgstr "Não é possível iniciar o anúncio. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Broadcaster.c:96 -#: ports/nrf/common-hal/bleio/Peripheral.c:344 -#, fuzzy, c-format -msgid "Failed to stop advertising, err 0x%04x" +msgid "Failed to get softdevice state" msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:59 -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Não é possível ler o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:89 -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:106 -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:132 #, fuzzy, c-format msgid "Failed to notify or indicate attribute value, err %0x04x" msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:144 #, fuzzy, c-format -msgid "Failed to read attribute value, err %0x04x" +msgid "Failed to read CCCD value, err 0x%04x" msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:172 ports/nrf/sd_mutex.c:34 #, fuzzy, c-format -msgid "Failed to acquire mutex, err 0x%04x" +msgid "Failed to read attribute value, err %0x04x" msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:178 #, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" +msgid "Failed to read gatts value, err 0x%04x" msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Characteristic.c:189 ports/nrf/sd_mutex.c:54 #, fuzzy, c-format -msgid "Failed to release mutex, err 0x%04x" -msgstr "Não é possível ler o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Characteristic.c:251 -#: ports/nrf/common-hal/bleio/Characteristic.c:284 -msgid "bad GATT role" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:80 -#: ports/nrf/common-hal/bleio/Device.c:112 -#, fuzzy -msgid "Data too large for the advertisement packet" -msgstr "Não é possível ajustar dados no pacote de anúncios." - -#: ports/nrf/common-hal/bleio/Device.c:262 -#, fuzzy -msgid "Failed to discover services" -msgstr "Não pode parar propaganda. status: 0x%02x" - -#: ports/nrf/common-hal/bleio/Device.c:268 -#: ports/nrf/common-hal/bleio/Device.c:302 -#, fuzzy -msgid "Failed to acquire mutex" -msgstr "Falha ao alocar buffer RX" +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "Não é possível adicionar o UUID de 128 bits específico do fornecedor." -#: ports/nrf/common-hal/bleio/Device.c:280 -#: ports/nrf/common-hal/bleio/Device.c:313 -#: ports/nrf/common-hal/bleio/Device.c:344 -#: ports/nrf/common-hal/bleio/Device.c:378 #, fuzzy msgid "Failed to release mutex" msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:389 -msgid "Failed to continue scanning" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:421 -msgid "Failed to connect:" -msgstr "" - -#: ports/nrf/common-hal/bleio/Device.c:491 -#, fuzzy -msgid "Failed to add service" -msgstr "Não pode parar propaganda. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:508 #, fuzzy msgid "Failed to start advertising" msgstr "Não é possível iniciar o anúncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:525 -#, fuzzy -msgid "Failed to stop advertising" -msgstr "Não pode parar propaganda. status: 0x%02x" +#, fuzzy, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "Não é possível iniciar o anúncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:550 #, fuzzy msgid "Failed to start scanning" msgstr "Não é possível iniciar o anúncio. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Device.c:566 +#, fuzzy, c-format +msgid "Failed to start scanning, err 0x%04x" +msgstr "Não é possível iniciar o anúncio. status: 0x%02x" + #, fuzzy -msgid "Failed to create mutex" -msgstr "Não é possível ler o valor do atributo. status: 0x%02x" +msgid "Failed to stop advertising" +msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Peripheral.c:312 #, fuzzy, c-format -msgid "Failed to add service, err 0x%04x" +msgid "Failed to stop advertising, err 0x%04x" msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:75 #, fuzzy, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "Não é possível iniciar o anúncio. status: 0x%02x" +msgid "Failed to write attribute value, err 0x%04x" +msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Scanner.c:101 #, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Não é possível iniciar o anúncio. status: 0x%02x" +msgid "Failed to write gatts value, err 0x%04x" +msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Service.c:88 -#, fuzzy, c-format -msgid "Failed to add characteristic, err 0x%04x" -msgstr "Não pode parar propaganda. status: 0x%02x" +msgid "File exists" +msgstr "Arquivo já existe" -#: ports/nrf/common-hal/bleio/Service.c:92 -msgid "Characteristic already in use by another Service." +msgid "Function requires lock" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:54 -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Não é possível adicionar o UUID de 128 bits específico do fornecedor." +msgid "Function requires lock." +msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:73 -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" +msgid "GPIO16 does not support pull up." +msgstr "GPIO16 não suporta pull up." + +msgid "Group full" +msgstr "Grupo cheio" + +msgid "I/O operation on closed file" +msgstr "Operação I/O no arquivo fechado" + +msgid "I2C operation not supported" +msgstr "I2C operação não suportada" + +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c:88 -msgid "Unexpected nrfx uuid type" +msgid "Input/output error" msgstr "" -#: ports/nrf/common-hal/busio/I2C.c:98 -msgid "All I2C peripherals are in use" -msgstr "Todos os periféricos I2C estão em uso" +msgid "Invalid BMP file" +msgstr "Arquivo BMP inválido" -#: ports/nrf/common-hal/busio/SPI.c:133 -msgid "All SPI peripherals are in use" -msgstr "Todos os periféricos SPI estão em uso" +msgid "Invalid PWM frequency" +msgstr "Frequência PWM inválida" -#: ports/nrf/common-hal/busio/UART.c:47 -#, c-format -msgid "error = 0x%08lX" -msgstr "erro = 0x%08lX" +msgid "Invalid argument" +msgstr "Argumento inválido" -#: ports/nrf/common-hal/busio/UART.c:145 -#, fuzzy -msgid "All UART peripherals are in use" -msgstr "Todos os periféricos I2C estão em uso" +msgid "Invalid bit clock pin" +msgstr "Pino de bit clock inválido" -#: ports/nrf/common-hal/busio/UART.c:153 #, fuzzy msgid "Invalid buffer size" msgstr "Arquivo inválido" -#: ports/nrf/common-hal/busio/UART.c:157 -#, fuzzy -msgid "Odd parity is not supported" -msgstr "I2C operação não suportada" - -#: ports/nrf/common-hal/microcontroller/Processor.c:48 #, fuzzy -msgid "Cannot get temperature" -msgstr "Não pode obter a temperatura. status: 0x%02x" - -#: ports/unix/modffi.c:138 -msgid "Unknown type" -msgstr "Tipo desconhecido" - -#: ports/unix/modffi.c:207 ports/unix/modffi.c:265 -msgid "Error in ffi_prep_cif" -msgstr "Erro no ffi_prep_cif" - -#: ports/unix/modffi.c:270 -msgid "ffi_prep_closure_loc" -msgstr "ffi_prep_closure_loc" - -#: ports/unix/modffi.c:413 -msgid "Don't know how to pass object to native function" -msgstr "Não sabe como passar o objeto para a função nativa" - -#: ports/unix/modusocket.c:474 -#, c-format -msgid "[addrinfo error %d]" -msgstr "" +msgid "Invalid channel count" +msgstr "certificado inválido" -#: py/argcheck.c:53 -msgid "function does not take keyword arguments" -msgstr "função não aceita argumentos de palavras-chave" +msgid "Invalid clock pin" +msgstr "Pino do Clock inválido" -#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108 -#, c-format -msgid "function takes %d positional arguments but %d were given" -msgstr "função leva %d argumentos posicionais, mas apenas %d foram passadas" +msgid "Invalid data pin" +msgstr "Pino de dados inválido" -#: py/argcheck.c:73 -#, c-format -msgid "function missing %d required positional arguments" -msgstr "função ausente %d requer argumentos posicionais" +msgid "Invalid direction." +msgstr "Direção inválida" -#: py/argcheck.c:81 -#, c-format -msgid "function expected at most %d arguments, got %d" -msgstr "função esperada na maioria dos %d argumentos, obteve %d" +msgid "Invalid file" +msgstr "Arquivo inválido" -#: py/argcheck.c:106 -msgid "'%q' argument required" -msgstr "'%q' argumento(s) requerido(s)" +msgid "Invalid format chunk size" +msgstr "Tamanho do pedaço de formato inválido" -#: py/argcheck.c:131 -msgid "extra positional arguments given" -msgstr "argumentos extra posicionais passados" +msgid "Invalid number of bits" +msgstr "Número inválido de bits" -#: py/argcheck.c:139 -msgid "extra keyword arguments given" -msgstr "argumentos extras de palavras-chave passados" +msgid "Invalid phase" +msgstr "Fase Inválida" -#: py/argcheck.c:151 -msgid "argument num/types mismatch" -msgstr "" +msgid "Invalid pin" +msgstr "Pino inválido" -#: py/argcheck.c:156 -msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" +msgid "Invalid pin for left channel" +msgstr "Pino inválido para canal esquerdo" -#: py/bc.c:88 py/objnamedtuple.c:112 -msgid "%q() takes %d positional arguments but %d were given" -msgstr "" +msgid "Invalid pin for right channel" +msgstr "Pino inválido para canal direito" -#: py/bc.c:197 py/bc.c:215 -msgid "unexpected keyword argument" -msgstr "" +msgid "Invalid pins" +msgstr "Pinos inválidos" -#: py/bc.c:199 -msgid "keywords must be strings" +msgid "Invalid polarity" msgstr "" -#: py/bc.c:206 py/objnamedtuple.c:142 -msgid "function got multiple values for argument '%q'" +msgid "Invalid run mode." msgstr "" -#: py/bc.c:218 py/objnamedtuple.c:134 -msgid "unexpected keyword argument '%q'" -msgstr "" +#, fuzzy +msgid "Invalid voice count" +msgstr "certificado inválido" -#: py/bc.c:244 -#, c-format -msgid "function missing required positional argument #%d" -msgstr "" +msgid "Invalid wave file" +msgstr "Aqruivo de ondas inválido" -#: py/bc.c:260 -msgid "function missing required keyword argument '%q'" +msgid "LHS of keyword arg must be an id" msgstr "" -#: py/bc.c:269 -msgid "function missing keyword-only argument" +msgid "Layer must be a Group or TileGrid subclass." msgstr "" -#: py/binary.c:112 -msgid "bad typecode" -msgstr "" +msgid "Length must be an int" +msgstr "Tamanho deve ser um int" -#: py/builtinevex.c:99 -msgid "bad compile mode" +msgid "Length must be non-negative" msgstr "" -#: py/builtinhelp.c:137 -#, fuzzy -msgid "Plus any modules on the filesystem\n" -msgstr "Não é possível remontar o sistema de arquivos" - -#: py/builtinhelp.c:183 -#, c-format msgid "" -"Welcome to Adafruit CircuitPython %s!\n" -"\n" -"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" -"\n" -"To list built-in modules please do `help(\"modules\")`.\n" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" msgstr "" -#: py/builtinimport.c:336 -msgid "cannot perform relative import" -msgstr "" +msgid "MISO pin init failed." +msgstr "Inicialização do pino MISO falhou" -#: py/builtinimport.c:420 py/builtinimport.c:532 -msgid "module not found" -msgstr "" +msgid "MOSI pin init failed." +msgstr "Inicialização do pino MOSI falhou." -#: py/builtinimport.c:423 py/builtinimport.c:535 -msgid "no module named '%q'" -msgstr "" +#, c-format +msgid "Maximum PWM frequency is %dhz." +msgstr "A frequência máxima PWM é de %dhz." -#: py/builtinimport.c:510 -msgid "relative import" +#, c-format +msgid "Maximum x value when mirrored is %d" msgstr "" -#: py/compile.c:397 py/compile.c:542 -msgid "can't assign to expression" +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" msgstr "" -#: py/compile.c:416 -msgid "multiple *x in assignment" +msgid "MicroPython fatal error.\n" msgstr "" -#: py/compile.c:642 -msgid "non-default argument follows default argument" +msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" -#: py/compile.c:771 py/compile.c:789 -msgid "invalid micropython decorator" -msgstr "" +msgid "Minimum PWM frequency is 1hz." +msgstr "A frequência mínima PWM é de 1hz" -#: py/compile.c:943 -msgid "can't delete expression" -msgstr "" +#, c-format +msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." +msgstr "Múltiplas frequências PWM não suportadas. PWM já definido para %dhz." -#: py/compile.c:955 -msgid "'break' outside loop" +msgid "Must be a Group subclass." msgstr "" -#: py/compile.c:958 -msgid "'continue' outside loop" -msgstr "" +msgid "No DAC on chip" +msgstr "Nenhum DAC no chip" -#: py/compile.c:969 -msgid "'return' outside function" -msgstr "" +msgid "No DMA channel found" +msgstr "Nenhum canal DMA encontrado" -#: py/compile.c:1169 -msgid "identifier redefined as global" -msgstr "" +msgid "No PulseIn support for %q" +msgstr "Não há suporte para PulseIn no pino %q" -#: py/compile.c:1185 -msgid "no binding for nonlocal found" -msgstr "" +msgid "No RX pin" +msgstr "Nenhum pino RX" -#: py/compile.c:1188 -msgid "identifier redefined as nonlocal" -msgstr "" +msgid "No TX pin" +msgstr "Nenhum pino TX" -#: py/compile.c:1197 -msgid "can't declare nonlocal in outer code" -msgstr "" +msgid "No default I2C bus" +msgstr "Nenhum barramento I2C padrão" -#: py/compile.c:1542 -msgid "default 'except' must be last" -msgstr "" +msgid "No default SPI bus" +msgstr "Nenhum barramento SPI padrão" -#: py/compile.c:2095 -msgid "*x must be assignment target" -msgstr "" +msgid "No default UART bus" +msgstr "Nenhum barramento UART padrão" -#: py/compile.c:2193 -msgid "super() can't find self" -msgstr "" +msgid "No free GCLKs" +msgstr "Não há GCLKs livre" -#: py/compile.c:2256 -msgid "can't have multiple *x" +msgid "No hardware random available" msgstr "" -#: py/compile.c:2263 -msgid "can't have multiple **x" -msgstr "" +msgid "No hardware support for analog out." +msgstr "Nenhum suporte de hardware para saída analógica." -#: py/compile.c:2271 -msgid "LHS of keyword arg must be an id" -msgstr "" +msgid "No hardware support on pin" +msgstr "Nenhum suporte de hardware no pino" -#: py/compile.c:2287 -msgid "non-keyword arg after */**" +msgid "No space left on device" msgstr "" -#: py/compile.c:2291 -msgid "non-keyword arg after keyword arg" +msgid "No such file/directory" msgstr "" -#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742 -#: py/parse.c:1176 -msgid "invalid syntax" -msgstr "" +#, fuzzy +msgid "Not connected" +msgstr "Não é possível conectar-se ao AP" -#: py/compile.c:2465 -msgid "expecting key:value for dict" +msgid "Not connected." msgstr "" -#: py/compile.c:2475 -msgid "expecting just a value for set" +msgid "Not playing" msgstr "" -#: py/compile.c:2600 -msgid "'yield' outside function" +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." msgstr "" +"Objeto foi desinicializado e não pode ser mais usaado. Crie um novo objeto." -#: py/compile.c:2619 -msgid "'await' outside function" -msgstr "" +#, fuzzy +msgid "Odd parity is not supported" +msgstr "I2C operação não suportada" -#: py/compile.c:2774 -msgid "name reused for argument" +msgid "Only 8 or 16 bit mono with " msgstr "" -#: py/compile.c:2827 -msgid "parameter annotation must be an identifier" -msgstr "" +#, c-format +msgid "Only Windows format, uncompressed BMP supported %d" +msgstr "Apenas formato Windows, BMP descomprimido suportado" -#: py/compile.c:2969 py/compile.c:3137 -msgid "return annotation must be an identifier" -msgstr "" +msgid "Only bit maps of 8 bit color or less are supported" +msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados" -#: py/compile.c:3097 -msgid "inline assembler must be a function" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" -#: py/compile.c:3134 -msgid "unknown type" -msgstr "" +#, c-format +msgid "Only true color (24 bpp or higher) BMP supported %x" +msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" -#: py/compile.c:3154 -msgid "expecting an assembler instruction" -msgstr "" +msgid "Only tx supported on UART1 (GPIO2)." +msgstr "Apenas TX suportado no UART1 (GPIO2)." -#: py/compile.c:3184 -msgid "'label' requires 1 argument" +msgid "Oversample must be multiple of 8." msgstr "" -#: py/compile.c:3190 -msgid "label redefined" +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" msgstr "" -#: py/compile.c:3196 -msgid "'align' requires 1 argument" +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." msgstr "" -#: py/compile.c:3205 -msgid "'data' requires at least 2 arguments" -msgstr "" +#, c-format +msgid "PWM not supported on pin %d" +msgstr "PWM não suportado no pino %d" -#: py/compile.c:3212 -msgid "'data' requires integer arguments" -msgstr "" +msgid "Permission denied" +msgstr "Permissão negada" -#: py/emitinlinethumb.c:102 -msgid "can only have up to 4 parameters to Thumb assembly" -msgstr "" +msgid "Pin %q does not have ADC capabilities" +msgstr "Pino %q não tem recursos de ADC" -#: py/emitinlinethumb.c:107 py/emitinlinethumb.c:112 -msgid "parameters must be registers in sequence r0 to r3" -msgstr "" +msgid "Pin does not have ADC capabilities" +msgstr "O pino não tem recursos de ADC" -#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230 -#, c-format -msgid "'%s' expects at most r%d" -msgstr "" +msgid "Pin(16) doesn't support pull" +msgstr "Pino (16) não suporta pull" -#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162 -#, c-format -msgid "'%s' expects a register" -msgstr "" +msgid "Pins not valid for SPI" +msgstr "Pinos não válidos para SPI" -#: py/emitinlinethumb.c:211 -#, c-format -msgid "'%s' expects a special register" +msgid "Pixel beyond bounds of buffer" msgstr "" -#: py/emitinlinethumb.c:239 -#, c-format -msgid "'%s' expects an FPU register" -msgstr "" +#, fuzzy +msgid "Plus any modules on the filesystem\n" +msgstr "Não é possível remontar o sistema de arquivos" -#: py/emitinlinethumb.c:292 -#, c-format -msgid "'%s' expects {r0, r1, ...}" +msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "" -#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169 -#, c-format -msgid "'%s' expects an integer" +msgid "Pull not used when direction is output." msgstr "" -#: py/emitinlinethumb.c:304 -#, c-format -msgid "'%s' integer 0x%x does not fit in mask 0x%x" -msgstr "" +msgid "RTC calibration is not supported on this board" +msgstr "A calibração RTC não é suportada nesta placa" -#: py/emitinlinethumb.c:328 -#, c-format -msgid "'%s' expects an address of the form [a, b]" -msgstr "" +msgid "RTC is not supported on this board" +msgstr "O RTC não é suportado nesta placa" -#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182 -#, c-format -msgid "'%s' expects a label" +msgid "Range out of bounds" msgstr "" -#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193 -msgid "label '%q' not defined" -msgstr "" +msgid "Read-only" +msgstr "Somente leitura" -#: py/emitinlinethumb.c:806 -#, c-format -msgid "unsupported Thumb instruction '%s' with %d arguments" -msgstr "" +msgid "Read-only filesystem" +msgstr "Sistema de arquivos somente leitura" -#: py/emitinlinethumb.c:810 #, fuzzy -msgid "branch not in range" -msgstr "Calibração está fora do intervalo" +msgid "Read-only object" +msgstr "Somente leitura" -#: py/emitinlinextensa.c:86 -msgid "can only have up to 4 parameters to Xtensa assembly" -msgstr "" +msgid "Right channel unsupported" +msgstr "Canal direito não suportado" -#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96 -msgid "parameters must be registers in sequence a2 to a5" -msgstr "" +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "Rodando em modo seguro! Atualização automática está desligada.\n" -#: py/emitinlinextensa.c:174 -#, c-format -msgid "'%s' integer %d is not within range %d..%d" -msgstr "" +msgid "Running in safe mode! Not running saved code.\n" +msgstr "Rodando em modo seguro! Não está executando o código salvo.\n" -#: py/emitinlinextensa.c:327 -#, c-format -msgid "unsupported Xtensa instruction '%s' with %d arguments" -msgstr "" +msgid "SDA or SCL needs a pull up" +msgstr "SDA ou SCL precisa de um pull up" -#: py/emitnative.c:183 -msgid "unknown type '%q'" -msgstr "" +msgid "STA must be active" +msgstr "STA deve estar ativo" -#: py/emitnative.c:260 -msgid "Viper functions don't currently support more than 4 arguments" -msgstr "" +msgid "STA required" +msgstr "STA requerido" -#: py/emitnative.c:742 -msgid "conversion to object" +msgid "Sample rate must be positive" msgstr "" -#: py/emitnative.c:921 -msgid "local '%q' used before type known" -msgstr "" +#, c-format +msgid "Sample rate too high. It must be less than %d" +msgstr "Taxa de amostragem muito alta. Deve ser menor que %d" -#: py/emitnative.c:1118 py/emitnative.c:1156 -msgid "can't load from '%q'" -msgstr "" +msgid "Serializer in use" +msgstr "Serializer em uso" -#: py/emitnative.c:1128 -msgid "can't load with '%q' index" +msgid "Slice and value different lengths." msgstr "" -#: py/emitnative.c:1188 -msgid "local '%q' has type '%q' but source is '%q'" +msgid "Slices not supported" msgstr "" -#: py/emitnative.c:1289 py/emitnative.c:1379 -msgid "can't store '%q'" +#, c-format +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: py/emitnative.c:1358 py/emitnative.c:1419 -msgid "can't store to '%q'" +msgid "Splitting with sub-captures" msgstr "" -#: py/emitnative.c:1369 -msgid "can't store with '%q' index" +msgid "Stack size must be at least 256" +msgstr "O tamanho da pilha deve ser pelo menos 256" + +msgid "Stream missing readinto() or write() method." msgstr "" -#: py/emitnative.c:1540 -msgid "can't implicitly convert '%q' to 'bool'" +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" msgstr "" -#: py/emitnative.c:1774 -msgid "unary op %q not implemented" +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" msgstr "" -#: py/emitnative.c:1930 -msgid "binary op %q not implemented" +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" msgstr "" -#: py/emitnative.c:1951 -msgid "can't do binary op between '%q' and '%q'" +msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: py/emitnative.c:2126 -msgid "casting" +msgid "The sample's channel count does not match the mixer's" msgstr "" -#: py/emitnative.c:2173 -msgid "return expected '%q' but got '%q'" +msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: py/emitnative.c:2191 -msgid "must raise an object" +msgid "The sample's signedness does not match the mixer's" msgstr "" -#: py/emitnative.c:2201 -msgid "native yield" +msgid "Tile height must exactly divide bitmap height" msgstr "" -#: py/lexer.c:345 -msgid "unicode name escapes" +msgid "Tile width must exactly divide bitmap width" msgstr "" -#: py/modbuiltins.c:162 -msgid "chr() arg not in range(0x110000)" -msgstr "" +msgid "To exit, please reset the board without " +msgstr "Para sair, por favor, reinicie a placa sem " -#: py/modbuiltins.c:171 -msgid "chr() arg not in range(256)" -msgstr "" +msgid "Too many channels in sample." +msgstr "Muitos canais na amostra." -#: py/modbuiltins.c:285 -msgid "arg is an empty sequence" +msgid "Too many display busses" msgstr "" -#: py/modbuiltins.c:350 -msgid "ord expects a character" +msgid "Too many displays" msgstr "" -#: py/modbuiltins.c:353 -#, c-format -msgid "ord() expected a character, but string of length %d found" +msgid "Traceback (most recent call last):\n" msgstr "" -#: py/modbuiltins.c:363 -msgid "3-arg pow() not supported" -msgstr "" +msgid "Tuple or struct_time argument required" +msgstr "Tuple or struct_time argument required" -#: py/modbuiltins.c:521 -msgid "must use keyword argument for key function" -msgstr "" +#, c-format +msgid "UART(%d) does not exist" +msgstr "UART(%d) não existe" -#: py/modmath.c:41 shared-bindings/math/__init__.c:53 -msgid "math domain error" -msgstr "" +msgid "UART(1) can't read" +msgstr "UART(1) não pode ler" -#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222 -#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346 -msgid "division by zero" -msgstr "divisão por zero" +msgid "USB Busy" +msgstr "USB ocupada" -#: py/modmicropython.c:155 -msgid "schedule stack full" +msgid "USB Error" +msgstr "Erro na USB" + +msgid "UUID integer value not in range 0 to 0xffff" msgstr "" -#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254 -#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161 -#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183 -msgid "buffer too small" +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "" -#: py/modthread.c:240 -msgid "expecting a dict for keyword args" +msgid "UUID value is not str, int or byte buffer" msgstr "" -#: py/moduerrno.c:147 py/moduerrno.c:150 -msgid "Permission denied" -msgstr "Permissão negada" +msgid "Unable to allocate buffers for signed conversion" +msgstr "Não é possível alocar buffers para conversão assinada" -#: py/moduerrno.c:148 -msgid "No such file/directory" -msgstr "" +msgid "Unable to find free GCLK" +msgstr "Não é possível encontrar GCLK livre" -#: py/moduerrno.c:149 -msgid "Input/output error" +msgid "Unable to init parser" msgstr "" -#: py/moduerrno.c:151 -msgid "File exists" -msgstr "Arquivo já existe" +msgid "Unable to remount filesystem" +msgstr "Não é possível remontar o sistema de arquivos" -#: py/moduerrno.c:152 -msgid "Unsupported operation" +msgid "Unable to write to nvm." +msgstr "Não é possível gravar no nvm." + +msgid "Unexpected nrfx uuid type" msgstr "" -#: py/moduerrno.c:153 -msgid "Invalid argument" -msgstr "Argumento inválido" +msgid "Unknown type" +msgstr "Tipo desconhecido" -#: py/moduerrno.c:154 -msgid "No space left on device" +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" -#: py/obj.c:92 -msgid "Traceback (most recent call last):\n" -msgstr "" +msgid "Unsupported baudrate" +msgstr "Taxa de transmissão não suportada" -#: py/obj.c:96 -msgid " File \"%q\", line %d" -msgstr " Arquivo \"%q\", linha %d" +#, fuzzy +msgid "Unsupported display bus type" +msgstr "Taxa de transmissão não suportada" -#: py/obj.c:98 -msgid " File \"%q\"" -msgstr " Arquivo \"%q\"" +msgid "Unsupported format" +msgstr "Formato não suportado" -#: py/obj.c:102 -msgid ", in %q\n" +msgid "Unsupported operation" msgstr "" -#: py/obj.c:259 -msgid "can't convert to int" +msgid "Unsupported pull value." msgstr "" -#: py/obj.c:262 -#, c-format -msgid "can't convert %s to int" -msgstr "" +msgid "Use esptool to erase flash and re-upload Python instead" +msgstr "Use o esptool para apagar o flash e recarregar o Python" -#: py/obj.c:322 -msgid "can't convert to float" +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" -#: py/obj.c:325 -#, c-format -msgid "can't convert %s to float" +msgid "Voice index too high" msgstr "" -#: py/obj.c:355 -msgid "can't convert to complex" -msgstr "" +msgid "WARNING: Your code filename has two extensions\n" +msgstr "AVISO: Seu arquivo de código tem duas extensões\n" -#: py/obj.c:358 #, c-format -msgid "can't convert %s to complex" +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" msgstr "" -#: py/obj.c:373 -msgid "expected tuple/list" +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" msgstr "" -#: py/obj.c:376 +msgid "You requested starting safe mode by " +msgstr "Você solicitou o início do modo de segurança" + #, c-format -msgid "object '%s' is not a tuple or list" +msgid "[addrinfo error %d]" msgstr "" -#: py/obj.c:387 -msgid "tuple/list has wrong length" +msgid "__init__() should return None" msgstr "" -#: py/obj.c:389 #, c-format -msgid "requested length %d but object has length %d" -msgstr "" - -#: py/obj.c:402 -msgid "indices must be integers" +msgid "__init__() should return None, not '%s'" msgstr "" -#: py/obj.c:405 -msgid "%q indices must be integers, not %s" +msgid "__new__ arg must be a user-type" msgstr "" -#: py/obj.c:425 -msgid "%q index out of range" +msgid "a bytes-like object is required" msgstr "" -#: py/obj.c:457 -msgid "object has no len" -msgstr "" +msgid "abort() called" +msgstr "abort() chamado" -#: py/obj.c:460 #, c-format -msgid "object of type '%s' has no len()" -msgstr "" +msgid "address %08x is not aligned to %d bytes" +msgstr "endereço %08x não está alinhado com %d bytes" -#: py/obj.c:500 -msgid "object does not support item deletion" +msgid "address out of bounds" msgstr "" -#: py/obj.c:503 -#, c-format -msgid "'%s' object does not support item deletion" +msgid "addresses is empty" msgstr "" -#: py/obj.c:507 -msgid "object is not subscriptable" +msgid "arg is an empty sequence" msgstr "" -#: py/obj.c:510 -#, c-format -msgid "'%s' object is not subscriptable" +msgid "argument has wrong type" +msgstr "argumento tem tipo errado" + +msgid "argument num/types mismatch" msgstr "" -#: py/obj.c:514 -msgid "object does not support item assignment" +msgid "argument should be a '%q' not a '%q'" msgstr "" -#: py/obj.c:517 -#, c-format -msgid "'%s' object does not support item assignment" +msgid "array/bytes required on right side" msgstr "" -#: py/obj.c:548 -msgid "object with buffer protocol required" +msgid "attributes not supported yet" +msgstr "atributos ainda não suportados" + +msgid "bad GATT role" msgstr "" -#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188 -#: shared-bindings/nvm/ByteArray.c:85 -msgid "only slices with step=1 (aka None) are supported" +msgid "bad compile mode" msgstr "" -#: py/objarray.c:426 -msgid "lhs and rhs should be compatible" +msgid "bad conversion specifier" msgstr "" -#: py/objarray.c:444 shared-bindings/nvm/ByteArray.c:107 -msgid "array/bytes required on right side" +msgid "bad format string" msgstr "" -#: py/objcomplex.c:203 -msgid "can't do truncated division of a complex number" +msgid "bad typecode" msgstr "" -#: py/objcomplex.c:209 -msgid "complex division by zero" +msgid "binary op %q not implemented" msgstr "" -#: py/objcomplex.c:237 -msgid "0.0 to a complex power" +msgid "bits must be 7, 8 or 9" msgstr "" -#: py/objdeque.c:107 -msgid "full" -msgstr "cheio" +msgid "bits must be 8" +msgstr "bits devem ser 8" -#: py/objdeque.c:127 -msgid "empty" -msgstr "vazio" +#, fuzzy +msgid "bits_per_sample must be 8 or 16" +msgstr "bits devem ser 8" -#: py/objdict.c:315 -msgid "popitem(): dictionary is empty" -msgstr "" +#, fuzzy +msgid "branch not in range" +msgstr "Calibração está fora do intervalo" -#: py/objdict.c:358 -msgid "dict update sequence has wrong length" +#, c-format +msgid "buf is too small. need %d bytes" msgstr "" -#: py/objfloat.c:308 py/parsenum.c:331 -msgid "complex values not supported" +msgid "buffer must be a bytes-like object" msgstr "" -#: py/objgenerator.c:108 -msgid "can't send non-None value to a just-started generator" -msgstr "" +#, fuzzy +msgid "buffer size must match format" +msgstr "buffers devem ser o mesmo tamanho" -#: py/objgenerator.c:126 -msgid "generator already executing" +msgid "buffer slices must be of equal length" msgstr "" -#: py/objgenerator.c:229 -msgid "generator ignored GeneratorExit" +msgid "buffer too long" +msgstr "buffer muito longo" + +msgid "buffer too small" msgstr "" -#: py/objgenerator.c:251 -msgid "can't pend throw to just-started generator" +msgid "buffers must be the same length" +msgstr "buffers devem ser o mesmo tamanho" + +msgid "byte code not implemented" msgstr "" -#: py/objint.c:144 -msgid "can't convert inf to int" +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" msgstr "" -#: py/objint.c:146 -msgid "can't convert NaN to int" +msgid "bytes > 8 bits not supported" +msgstr "bytes > 8 bits não suportado" + +msgid "bytes value out of range" msgstr "" -#: py/objint.c:163 -msgid "float too big" -msgstr "float muito grande" +msgid "calibration is out of range" +msgstr "Calibração está fora do intervalo" -#: py/objint.c:328 -msgid "long int not supported in this build" +msgid "calibration is read only" +msgstr "Calibração é somente leitura" + +msgid "calibration value out of range +/-127" +msgstr "Valor de calibração fora do intervalo +/- 127" + +msgid "can only have up to 4 parameters to Thumb assembly" msgstr "" -#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358 -#: py/sequence.c:41 -msgid "small int overflow" +msgid "can only have up to 4 parameters to Xtensa assembly" msgstr "" -#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486 -msgid "negative power with no float support" +msgid "can only save bytecode" msgstr "" -#: py/objint_longlong.c:251 -msgid "ulonglong too large" +msgid "can query only one param" +msgstr "pode consultar apenas um parâmetro" + +msgid "can't add special method to already-subclassed class" msgstr "" -#: py/objint_mpz.c:267 py/runtime.c:396 py/runtime.c:411 -msgid "negative shift count" +msgid "can't assign to expression" msgstr "" -#: py/objint_mpz.c:336 -msgid "pow() with 3 arguments requires integers" +#, c-format +msgid "can't convert %s to complex" msgstr "" -#: py/objint_mpz.c:347 -msgid "pow() 3rd argument cannot be 0" +#, c-format +msgid "can't convert %s to float" +msgstr "" + +#, c-format +msgid "can't convert %s to int" msgstr "" -#: py/objint_mpz.c:415 -msgid "overflow converting long int to machine word" +msgid "can't convert '%q' object to %q implicitly" msgstr "" -#: py/objlist.c:274 -msgid "pop from empty list" +msgid "can't convert NaN to int" msgstr "" -#: py/objnamedtuple.c:92 -msgid "can't set attribute" +msgid "can't convert address to int" msgstr "" -#: py/objobject.c:55 -msgid "__new__ arg must be a user-type" +msgid "can't convert inf to int" msgstr "" -#: py/objrange.c:110 -msgid "zero step" -msgstr "passo zero" - -#: py/objset.c:371 -msgid "pop from an empty set" +msgid "can't convert to complex" msgstr "" -#: py/objslice.c:66 -msgid "Length must be an int" -msgstr "Tamanho deve ser um int" - -#: py/objslice.c:71 -msgid "Length must be non-negative" +msgid "can't convert to float" msgstr "" -#: py/objslice.c:86 py/sequence.c:66 -msgid "slice step cannot be zero" +msgid "can't convert to int" msgstr "" -#: py/objslice.c:159 -msgid "Cannot subclass slice" +msgid "can't convert to str implicitly" msgstr "" -#: py/objstr.c:261 -msgid "bytes value out of range" +msgid "can't declare nonlocal in outer code" msgstr "" -#: py/objstr.c:270 -msgid "wrong number of arguments" +msgid "can't delete expression" msgstr "" -#: py/objstr.c:414 py/objstrunicode.c:118 -msgid "offset out of bounds" +msgid "can't do binary op between '%q' and '%q'" msgstr "" -#: py/objstr.c:477 -msgid "join expects a list of str/bytes objects consistent with self object" +msgid "can't do truncated division of a complex number" msgstr "" -#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754 -msgid "empty separator" +msgid "can't get AP config" +msgstr "não pode obter configuração de AP" + +msgid "can't get STA config" +msgstr "não pode obter a configuração STA" + +msgid "can't have multiple **x" msgstr "" -#: py/objstr.c:651 -msgid "rsplit(None,n)" +msgid "can't have multiple *x" msgstr "" -#: py/objstr.c:723 -msgid "substring not found" +msgid "can't implicitly convert '%q' to 'bool'" msgstr "" -#: py/objstr.c:780 -msgid "start/end indices" +msgid "can't load from '%q'" msgstr "" -#: py/objstr.c:941 -msgid "bad format string" +msgid "can't load with '%q' index" msgstr "" -#: py/objstr.c:963 -msgid "single '}' encountered in format string" +msgid "can't pend throw to just-started generator" msgstr "" -#: py/objstr.c:1002 -msgid "bad conversion specifier" +msgid "can't send non-None value to a just-started generator" msgstr "" -#: py/objstr.c:1006 -msgid "end of format while looking for conversion specifier" +msgid "can't set AP config" +msgstr "não é possível definir a configuração do AP" + +msgid "can't set STA config" +msgstr "não é possível definir a configuração STA" + +msgid "can't set attribute" msgstr "" -#: py/objstr.c:1008 -#, c-format -msgid "unknown conversion specifier %c" +msgid "can't store '%q'" msgstr "" -#: py/objstr.c:1039 -msgid "unmatched '{' in format" +msgid "can't store to '%q'" msgstr "" -#: py/objstr.c:1046 -msgid "expected ':' after format specifier" +msgid "can't store with '%q' index" msgstr "" -#: py/objstr.c:1060 msgid "" "can't switch from automatic field numbering to manual field specification" msgstr "" -#: py/objstr.c:1065 py/objstr.c:1093 -msgid "tuple index out of range" -msgstr "" - -#: py/objstr.c:1081 -msgid "attributes not supported yet" -msgstr "atributos ainda não suportados" - -#: py/objstr.c:1089 msgid "" "can't switch from manual field specification to automatic field numbering" msgstr "" -#: py/objstr.c:1181 -msgid "invalid format specifier" +msgid "cannot create '%q' instances" msgstr "" -#: py/objstr.c:1202 -msgid "sign not allowed in string format specifier" -msgstr "" +msgid "cannot create instance" +msgstr "não é possível criar instância" -#: py/objstr.c:1210 -msgid "sign not allowed with integer format specifier 'c'" +msgid "cannot import name %q" +msgstr "não pode importar nome %q" + +msgid "cannot perform relative import" msgstr "" -#: py/objstr.c:1269 -#, c-format -msgid "unknown format code '%c' for object of type '%s'" +msgid "casting" msgstr "" -#: py/objstr.c:1341 -#, c-format -msgid "unknown format code '%c' for object of type 'float'" +msgid "characteristics includes an object that is not a Characteristic" msgstr "" -#: py/objstr.c:1353 -msgid "'=' alignment not allowed in string format specifier" +msgid "chars buffer too small" msgstr "" -#: py/objstr.c:1377 -#, c-format -msgid "unknown format code '%c' for object of type 'str'" +msgid "chr() arg not in range(0x110000)" msgstr "" -#: py/objstr.c:1425 -msgid "format requires a dict" +msgid "chr() arg not in range(256)" msgstr "" -#: py/objstr.c:1434 -msgid "incomplete format key" +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" msgstr "" -#: py/objstr.c:1492 -msgid "incomplete format" -msgstr "formato incompleto" +msgid "color buffer must be a buffer or int" +msgstr "" -#: py/objstr.c:1500 -msgid "not enough arguments for format string" +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" msgstr "" -#: py/objstr.c:1510 -#, c-format -msgid "%%c requires int or char" -msgstr "%%c requer int ou char" +msgid "color must be between 0x000000 and 0xffffff" +msgstr "cor deve estar entre 0x000000 e 0xffffff" -#: py/objstr.c:1517 -msgid "integer required" -msgstr "inteiro requerido" +msgid "color should be an int" +msgstr "cor deve ser um int" -#: py/objstr.c:1580 -#, c-format -msgid "unsupported format character '%c' (0x%x) at index %d" +msgid "complex division by zero" msgstr "" -#: py/objstr.c:1587 -msgid "not all arguments converted during string formatting" +msgid "complex values not supported" msgstr "" -#: py/objstr.c:2112 -msgid "can't convert to str implicitly" +msgid "compression header" msgstr "" -#: py/objstr.c:2116 -msgid "can't convert '%q' object to %q implicitly" +msgid "constant must be an integer" +msgstr "constante deve ser um inteiro" + +msgid "conversion to object" msgstr "" -#: py/objstrunicode.c:154 -#, c-format -msgid "string indices must be integers, not %s" +msgid "decimal numbers not supported" msgstr "" -#: py/objstrunicode.c:165 py/objstrunicode.c:184 -msgid "string index out of range" +msgid "default 'except' must be last" msgstr "" -#: py/objtype.c:371 -msgid "__init__() should return None" +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" msgstr "" -#: py/objtype.c:373 -#, c-format -msgid "__init__() should return None, not '%s'" +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" msgstr "" -#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065 -msgid "unreadable attribute" -msgstr "atributo ilegível" +msgid "destination_length must be an int >= 0" +msgstr "destination_length deve ser um int >= 0" -#: py/objtype.c:881 py/runtime.c:653 -msgid "object not callable" +msgid "dict update sequence has wrong length" msgstr "" -#: py/objtype.c:883 py/runtime.c:655 -#, c-format -msgid "'%s' object is not callable" -msgstr "" +msgid "division by zero" +msgstr "divisão por zero" -#: py/objtype.c:991 -msgid "type takes 1 or 3 arguments" +msgid "either pos or kw args are allowed" +msgstr "pos ou kw args são permitidos" + +msgid "empty" +msgstr "vazio" + +msgid "empty heap" +msgstr "heap vazia" + +msgid "empty separator" msgstr "" -#: py/objtype.c:1002 -msgid "cannot create instance" -msgstr "não é possível criar instância" +msgid "empty sequence" +msgstr "seqüência vazia" -#: py/objtype.c:1004 -msgid "cannot create '%q' instances" +msgid "end of format while looking for conversion specifier" msgstr "" -#: py/objtype.c:1062 -msgid "can't add special method to already-subclassed class" +#, fuzzy +msgid "end_x should be an int" +msgstr "y deve ser um int" + +#, c-format +msgid "error = 0x%08lX" +msgstr "erro = 0x%08lX" + +msgid "exceptions must derive from BaseException" msgstr "" -#: py/objtype.c:1106 py/objtype.c:1112 -msgid "type is not an acceptable base type" +msgid "expected ':' after format specifier" msgstr "" -#: py/objtype.c:1115 -msgid "type '%q' is not an acceptable base type" +msgid "expected a DigitalInOut" msgstr "" -#: py/objtype.c:1152 -msgid "multiple inheritance not supported" +msgid "expected tuple/list" msgstr "" -#: py/objtype.c:1179 -msgid "multiple bases have instance lay-out conflict" +msgid "expecting a dict for keyword args" msgstr "" -#: py/objtype.c:1220 -msgid "first argument to super() must be type" +msgid "expecting a pin" +msgstr "esperando um pino" + +msgid "expecting an assembler instruction" msgstr "" -#: py/objtype.c:1385 -msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgid "expecting just a value for set" msgstr "" -#: py/objtype.c:1399 -msgid "issubclass() arg 1 must be a class" +msgid "expecting key:value for dict" msgstr "" -#: py/parse.c:726 -msgid "constant must be an integer" -msgstr "constante deve ser um inteiro" +msgid "extra keyword arguments given" +msgstr "argumentos extras de palavras-chave passados" -#: py/parse.c:868 -msgid "Unable to init parser" -msgstr "" +msgid "extra positional arguments given" +msgstr "argumentos extra posicionais passados" -#: py/parse.c:1170 -msgid "unexpected indent" +msgid "ffi_prep_closure_loc" +msgstr "ffi_prep_closure_loc" + +msgid "file must be a file opened in byte mode" msgstr "" -#: py/parse.c:1173 -msgid "unindent does not match any outer indentation level" +msgid "filesystem must provide mount method" +msgstr "sistema de arquivos deve fornecer método de montagem" + +msgid "first argument to super() must be type" msgstr "" -#: py/parsenum.c:60 -msgid "int() arg 2 must be >= 2 and <= 36" +msgid "firstbit must be MSB" +msgstr "firstbit devem ser MSB" + +msgid "flash location must be below 1MByte" +msgstr "o local do flash deve estar abaixo de 1 MByte" + +msgid "float too big" +msgstr "float muito grande" + +msgid "font must be 2048 bytes long" msgstr "" -#: py/parsenum.c:151 -msgid "invalid syntax for integer" +msgid "format requires a dict" msgstr "" -#: py/parsenum.c:155 +msgid "frequency can only be either 80Mhz or 160MHz" +msgstr "A frequência só pode ser 80Mhz ou 160MHz" + +msgid "full" +msgstr "cheio" + +msgid "function does not take keyword arguments" +msgstr "função não aceita argumentos de palavras-chave" + #, c-format -msgid "invalid syntax for integer with base %d" -msgstr "" +msgid "function expected at most %d arguments, got %d" +msgstr "função esperada na maioria dos %d argumentos, obteve %d" -#: py/parsenum.c:339 -msgid "invalid syntax for number" +msgid "function got multiple values for argument '%q'" msgstr "" -#: py/parsenum.c:342 -msgid "decimal numbers not supported" +#, c-format +msgid "function missing %d required positional arguments" +msgstr "função ausente %d requer argumentos posicionais" + +msgid "function missing keyword-only argument" msgstr "" -#: py/persistentcode.c:223 -msgid "" -"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" -"mpy-update for more info." +msgid "function missing required keyword argument '%q'" msgstr "" -#: py/persistentcode.c:326 -msgid "can only save bytecode" +#, c-format +msgid "function missing required positional argument #%d" msgstr "" -#: py/runtime.c:206 -msgid "name not defined" -msgstr "nome não definido" +#, c-format +msgid "function takes %d positional arguments but %d were given" +msgstr "função leva %d argumentos posicionais, mas apenas %d foram passadas" + +msgid "function takes exactly 9 arguments" +msgstr "função leva exatamente 9 argumentos" -#: py/runtime.c:209 -msgid "name '%q' is not defined" +msgid "generator already executing" msgstr "" -#: py/runtime.c:304 py/runtime.c:611 -msgid "unsupported type for operator" +msgid "generator ignored GeneratorExit" msgstr "" -#: py/runtime.c:307 -msgid "unsupported type for %q: '%s'" +msgid "graphic must be 2048 bytes long" msgstr "" -#: py/runtime.c:614 -msgid "unsupported types for %q: '%s', '%s'" +msgid "heap must be a list" +msgstr "heap deve ser uma lista" + +msgid "identifier redefined as global" msgstr "" -#: py/runtime.c:881 py/runtime.c:888 py/runtime.c:945 -msgid "wrong number of values to unpack" +msgid "identifier redefined as nonlocal" msgstr "" -#: py/runtime.c:883 py/runtime.c:947 -#, c-format -msgid "need more than %d values to unpack" -msgstr "precisa de mais de %d valores para desempacotar" +msgid "impossible baudrate" +msgstr "taxa de transmissão impossível" -#: py/runtime.c:890 -#, c-format -msgid "too many values to unpack (expected %d)" +msgid "incomplete format" +msgstr "formato incompleto" + +msgid "incomplete format key" msgstr "" -#: py/runtime.c:984 -msgid "argument has wrong type" -msgstr "argumento tem tipo errado" +msgid "incorrect padding" +msgstr "preenchimento incorreto" -#: py/runtime.c:986 -msgid "argument should be a '%q' not a '%q'" -msgstr "" +msgid "index out of range" +msgstr "Índice fora do intervalo" -#: py/runtime.c:1123 py/runtime.c:1197 shared-bindings/_pixelbuf/__init__.c:106 -msgid "no such attribute" +msgid "indices must be integers" msgstr "" -#: py/runtime.c:1128 -msgid "type object '%q' has no attribute '%q'" +msgid "inline assembler must be a function" msgstr "" -#: py/runtime.c:1132 py/runtime.c:1200 -msgid "'%s' object has no attribute '%q'" +msgid "int() arg 2 must be >= 2 and <= 36" msgstr "" -#: py/runtime.c:1238 -msgid "object not iterable" -msgstr "objeto não iterável" +msgid "integer required" +msgstr "inteiro requerido" -#: py/runtime.c:1241 -#, c-format -msgid "'%s' object is not iterable" +msgid "interval not in range 0.0020 to 10.24" msgstr "" -#: py/runtime.c:1260 py/runtime.c:1296 -msgid "object not an iterator" -msgstr "" +msgid "invalid I2C peripheral" +msgstr "periférico I2C inválido" -#: py/runtime.c:1262 py/runtime.c:1298 -#, c-format -msgid "'%s' object is not an iterator" -msgstr "" +msgid "invalid SPI peripheral" +msgstr "periférico SPI inválido" -#: py/runtime.c:1401 -msgid "exceptions must derive from BaseException" -msgstr "" +msgid "invalid alarm" +msgstr "Alarme inválido" -#: py/runtime.c:1430 -msgid "cannot import name %q" -msgstr "não pode importar nome %q" +msgid "invalid arguments" +msgstr "argumentos inválidos" -#: py/runtime.c:1535 -msgid "memory allocation failed, heap is locked" -msgstr "" +msgid "invalid buffer length" +msgstr "comprimento de buffer inválido" -#: py/runtime.c:1539 -#, c-format -msgid "memory allocation failed, allocating %u bytes" -msgstr "" +msgid "invalid cert" +msgstr "certificado inválido" -#: py/runtime.c:1620 -msgid "maximum recursion depth exceeded" -msgstr "" +msgid "invalid data bits" +msgstr "Bits de dados inválidos" -#: py/sequence.c:273 -msgid "object not in sequence" -msgstr "objeto não em seqüência" +msgid "invalid dupterm index" +msgstr "Índice de dupterm inválido" -#: py/stream.c:96 -msgid "stream operation not supported" -msgstr "" +msgid "invalid format" +msgstr "formato inválido" -#: py/stream.c:254 -msgid "string not supported; use bytes or bytearray" +msgid "invalid format specifier" msgstr "" -#: py/stream.c:289 -msgid "length argument not allowed for this type" -msgstr "" +msgid "invalid key" +msgstr "chave inválida" -#: py/vm.c:255 -msgid "local variable referenced before assignment" +msgid "invalid micropython decorator" msgstr "" -#: py/vm.c:1142 -msgid "no active exception to reraise" -msgstr "" +msgid "invalid pin" +msgstr "Pino inválido" -#: py/vm.c:1284 -msgid "byte code not implemented" -msgstr "" +msgid "invalid step" +msgstr "passo inválido" -#: shared-bindings/_pixelbuf/PixelBuf.c:99 -#, c-format -msgid "byteorder is not an instance of ByteOrder (got a %s)" -msgstr "" +msgid "invalid stop bits" +msgstr "Bits de parada inválidos" -#: shared-bindings/_pixelbuf/PixelBuf.c:104 -#, c-format -msgid "Can not use dotstar with %s" +msgid "invalid syntax" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:116 -msgid "rawbuf is not the same size as buf" +msgid "invalid syntax for integer" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:121 #, c-format -msgid "buf is too small. need %d bytes" -msgstr "" - -#: shared-bindings/_pixelbuf/PixelBuf.c:127 -msgid "write_args must be a list, tuple, or None" +msgid "invalid syntax for integer with base %d" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:392 -msgid "Only slices with step=1 (aka None) are supported" +msgid "invalid syntax for number" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:394 -msgid "Range out of bounds" +msgid "issubclass() arg 1 must be a class" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:403 -msgid "tuple/list required on RHS" +msgid "issubclass() arg 2 must be a class or a tuple of classes" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:419 -#, c-format -msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgid "join expects a list of str/bytes objects consistent with self object" msgstr "" -#: shared-bindings/_pixelbuf/PixelBuf.c:442 -msgid "Pixel beyond bounds of buffer" +msgid "keyword argument(s) not yet implemented - use normal args instead" msgstr "" -#: shared-bindings/_pixelbuf/__init__.c:112 -#, fuzzy -msgid "readonly attribute" -msgstr "atributo ilegível" - -#: shared-bindings/_stage/Layer.c:71 -msgid "graphic must be 2048 bytes long" +msgid "keywords must be strings" msgstr "" -#: shared-bindings/_stage/Layer.c:77 shared-bindings/_stage/Text.c:75 -msgid "palette must be 32 bytes long" +msgid "label '%q' not defined" msgstr "" -#: shared-bindings/_stage/Layer.c:84 -msgid "map buffer too small" +msgid "label redefined" msgstr "" -#: shared-bindings/_stage/Text.c:69 -msgid "font must be 2048 bytes long" -msgstr "" +msgid "len must be multiple of 4" +msgstr "len deve ser múltiplo de 4" -#: shared-bindings/_stage/Text.c:81 -msgid "chars buffer too small" +msgid "length argument not allowed for this type" msgstr "" -#: shared-bindings/analogio/AnalogOut.c:118 -msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgid "lhs and rhs should be compatible" msgstr "" -#: shared-bindings/audiobusio/I2SOut.c:222 -#: shared-bindings/audioio/AudioOut.c:223 -msgid "Not playing" +msgid "local '%q' has type '%q' but source is '%q'" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:124 -msgid "Bit depth must be multiple of 8." +msgid "local '%q' used before type known" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:128 -msgid "Oversample must be multiple of 8." +msgid "local variable referenced before assignment" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:136 -msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgid "long int not supported in this build" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:193 -msgid "destination_length must be an int >= 0" -msgstr "destination_length deve ser um int >= 0" - -#: shared-bindings/audiobusio/PDMIn.c:199 -msgid "Cannot record to a file" -msgstr "Não é possível gravar em um arquivo" - -#: shared-bindings/audiobusio/PDMIn.c:202 -msgid "Destination capacity is smaller than destination_length." +msgid "map buffer too small" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:206 -msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgid "math domain error" msgstr "" -#: shared-bindings/audiobusio/PDMIn.c:208 -msgid "" -"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgid "maximum recursion depth exceeded" msgstr "" -#: shared-bindings/audioio/Mixer.c:91 -#, fuzzy -msgid "Invalid voice count" -msgstr "certificado inválido" - -#: shared-bindings/audioio/Mixer.c:96 -#, fuzzy -msgid "Invalid channel count" -msgstr "certificado inválido" - -#: shared-bindings/audioio/Mixer.c:100 -msgid "Sample rate must be positive" +#, c-format +msgid "memory allocation failed, allocating %u bytes" msgstr "" -#: shared-bindings/audioio/Mixer.c:104 -#, fuzzy -msgid "bits_per_sample must be 8 or 16" -msgstr "bits devem ser 8" +#, c-format +msgid "memory allocation failed, allocating %u bytes for native code" +msgstr "alocação de memória falhou, alocando %u bytes para código nativo" -#: shared-bindings/audioio/RawSample.c:95 -msgid "" -"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " -"'B'" +msgid "memory allocation failed, heap is locked" msgstr "" -#: shared-bindings/audioio/RawSample.c:101 -msgid "buffer must be a bytes-like object" +msgid "module not found" msgstr "" -#: shared-bindings/audioio/WaveFile.c:78 -#: shared-bindings/displayio/OnDiskBitmap.c:85 -msgid "file must be a file opened in byte mode" +msgid "multiple *x in assignment" msgstr "" -#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119 -#: shared-bindings/busio/SPI.c:130 -msgid "Function requires lock" +msgid "multiple bases have instance lay-out conflict" msgstr "" -#: shared-bindings/bitbangio/I2C.c:193 shared-bindings/busio/I2C.c:207 -msgid "Buffer must be at least length 1" +msgid "multiple inheritance not supported" msgstr "" -#: shared-bindings/bitbangio/SPI.c:149 shared-bindings/busio/SPI.c:172 -msgid "Invalid polarity" +msgid "must raise an object" msgstr "" -#: shared-bindings/bitbangio/SPI.c:153 shared-bindings/busio/SPI.c:176 -msgid "Invalid phase" -msgstr "Fase Inválida" - -#: shared-bindings/bitbangio/SPI.c:157 shared-bindings/busio/SPI.c:180 -msgid "Invalid number of bits" -msgstr "Número inválido de bits" +msgid "must specify all of sck/mosi/miso" +msgstr "deve especificar todos sck/mosi/miso" -#: shared-bindings/bitbangio/SPI.c:282 shared-bindings/busio/SPI.c:345 -msgid "buffer slices must be of equal length" +msgid "must use keyword argument for key function" msgstr "" -#: shared-bindings/bleio/Address.c:115 -#, c-format -msgid "Address is not %d bytes long or is in wrong format" +msgid "name '%q' is not defined" msgstr "" -#: shared-bindings/bleio/Address.c:122 -#, fuzzy, c-format -msgid "Address must be %d bytes long" -msgstr "buffers devem ser o mesmo tamanho" - -#: shared-bindings/bleio/Characteristic.c:74 -#: shared-bindings/bleio/Descriptor.c:86 shared-bindings/bleio/Service.c:66 -#, fuzzy -msgid "Expected a UUID" -msgstr "Esperado um" - -#: shared-bindings/bleio/CharacteristicBuffer.c:39 -#, fuzzy -msgid "Not connected" -msgstr "Não é possível conectar-se ao AP" - -#: shared-bindings/bleio/CharacteristicBuffer.c:74 -#, fuzzy -msgid "timeout must be >= 0.0" -msgstr "bits devem ser 8" - -#: shared-bindings/bleio/CharacteristicBuffer.c:79 -#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68 -#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69 -#: shared-bindings/displayio/Shape.c:73 #, fuzzy -msgid "%q must be >= 1" -msgstr "buffers devem ser o mesmo tamanho" +msgid "name must be a string" +msgstr "heap deve ser uma lista" -#: shared-bindings/bleio/CharacteristicBuffer.c:83 -#, fuzzy -msgid "Expected a Characteristic" -msgstr "Não é possível adicionar Característica." +msgid "name not defined" +msgstr "nome não definido" -#: shared-bindings/bleio/CharacteristicBuffer.c:138 -msgid "CharacteristicBuffer writing not provided" +msgid "name reused for argument" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c:147 -msgid "Not connected." +msgid "native yield" msgstr "" -#: shared-bindings/bleio/Device.c:213 -msgid "Can't add services in Central mode" -msgstr "" +#, c-format +msgid "need more than %d values to unpack" +msgstr "precisa de mais de %d valores para desempacotar" -#: shared-bindings/bleio/Device.c:229 -msgid "Can't connect in Peripheral mode" +msgid "negative power with no float support" msgstr "" -#: shared-bindings/bleio/Device.c:259 -msgid "Can't change the name in Central mode" +msgid "negative shift count" msgstr "" -#: shared-bindings/bleio/Device.c:280 shared-bindings/bleio/Device.c:316 -msgid "Can't advertise in Central mode" +msgid "no active exception to reraise" msgstr "" -#: shared-bindings/bleio/Peripheral.c:106 -msgid "services includes an object that is not a Service" +msgid "no available NIC" msgstr "" -#: shared-bindings/bleio/Peripheral.c:119 -#, fuzzy -msgid "name must be a string" -msgstr "heap deve ser uma lista" +msgid "no binding for nonlocal found" +msgstr "" -#: shared-bindings/bleio/Service.c:84 -msgid "characteristics includes an object that is not a Characteristic" +msgid "no module named '%q'" msgstr "" -#: shared-bindings/bleio/Service.c:90 -msgid "Characteristic UUID doesn't match Service UUID" +msgid "no such attribute" msgstr "" -#: shared-bindings/bleio/UUID.c:66 -msgid "UUID integer value not in range 0 to 0xffff" +msgid "non-default argument follows default argument" msgstr "" -#: shared-bindings/bleio/UUID.c:91 -msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgid "non-hex digit found" msgstr "" -#: shared-bindings/bleio/UUID.c:103 -msgid "UUID value is not str, int or byte buffer" +msgid "non-keyword arg after */**" msgstr "" -#: shared-bindings/bleio/UUID.c:107 -#, fuzzy -msgid "Byte buffer must be 16 bytes." -msgstr "buffers devem ser o mesmo tamanho" +msgid "non-keyword arg after keyword arg" +msgstr "" -#: shared-bindings/bleio/UUID.c:151 msgid "not a 128-bit UUID" msgstr "" -#: shared-bindings/busio/I2C.c:117 -msgid "Function requires lock." +#, c-format +msgid "not a valid ADC Channel: %d" +msgstr "não é um canal ADC válido: %d" + +msgid "not all arguments converted during string formatting" msgstr "" -#: shared-bindings/busio/UART.c:103 -msgid "bits must be 7, 8 or 9" +msgid "not enough arguments for format string" msgstr "" -#: shared-bindings/busio/UART.c:115 -msgid "stop must be 1 or 2" +#, c-format +msgid "object '%s' is not a tuple or list" msgstr "" -#: shared-bindings/busio/UART.c:120 -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "object does not support item assignment" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:211 -msgid "Invalid direction." -msgstr "Direção inválida" +msgid "object does not support item deletion" +msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:240 -msgid "Cannot set value when direction is input." +msgid "object has no len" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:266 -#: shared-bindings/digitalio/DigitalInOut.c:281 -msgid "Drive mode not used when direction is input." +msgid "object is not subscriptable" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:314 -#: shared-bindings/digitalio/DigitalInOut.c:331 -msgid "Pull not used when direction is output." +msgid "object not an iterator" msgstr "" -#: shared-bindings/digitalio/DigitalInOut.c:340 -msgid "Unsupported pull value." +msgid "object not callable" msgstr "" -#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272 -msgid "Cannot delete values" -msgstr "Não é possível excluir valores" +msgid "object not in sequence" +msgstr "objeto não em seqüência" -#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253 -#: shared-bindings/pulseio/PulseIn.c:278 -msgid "Slices not supported" +msgid "object not iterable" +msgstr "objeto não iterável" + +#, c-format +msgid "object of type '%s' has no len()" msgstr "" -#: shared-bindings/displayio/Bitmap.c:156 -msgid "pixel coordinates out of bounds" +msgid "object with buffer protocol required" msgstr "" -#: shared-bindings/displayio/Bitmap.c:166 -msgid "pixel value requires too many bits" +msgid "odd-length string" msgstr "" -#: shared-bindings/displayio/BuiltinFont.c:93 -#, fuzzy -msgid "%q should be an int" -msgstr "y deve ser um int" +msgid "offset out of bounds" +msgstr "" -#: shared-bindings/displayio/ColorConverter.c:70 -msgid "color should be an int" -msgstr "cor deve ser um int" +msgid "only slices with step=1 (aka None) are supported" +msgstr "" -#: shared-bindings/displayio/Display.c:129 -msgid "Display rotation must be in 90 degree increments" +msgid "ord expects a character" msgstr "" -#: shared-bindings/displayio/Display.c:141 -msgid "Too many displays" +#, c-format +msgid "ord() expected a character, but string of length %d found" msgstr "" -#: shared-bindings/displayio/Display.c:165 -msgid "Must be a Group subclass." +msgid "overflow converting long int to machine word" msgstr "" -#: shared-bindings/displayio/Display.c:207 -#: shared-bindings/displayio/Display.c:217 -msgid "Brightness not adjustable" +msgid "palette must be 32 bytes long" msgstr "" -#: shared-bindings/displayio/FourWire.c:91 -#: shared-bindings/displayio/ParallelBus.c:96 -msgid "Too many display busses" +msgid "palette_index should be an int" msgstr "" -#: shared-bindings/displayio/FourWire.c:107 -#: shared-bindings/displayio/ParallelBus.c:111 -#, fuzzy -msgid "Command must be an int between 0 and 255" -msgstr "Os bytes devem estar entre 0 e 255." +msgid "parameter annotation must be an identifier" +msgstr "" -#: shared-bindings/displayio/Palette.c:91 -msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgid "parameters must be registers in sequence a2 to a5" msgstr "" -#: shared-bindings/displayio/Palette.c:97 -msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgid "parameters must be registers in sequence r0 to r3" msgstr "" -#: shared-bindings/displayio/Palette.c:101 -msgid "color must be between 0x000000 and 0xffffff" -msgstr "cor deve estar entre 0x000000 e 0xffffff" +msgid "pin does not have IRQ capabilities" +msgstr "Pino não tem recursos de IRQ" -#: shared-bindings/displayio/Palette.c:105 -msgid "color buffer must be a buffer or int" +msgid "pixel coordinates out of bounds" msgstr "" -#: shared-bindings/displayio/Palette.c:118 -#: shared-bindings/displayio/Palette.c:132 -msgid "palette_index should be an int" +msgid "pixel value requires too many bits" msgstr "" -#: shared-bindings/displayio/Shape.c:97 -msgid "y should be an int" -msgstr "y deve ser um int" +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgstr "" -#: shared-bindings/displayio/Shape.c:101 -#, fuzzy -msgid "start_x should be an int" -msgstr "y deve ser um int" +msgid "pop from an empty PulseIn" +msgstr "" -#: shared-bindings/displayio/Shape.c:105 -#, fuzzy -msgid "end_x should be an int" -msgstr "y deve ser um int" +msgid "pop from an empty set" +msgstr "" -#: shared-bindings/displayio/TileGrid.c:49 -msgid "position must be 2-tuple" +msgid "pop from empty list" msgstr "" -#: shared-bindings/displayio/TileGrid.c:115 -msgid "unsupported bitmap type" +msgid "popitem(): dictionary is empty" msgstr "" -#: shared-bindings/displayio/TileGrid.c:126 -msgid "Tile width must exactly divide bitmap width" +msgid "position must be 2-tuple" msgstr "" -#: shared-bindings/displayio/TileGrid.c:129 -msgid "Tile height must exactly divide bitmap height" +msgid "pow() 3rd argument cannot be 0" msgstr "" -#: shared-bindings/displayio/TileGrid.c:196 -msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgid "pow() with 3 arguments requires integers" msgstr "" -#: shared-bindings/gamepad/GamePad.c:100 -msgid "too many arguments" -msgstr "muitos argumentos" +msgid "queue overflow" +msgstr "estouro de fila" -#: shared-bindings/gamepad/GamePad.c:104 -msgid "expected a DigitalInOut" +msgid "rawbuf is not the same size as buf" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:95 -msgid "can't convert address to int" -msgstr "" +#, fuzzy +msgid "readonly attribute" +msgstr "atributo ilegível" -#: shared-bindings/i2cslave/I2CSlave.c:98 -msgid "address out of bounds" +msgid "relative import" msgstr "" -#: shared-bindings/i2cslave/I2CSlave.c:104 -msgid "addresses is empty" +#, c-format +msgid "requested length %d but object has length %d" msgstr "" -#: shared-bindings/microcontroller/Pin.c:89 -#: shared-bindings/neopixel_write/__init__.c:67 -#: shared-bindings/pulseio/PulseOut.c:76 -#: shared-bindings/terminalio/Terminal.c:63 -#: shared-bindings/terminalio/Terminal.c:68 -msgid "Expected a %q" -msgstr "Esperado um" - -#: shared-bindings/microcontroller/Pin.c:100 -msgid "%q in use" -msgstr "%q em uso" - -#: shared-bindings/microcontroller/__init__.c:126 -msgid "Invalid run mode." +msgid "return annotation must be an identifier" msgstr "" -#: shared-bindings/multiterminal/__init__.c:68 -msgid "Stream missing readinto() or write() method." +msgid "return expected '%q' but got '%q'" msgstr "" -#: shared-bindings/nvm/ByteArray.c:99 -msgid "Slice and value different lengths." +msgid "row must be packed and word aligned" +msgstr "Linha deve ser comprimida e com as palavras alinhadas" + +msgid "rsplit(None,n)" msgstr "" -#: shared-bindings/nvm/ByteArray.c:104 -msgid "Array values should be single bytes." +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" msgstr "" -#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141 -msgid "Unable to write to nvm." -msgstr "Não é possível gravar no nvm." +msgid "sampling rate out of range" +msgstr "Taxa de amostragem fora do intervalo" -#: shared-bindings/nvm/ByteArray.c:137 -msgid "Bytes must be between 0 and 255." -msgstr "Os bytes devem estar entre 0 e 255." +msgid "scan failed" +msgstr "varredura falhou" -#: shared-bindings/os/__init__.c:200 -msgid "No hardware random available" +msgid "schedule stack full" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:117 -msgid "All timers for this pin are in use" -msgstr "Todos os temporizadores para este pino estão em uso" +msgid "script compilation not supported" +msgstr "compilação de script não suportada" -#: shared-bindings/pulseio/PWMOut.c:171 -msgid "" -"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgid "services includes an object that is not a Service" msgstr "" -#: shared-bindings/pulseio/PWMOut.c:202 -msgid "" -"PWM frequency not writable when variable_frequency is False on construction." +msgid "sign not allowed in string format specifier" msgstr "" -#: shared-bindings/pulseio/PulseIn.c:285 -msgid "Read-only" -msgstr "Somente leitura" - -#: shared-bindings/pulseio/PulseOut.c:135 -msgid "Array must contain halfwords (type 'H')" -msgstr "Array deve conter meias palavras (tipo 'H')" - -#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100 -msgid "stop not reachable from start" +msgid "sign not allowed with integer format specifier 'c'" msgstr "" -#: shared-bindings/random/__init__.c:111 -msgid "step must be non-zero" -msgstr "o passo deve ser diferente de zero" +msgid "single '}' encountered in format string" +msgstr "" -#: shared-bindings/random/__init__.c:114 -msgid "invalid step" -msgstr "passo inválido" +msgid "sleep length must be non-negative" +msgstr "" -#: shared-bindings/random/__init__.c:146 -msgid "empty sequence" -msgstr "seqüência vazia" +msgid "slice step cannot be zero" +msgstr "" -#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44 -#: shared-bindings/time/__init__.c:190 -msgid "RTC is not supported on this board" -msgstr "O RTC não é suportado nesta placa" +msgid "small int overflow" +msgstr "" -#: shared-bindings/rtc/RTC.c:52 -msgid "RTC calibration is not supported on this board" -msgstr "A calibração RTC não é suportada nesta placa" +msgid "soft reboot\n" +msgstr "" -#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81 -msgid "no available NIC" +msgid "start/end indices" msgstr "" -#: shared-bindings/storage/__init__.c:77 -msgid "filesystem must provide mount method" -msgstr "sistema de arquivos deve fornecer método de montagem" +#, fuzzy +msgid "start_x should be an int" +msgstr "y deve ser um int" -#: shared-bindings/supervisor/__init__.c:93 -msgid "Brightness must be between 0 and 255" -msgstr "O brilho deve estar entre 0 e 255" +msgid "step must be non-zero" +msgstr "o passo deve ser diferente de zero" -#: shared-bindings/supervisor/__init__.c:119 -msgid "Stack size must be at least 256" -msgstr "O tamanho da pilha deve ser pelo menos 256" +msgid "stop must be 1 or 2" +msgstr "" -#: shared-bindings/time/__init__.c:78 -msgid "sleep length must be non-negative" +msgid "stop not reachable from start" msgstr "" -#: shared-bindings/time/__init__.c:88 -msgid "time.struct_time() takes exactly 1 argument" +msgid "stream operation not supported" msgstr "" -#: shared-bindings/time/__init__.c:91 -msgid "time.struct_time() takes a 9-sequence" +msgid "string index out of range" msgstr "" -#: shared-bindings/time/__init__.c:169 shared-bindings/time/__init__.c:263 -msgid "Tuple or struct_time argument required" -msgstr "Tuple or struct_time argument required" +#, c-format +msgid "string indices must be integers, not %s" +msgstr "" -#: shared-bindings/time/__init__.c:174 shared-bindings/time/__init__.c:268 -msgid "function takes exactly 9 arguments" -msgstr "função leva exatamente 9 argumentos" +msgid "string not supported; use bytes or bytearray" +msgstr "" -#: shared-bindings/time/__init__.c:239 shared-bindings/time/__init__.c:272 -msgid "timestamp out of range for platform time_t" -msgstr "timestamp fora do intervalo para a plataforma time_t" +msgid "struct: cannot index" +msgstr "struct: não pode indexar" -#: shared-bindings/touchio/TouchIn.c:173 -msgid "threshold must be in the range 0-65536" -msgstr "Limite deve estar no alcance de 0-65536" +msgid "struct: index out of range" +msgstr "struct: índice fora do intervalo" -#: shared-bindings/util.c:38 -msgid "" -"Object has been deinitialized and can no longer be used. Create a new object." +msgid "struct: no fields" +msgstr "struct: sem campos" + +msgid "substring not found" msgstr "" -"Objeto foi desinicializado e não pode ser mais usaado. Crie um novo objeto." -#: shared-module/_pixelbuf/PixelBuf.c:69 -#, c-format -msgid "Expected tuple of length %d, got %d" +msgid "super() can't find self" msgstr "" -#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117 -msgid "Couldn't allocate first buffer" -msgstr "Não pôde alocar primeiro buffer" +msgid "syntax error in JSON" +msgstr "erro de sintaxe no JSON" -#: shared-module/audioio/Mixer.c:53 shared-module/audioio/WaveFile.c:123 -msgid "Couldn't allocate second buffer" -msgstr "Não pôde alocar segundo buffer" +msgid "syntax error in uctypes descriptor" +msgstr "" + +msgid "threshold must be in the range 0-65536" +msgstr "Limite deve estar no alcance de 0-65536" -#: shared-module/audioio/Mixer.c:82 -msgid "Voice index too high" +msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-module/audioio/Mixer.c:85 -msgid "The sample's sample rate does not match the mixer's" +msgid "time.struct_time() takes exactly 1 argument" msgstr "" -#: shared-module/audioio/Mixer.c:88 -msgid "The sample's channel count does not match the mixer's" +msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-module/audioio/Mixer.c:91 -msgid "The sample's bits_per_sample does not match the mixer's" -msgstr "" +#, fuzzy +msgid "timeout must be >= 0.0" +msgstr "bits devem ser 8" -#: shared-module/audioio/Mixer.c:100 -msgid "The sample's signedness does not match the mixer's" -msgstr "" +msgid "timestamp out of range for platform time_t" +msgstr "timestamp fora do intervalo para a plataforma time_t" -#: shared-module/audioio/WaveFile.c:61 -msgid "Invalid wave file" -msgstr "Aqruivo de ondas inválido" +msgid "too many arguments" +msgstr "muitos argumentos" -#: shared-module/audioio/WaveFile.c:69 -msgid "Invalid format chunk size" -msgstr "Tamanho do pedaço de formato inválido" +msgid "too many arguments provided with the given format" +msgstr "Muitos argumentos fornecidos com o formato dado" -#: shared-module/audioio/WaveFile.c:83 -msgid "Unsupported format" -msgstr "Formato não suportado" +#, c-format +msgid "too many values to unpack (expected %d)" +msgstr "" -#: shared-module/audioio/WaveFile.c:99 -msgid "Data chunk must follow fmt chunk" -msgstr "Pedaço de dados deve seguir o pedaço de cortes" +msgid "tuple index out of range" +msgstr "" -#: shared-module/audioio/WaveFile.c:107 -msgid "Invalid file" -msgstr "Arquivo inválido" +msgid "tuple/list has wrong length" +msgstr "" -#: shared-module/bitbangio/I2C.c:58 -msgid "Clock stretch too long" -msgstr "Clock se estendeu por tempo demais" +msgid "tuple/list required on RHS" +msgstr "" -#: shared-module/bitbangio/SPI.c:44 -msgid "Clock pin init failed." -msgstr "Inicialização do pino de Clock falhou." +msgid "tx and rx cannot both be None" +msgstr "TX e RX não podem ser ambos" -#: shared-module/bitbangio/SPI.c:50 -msgid "MOSI pin init failed." -msgstr "Inicialização do pino MOSI falhou." +msgid "type '%q' is not an acceptable base type" +msgstr "" -#: shared-module/bitbangio/SPI.c:61 -msgid "MISO pin init failed." -msgstr "Inicialização do pino MISO falhou" +msgid "type is not an acceptable base type" +msgstr "" -#: shared-module/bitbangio/SPI.c:121 -msgid "Cannot write without MOSI pin." -msgstr "Não é possível ler sem um pino MOSI" +msgid "type object '%q' has no attribute '%q'" +msgstr "" -#: shared-module/bitbangio/SPI.c:176 -msgid "Cannot read without MISO pin." -msgstr "Não é possível ler sem o pino MISO." +msgid "type takes 1 or 3 arguments" +msgstr "" -#: shared-module/bitbangio/SPI.c:240 -msgid "Cannot transfer without MOSI and MISO pins." -msgstr "Não é possível transferir sem os pinos MOSI e MISO." +msgid "ulonglong too large" +msgstr "" -#: shared-module/displayio/Bitmap.c:49 -msgid "Only bit maps of 8 bit color or less are supported" -msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados" +msgid "unary op %q not implemented" +msgstr "" -#: shared-module/displayio/Bitmap.c:81 -msgid "row must be packed and word aligned" -msgstr "Linha deve ser comprimida e com as palavras alinhadas" +msgid "unexpected indent" +msgstr "" -#: shared-module/displayio/Bitmap.c:118 -#, fuzzy -msgid "Read-only object" -msgstr "Somente leitura" +msgid "unexpected keyword argument" +msgstr "" -#: shared-module/displayio/Display.c:67 -#, fuzzy -msgid "Unsupported display bus type" -msgstr "Taxa de transmissão não suportada" +msgid "unexpected keyword argument '%q'" +msgstr "" -#: shared-module/displayio/Group.c:66 -msgid "Group full" -msgstr "Grupo cheio" +msgid "unicode name escapes" +msgstr "" -#: shared-module/displayio/Group.c:73 shared-module/displayio/Group.c:112 -msgid "Layer must be a Group or TileGrid subclass." +msgid "unindent does not match any outer indentation level" msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:49 -msgid "Invalid BMP file" -msgstr "Arquivo BMP inválido" +msgid "unknown config param" +msgstr "parâmetro configuração desconhecido" -#: shared-module/displayio/OnDiskBitmap.c:59 #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Apenas formato Windows, BMP descomprimido suportado" +msgid "unknown conversion specifier %c" +msgstr "" -#: shared-module/displayio/OnDiskBitmap.c:64 #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" - -#: shared-module/displayio/Shape.c:60 -msgid "y value out of bounds" +msgid "unknown format code '%c' for object of type '%s'" msgstr "" -#: shared-module/displayio/Shape.c:63 -msgid "x value out of bounds" +#, c-format +msgid "unknown format code '%c' for object of type 'float'" msgstr "" -#: shared-module/displayio/Shape.c:67 #, c-format -msgid "Maximum x value when mirrored is %d" +msgid "unknown format code '%c' for object of type 'str'" msgstr "" -#: shared-module/storage/__init__.c:155 -msgid "Cannot remount '/' when USB is active." -msgstr "Não é possível remontar '/' enquanto o USB estiver ativo." - -#: shared-module/struct/__init__.c:39 -msgid "'S' and 'O' are not supported format types" -msgstr "'S' e 'O' não são tipos de formato suportados" - -#: shared-module/struct/__init__.c:136 -msgid "too many arguments provided with the given format" -msgstr "Muitos argumentos fornecidos com o formato dado" - -#: shared-module/struct/__init__.c:179 -#, fuzzy -msgid "buffer size must match format" -msgstr "buffers devem ser o mesmo tamanho" - -#: shared-module/usb_hid/Device.c:45 -#, c-format -msgid "Buffer incorrect size. Should be %d bytes." -msgstr "Buffer de tamanho incorreto. Deve ser %d bytes." +msgid "unknown status param" +msgstr "parâmetro de status desconhecido" -#: shared-module/usb_hid/Device.c:53 -msgid "USB Busy" -msgstr "USB ocupada" +msgid "unknown type" +msgstr "" -#: shared-module/usb_hid/Device.c:59 -msgid "USB Error" -msgstr "Erro na USB" +msgid "unknown type '%q'" +msgstr "" -#: supervisor/shared/board_busses.c:62 -msgid "No default I2C bus" -msgstr "Nenhum barramento I2C padrão" +msgid "unmatched '{' in format" +msgstr "" -#: supervisor/shared/board_busses.c:91 -msgid "No default SPI bus" -msgstr "Nenhum barramento SPI padrão" +msgid "unreadable attribute" +msgstr "atributo ilegível" -#: supervisor/shared/board_busses.c:118 -msgid "No default UART bus" -msgstr "Nenhum barramento UART padrão" +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "" -#: supervisor/shared/safe_mode.c:97 -msgid "You requested starting safe mode by " -msgstr "Você solicitou o início do modo de segurança" +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "" -#: supervisor/shared/safe_mode.c:100 -msgid "To exit, please reset the board without " -msgstr "Para sair, por favor, reinicie a placa sem " +msgid "unsupported bitmap type" +msgstr "" -#: supervisor/shared/safe_mode.c:107 -msgid "" -"You are running in safe mode which means something unanticipated happened.\n" +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" -#: supervisor/shared/safe_mode.c:109 -msgid "" -"Looks like our core CircuitPython code crashed hard. Whoops!\n" -"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" -" with the contents of your CIRCUITPY drive and this message:\n" +msgid "unsupported type for %q: '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:111 -msgid "Crash into the HardFault_Handler.\n" +msgid "unsupported type for operator" msgstr "" -#: supervisor/shared/safe_mode.c:113 -msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgid "unsupported types for %q: '%s', '%s'" msgstr "" -#: supervisor/shared/safe_mode.c:115 -msgid "MicroPython fatal error.\n" +msgid "wifi_set_ip_info() failed" +msgstr "wifi_set_ip_info() falhou" + +msgid "write_args must be a list, tuple, or None" msgstr "" -#: supervisor/shared/safe_mode.c:118 -msgid "" -"The microcontroller's power dipped. Please make sure your power supply " -"provides\n" -"enough power for the whole circuit and press reset (after ejecting " -"CIRCUITPY).\n" +msgid "wrong number of arguments" msgstr "" -#: supervisor/shared/safe_mode.c:120 -msgid "" -"The CircuitPython heap was corrupted because the stack was too small.\n" -"Please increase stack size limits and press reset (after ejecting " -"CIRCUITPY).\n" -"If you didn't change the stack, then file an issue here with the contents of " -"your CIRCUITPY drive:\n" +msgid "wrong number of values to unpack" msgstr "" -#: supervisor/shared/safe_mode.c:123 -msgid "" -"The reset button was pressed while booting CircuitPython. Press again to " -"exit safe mode.\n" +msgid "x value out of bounds" msgstr "" -#~ msgid "Not enough pins available" -#~ msgstr "Não há pinos suficientes disponíveis" +msgid "y should be an int" +msgstr "y deve ser um int" -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART não disponível" +msgid "y value out of bounds" +msgstr "" + +msgid "zero step" +msgstr "passo zero" #, fuzzy #~ msgid "All PWM peripherals are in use" #~ msgstr "Todos os temporizadores em uso" +#~ msgid "Baud rate too high for this SPI peripheral" +#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI" + +#~ msgid "Can encode UUID into the advertisement packet." +#~ msgstr "Pode codificar o UUID no pacote de anúncios." + #~ msgid "Can not add Characteristic." #~ msgstr "Não é possível adicionar Característica." #~ msgid "Can not apply advertisement data. status: 0x%02x" #~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x" -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Não é possível aplicar parâmetros GAP." - #~ msgid "Can not apply device name in the stack." #~ msgstr "Não é possível aplicar o nome do dispositivo na pilha." +#~ msgid "Can not query for the device address." +#~ msgstr "Não é possível consultar o endereço do dispositivo." + +#~ msgid "Cannot apply GAP parameters." +#~ msgstr "Não é possível aplicar parâmetros GAP." + #~ msgid "Cannot set PPCP parameters." #~ msgstr "Não é possível definir parâmetros PPCP." -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de serviço inválido" - -#~ msgid "Can not query for the device address." -#~ msgstr "Não é possível consultar o endereço do dispositivo." +#~ msgid "Group empty" +#~ msgstr "Grupo vazio" #, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Falha ao alocar buffer RX de %d bytes" - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Pode codificar o UUID no pacote de anúncios." +#~ msgid "Group must have %q at least 1" +#~ msgstr "Grupo deve ter tamanho pelo menos 1" -#~ msgid "Baud rate too high for this SPI peripheral" -#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI" +#~ msgid "Invalid Service type" +#~ msgstr "Tipo de serviço inválido" #~ msgid "Invalid UUID parameter" #~ msgstr "Parâmetro UUID inválido" -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "heap deve ser uma lista" - -#~ msgid "Group empty" -#~ msgstr "Grupo vazio" +#~ msgid "Not enough pins available" +#~ msgstr "Não há pinos suficientes disponíveis" #, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Grupo deve ter tamanho pelo menos 1" +#~ msgid "buffer_size must be >= 1" +#~ msgstr "buffers devem ser o mesmo tamanho" + +#~ msgid "busio.UART not available" +#~ msgstr "busio.UART não disponível" #~ msgid "index must be int" #~ msgstr "index deve ser int" #, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "buffers devem ser o mesmo tamanho" +#~ msgid "unicode_characters must be a string" +#~ msgstr "heap deve ser uma lista" + +#, fuzzy +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Falha ao alocar buffer RX de %d bytes" From 2437ab9605ba7587a26819a1c60a5a7d8a84b6ae Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 22 Feb 2019 17:19:09 -0600 Subject: [PATCH 21/76] update frequencyin interrupt handler --- ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c | 9 ++++++--- ports/atmel-samd/timer_handler.c | 2 ++ ports/atmel-samd/timer_handler.h | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c index e499684288a3..6b67e014a31b 100644 --- a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c @@ -154,7 +154,8 @@ void frequencyin_reference_tc_init() { if (dpll_gclk == 0xff) { frequencyin_samd51_start_dpll(); } - turn_on_clocks(true, reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + set_timer_handler(reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + turn_on_clocks(true, reference_tc, dpll_gclk); #endif Tc *tc = tc_insts[reference_tc]; @@ -289,7 +290,8 @@ void common_hal_frequencyio_frequencyin_construct(frequencyio_frequencyin_obj_t* // SAMD21: We use GCLK0 generated from DFLL running at 48mhz // SAMD51: We use a GCLK generated from DPLL1 running at <100mhz #ifdef SAMD21 - turn_on_clocks(true, timer_index, 0, TC_HANDLER_NO_INTERRUPT); + set_timer_handler(timer_index, 0, TC_HANDLER_NO_INTERRUPT); + turn_on_clocks(true, timer_index, 0); #endif #ifdef SAMD51 frequencyin_samd51_start_dpll(); @@ -297,7 +299,8 @@ void common_hal_frequencyio_frequencyin_construct(frequencyio_frequencyin_obj_t* common_hal_frequencyio_frequencyin_deinit(self); mp_raise_RuntimeError(translate("No available clocks")); } - turn_on_clocks(true, timer_index, dpll_gclk, TC_HANDLER_NO_INTERRUPT); + set_timer_handler(timer_index, dpll_gclk, TC_HANDLER_NO_INTERRUPT); + turn_on_clocks(true, timer_index, dpll_gclk); #endif // Ensure EIC is on diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 26f984d9640f..cc777cc3b1a3 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -46,6 +46,8 @@ void shared_timer_handler(bool is_tc, uint8_t index) { uint8_t handler = tc_handler[index]; if (handler == TC_HANDLER_PULSEOUT) { pulseout_interrupt_handler(index); + } else if (handler == TC_HANDLER_FREQUENCYIN) { + frequencyin_interrupt_handler(index); } } } diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h index f7a6e6e0ed17..a495e21f2a41 100644 --- a/ports/atmel-samd/timer_handler.h +++ b/ports/atmel-samd/timer_handler.h @@ -28,6 +28,7 @@ #define TC_HANDLER_NO_INTERRUPT 0x0 #define TC_HANDLER_PULSEOUT 0x1 +#define TC_HANDLER_FREQUENCYIN 0x2 void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler); void shared_timer_handler(bool is_tc, uint8_t index); From 785edf719eb80d6af7b6a682fde57b5edc1e7a3b Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 22 Feb 2019 15:28:29 -0800 Subject: [PATCH 22/76] Update translations based on git history --- Makefile | 2 +- locale/ID.po | 45 +------------- locale/circuitpython.pot | 2 +- locale/de_DE.po | 29 +++------ locale/en_US.po | 2 +- locale/es.po | 110 ++------------------------------- locale/fil.po | 106 +------------------------------- locale/fr.po | 119 +++--------------------------------- locale/it_IT.po | 100 +----------------------------- locale/pt_BR.po | 66 +------------------- tools/fixup_translations.py | 35 +++++++++-- 11 files changed, 61 insertions(+), 555 deletions(-) diff --git a/Makefile b/Makefile index 419d605c03ae..b4d37b9d8fda 100644 --- a/Makefile +++ b/Makefile @@ -197,7 +197,7 @@ locale/circuitpython.pot: all-source find . -iname "*.c" | xargs xgettext -L C -s --no-location --keyword=translate -o circuitpython.pot -p locale translate: locale/circuitpython.pot - for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-location locale/circuitpython.pot; done + for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-fuzzy-matching --no-location locale/circuitpython.pot; done check-translate: locale/circuitpython.pot $(wildcard locale/*.po) $(PYTHON) tools/check_translations.py $^ diff --git a/locale/ID.po b/locale/ID.po index 04e4e8aa0d9a..7e3a6c7981c2 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2122,46 +2122,3 @@ msgstr "" msgid "zero step" msgstr "" - -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Semua perangkat PWM sedang digunakan" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parameter UUID tidak valid" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Panjang string UUID tidak valid" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n" - -#~ msgid "Not enough pins available" -#~ msgstr "Pin yang tersedia tidak cukup" - -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Silahkan taruh masalah disini dengan isi dari CIRCUITPY drive: anda \n" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "buffers harus mempunyai panjang yang sama" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART tidak tersedia" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "tegangan cukup untuk semua sirkuit dan tekan reset (setelah mencabut " -#~ "CIRCUITPY).\n" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "keyword harus berupa string" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 97d15f020d92..226a3a6fa34f 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:08-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/de_DE.po b/locale/de_DE.po index 96100c491ba9..aff3c14f83c2 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:08-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -162,7 +162,7 @@ msgid "*x must be assignment target" msgstr "*x muss Zuordnungsziel sein" msgid ", in %q\n" -msgstr ", in %q\n" +msgstr "" msgid "0.0 to a complex power" msgstr "" @@ -863,10 +863,10 @@ msgstr "Slices werden nicht unterstützt" #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" msgid "Splitting with sub-captures" -msgstr "" +msgstr "Teilen mit unter-captures" msgid "Stack size must be at least 256" msgstr "Die Stackgröße sollte mindestens 256 sein" @@ -1044,7 +1044,7 @@ msgstr "Du hast das Starten im Sicherheitsmodus ausgelöst durch " #, c-format msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgstr "" msgid "__init__() should return None" msgstr "" @@ -1385,7 +1385,7 @@ msgstr "" #, c-format msgid "error = 0x%08lX" -msgstr "error = 0x%08lX" +msgstr "" msgid "exceptions must derive from BaseException" msgstr "Exceptions müssen von BaseException abgeleitet sein" @@ -1641,7 +1641,7 @@ msgid "map buffer too small" msgstr "" msgid "math domain error" -msgstr "math domain error" +msgstr "" msgid "maximum recursion depth exceeded" msgstr "maximale Rekursionstiefe überschritten" @@ -1917,7 +1917,7 @@ msgid "small int overflow" msgstr "small int Überlauf" msgid "soft reboot\n" -msgstr "soft reboot\n" +msgstr "weicher reboot\n" msgid "start/end indices" msgstr "" @@ -2127,16 +2127,3 @@ msgstr "" msgid "zero step" msgstr "" - -#~ msgid "Not enough pins available" -#~ msgstr "Nicht genug Pins vorhanden" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART nicht verfügbar" - -#~ msgid "index must be int" -#~ msgstr "index muss ein int sein" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "unicode_characters muss eine Zeichenfolge sein" diff --git a/locale/en_US.po b/locale/en_US.po index ee3c8e42892e..c6bc8c5afd4a 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" diff --git a/locale/es.po b/locale/es.po index ef35e0d77495..46b9435e50f5 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -272,7 +272,7 @@ msgid "Bytes must be between 0 and 255." msgstr "Bytes debe estar entre 0 y 255." msgid "C-level assert" -msgstr "C-level assert" +msgstr "" #, c-format msgid "Can not use dotstar with %s" @@ -693,7 +693,7 @@ msgid "MicroPython NLR jump failed. Likely memory corruption.\n" msgstr "" msgid "MicroPython fatal error.\n" -msgstr "MicroPython fatal error.\n" +msgstr "" msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" @@ -1067,7 +1067,7 @@ msgstr "Solicitaste iniciar en modo seguro por " #, c-format msgid "[addrinfo error %d]" -msgstr "[addrinfo error %d]" +msgstr "" msgid "__init__() should return None" msgstr "__init__() deberia devolver None" @@ -1908,7 +1908,7 @@ msgid "row must be packed and word aligned" msgstr "la fila debe estar empacada y la palabra alineada" msgid "rsplit(None,n)" -msgstr "rsplit(None,n)" +msgstr "" msgid "" "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " @@ -2160,103 +2160,3 @@ msgstr "address fuera de límites" msgid "zero step" msgstr "paso cero" - -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Todos los periféricos PWM en uso" - -#~ msgid "Baud rate too high for this SPI peripheral" -#~ msgstr "Baud rate demasiado alto para este periférico SPI" - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Se puede codificar el UUID en el paquete de anuncio." - -#~ msgid "Can not add Service." -#~ msgstr "No se puede agregar el Servicio." - -#~ msgid "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack." - -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "No se puede codificar el UUID, para revisar la longitud." - -#~ msgid "Can not query for the device address." -#~ msgstr "No se puede consultar la dirección del dispositivo." - -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "No se pueden aplicar los parámetros GAP." - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "No se pueden establecer los parámetros PPCP." - -#~ msgid "Group empty" -#~ msgstr "Group vacío" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Group debe tener size de minimo 1" - -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de Servicio inválido" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parámetro UUID inválido" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Longitud de string UUID inválida" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n" - -#~ msgid "Not enough pins available" -#~ msgstr "No hay suficientes pines disponibles" - -#, fuzzy -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Por favor registra un issue en la siguiente URL con el contenidos de tu " -#~ "unidad de almacenamiento CIRCUITPY:\n" - -#~ msgid "Wrong address length" -#~ msgstr "Longitud de address erronea" - -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Numero erroneo de bytes dados" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "los buffers deben de tener la misma longitud" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART no disponible" - -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio todavia esta en desarrollo" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "suficiente poder para todo el circuito y presiona reset (después de " -#~ "expulsar CIRCUITPY).\n" - -#~ msgid "index must be int" -#~ msgstr "indice debe ser int" - -#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" -#~ msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'" - -#~ msgid "row data must be a buffer" -#~ msgstr "row data debe ser un buffer" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "palabras clave deben ser strings" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Falló la asignación del buffer RX de %d bytes" diff --git a/locale/fil.po b/locale/fil.po index 722e15da598a..3dc70c6267cc 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -890,7 +890,7 @@ msgstr "Hindi suportado ang Slices" #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" msgid "Splitting with sub-captures" msgstr "Binibiyak gamit ang sub-captures" @@ -1423,7 +1423,7 @@ msgstr "y ay dapat int" #, c-format msgid "error = 0x%08lX" -msgstr "error = 0x%08lX" +msgstr "" msgid "exceptions must derive from BaseException" msgstr "ang mga exceptions ay dapat makuha mula sa BaseException" @@ -2166,103 +2166,3 @@ msgstr "wala sa sakop ang address" msgid "zero step" msgstr "zero step" - -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Lahat ng PWM peripherals ay ginagamit" - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Maaring i-encode ang UUID sa advertisement packet." - -#~ msgid "Can not add Service." -#~ msgstr "Hindi maidaragdag ang serbisyo." - -#~ msgid "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack." - -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Hindi ma-encode UUID, para suriin ang haba." - -#~ msgid "Can not query for the device address." -#~ msgstr "Hindi maaaring mag-query para sa address ng device." - -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Hindi ma-apply ang GAP parameters." - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Hindi ma-set ang PPCP parameters." - -#~ msgid "Group empty" -#~ msgstr "Walang laman ang group" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Group dapat ay hindi baba sa 1 na haba" - -#~ msgid "Invalid Service type" -#~ msgstr "Mali ang tipo ng serbisyo" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Mali ang UUID parameter" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Mali ang UUID string length" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n" - -#~ msgid "Not enough pins available" -#~ msgstr "Hindi sapat ang magagamit na pins" - -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY " -#~ "drive:\n" - -#~ msgid "Wrong address length" -#~ msgstr "Mali ang address length" - -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Mali ang bilang ng bytes" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "aarehas na haba dapat ang buffer slices" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART hindi available" - -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio ay nasa gitna ng konstruksiyon" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang " -#~ "reset (pagkatapos i-eject ang CIRCUITPY).\n" - -#~ msgid "index must be int" -#~ msgstr "index ay dapat int" - -#, fuzzy -#~ msgid "palette must be displayio.Palette" -#~ msgstr "ang palette ay dapat 32 bytes ang haba" - -#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" -#~ msgstr "ang row buffer ay dapat bytearray o array na type ‘b’ or ‘B’" - -#~ msgid "row data must be a buffer" -#~ msgstr "row data ay dapat na buffer" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "ang keywords dapat strings" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes" diff --git a/locale/fr.po b/locale/fr.po index 7f2006575a11..98911d64df5a 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -604,8 +604,9 @@ msgstr "Broche invalide pour 'bit clock'" msgid "Invalid buffer size" msgstr "longueur de tampon invalide" +#, fuzzy msgid "Invalid channel count" -msgstr "" +msgstr "Argument invalide" msgid "Invalid clock pin" msgstr "Broche d'horloge invalide" @@ -830,8 +831,9 @@ msgstr "Broche invalide pour le SPI" msgid "Pixel beyond bounds of buffer" msgstr "" +#, fuzzy msgid "Plus any modules on the filesystem\n" -msgstr "" +msgstr "Impossible de remonter le système de fichiers" msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger." @@ -1743,7 +1745,7 @@ msgid "name reused for argument" msgstr "nom réutilisé comme argument" msgid "native yield" -msgstr "native yield" +msgstr "" #, c-format msgid "need more than %d values to unpack" @@ -1933,7 +1935,7 @@ msgid "row must be packed and word aligned" msgstr "" msgid "rsplit(None,n)" -msgstr "rsplit(None,n)" +msgstr "" msgid "" "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " @@ -2188,110 +2190,3 @@ msgstr "adresse hors limites" msgid "zero step" msgstr "'step' nul" - -#, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Tous les périphériques PWM sont utilisés" - -#~ msgid "Can not add Characteristic." -#~ msgstr "Impossible d'ajouter la Characteristic." - -#~ msgid "Can not add Service." -#~ msgstr "Impossible d'ajouter le Service" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile" - -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur." - -#~ msgid "Can not query for the device address." -#~ msgstr "Impossible d'obtenir l'adresse du périphérique" - -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Impossible d'appliquer les paramètres GAP" - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Impossible d'appliquer les paramètres PPCP" - -#, fuzzy -#~ msgid "Group empty" -#~ msgstr "Groupe vide" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Le tampon doit être de longueur au moins 1" - -#~ msgid "Invalid Service type" -#~ msgstr "Type de service invalide" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Paramètre UUID invalide" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Longeur de chaîne UUID invalide" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n" - -#~ msgid "Not enough pins available" -#~ msgstr "Pas assez de broches disponibles" - -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n" - -#~ msgid "Wrong address length" -#~ msgstr "Mauvaise longueur d'adresse" - -#, fuzzy -#~ msgid "Wrong number of bytes provided" -#~ msgstr "mauvais nombre d'octets fourni'" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "les slices de tampon doivent être de longueurs égales" - -#, fuzzy -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART n'est pas disponible" - -#~ msgid "displayio is a work in progress" -#~ msgstr "displayio est en cours de développement" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "assez de puissance pour l'ensemble du circuit et appuyez sur " -#~ "'reset' (après avoir éjecter CIRCUITPY).\n" - -#~ msgid "index must be int" -#~ msgstr "l'index doit être un entier" - -#, fuzzy -#~ msgid "palette must be displayio.Palette" -#~ msgstr "la palette doit être une displayio.Palette" - -#, fuzzy -#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" -#~ msgstr "" -#~ "le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'" - -#, fuzzy -#~ msgid "row data must be a buffer" -#~ msgstr "les données de ligne doivent être un tampon" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "les noms doivent être des chaînes de caractère" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Echec de l'allocation de %d octets du tampon RX" - -#, fuzzy -#~ msgid "value_size must be power of two" -#~ msgstr "value_size doit être une puissance de 2" diff --git a/locale/it_IT.po b/locale/it_IT.po index d00d42270c87..55c6c065e5ba 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -2162,101 +2162,3 @@ msgstr "indirizzo fuori limite" msgid "zero step" msgstr "zero step" - -#, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Tutte le periferiche SPI sono in uso" - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement." - -#~ msgid "Can not add Characteristic." -#~ msgstr "Non è possibile aggiungere Characteristic." - -#~ msgid "Can not add Service." -#~ msgstr "Non è possibile aggiungere Service." - -#~ msgid "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Non è possibile inserire il nome del dipositivo nella lista." - -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare." - -#~ msgid "Can not query for the device address." -#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo." - -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Impossibile applicare i parametri GAP." - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Impossibile impostare i parametri PPCP." - -#~ msgid "Group empty" -#~ msgstr "Gruppo vuoto" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Il gruppo deve avere dimensione almeno 1" - -#~ msgid "Invalid Service type" -#~ msgstr "Tipo di servizio non valido" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parametro UUID non valido" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Lunghezza della stringa UUID non valida" - -#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" -#~ msgstr "" -#~ "Sembra che il codice del core di CircuitPython sia crashato malamente. " -#~ "Whoops!\n" - -#~ msgid "Not enough pins available" -#~ msgstr "Non sono presenti abbastanza pin" - -#~ msgid "" -#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n" -#~ msgstr "" -#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie " -#~ "CIRCUITPY:\n" - -#, fuzzy -#~ msgid "Wrong number of bytes provided" -#~ msgstr "numero di argomenti errato" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "slice del buffer devono essere della stessa lunghezza" - -#, fuzzy -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART non ancora implementato" - -#~ msgid "" -#~ "enough power for the whole circuit and press reset (after ejecting " -#~ "CIRCUITPY).\n" -#~ msgstr "" -#~ "abbastanza potenza per l'intero circuito e premere reset (dopo aver " -#~ "espulso CIRCUITPY).\n" - -#~ msgid "index must be int" -#~ msgstr "l'indice deve essere int" - -#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'" -#~ msgstr "" -#~ "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'" - -#~ msgid "row data must be a buffer" -#~ msgstr "valori della riga devono essere un buffer" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "argomenti nominati devono essere stringhe" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Fallita allocazione del buffer RX di %d byte" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 8f2e307c3d28..6b08dcef008e 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 13:06-0800\n" +"POT-Creation-Date: 2019-02-22 15:26-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -939,7 +939,7 @@ msgid "Traceback (most recent call last):\n" msgstr "" msgid "Tuple or struct_time argument required" -msgstr "Tuple or struct_time argument required" +msgstr "" #, c-format msgid "UART(%d) does not exist" @@ -2110,65 +2110,3 @@ msgstr "" msgid "zero step" msgstr "passo zero" - -#, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Todos os temporizadores em uso" - -#~ msgid "Baud rate too high for this SPI peripheral" -#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI" - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Pode codificar o UUID no pacote de anúncios." - -#~ msgid "Can not add Characteristic." -#~ msgstr "Não é possível adicionar Característica." - -#~ msgid "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x" - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha." - -#~ msgid "Can not query for the device address." -#~ msgstr "Não é possível consultar o endereço do dispositivo." - -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Não é possível aplicar parâmetros GAP." - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Não é possível definir parâmetros PPCP." - -#~ msgid "Group empty" -#~ msgstr "Grupo vazio" - -#, fuzzy -#~ msgid "Group must have %q at least 1" -#~ msgstr "Grupo deve ter tamanho pelo menos 1" - -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de serviço inválido" - -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parâmetro UUID inválido" - -#~ msgid "Not enough pins available" -#~ msgstr "Não há pinos suficientes disponíveis" - -#, fuzzy -#~ msgid "buffer_size must be >= 1" -#~ msgstr "buffers devem ser o mesmo tamanho" - -#~ msgid "busio.UART not available" -#~ msgstr "busio.UART não disponível" - -#~ msgid "index must be int" -#~ msgstr "index deve ser int" - -#, fuzzy -#~ msgid "unicode_characters must be a string" -#~ msgstr "heap deve ser uma lista" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Falha ao alocar buffer RX de %d bytes" diff --git a/tools/fixup_translations.py b/tools/fixup_translations.py index c20ace55b775..6db7f1cc5c07 100644 --- a/tools/fixup_translations.py +++ b/tools/fixup_translations.py @@ -33,20 +33,47 @@ continue print(commit.authored_date, commit) first_translations.metadata = current_file.metadata + first_translations.header = current_file.header for entry in first_translations: - if entry.msgid == "soft reboot\n": - continue newer_entry = current_file.find(entry.msgid) - if newer_entry and entry.msgstr != newer_entry.msgstr: + + if newer_entry and entry.msgid == "": + entry.merge(newer_entry) + print(entry) + elif newer_entry and entry.msgstr != newer_entry.msgstr: if newer_entry.msgstr != "" and (newer_entry.msgstr != entry.msgid or entry.msgid in NO_TRANSLATION_WHITELIST): entry.merge(newer_entry) entry.msgstr = newer_entry.msgstr + if "fuzzy" not in newer_entry.flags and "fuzzy" in entry.flags: + entry.flags.remove("fuzzy") elif entry.msgid not in fixed_ids: if commit not in bad_commits: bad_commits[commit] = set() bad_commits[commit].add(po_filename) fixed_ids.add(entry.msgid) - print(entry.msgid, "\"" + entry.msgstr + "\"", "\"" + newer_entry.msgstr + "\"") + #print(entry.msgid, "\"" + entry.msgstr + "\"", "\"" + newer_entry.msgstr + "\"",) + elif newer_entry and newer_entry.flags != entry.flags: + entry.flags = newer_entry.flags + elif newer_entry and newer_entry.obsolete != entry.obsolete: + entry.obsolete = newer_entry.obsolete + elif not newer_entry: + entry.obsolete = True + + # Add new entries to the modified pofile. + for entry in current_file: + old_entry = first_translations.find(entry.msgid, include_obsolete_entries=True) + if old_entry: + continue + first_translations.append(entry) + + # Remove obsolete translations. We can always use this script to revive them from the git history. + to_remove = [] + for entry in first_translations: + if entry.obsolete: + to_remove.append(entry) + + for remove in to_remove: + first_translations.remove(remove) first_translations.save(po_filename) From 66a230c1b70b60cef5b44f2d7c689f86c0e44814 Mon Sep 17 00:00:00 2001 From: Pascal Deneaux Date: Sat, 23 Feb 2019 15:26:32 +0100 Subject: [PATCH 23/76] new translations --- locale/de_DE.po | 313 +++++++++++++++++++++++------------------------- 1 file changed, 149 insertions(+), 164 deletions(-) diff --git a/locale/de_DE.po b/locale/de_DE.po index aff3c14f83c2..06316529805a 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -35,7 +35,7 @@ msgstr " Ausgabe:\n" #, c-format msgid "%%c requires int or char" -msgstr "" +msgstr "%%c erwartet int oder char" msgid "%q in use" msgstr "%q in Benutzung" @@ -50,7 +50,7 @@ msgid "%q must be >= 1" msgstr "%q muss >= 1 sein" msgid "%q should be an int" -msgstr "" +msgstr "%q sollte ein int sein" msgid "%q() takes %d positional arguments but %d were given" msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" @@ -92,7 +92,7 @@ msgstr "'%s' erwartet {r0, r1, ...}" #, c-format msgid "'%s' integer %d is not within range %d..%d" -msgstr "" +msgstr "'%s' integer %d ist nicht im Bereich %d..%d" #, c-format msgid "'%s' integer 0x%x does not fit in mask 0x%x" @@ -115,7 +115,7 @@ msgstr "'%s' Objekt ist kein Iterator" #, c-format msgid "'%s' object is not callable" -msgstr "" +msgstr "'%s' object ist nicht callable" #, c-format msgid "'%s' object is not iterable" @@ -126,10 +126,10 @@ msgid "'%s' object is not subscriptable" msgstr "'%s' Objekt hat keine '__getitem__'-Methode (not subscriptable)" msgid "'=' alignment not allowed in string format specifier" -msgstr "" +msgstr "'='-Ausrichtung ist im String-Formatbezeichner nicht zulässig" msgid "'S' and 'O' are not supported format types" -msgstr "" +msgstr "'S' und 'O' sind keine unterstützten Formattypen" msgid "'align' requires 1 argument" msgstr "'align' erfordert genau ein Argument" @@ -209,7 +209,7 @@ msgid "AnalogOut functionality not supported" msgstr "AnalogOut-Funktion wird nicht unterstützt" msgid "AnalogOut is only 16 bits. Value must be less than 65536." -msgstr "" +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" @@ -218,7 +218,7 @@ msgid "Another send is already active" msgstr "Ein anderer Sendevorgang ist schon aktiv" msgid "Array must contain halfwords (type 'H')" -msgstr "" +msgstr "Array muss Halbwörter enthalten (type 'H')" msgid "Array values should be single bytes." msgstr "Array-Werte sollten aus Einzelbytes bestehen." @@ -237,7 +237,7 @@ msgid "Bit clock and word select must share a clock unit" msgstr "Bit clock und word select müssen eine clock unit teilen" msgid "Bit depth must be multiple of 8." -msgstr "" +msgstr "Bit depth muss ein Vielfaches von 8 sein." msgid "Both pins must support hardware interrupts" msgstr "Beide pins müssen Hardware Interrupts unterstützen" @@ -246,7 +246,7 @@ msgid "Brightness must be between 0 and 255" msgstr "Die Helligkeit muss zwischen 0 und 255 liegen" msgid "Brightness not adjustable" -msgstr "" +msgstr "Die Helligkeit ist nicht einstellbar" #, c-format msgid "Buffer incorrect size. Should be %d bytes." @@ -270,19 +270,19 @@ msgstr "C-Level Assert" #, c-format msgid "Can not use dotstar with %s" -msgstr "" +msgstr "Kann dotstar nicht mit %s verwenden" msgid "Can't add services in Central mode" -msgstr "" +msgstr "Im Central mode können Dienste nicht hinzugefügt werden" msgid "Can't advertise in Central mode" -msgstr "" +msgstr "Im Central mode kann advertise nicht gemacht werden" msgid "Can't change the name in Central mode" -msgstr "" +msgstr "Im Central mode kann name nicht geändert werden" msgid "Can't connect in Peripheral mode" -msgstr "" +msgstr "Im Peripheral mode kann keine Verbindung hergestellt werden" msgid "Cannot connect to AP" msgstr "Kann nicht zu AP verbinden" @@ -303,10 +303,10 @@ msgid "Cannot output both channels on the same pin" msgstr "Kann nicht beite Kanäle auf dem gleichen Pin ausgeben" msgid "Cannot read without MISO pin." -msgstr "" +msgstr "Kann ohne MISO-Pin nicht lesen." msgid "Cannot record to a file" -msgstr "" +msgstr "Aufnahme in eine Datei nicht möglich" msgid "Cannot remount '/' when USB is active." msgstr "Kann '/' nicht remounten when USB aktiv ist" @@ -318,13 +318,13 @@ msgid "Cannot set STA config" msgstr "Kann STA Konfiguration nicht setzen" msgid "Cannot set value when direction is input." -msgstr "" +msgstr "Der Wert kann nicht gesetzt werden, wenn die Richtung input ist." msgid "Cannot subclass slice" msgstr "" msgid "Cannot transfer without MOSI and MISO pins." -msgstr "" +msgstr "Übertragung ohne MOSI- und MISO-Pins nicht möglich." msgid "Cannot unambiguously get sizeof scalar" msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" @@ -333,10 +333,10 @@ msgid "Cannot update i/f status" msgstr "Kann i/f Status nicht updaten" msgid "Cannot write without MOSI pin." -msgstr "" +msgstr "Kann nicht ohne MOSI-Pin schreiben." msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" +msgstr "Characteristic UUID stimmt nicht mit der Service-UUID überein" msgid "Characteristic already in use by another Service." msgstr "Characteristic wird bereits von einem anderen Dienst verwendet." @@ -345,16 +345,16 @@ msgid "CharacteristicBuffer writing not provided" msgstr "Schreiben von CharacteristicBuffer ist nicht vorgesehen" msgid "Clock pin init failed." -msgstr "" +msgstr "Clock pin init fehlgeschlagen." msgid "Clock stretch too long" -msgstr "" +msgstr "Clock stretch zu lang" msgid "Clock unit in use" msgstr "Clock unit wird benutzt" msgid "Command must be an int between 0 and 255" -msgstr "" +msgstr "Der Befehl muss ein int zwischen 0 und 255 sein" #, c-format msgid "Could not decode ble_uuid, err 0x%04x" @@ -364,13 +364,13 @@ msgid "Could not initialize UART" msgstr "Konnte UART nicht initialisieren" msgid "Couldn't allocate first buffer" -msgstr "" +msgstr "Konnte first buffer nicht zuteilen" msgid "Couldn't allocate second buffer" -msgstr "" +msgstr "Konnte second buffer nicht zuteilen" msgid "Crash into the HardFault_Handler.\n" -msgstr "" +msgstr "Absturz in HardFault_Handler.\n" msgid "DAC already in use" msgstr "DAC wird schon benutzt" @@ -388,17 +388,16 @@ msgid "Data too large for the advertisement packet" msgstr "Daten sind zu groß für das advertisement packet" msgid "Destination capacity is smaller than destination_length." -msgstr "" +msgstr "Die Zielkapazität ist kleiner als destination_length." msgid "Display rotation must be in 90 degree increments" -msgstr "" +msgstr "Die Rotation der Anzeige muss in 90-Grad-Schritten erfolgen" msgid "Don't know how to pass object to native function" -msgstr "" -"Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann" +msgstr "Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann" msgid "Drive mode not used when direction is input." -msgstr "" +msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist." msgid "ESP8226 does not support safe mode." msgstr "ESP8226 hat keinen Sicherheitsmodus" @@ -547,7 +546,7 @@ msgid "GPIO16 does not support pull up." msgstr "GPIO16 unterstützt pull up nicht" msgid "Group full" -msgstr "" +msgstr "Gruppe voll" msgid "I/O operation on closed file" msgstr "Lese/Schreibe-operation an geschlossener Datei" @@ -590,13 +589,13 @@ msgid "Invalid data pin" msgstr "Ungültiger data pin" msgid "Invalid direction." -msgstr "" +msgstr "Ungültige Richtung" msgid "Invalid file" -msgstr "" +msgstr "Ungültige Datei" msgid "Invalid format chunk size" -msgstr "" +msgstr "Ungültige format chunk size" msgid "Invalid number of bits" msgstr "Ungültige Anzahl von Bits" @@ -626,19 +625,19 @@ msgid "Invalid voice count" msgstr "Ungültige Anzahl von Stimmen" msgid "Invalid wave file" -msgstr "" +msgstr "Ungültige wave Datei" msgid "LHS of keyword arg must be an id" -msgstr "" +msgstr "LHS des Schlüsselwortarguments muss eine id sein" msgid "Layer must be a Group or TileGrid subclass." -msgstr "" +msgstr "Layer muss eine Group- oder TileGrid-Unterklasse sein." msgid "Length must be an int" -msgstr "" +msgstr "Länge muss ein int sein" msgid "Length must be non-negative" -msgstr "" +msgstr "Länge darf nicht negativ sein" msgid "" "Looks like our core CircuitPython code crashed hard. Whoops!\n" @@ -651,10 +650,10 @@ msgstr "" "mit dem Inhalt deines CIRCUITPY-Laufwerks und dieser Nachricht:\n" msgid "MISO pin init failed." -msgstr "" +msgstr "MISO pin Initialisierung fehlgeschlagen" msgid "MOSI pin init failed." -msgstr "" +msgstr "MOSI pin Initialisierung fehlgeschlagen" #, c-format msgid "Maximum PWM frequency is %dhz." @@ -662,31 +661,29 @@ msgstr "Maximale PWM Frequenz ist %dHz" #, c-format msgid "Maximum x value when mirrored is %d" -msgstr "" +msgstr "Maximaler x-Wert beim Spiegeln ist %d" msgid "MicroPython NLR jump failed. Likely memory corruption.\n" -msgstr "" +msgstr "MicroPython-NLR-Sprung ist fehlgeschlagen. Wahrscheinlich Speicherbeschädigung.\n" msgid "MicroPython fatal error.\n" msgstr "Schwerwiegender MicroPython-Fehler\n" msgid "Microphone startup delay must be in range 0.0 to 1.0" -msgstr "" +msgstr "Die Startverzögerung des Mikrofons muss im Bereich von 0,0 bis 1,0 liegen" msgid "Minimum PWM frequency is 1hz." msgstr "Minimale PWM Frequenz ist %dHz" #, c-format msgid "Multiple PWM frequencies not supported. PWM already set to %dhz." -msgstr "" -"Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz " -"gesetzt." +msgstr "Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz gesetzt." msgid "Must be a Group subclass." msgstr "" msgid "No DAC on chip" -msgstr "Kein DAC vorhanden" +msgstr "Kein DAC im Chip vorhanden" msgid "No DMA channel found" msgstr "Kein DMA Kanal gefunden" @@ -731,10 +728,10 @@ msgid "Not connected" msgstr "Nicht verbunden" msgid "Not connected." -msgstr "" +msgstr "Nicht verbunden." msgid "Not playing" -msgstr "" +msgstr "Spielt nicht" msgid "" "Object has been deinitialized and can no longer be used. Create a new object." @@ -750,31 +747,33 @@ msgstr "Nur 8 oder 16 bit mono mit " #, c-format msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "" +msgstr "Nur unkomprimiertes Windows-Format (BMP) unterstützt %d" msgid "Only bit maps of 8 bit color or less are supported" -msgstr "" +msgstr "Es werden nur Bitmaps mit einer Farbtiefe von 8 Bit oder weniger unterstützt" msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "" +msgstr "Es werden nur true color (24 bpp oder höher) BMP unterstützt %x" msgid "Only tx supported on UART1 (GPIO2)." msgstr "UART1 (GPIO2) unterstützt nur tx" msgid "Oversample must be multiple of 8." -msgstr "" +msgstr "Oversample muss ein Vielfaches von 8 sein." msgid "" "PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" -msgstr "PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen" +msgstr "" +"PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen" msgid "" "PWM frequency not writable when variable_frequency is False on construction." -msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False." +msgstr "" +"Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False." #, c-format msgid "PWM not supported on pin %d" @@ -796,18 +795,16 @@ msgid "Pins not valid for SPI" msgstr "Pins nicht gültig für SPI" msgid "Pixel beyond bounds of buffer" -msgstr "" +msgstr "Pixel außerhalb der Puffergrenzen" msgid "Plus any modules on the filesystem\n" msgstr "und alle Module im Dateisystem \n" msgid "Press any key to enter the REPL. Use CTRL-D to reload." -msgstr "" -"Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu " -"laden" +msgstr "Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu laden" msgid "Pull not used when direction is output." -msgstr "" +msgstr "Pull wird nicht verwendet, wenn die Richtung output ist." msgid "RTC calibration is not supported on this board" msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt" @@ -866,7 +863,7 @@ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" msgid "Splitting with sub-captures" -msgstr "Teilen mit unter-captures" +msgstr "Splitting mit sub-captures" msgid "Stack size must be at least 256" msgstr "Die Stackgröße sollte mindestens 256 sein" @@ -934,13 +931,13 @@ msgid "Too many display busses" msgstr "" msgid "Too many displays" -msgstr "" +msgstr "Zu viele displays" msgid "Traceback (most recent call last):\n" msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n" msgid "Tuple or struct_time argument required" -msgstr "" +msgstr "Tuple- oder struct_time-Argument erforderlich" #, c-format msgid "UART(%d) does not exist" @@ -971,10 +968,10 @@ msgid "Unable to find free GCLK" msgstr "Konnte keinen freien GCLK finden" msgid "Unable to init parser" -msgstr "" +msgstr "Parser konnte nicht gestartet werden" msgid "Unable to remount filesystem" -msgstr "Dateisystem kann nicht wieder gemounted werden." +msgstr "Dateisystem konnte nicht wieder eingebunden werden." msgid "Unable to write to nvm." msgstr "Schreiben in nvm nicht möglich." @@ -987,7 +984,7 @@ msgstr "Unbekannter Typ" #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." -msgstr "" +msgstr "Nicht übereinstimmende Anzahl von Elementen auf der rechten Seite (erwartet %d, %d erhalten)." msgid "Unsupported baudrate" msgstr "Baudrate wird nicht unterstützt" @@ -996,27 +993,25 @@ msgid "Unsupported display bus type" msgstr "Nicht unterstützter display bus type" msgid "Unsupported format" -msgstr "" +msgstr "Nicht unterstütztes Format" msgid "Unsupported operation" msgstr "Nicht unterstützte Operation" msgid "Unsupported pull value." -msgstr "" +msgstr "Nicht unterstützter Pull-Wert" msgid "Use esptool to erase flash and re-upload Python instead" -msgstr "" -"Benutze das esptool um den flash zu löschen und Python erneut hochzuladen" +msgstr "Benutze das esptool um den flash zu löschen und Python erneut hochzuladen" msgid "Viper functions don't currently support more than 4 arguments" -msgstr "" +msgstr "Viper-Funktionen unterstützen derzeit nicht mehr als 4 Argumente" msgid "Voice index too high" -msgstr "" +msgstr "Voice index zu hoch" msgid "WARNING: Your code filename has two extensions\n" -msgstr "" -"WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n" +msgstr "WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n" #, c-format msgid "" @@ -1047,14 +1042,14 @@ msgid "[addrinfo error %d]" msgstr "" msgid "__init__() should return None" -msgstr "" +msgstr "__init__() sollte None zurückgeben" #, c-format msgid "__init__() should return None, not '%s'" -msgstr "" +msgstr "__init__() sollte None zurückgeben, nicht '%s'" msgid "__new__ arg must be a user-type" -msgstr "" +msgstr "__new__ arg muss user-type sein" msgid "a bytes-like object is required" msgstr "ein Byte-ähnliches Objekt ist erforderlich" @@ -1076,25 +1071,25 @@ msgid "arg is an empty sequence" msgstr "arg ist eine leere Sequenz" msgid "argument has wrong type" -msgstr "" +msgstr "Argument hat falschen Typ" msgid "argument num/types mismatch" msgstr "Anzahl/Type der Argumente passen nicht" msgid "argument should be a '%q' not a '%q'" -msgstr "" +msgstr "Argument sollte '%q' sein, nicht '%q'" msgid "array/bytes required on right side" -msgstr "" +msgstr "Array/Bytes auf der rechten Seite erforderlich" msgid "attributes not supported yet" -msgstr "" +msgstr "Attribute werden noch nicht unterstützt" msgid "bad GATT role" -msgstr "schlechte GATT role" +msgstr "" msgid "bad compile mode" -msgstr "schlechter compile mode" +msgstr "" msgid "bad conversion specifier" msgstr "" @@ -1103,7 +1098,7 @@ msgid "bad format string" msgstr "" msgid "bad typecode" -msgstr "schlechter typecode" +msgstr "" msgid "binary op %q not implemented" msgstr "Der binäre Operator %q ist nicht implementiert" @@ -1122,7 +1117,7 @@ msgstr "Zweig ist außerhalb der Reichweite" #, c-format msgid "buf is too small. need %d bytes" -msgstr "" +msgstr "buf ist zu klein. brauche %d Bytes" msgid "buffer must be a bytes-like object" msgstr "Puffer muss ein bytes-artiges Objekt sein" @@ -1195,7 +1190,7 @@ msgid "can't convert %s to int" msgstr "kann %s nicht nach int konvertieren" msgid "can't convert '%q' object to %q implicitly" -msgstr "" +msgstr "Kann '%q' Objekt nicht implizit nach %q konvertieren" msgid "can't convert NaN to int" msgstr "kann NaN nicht nach int konvertieren" @@ -1216,7 +1211,7 @@ msgid "can't convert to int" msgstr "kann nicht nach int konvertieren" msgid "can't convert to str implicitly" -msgstr "" +msgstr "Kann nicht implizit nach str konvertieren" msgid "can't declare nonlocal in outer code" msgstr "kann im äußeren Code nicht als nonlocal deklarieren" @@ -1228,7 +1223,7 @@ msgid "can't do binary op between '%q' and '%q'" msgstr "Eine binäre Operation zwischen '%q' und '%q' ist nicht möglich" msgid "can't do truncated division of a complex number" -msgstr "" +msgstr "kann mit einer komplexen Zahl keine abgeschnittene Division ausführen" msgid "can't get AP config" msgstr "" @@ -1246,7 +1241,7 @@ msgid "can't implicitly convert '%q' to 'bool'" msgstr "Kann '%q' nicht implizit nach 'bool' konvertieren" msgid "can't load from '%q'" -msgstr "" +msgstr "Laden von '%q' nicht möglich" msgid "can't load with '%q' index" msgstr "" @@ -1267,13 +1262,13 @@ msgid "can't set attribute" msgstr "" msgid "can't store '%q'" -msgstr "" +msgstr "Speichern von '%q' nicht möglich" msgid "can't store to '%q'" -msgstr "" +msgstr "Speichern in/nach '%q' nicht möglich" msgid "can't store with '%q' index" -msgstr "" +msgstr "Speichern mit '%q' Index nicht möglich" msgid "" "can't switch from automatic field numbering to manual field specification" @@ -1366,13 +1361,13 @@ msgid "either pos or kw args are allowed" msgstr "" msgid "empty" -msgstr "" +msgstr "leer" msgid "empty heap" msgstr "leerer heap" msgid "empty separator" -msgstr "" +msgstr "leeres Trennzeichen" msgid "empty sequence" msgstr "leere Sequenz" @@ -1391,10 +1386,10 @@ msgid "exceptions must derive from BaseException" msgstr "Exceptions müssen von BaseException abgeleitet sein" msgid "expected ':' after format specifier" -msgstr "" +msgstr "erwarte ':' nach format specifier" msgid "expected a DigitalInOut" -msgstr "" +msgstr "erwarte DigitalInOut" msgid "expected tuple/list" msgstr "erwarte tuple/list" @@ -1430,10 +1425,10 @@ msgid "filesystem must provide mount method" msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" msgid "first argument to super() must be type" -msgstr "" +msgstr "Das erste Argument für super() muss type sein" msgid "firstbit must be MSB" -msgstr "das erste Bit muss MSB sein" +msgstr "Erstes Bit muss das höchstwertigste Bit (MSB) sein" msgid "flash location must be below 1MByte" msgstr "flash location muss unter 1MByte sein" @@ -1442,7 +1437,7 @@ msgid "float too big" msgstr "float zu groß" msgid "font must be 2048 bytes long" -msgstr "" +msgstr "Die Schriftart (font) muss 2048 Byte lang sein" msgid "format requires a dict" msgstr "" @@ -1451,7 +1446,7 @@ msgid "frequency can only be either 80Mhz or 160MHz" msgstr "Die Frequenz kann nur 80Mhz oder 160Mhz sein" msgid "full" -msgstr "" +msgstr "voll" msgid "function does not take keyword arguments" msgstr "Funktion akzeptiert keine Keyword-Argumente" @@ -1479,20 +1474,19 @@ msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d" #, c-format msgid "function takes %d positional arguments but %d were given" -msgstr "" -"Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" +msgstr "Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben" msgid "function takes exactly 9 arguments" -msgstr "" +msgstr "Funktion benötigt genau 9 Argumente" msgid "generator already executing" -msgstr "" +msgstr "Generator läuft bereits" msgid "generator ignored GeneratorExit" -msgstr "" +msgstr "Generator ignoriert GeneratorExit" msgid "graphic must be 2048 bytes long" -msgstr "" +msgstr "graphic muss 2048 Byte lang sein" msgid "heap must be a list" msgstr "heap muss eine Liste sein" @@ -1507,10 +1501,10 @@ msgid "impossible baudrate" msgstr "Unmögliche Baudrate" msgid "incomplete format" -msgstr "" +msgstr "unvollständiges Format" msgid "incomplete format key" -msgstr "" +msgstr "unvollständiger Formatschlüssel" msgid "incorrect padding" msgstr "padding ist inkorrekt" @@ -1525,10 +1519,10 @@ msgid "inline assembler must be a function" msgstr "inline assembler muss eine function sein" msgid "int() arg 2 must be >= 2 and <= 36" -msgstr "" +msgstr "int() arg 2 muss >= 2 und <= 36 sein" msgid "integer required" -msgstr "" +msgstr "integer erforderlich" msgid "interval not in range 0.0020 to 10.24" msgstr "Das Interval ist nicht im Bereich 0.0020 bis 10.24" @@ -1540,19 +1534,19 @@ msgid "invalid SPI peripheral" msgstr "ungültige SPI Schnittstelle" msgid "invalid alarm" -msgstr "Ungültiger Alarm" +msgstr "ungültiger Alarm" msgid "invalid arguments" msgstr "ungültige argumente" msgid "invalid buffer length" -msgstr "" +msgstr "ungültige Pufferlänge" msgid "invalid cert" msgstr "ungültiges cert" msgid "invalid data bits" -msgstr "Ungültige Datenbits" +msgstr "ungültige Datenbits" msgid "invalid dupterm index" msgstr "ungültiger dupterm index" @@ -1561,7 +1555,7 @@ msgid "invalid format" msgstr "ungültiges Format" msgid "invalid format specifier" -msgstr "" +msgstr "ungültiger Formatbezeichner" msgid "invalid key" msgstr "ungültiger Schlüssel" @@ -1570,40 +1564,38 @@ msgid "invalid micropython decorator" msgstr "ungültiger micropython decorator" msgid "invalid pin" -msgstr "Ungültiger Pin" +msgstr "ungültiger Pin" msgid "invalid step" msgstr "ungültiger Schritt (step)" msgid "invalid stop bits" -msgstr "Ungültige Stopbits" +msgstr "ungültige Stopbits" msgid "invalid syntax" msgstr "ungültige Syntax" msgid "invalid syntax for integer" -msgstr "" +msgstr "ungültige Syntax für integer" #, c-format msgid "invalid syntax for integer with base %d" -msgstr "" +msgstr "ungültige Syntax für integer mit Basis %d" msgid "invalid syntax for number" -msgstr "" +msgstr "ungültige Syntax für number" msgid "issubclass() arg 1 must be a class" -msgstr "" +msgstr "issubclass() arg 1 muss eine Klasse sein" msgid "issubclass() arg 2 must be a class or a tuple of classes" -msgstr "" +msgstr "issubclass() arg 2 muss eine Klasse oder ein Tupel von Klassen sein" msgid "join expects a list of str/bytes objects consistent with self object" -msgstr "" +msgstr "join erwartet eine Liste von str/bytes-Objekten, die mit dem self-Objekt übereinstimmen" msgid "keyword argument(s) not yet implemented - use normal args instead" -msgstr "" -"Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen " -"normale Argumente" +msgstr "Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen normale Argumente" msgid "keywords must be strings" msgstr "Schlüsselwörter müssen Zeichenfolgen sein" @@ -1621,24 +1613,22 @@ msgid "length argument not allowed for this type" msgstr "Für diesen Typ ist length nicht zulässig" msgid "lhs and rhs should be compatible" -msgstr "" +msgstr "lhs und rhs sollten kompatibel sein" msgid "local '%q' has type '%q' but source is '%q'" -msgstr "" +msgstr "Lokales '%q' hat den Typ '%q', aber die Quelle ist '%q'" msgid "local '%q' used before type known" -msgstr "" +msgstr "Lokales '%q' verwendet bevor Typ bekannt" msgid "local variable referenced before assignment" -msgstr "" -"Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. " -"Variablen immer zuerst Zuweisen!" +msgstr "Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. Variablen immer zuerst Zuweisen!" msgid "long int not supported in this build" msgstr "long int wird in diesem Build nicht unterstützt" msgid "map buffer too small" -msgstr "" +msgstr "map buffer zu klein" msgid "math domain error" msgstr "" @@ -1652,8 +1642,7 @@ msgstr "Speicherzuordnung fehlgeschlagen, Zuweisung von %u Bytes" #, c-format msgid "memory allocation failed, allocating %u bytes for native code" -msgstr "" -"Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" +msgstr "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" msgid "memory allocation failed, heap is locked" msgstr "Speicherzuweisung fehlgeschlagen, der Heap ist gesperrt" @@ -1783,7 +1772,7 @@ msgid "odd-length string" msgstr "String mit ungerader Länge" msgid "offset out of bounds" -msgstr "" +msgstr "offset außerhalb der Grenzen" msgid "only slices with step=1 (aka None) are supported" msgstr "" @@ -1793,9 +1782,7 @@ msgstr "ord erwartet ein Zeichen" #, c-format msgid "ord() expected a character, but string of length %d found" -msgstr "" -"ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d " -"gefunden" +msgstr "ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d gefunden" msgid "overflow converting long int to machine word" msgstr "" @@ -1819,31 +1806,31 @@ msgid "pin does not have IRQ capabilities" msgstr "Pin hat keine IRQ Fähigkeiten" msgid "pixel coordinates out of bounds" -msgstr "" +msgstr "Pixelkoordinaten außerhalb der Grenzen" msgid "pixel value requires too many bits" msgstr "" msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" -msgstr "" +msgstr "pixel_shader muss displayio.Palette oder displayio.ColorConverter sein" msgid "pop from an empty PulseIn" msgstr "pop von einem leeren PulseIn" msgid "pop from an empty set" -msgstr "" +msgstr "pop von einer leeren Menge (set)" msgid "pop from empty list" -msgstr "" +msgstr "pop von einer leeren Liste" msgid "popitem(): dictionary is empty" -msgstr "" +msgstr "popitem(): dictionary ist leer" msgid "position must be 2-tuple" msgstr "" msgid "pow() 3rd argument cannot be 0" -msgstr "" +msgstr "pow() drittes Argument darf nicht 0 sein" msgid "pow() with 3 arguments requires integers" msgstr "" @@ -1852,10 +1839,10 @@ msgid "queue overflow" msgstr "Warteschlangenüberlauf" msgid "rawbuf is not the same size as buf" -msgstr "" +msgstr "rawbuf hat nicht die gleiche Größe wie buf" msgid "readonly attribute" -msgstr "" +msgstr "Readonly-Attribut" msgid "relative import" msgstr "relativer Import" @@ -1958,7 +1945,7 @@ msgid "struct: no fields" msgstr "struct: keine Felder" msgid "substring not found" -msgstr "" +msgstr "substring nicht gefunden" msgid "super() can't find self" msgstr "super() kann self nicht finden" @@ -2042,9 +2029,7 @@ msgid "unicode name escapes" msgstr "" msgid "unindent does not match any outer indentation level" -msgstr "" -"Einrückung entspricht keiner äußeren Einrückungsebene. Bitte Leerzeichen am " -"Zeilenanfang kontrollieren!" +msgstr "Einrückung entspricht keiner äußeren Einrückungsebene. Bitte Leerzeichen am Zeilenanfang kontrollieren!" msgid "unknown config param" msgstr "" @@ -2072,13 +2057,13 @@ msgid "unknown type" msgstr "unbekannter Typ" msgid "unknown type '%q'" -msgstr "" +msgstr "unbekannter Typ '%q'" msgid "unmatched '{' in format" msgstr "" msgid "unreadable attribute" -msgstr "" +msgstr "nicht lesbares Attribut" #, c-format msgid "unsupported Thumb instruction '%s' with %d arguments" @@ -2096,34 +2081,34 @@ msgid "unsupported format character '%c' (0x%x) at index %d" msgstr "" msgid "unsupported type for %q: '%s'" -msgstr "" +msgstr "nicht unterstützter Type für %q: '%s'" msgid "unsupported type for operator" -msgstr "" +msgstr "nicht unterstützter Typ für Operator" msgid "unsupported types for %q: '%s', '%s'" -msgstr "" +msgstr "nicht unterstützte Typen für %q: '%s', '%s'" msgid "wifi_set_ip_info() failed" msgstr "wifi_set_ip_info() fehlgeschlagen" msgid "write_args must be a list, tuple, or None" -msgstr "" +msgstr "write_args muss eine Liste, ein Tupel oder None sein" msgid "wrong number of arguments" -msgstr "" +msgstr "falsche Anzahl an Argumenten" msgid "wrong number of values to unpack" -msgstr "" +msgstr "falsche Anzahl zu entpackender Werte" msgid "x value out of bounds" -msgstr "" +msgstr "x Wert außerhalb der Grenzen" msgid "y should be an int" -msgstr "" +msgstr "y sollte ein int sein" msgid "y value out of bounds" -msgstr "" +msgstr "y Wert außerhalb der Grenzen" msgid "zero step" msgstr "" From cad97801bfb708dbe1df65aceb99079346559e31 Mon Sep 17 00:00:00 2001 From: Pascal Deneaux Date: Sat, 23 Feb 2019 15:56:30 +0100 Subject: [PATCH 24/76] Added support for bitdepths in OnDiskBitmap https://github.com/adafruit/circuitpython/pull/1558 --- locale/de_DE.po | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/locale/de_DE.po b/locale/de_DE.po index 06316529805a..45f2462e4304 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -2112,3 +2112,15 @@ msgstr "y Wert außerhalb der Grenzen" msgid "zero step" msgstr "" + +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%d G:%d B:%d" +msgstr "" + +#, c-format +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 , and 8bpp grayscale BMP " +"supported %x" +msgstr "" + From b81072e7501045bfa5e8e5b74631dfe01327af2b Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Sat, 23 Feb 2019 10:58:46 -0800 Subject: [PATCH 25/76] (fork rebuild) Initial support for 16bpp 555&565 and 8bpp grayscale bitmaps --- locale/ID.po | 11 ++++- locale/circuitpython.pot | 11 ++++- locale/de_DE.po | 11 ++++- locale/en_US.po | 11 ++++- locale/es.po | 16 +++++-- locale/fil.po | 16 +++++-- locale/fr.po | 16 +++++-- locale/it_IT.po | 16 +++++-- locale/pt_BR.po | 16 +++++-- shared-module/displayio/OnDiskBitmap.c | 63 ++++++++++++++++++++++---- shared-module/displayio/OnDiskBitmap.h | 5 ++ 11 files changed, 160 insertions(+), 32 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 7e3a6c7981c2..bfa219222080 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -756,6 +756,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Parity ganjil tidak didukung" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "Hanya 8 atau 16 bit mono dengan " @@ -770,7 +775,9 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 226a3a6fa34f..c36a10a4caa2 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -730,6 +730,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "" @@ -744,7 +749,9 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." diff --git a/locale/de_DE.po b/locale/de_DE.po index aff3c14f83c2..9da46fbea662 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -745,6 +745,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Eine ungerade Parität wird nicht unterstützt" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "Nur 8 oder 16 bit mono mit " @@ -759,7 +764,9 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." diff --git a/locale/en_US.po b/locale/en_US.po index c6bc8c5afd4a..cb9d85a18462 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -730,6 +730,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "" @@ -744,7 +749,9 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." diff --git a/locale/es.po b/locale/es.po index 46b9435e50f5..06a1f10f93c5 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -770,6 +770,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Paridad impar no soportada" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "Solo mono de 8 o 16 bit con " @@ -785,8 +790,10 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "solo se admiten segmentos con step=1 (alias None)" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" +msgstr "" msgid "Only tx supported on UART1 (GPIO2)." msgstr "Solo tx soportada en UART1 (GPIO2)" @@ -2160,3 +2167,6 @@ msgstr "address fuera de límites" msgid "zero step" msgstr "paso cero" + +#~ msgid "Only true color (24 bpp or higher) BMP supported %x" +#~ msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" diff --git a/locale/fil.po b/locale/fil.po index 3dc70c6267cc..0e79f20317cd 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -768,6 +768,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Odd na parity ay hindi supportado" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "Tanging 8 o 16 na bit mono na may " @@ -783,8 +788,10 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" +msgstr "" msgid "Only tx supported on UART1 (GPIO2)." msgstr "Tanging suportado ang TX sa UART1 (GPIO2)." @@ -2166,3 +2173,6 @@ msgstr "wala sa sakop ang address" msgid "zero step" msgstr "zero step" + +#~ msgid "Only true color (24 bpp or higher) BMP supported %x" +#~ msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" diff --git a/locale/fr.po b/locale/fr.po index 98911d64df5a..cb81f74ca7c3 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -772,6 +772,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "parité impaire non supportée" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "Uniquement 8 ou 16 bit mono avec " @@ -787,8 +792,10 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Seul les BMP 24bits ou plus sont supportés %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" +msgstr "" msgid "Only tx supported on UART1 (GPIO2)." msgstr "Seul le tx est supporté sur l'UART1 (GPIO2)." @@ -2190,3 +2197,6 @@ msgstr "adresse hors limites" msgid "zero step" msgstr "'step' nul" + +#~ msgid "Only true color (24 bpp or higher) BMP supported %x" +#~ msgstr "Seul les BMP 24bits ou plus sont supportés %x" diff --git a/locale/it_IT.po b/locale/it_IT.po index 55c6c065e5ba..83664a146c93 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -767,6 +767,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "operazione I2C non supportata" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "" @@ -782,8 +787,10 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "solo slice con step=1 (aka None) sono supportate" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" +msgstr "" msgid "Only tx supported on UART1 (GPIO2)." msgstr "Solo tx supportato su UART1 (GPIO2)." @@ -2162,3 +2169,6 @@ msgstr "indirizzo fuori limite" msgid "zero step" msgstr "zero step" + +#~ msgid "Only true color (24 bpp or higher) BMP supported %x" +#~ msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 6b08dcef008e..70e7bde4a915 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-22 15:26-0800\n" +"POT-Creation-Date: 2019-02-23 10:51-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -756,6 +756,11 @@ msgstr "" msgid "Odd parity is not supported" msgstr "I2C operação não suportada" +#, c-format +msgid "" +"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" +msgstr "" + msgid "Only 8 or 16 bit mono with " msgstr "" @@ -770,8 +775,10 @@ msgid "Only slices with step=1 (aka None) are supported" msgstr "" #, c-format -msgid "Only true color (24 bpp or higher) BMP supported %x" -msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" +msgid "" +"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " +"BMP supported %d" +msgstr "" msgid "Only tx supported on UART1 (GPIO2)." msgstr "Apenas TX suportado no UART1 (GPIO2)." @@ -2110,3 +2117,6 @@ msgstr "" msgid "zero step" msgstr "passo zero" + +#~ msgid "Only true color (24 bpp or higher) BMP supported %x" +#~ msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" diff --git a/shared-module/displayio/OnDiskBitmap.c b/shared-module/displayio/OnDiskBitmap.c index aa2ca3e103f1..bc30646326d0 100644 --- a/shared-module/displayio/OnDiskBitmap.c +++ b/shared-module/displayio/OnDiskBitmap.c @@ -38,13 +38,13 @@ static uint32_t read_word(uint16_t* bmp_header, uint16_t index) { void common_hal_displayio_ondiskbitmap_construct(displayio_ondiskbitmap_t *self, pyb_file_obj_t* file) { // Load the wave self->file = file; - uint16_t bmp_header[24]; + uint16_t bmp_header[69]; f_rewind(&self->file->fp); UINT bytes_read; - if (f_read(&self->file->fp, bmp_header, 48, &bytes_read) != FR_OK) { + if (f_read(&self->file->fp, bmp_header, 138, &bytes_read) != FR_OK) { mp_raise_OSError(MP_EIO); } - if (bytes_read != 48 || + if (bytes_read != 138 || memcmp(bmp_header, "BM", 2) != 0) { mp_raise_ValueError(translate("Invalid BMP file")); } @@ -53,15 +53,35 @@ void common_hal_displayio_ondiskbitmap_construct(displayio_ondiskbitmap_t *self, self->data_offset = read_word(bmp_header, 5); uint32_t header_size = read_word(bmp_header, 7); + uint16_t bits_per_pixel = bmp_header[14]; uint32_t compression = read_word(bmp_header, 15); - if (!(header_size == 12 || header_size == 40 || header_size == 108 || header_size == 124) || + uint32_t number_of_colors = read_word(bmp_header, 23); + self->bitfield_compressed = (compression == 3); + + self->grayscale = ((bits_per_pixel == 8) && (number_of_colors == 256)); + if (bits_per_pixel == 16){ + if (((header_size == 124) || (header_size == 56)) && (self->bitfield_compressed)) { + self->r_bitmask = read_word(bmp_header, 27); + self->g_bitmask = read_word(bmp_header, 29); + self->b_bitmask = read_word(bmp_header, 31); + + if (!((self->r_bitmask == 0xf800) && (self->g_bitmask == 0x07e0) && (self->b_bitmask == 0x001f))){ + mp_raise_ValueError_varg(translate("Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x"), + self->r_bitmask, self->g_bitmask, self->b_bitmask); + } + } else if (header_size == 40){ // no bitmasks means 5:5:5 + self->r_bitmask = 0x7c00; + self->g_bitmask = 0x3e0; + self->b_bitmask = 0x1f; + } + + } else if (!(header_size == 12 || header_size == 40 || header_size == 108 || header_size == 124) || !(compression == 0)) { mp_raise_ValueError_varg(translate("Only Windows format, uncompressed BMP supported %d"), header_size); } - // TODO(tannewt): Support bitfield compressed colors since RGB565 can be produced by the GIMP. - uint16_t bits_per_pixel = bmp_header[14]; - if (bits_per_pixel < 24) { - mp_raise_ValueError_varg(translate("Only true color (24 bpp or higher) BMP supported %x"), bits_per_pixel); + + if (bits_per_pixel < 16 && !(self->grayscale)) { + mp_raise_ValueError_varg(translate("Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale BMP supported %d"), bits_per_pixel); } self->bytes_per_pixel = bits_per_pixel / 8; self->width = read_word(bmp_header, 9); @@ -87,7 +107,32 @@ uint32_t common_hal_displayio_ondiskbitmap_get_pixel(displayio_ondiskbitmap_t *s uint32_t pixel = 0; uint32_t result = f_read(&self->file->fp, &pixel, self->bytes_per_pixel, &bytes_read); if (result == FR_OK) { - return pixel; + uint32_t tmp = 0; + uint8_t red; + uint8_t green; + uint8_t blue; + if (self->grayscale){ + red = pixel; + green = pixel; + blue = pixel; + tmp = (red << 16 | green << 8 | blue); + return tmp; + } else if (self->bytes_per_pixel == 2) { + if (self->bitfield_compressed){ + red =((pixel & self->r_bitmask) >>11); + green = ((pixel & self->g_bitmask) >>5); + blue = ((pixel & self->b_bitmask) >> 0); + } else { + red =((pixel & self->r_bitmask) >>10); + green = ((pixel & self->g_bitmask) >>4); + blue = ((pixel & self->b_bitmask) >> 0); + } + tmp = (red << 19 | green << 10 | blue << 3); + return tmp; + }else { + return pixel; + } + } return 0; } diff --git a/shared-module/displayio/OnDiskBitmap.h b/shared-module/displayio/OnDiskBitmap.h index 31d6c95501dc..2102863d6842 100644 --- a/shared-module/displayio/OnDiskBitmap.h +++ b/shared-module/displayio/OnDiskBitmap.h @@ -40,6 +40,11 @@ typedef struct { uint16_t height; uint16_t data_offset; uint16_t stride; + uint32_t r_bitmask; + uint32_t g_bitmask; + uint32_t b_bitmask; + bool bitfield_compressed; + bool grayscale; pyb_file_obj_t* file; uint8_t bytes_per_pixel; } displayio_ondiskbitmap_t; From 85421f9766048092babc876ef49ffecc4dff0470 Mon Sep 17 00:00:00 2001 From: ladyada Date: Sat, 23 Feb 2019 15:40:28 -0500 Subject: [PATCH 26/76] final pin names, tested with final release --- ports/atmel-samd/boards/pyportal/pins.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ports/atmel-samd/boards/pyportal/pins.c b/ports/atmel-samd/boards/pyportal/pins.c index a653e76a4ded..24ebd92bb162 100644 --- a/ports/atmel-samd/boards/pyportal/pins.c +++ b/ports/atmel-samd/boards/pyportal/pins.c @@ -10,14 +10,15 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_AUDIO_OUT), MP_ROM_PTR(&pin_PA02) }, { MP_OBJ_NEW_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) }, // analog out/in + { MP_OBJ_NEW_QSTR(MP_QSTR_SPEAKER_ENABLE), MP_ROM_PTR(&pin_PA27) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_LIGHT), MP_ROM_PTR(&pin_PA07) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA07) }, // STEMMA connectors - { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB02) }, // SDA - { MP_OBJ_NEW_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PB03) }, // SCL - { MP_OBJ_NEW_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA04) }, // D3 { MP_OBJ_NEW_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA04) }, // D3 - { MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA05) }, // D4 + { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA04) }, // A1/D3 { MP_OBJ_NEW_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA05) }, // D4 + { MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA05) }, // A4/D4 // Indicator LED { MP_OBJ_NEW_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA27) }, @@ -49,10 +50,11 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_TOUCH_XR), MP_ROM_PTR(&pin_PB08) }, // ESP control - { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_CS), MP_ROM_PTR(&pin_PA15) }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_BUSY), MP_ROM_PTR(&pin_PB14) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_CS), MP_ROM_PTR(&pin_PB14) }, { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_GPIO0), MP_ROM_PTR(&pin_PB15) }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RESET), MP_ROM_PTR(&pin_PB16) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_BUSY), MP_ROM_PTR(&pin_PB16) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RESET), MP_ROM_PTR(&pin_PB17) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RTS), MP_ROM_PTR(&pin_PA15) }, // UART { MP_OBJ_NEW_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB12) }, From 3843e96edc8d338492574570caee24f398036b93 Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Sat, 23 Feb 2019 19:47:58 -0800 Subject: [PATCH 27/76] Tweaking German hallowing build for size --- ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk index e41e2ebd90cf..06699392602a 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk @@ -16,3 +16,6 @@ CHIP_FAMILY = samd21 FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel + +# To keep the build small +CFLAGS_INLINE_LIMIT = 50 From 3afcd3f5bc418fb9daa3838915557bd2c1a05f03 Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Sat, 23 Feb 2019 20:18:22 -0800 Subject: [PATCH 28/76] another/different size tweak for the DE hallowing build --- ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk index 06699392602a..222a217b3090 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk @@ -18,4 +18,4 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel # To keep the build small -CFLAGS_INLINE_LIMIT = 50 +CIRCUITPY_I2CSLAVE = 0 From bd13834a74fefa809da5ce6a651696abc2293c04 Mon Sep 17 00:00:00 2001 From: Jerry Needell Date: Sun, 24 Feb 2019 09:34:33 -0500 Subject: [PATCH 29/76] implement default busses for particle boards --- ports/nrf/boards/particle_argon/pins.c | 6 ++++++ ports/nrf/boards/particle_boron/pins.c | 8 ++++++++ ports/nrf/boards/particle_xenon/pins.c | 8 ++++++++ 3 files changed, 22 insertions(+) diff --git a/ports/nrf/boards/particle_argon/pins.c b/ports/nrf/boards/particle_argon/pins.c index 8c2fb38e6333..10d547f910a7 100644 --- a/ports/nrf/boards/particle_argon/pins.c +++ b/ports/nrf/boards/particle_argon/pins.c @@ -61,6 +61,12 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ESP_BOOT_MODE), MP_ROM_PTR(&pin_P0_16) }, { MP_ROM_QSTR(MP_QSTR_ESP_WIFI_EN), MP_ROM_PTR(&pin_P0_24) }, { MP_ROM_QSTR(MP_QSTR_ESP_HOST_WK), MP_ROM_PTR(&pin_P0_07) }, + + { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + + }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nrf/boards/particle_boron/pins.c b/ports/nrf/boards/particle_boron/pins.c index 5981212bf634..0b827a85a4b5 100644 --- a/ports/nrf/boards/particle_boron/pins.c +++ b/ports/nrf/boards/particle_boron/pins.c @@ -59,6 +59,14 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_UBLOX_POWER_MONITOR), MP_ROM_PTR(&pin_P0_02) }, { MP_ROM_QSTR(MP_QSTR_UBLOX_RESET), MP_ROM_PTR(&pin_P0_12) }, { MP_ROM_QSTR(MP_QSTR_UBLOX_POWER_ON), MP_ROM_PTR(&pin_P0_16) }, + + + { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + + + }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nrf/boards/particle_xenon/pins.c b/ports/nrf/boards/particle_xenon/pins.c index cdd5b5306c56..644face61ceb 100644 --- a/ports/nrf/boards/particle_xenon/pins.c +++ b/ports/nrf/boards/particle_xenon/pins.c @@ -52,6 +52,14 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ANTENNA_EXTERNAL), MP_ROM_PTR(&pin_P0_25) }, { MP_ROM_QSTR(MP_QSTR_ANTENNA_PCB), MP_ROM_PTR(&pin_P0_24) }, + + + { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + + + }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); From 8b6dc446d3d5ce1de155eef056877dbe2d5cada9 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Sun, 24 Feb 2019 14:23:00 -0500 Subject: [PATCH 30/76] Remove bleio classes that aren't done yet. --- shared-bindings/bleio/Descriptor.c | 3 +++ shared-bindings/bleio/Device.c | 3 +++ shared-bindings/bleio/ScanEntry.c | 3 +++ shared-bindings/bleio/Scanner.c | 3 +++ shared-bindings/bleio/__init__.c | 16 +++++++++------- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/shared-bindings/bleio/Descriptor.c b/shared-bindings/bleio/Descriptor.c index 9fcfc2dfd9c3..b32f4f08ecef 100644 --- a/shared-bindings/bleio/Descriptor.c +++ b/shared-bindings/bleio/Descriptor.c @@ -48,6 +48,9 @@ enum { DescriptorUuidTimeTriggerSetting = 0x290E, }; +// Work-in-progress: orphaned for now. +//| :orphan: +//| //| .. currentmodule:: bleio //| //| :class:`Descriptor` -- BLE descriptor diff --git a/shared-bindings/bleio/Device.c b/shared-bindings/bleio/Device.c index e40efbb595e7..80595ef339cb 100644 --- a/shared-bindings/bleio/Device.c +++ b/shared-bindings/bleio/Device.c @@ -43,6 +43,9 @@ #include "shared-module/bleio/Device.h" #include "shared-module/bleio/ScanEntry.h" +// Work-in-progress: orphaned for now. +//| :orphan: +//| //| .. currentmodule:: bleio //| //| :class:`Device` -- BLE device diff --git a/shared-bindings/bleio/ScanEntry.c b/shared-bindings/bleio/ScanEntry.c index 3a57711ae2f0..e6b9550780be 100644 --- a/shared-bindings/bleio/ScanEntry.c +++ b/shared-bindings/bleio/ScanEntry.c @@ -37,6 +37,9 @@ #include "shared-module/bleio/AdvertisementData.h" #include "shared-module/bleio/ScanEntry.h" +// Work-in-progress: orphaned for now. +//| :orphan: +//| //| .. currentmodule:: bleio //| //| :class:`ScanEntry` -- BLE scan response entry diff --git a/shared-bindings/bleio/Scanner.c b/shared-bindings/bleio/Scanner.c index dba455b2f537..f5424f706cb4 100644 --- a/shared-bindings/bleio/Scanner.c +++ b/shared-bindings/bleio/Scanner.c @@ -32,6 +32,9 @@ #define DEFAULT_INTERVAL 100 #define DEFAULT_WINDOW 100 +// Work-in-progress: orphaned for now. +//| :orphan: +//| //| .. currentmodule:: bleio //| //| :class:`Scanner` -- scan for nearby BLE devices diff --git a/shared-bindings/bleio/__init__.c b/shared-bindings/bleio/__init__.c index 42bd093f19b5..7348655acc59 100644 --- a/shared-bindings/bleio/__init__.c +++ b/shared-bindings/bleio/__init__.c @@ -60,11 +60,12 @@ //| Broadcaster //| Characteristic //| CharacteristicBuffer -//| Descriptor -//| Device +// Work-in-progress classes are omitted, and marked as :orphan: in their files. +// Descriptor +// Device //| Peripheral -//| ScanEntry -//| Scanner +// ScanEntry +// Scanner //| Service //| UUID //| @@ -82,10 +83,11 @@ STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_Broadcaster), MP_ROM_PTR(&bleio_broadcaster_type) }, { MP_ROM_QSTR(MP_QSTR_Characteristic), MP_ROM_PTR(&bleio_characteristic_type) }, { MP_ROM_QSTR(MP_QSTR_CharacteristicBuffer), MP_ROM_PTR(&bleio_characteristic_buffer_type) }, - { MP_ROM_QSTR(MP_QSTR_Descriptor), MP_ROM_PTR(&bleio_descriptor_type) }, +// { MP_ROM_QSTR(MP_QSTR_Descriptor), MP_ROM_PTR(&bleio_descriptor_type) }, { MP_ROM_QSTR(MP_QSTR_Peripheral), MP_ROM_PTR(&bleio_peripheral_type) }, - { MP_ROM_QSTR(MP_QSTR_ScanEntry), MP_ROM_PTR(&bleio_scanentry_type) }, - { MP_ROM_QSTR(MP_QSTR_Scanner), MP_ROM_PTR(&bleio_scanner_type) }, +// Hide work-in-progress. +// { MP_ROM_QSTR(MP_QSTR_ScanEntry), MP_ROM_PTR(&bleio_scanentry_type) }, +// { MP_ROM_QSTR(MP_QSTR_Scanner), MP_ROM_PTR(&bleio_scanner_type) }, { MP_ROM_QSTR(MP_QSTR_Service), MP_ROM_PTR(&bleio_service_type) }, { MP_ROM_QSTR(MP_QSTR_UUID), MP_ROM_PTR(&bleio_uuid_type) }, From 9d3fcf9a0d549bbe2329e4b9d1db31194f4b18df Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sun, 24 Feb 2019 18:05:51 -0600 Subject: [PATCH 31/76] add frequencyio to circuipy_ configs --- py/circuitpy_defns.mk | 5 +++++ py/circuitpy_mpconfig.h | 8 ++++++++ py/circuitpy_mpconfig.mk | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk index 2fa2e78e2a1f..9bda124fc5d7 100644 --- a/py/circuitpy_defns.mk +++ b/py/circuitpy_defns.mk @@ -126,6 +126,9 @@ endif ifeq ($(CIRCUITPY_DISPLAYIO),1) SRC_PATTERNS += displayio/% terminalio/% endif +ifeq ($(CIRCUITPY_FREQUENCYIO),1) +SRC_PATTERNS += frequencyio/% +endif ifeq ($(CIRCUITPY_GAMEPAD),1) SRC_PATTERNS += gamepad/% endif @@ -228,6 +231,8 @@ $(filter $(SRC_PATTERNS), \ digitalio/DigitalInOut.c \ digitalio/__init__.c \ displayio/ParallelBus.c \ + frequencyio/__init__.c \ + frequencyio/FrequencyIn.c \ i2cslave/I2CSlave.c \ i2cslave/__init__.c \ microcontroller/Pin.c \ diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 6f970548541f..218fc3d050b6 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -281,6 +281,13 @@ extern const struct _mp_obj_module_t terminalio_module; #define CIRCUITPY_DISPLAY_LIMIT (0) #endif +#if CIRCUITPY_FREQUENCYIO +extern const struct _mp_obj_module_t frequencyio_module; +#define FREQUENCYIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_frequencyio), (mp_obj_t)&frequencyio_module }, +#else +#define FREQUENCYIO_MODULE +#endif + #if CIRCUITPY_GAMEPAD extern const struct _mp_obj_module_t gamepad_module; // Scan gamepad every 32ms @@ -512,6 +519,7 @@ extern const struct _mp_obj_module_t ustack_module; TERMINALIO_MODULE \ DISPLAYIO_MODULE \ ERRNO_MODULE \ + FREQUENCYIO_MODULE \ GAMEPAD_MODULE \ I2CSLAVE_MODULE \ JSON_MODULE \ diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk index a4a59170f087..e10c7f66ebf2 100644 --- a/py/circuitpy_mpconfig.mk +++ b/py/circuitpy_mpconfig.mk @@ -92,6 +92,11 @@ CIRCUITPY_DISPLAYIO = $(CIRCUITPY_FULL_BUILD) endif CFLAGS += -DCIRCUITPY_DISPLAYIO=$(CIRCUITPY_DISPLAYIO) +ifndef CIRCUITPY_FREQUENCYIO +CIRCUITPY_FREQUENCYIO = $(CIRCUITPY_FULL_BUILD) +endif +CFLAGS += -DCIRCUITPY_FREQUENCYIO=$(CIRCUITPY_FREQUENCYIO) + ifndef CIRCUITPY_GAMEPAD CIRCUITPY_GAMEPAD = $(CIRCUITPY_FULL_BUILD) endif From f602fa3d9f56056e3fd808586c59cb49cc28043d Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sun, 24 Feb 2019 18:07:26 -0600 Subject: [PATCH 32/76] fix init deps --- .../common-hal/frequencyio/__init__.c | 1 + shared-bindings/frequencyio/__init__.c | 5 +-- shared-bindings/frequencyio/__init__.h | 34 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 ports/atmel-samd/common-hal/frequencyio/__init__.c create mode 100644 shared-bindings/frequencyio/__init__.h diff --git a/ports/atmel-samd/common-hal/frequencyio/__init__.c b/ports/atmel-samd/common-hal/frequencyio/__init__.c new file mode 100644 index 000000000000..487814bd076b --- /dev/null +++ b/ports/atmel-samd/common-hal/frequencyio/__init__.c @@ -0,0 +1 @@ +// No ferquencyio module functions. diff --git a/shared-bindings/frequencyio/__init__.c b/shared-bindings/frequencyio/__init__.c index 8e794eac4ac1..48a026824926 100644 --- a/shared-bindings/frequencyio/__init__.c +++ b/shared-bindings/frequencyio/__init__.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Scott Shawcroft for Adafruit Industries + * Copyright (c) 2019 Michael Schroeder * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -30,6 +30,7 @@ #include "py/runtime.h" #include "shared-bindings/microcontroller/Pin.h" +#include "shared-bindings/frequencyio/__init__.h" #include "shared-bindings/frequencyio/FrequencyIn.h" //| :mod:`frequencyio` --- Support for frequency based protocols @@ -77,7 +78,7 @@ STATIC const mp_rom_map_elem_t frequencyio_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_frequencyio) }, - { MP_ROM_QSTR(MP_QSTR_FrequencyIn), MP_ROM_PTR(&pulseio_frequencyin_type) }, + { MP_ROM_QSTR(MP_QSTR_FrequencyIn), MP_ROM_PTR(&frequencyio_frequencyin_type) }, }; STATIC MP_DEFINE_CONST_DICT(frequencyio_module_globals, frequencyio_module_globals_table); diff --git a/shared-bindings/frequencyio/__init__.h b/shared-bindings/frequencyio/__init__.h new file mode 100644 index 000000000000..39157659440f --- /dev/null +++ b/shared-bindings/frequencyio/__init__.h @@ -0,0 +1,34 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2019 Michael Schroeder + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO___INIT___H +#define MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO___INIT___H + +#include "py/obj.h" + +// Nothing now. + +#endif // MICROPY_INCLUDED_SHARED_BINDINGS_FREQUENCYIO___INIT___H From a8204f1bf9b607ec13f581722b4c2e036f8c34b7 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sun, 24 Feb 2019 18:07:55 -0600 Subject: [PATCH 33/76] touchup adding frequencyin interrupt handling --- ports/atmel-samd/timer_handler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index cc777cc3b1a3..7f68e4a920ea 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -30,6 +30,7 @@ #include "timer_handler.h" #include "common-hal/pulseio/PulseOut.h" +#include "common-hal/frequencyio/FrequencyIn.h" static uint8_t tc_handler[TC_INST_NUM]; From f127be4dd279f0ce7e1d7c206bc7dfb16a55d285 Mon Sep 17 00:00:00 2001 From: Dustin Mendoza Date: Mon, 25 Feb 2019 16:39:20 -0800 Subject: [PATCH 34/76] added height and width attributes for displayio --- shared-bindings/displayio/Display.c | 27 +++++++++++++++++++++++++++ shared-bindings/displayio/Display.h | 3 +++ shared-module/displayio/Display.c | 8 ++++++++ 3 files changed, 38 insertions(+) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index ca72e407a97e..e1b34782bb1b 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -246,6 +246,30 @@ STATIC mp_obj_t displayio_display_obj_set_auto_brightness(mp_obj_t self_in, mp_o } MP_DEFINE_CONST_FUN_OBJ_2(displayio_display_set_auto_brightness_obj, displayio_display_obj_set_auto_brightness); +//| .. attribute:: width +//| +//| Gets the width of the board +//| +//| +STATIC mp_obj_t displayio_display_obj_get_width(mp_obj_t self_in) { + displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in); + mp_int_t width = common_hal_displayio_display_get_width(self); + return mp_obj_new_int(width); +} +MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_width_obj, displayio_display_obj_get_width); + +//| .. attribute:: height +//| +//| Gets the height of the board +//| +//| +STATIC mp_obj_t displayio_display_obj_get_height(mp_obj_t self_in) { + displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in); + mp_float_t height = common_hal_displayio_display_get_height(self); + return mp_obj_new_int(height); +} +MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_height_obj, displayio_display_obj_get_height); + const mp_obj_property_t displayio_display_auto_brightness_obj = { .base.type = &mp_type_property, .proxy = {(mp_obj_t)&displayio_display_get_auto_brightness_obj, @@ -260,6 +284,9 @@ STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_brightness), MP_ROM_PTR(&displayio_display_brightness_obj) }, { MP_ROM_QSTR(MP_QSTR_auto_brightness), MP_ROM_PTR(&displayio_display_auto_brightness_obj) }, + + { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_get_width_obj) }, + { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_get_height_obj) }, }; STATIC MP_DEFINE_CONST_DICT(displayio_display_locals_dict, displayio_display_locals_dict_table); diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h index 67b63c5c9cc8..9e2528278ad3 100644 --- a/shared-bindings/displayio/Display.h +++ b/shared-bindings/displayio/Display.h @@ -59,6 +59,9 @@ bool displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixe bool common_hal_displayio_display_get_auto_brightness(displayio_display_obj_t* self); void common_hal_displayio_display_set_auto_brightness(displayio_display_obj_t* self, bool auto_brightness); +mp_int_t common_hal_displayio_display_get_width(displayio_display_obj_t* self); +mp_int_t common_hal_displayio_display_get_height(displayio_display_obj_t* self); + mp_float_t common_hal_displayio_display_get_brightness(displayio_display_obj_t* self); bool common_hal_displayio_display_set_brightness(displayio_display_obj_t* self, mp_float_t brightness); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index da3424a36015..b810286b123f 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -157,6 +157,14 @@ bool common_hal_displayio_display_get_auto_brightness(displayio_display_obj_t* s return self->auto_brightness; } +mp_int_t common_hal_displayio_display_get_width(displayio_display_obj_t* self){ + return self->width; +} + +mp_int_t common_hal_displayio_display_get_height(displayio_display_obj_t* self){ + return self->height; +} + void common_hal_displayio_display_set_auto_brightness(displayio_display_obj_t* self, bool auto_brightness) { self->auto_brightness = auto_brightness; } From 4a9f05a44f18615a1adeacfcae329d3090188550 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Mon, 25 Feb 2019 21:22:52 -0600 Subject: [PATCH 35/76] final re-glue; compiles now. --- ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c | 9 +++++---- shared-bindings/frequencyio/FrequencyIn.c | 8 +++----- shared-bindings/frequencyio/FrequencyIn.h | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c index 6b67e014a31b..21196058784b 100644 --- a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c @@ -146,7 +146,8 @@ void frequencyin_reference_tc_init() { return; } #ifdef SAMD21 - turn_on_clocks(true, reference_tc, 0, TC_HANDLER_FREQUENCYIN); + set_timer_handler(reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + turn_on_clocks(true, reference_tc, 0); #endif // use the DPLL we setup so that the reference_tc and freqin_tc(s) // are using the same clock frequency. @@ -384,7 +385,7 @@ void common_hal_frequencyio_frequencyin_deinit(frequencyio_frequencyin_obj_t* se if (common_hal_frequencyio_frequencyin_deinited(self)) { return; } - reset_pin(self->pin); + reset_pin_number(self->pin); // turn off EIC & EVSYS utilized by this TC disable_event_channel(self->event_channel); @@ -480,11 +481,11 @@ void common_hal_frequencyio_frequencyin_pause(frequencyio_frequencyin_obj_t* sel #ifdef SAMD21 uint32_t masked_value = EIC->EVCTRL.vec.EXTINTEO; - EIC->EVCTRL.vec.EXTINTEO = masked_value | (0 << self->channel); + EIC->EVCTRL.vec.EXTINTEO = masked_value ^ (1 << self->channel); #endif #ifdef SAMD51 uint32_t masked_value = EIC->EVCTRL.bit.EXTINTEO; - EIC->EVCTRL.bit.EXTINTEO = masked_value | (0 << self->channel); + EIC->EVCTRL.bit.EXTINTEO = masked_value ^ (1 << self->channel); #endif return; } diff --git a/shared-bindings/frequencyio/FrequencyIn.c b/shared-bindings/frequencyio/FrequencyIn.c index 0e666d718e58..fb1698fa2ee8 100644 --- a/shared-bindings/frequencyio/FrequencyIn.c +++ b/shared-bindings/frequencyio/FrequencyIn.c @@ -71,20 +71,18 @@ //| frequency.clear() //| STATIC mp_obj_t frequencyio_frequencyin_make_new(const mp_obj_type_t *type, size_t n_args, - size_t n_kw, const mp_obj_t *pos_args) { - mp_arg_check_num(n_args, n_kw, 1, 2, true); + const mp_obj_t *pos_args, mp_map_t *kw_args) { + mp_arg_check_num(n_args, kw_args, 1, 1, true); frequencyio_frequencyin_obj_t *self = m_new_obj(frequencyio_frequencyin_obj_t); self->base.type = &frequencyio_frequencyin_type; - mp_map_t kw_args; - mp_map_init_fixed_table(&kw_args, n_kw, pos_args + n_args); enum { ARG_pin, ARG_capture_period }; static const mp_arg_t allowed_args[] = { { MP_QSTR_pin, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_capture_period, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 10} }, }; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; - mp_arg_parse_all(n_args, pos_args, &kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); + mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); assert_pin(args[ARG_pin].u_obj, false); mcu_pin_obj_t* pin = MP_OBJ_TO_PTR(args[ARG_pin].u_obj); diff --git a/shared-bindings/frequencyio/FrequencyIn.h b/shared-bindings/frequencyio/FrequencyIn.h index 4718075ece91..dba6c3a66128 100644 --- a/shared-bindings/frequencyio/FrequencyIn.h +++ b/shared-bindings/frequencyio/FrequencyIn.h @@ -1,4 +1,4 @@ -frequencyio/* +/* * This file is part of the Micro Python project, http://micropython.org/ * * The MIT License (MIT) From 4d47ce5c60d5e024b9a95f58372bfbb27772ef1a Mon Sep 17 00:00:00 2001 From: sommersoft Date: Wed, 27 Feb 2019 19:28:59 -0600 Subject: [PATCH 36/76] fixes set_timer_handler call --- ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c index 21196058784b..30fc43827799 100644 --- a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c @@ -146,7 +146,7 @@ void frequencyin_reference_tc_init() { return; } #ifdef SAMD21 - set_timer_handler(reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + set_timer_handler(true, reference_tc, TC_HANDLER_FREQUENCYIN); turn_on_clocks(true, reference_tc, 0); #endif // use the DPLL we setup so that the reference_tc and freqin_tc(s) @@ -155,7 +155,7 @@ void frequencyin_reference_tc_init() { if (dpll_gclk == 0xff) { frequencyin_samd51_start_dpll(); } - set_timer_handler(reference_tc, dpll_gclk, TC_HANDLER_FREQUENCYIN); + set_timer_handler(true, reference_tc, TC_HANDLER_FREQUENCYIN); turn_on_clocks(true, reference_tc, dpll_gclk); #endif From a41ea275965af3e9bc43b285a5ee1080a6676d74 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Tue, 31 Jul 2018 12:32:37 +0200 Subject: [PATCH 37/76] Add pewpew70 board --- ports/atmel-samd/boards/pewpew70/board.c | 38 +++++++++++++++++++ .../boards/pewpew70/mpconfigboard.h | 12 ++++++ .../boards/pewpew70/mpconfigboard.mk | 11 ++++++ ports/atmel-samd/boards/pewpew70/pins.c | 31 +++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 ports/atmel-samd/boards/pewpew70/board.c create mode 100644 ports/atmel-samd/boards/pewpew70/mpconfigboard.h create mode 100644 ports/atmel-samd/boards/pewpew70/mpconfigboard.mk create mode 100644 ports/atmel-samd/boards/pewpew70/pins.c diff --git a/ports/atmel-samd/boards/pewpew70/board.c b/ports/atmel-samd/boards/pewpew70/board.c new file mode 100644 index 000000000000..c8e20206a19f --- /dev/null +++ b/ports/atmel-samd/boards/pewpew70/board.c @@ -0,0 +1,38 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2017 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "boards/board.h" + +void board_init(void) +{ +} + +bool board_requests_safe_mode(void) { + return false; +} + +void reset_board(void) { +} diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h new file mode 100644 index 000000000000..e839bc5ea9b4 --- /dev/null +++ b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h @@ -0,0 +1,12 @@ +#define MICROPY_HW_BOARD_NAME "PewPew 7.0" +#define MICROPY_HW_MCU_NAME "samd21e18" + +#define MICROPY_PORT_A (PORT_PA24 | PORT_PA25) +#define MICROPY_PORT_B (0) +#define MICROPY_PORT_C (0) + +#define CIRCUITPY_INTERNAL_NVM_SIZE 0 + +#include "internal_flash.h" + +#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk new file mode 100644 index 000000000000..1b5d1ff82403 --- /dev/null +++ b/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk @@ -0,0 +1,11 @@ +LD_FILE = boards/samd21x18-bootloader.ld +USB_VID = 0x239A +USB_PID = 0x801D +USB_PRODUCT = "PewPew 7.0" +USB_MANUFACTURER = "Radomir Dopieralski" + +INTERNAL_FLASH_FILESYSTEM = 1 +LONGINT_IMPL = NONE + +CHIP_VARIANT = SAMD21E18A +CHIP_FAMILY = samd21 diff --git a/ports/atmel-samd/boards/pewpew70/pins.c b/ports/atmel-samd/boards/pewpew70/pins.c new file mode 100644 index 000000000000..7102ff2336ea --- /dev/null +++ b/ports/atmel-samd/boards/pewpew70/pins.c @@ -0,0 +1,31 @@ +#include "shared-bindings/board/__init__.h" + +#include "board_busses.h" + +STATIC const mp_rom_map_elem_t board_global_dict_table[] = { + { MP_ROM_QSTR(MP_QSTR_R1), MP_ROM_PTR(&pin_PA08) }, + { MP_ROM_QSTR(MP_QSTR_R2), MP_ROM_PTR(&pin_PA15) }, + { MP_ROM_QSTR(MP_QSTR_R3), MP_ROM_PTR(&pin_PA01) }, + { MP_ROM_QSTR(MP_QSTR_R4), MP_ROM_PTR(&pin_PA11) }, + { MP_ROM_QSTR(MP_QSTR_R5), MP_ROM_PTR(&pin_PA27) }, + { MP_ROM_QSTR(MP_QSTR_R6), MP_ROM_PTR(&pin_PA00) }, + { MP_ROM_QSTR(MP_QSTR_R7), MP_ROM_PTR(&pin_PA28) }, + { MP_ROM_QSTR(MP_QSTR_R8), MP_ROM_PTR(&pin_PA19) }, + + { MP_ROM_QSTR(MP_QSTR_C1), MP_ROM_PTR(&pin_PA14) }, + { MP_ROM_QSTR(MP_QSTR_C2), MP_ROM_PTR(&pin_PA23) }, + { MP_ROM_QSTR(MP_QSTR_C3), MP_ROM_PTR(&pin_PA22) }, + { MP_ROM_QSTR(MP_QSTR_C4), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_C5), MP_ROM_PTR(&pin_PA18) }, + { MP_ROM_QSTR(MP_QSTR_C6), MP_ROM_PTR(&pin_PA10) }, + { MP_ROM_QSTR(MP_QSTR_C7), MP_ROM_PTR(&pin_PA16) }, + { MP_ROM_QSTR(MP_QSTR_C8), MP_ROM_PTR(&pin_PA17) }, + + { MP_ROM_QSTR(MP_QSTR_UP), MP_ROM_PTR(&pin_PA04) }, + { MP_ROM_QSTR(MP_QSTR_DOWN), MP_ROM_PTR(&pin_PA03) }, + { MP_ROM_QSTR(MP_QSTR_LEFT), MP_ROM_PTR(&pin_PA02) }, + { MP_ROM_QSTR(MP_QSTR_RIGH), MP_ROM_PTR(&pin_PA05) }, + { MP_ROM_QSTR(MP_QSTR_O), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR_X), MP_ROM_PTR(&pin_PA06) }, +}; +MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); From 5a1e69f5b842fe091210a898f52712dfaceec3c6 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Tue, 31 Jul 2018 13:24:15 +0200 Subject: [PATCH 38/76] Correct a typo in the pin name --- ports/atmel-samd/boards/pewpew70/pins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/pewpew70/pins.c b/ports/atmel-samd/boards/pewpew70/pins.c index 7102ff2336ea..9fca3c4ad900 100644 --- a/ports/atmel-samd/boards/pewpew70/pins.c +++ b/ports/atmel-samd/boards/pewpew70/pins.c @@ -24,7 +24,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_UP), MP_ROM_PTR(&pin_PA04) }, { MP_ROM_QSTR(MP_QSTR_DOWN), MP_ROM_PTR(&pin_PA03) }, { MP_ROM_QSTR(MP_QSTR_LEFT), MP_ROM_PTR(&pin_PA02) }, - { MP_ROM_QSTR(MP_QSTR_RIGH), MP_ROM_PTR(&pin_PA05) }, + { MP_ROM_QSTR(MP_QSTR_RIGHT), MP_ROM_PTR(&pin_PA05) }, { MP_ROM_QSTR(MP_QSTR_O), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_X), MP_ROM_PTR(&pin_PA06) }, }; From 7ac11ed8e1da94c5408842cffd98a7265327f0df Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Tue, 31 Jul 2018 16:04:55 +0200 Subject: [PATCH 39/76] Enlarge the usb disk --- ports/atmel-samd/boards/pewpew70/mpconfigboard.h | 2 +- ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld | 2 +- ports/atmel-samd/supervisor/internal_flash.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h index e839bc5ea9b4..92662bd55175 100644 --- a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h +++ b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h @@ -9,4 +9,4 @@ #include "internal_flash.h" -#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) +#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x014000) diff --git a/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld b/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld index 2adf4fa90982..bc4b53ae9c92 100644 --- a/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld +++ b/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld @@ -6,7 +6,7 @@ MEMORY { /* Leave 8KiB for the bootloader, 256b for persistent config (clock), 64k for the flash file system and 256b for the user config. */ - FLASH (rx) : ORIGIN = 0x00000000 + 8K, LENGTH = 256K - 8K - 256 - 64K - 256 + FLASH (rx) : ORIGIN = 0x00000000 + 8K, LENGTH = 256K - 8K - 256 - 80K - 256 RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K } diff --git a/ports/atmel-samd/supervisor/internal_flash.h b/ports/atmel-samd/supervisor/internal_flash.h index 0939a3454807..d1037012d1ae 100644 --- a/ports/atmel-samd/supervisor/internal_flash.h +++ b/ports/atmel-samd/supervisor/internal_flash.h @@ -37,7 +37,7 @@ #endif #ifdef SAMD21 -#define TOTAL_INTERNAL_FLASH_SIZE 0x010000 +#define TOTAL_INTERNAL_FLASH_SIZE 0x014000 #endif #define INTERNAL_FLASH_MEM_SEG1_START_ADDR (FLASH_SIZE - TOTAL_INTERNAL_FLASH_SIZE - CIRCUITPY_INTERNAL_NVM_SIZE) From 88e40193ae92a390ff0cc8872ec2b7cd953c83cb Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Wed, 1 Aug 2018 15:29:26 +0200 Subject: [PATCH 40/76] Add a _pew module --- ports/atmel-samd/supervisor/port.c | 6 ++ ports/atmel-samd/tick.c | 6 ++ py/circuitpy_defns.mk | 3 + py/circuitpy_mpconfig.h | 7 ++ shared-bindings/_pew/PewPew.c | 130 +++++++++++++++++++++++++++++ shared-bindings/_pew/PewPew.h | 33 ++++++++ shared-bindings/_pew/__init__.c | 54 ++++++++++++ shared-module/_pew/PewPew.c | 52 ++++++++++++ shared-module/_pew/PewPew.h | 47 +++++++++++ shared-module/_pew/__init__.c | 72 ++++++++++++++++ shared-module/_pew/__init__.h | 33 ++++++++ 11 files changed, 443 insertions(+) create mode 100644 shared-bindings/_pew/PewPew.c create mode 100644 shared-bindings/_pew/PewPew.h create mode 100644 shared-bindings/_pew/__init__.c create mode 100644 shared-module/_pew/PewPew.c create mode 100644 shared-module/_pew/PewPew.h create mode 100644 shared-module/_pew/__init__.c create mode 100644 shared-module/_pew/__init__.h diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c index aee082de01fe..9b5de88e66e2 100644 --- a/ports/atmel-samd/supervisor/port.c +++ b/ports/atmel-samd/supervisor/port.c @@ -71,6 +71,9 @@ #ifdef CIRCUITPY_GAMEPAD_TICKS #include "shared-module/gamepad/__init__.h" #endif +#ifdef CIRCUITPY_PEWPEW_TICKS +#include "shared-module/_pew/__init__.h" +#endif extern volatile bool mp_msc_enabled; @@ -225,6 +228,9 @@ void reset_port(void) { #ifdef CIRCUITPY_GAMEPAD_TICKS gamepad_reset(); #endif +#ifdef CIRCUITPY_PEWPEW_TICKS + pew_reset(); +#endif reset_event_system(); diff --git a/ports/atmel-samd/tick.c b/ports/atmel-samd/tick.c index 149347793395..e1f9c180b68c 100644 --- a/ports/atmel-samd/tick.c +++ b/ports/atmel-samd/tick.c @@ -30,6 +30,7 @@ #include "supervisor/shared/autoreload.h" #include "shared-module/gamepad/__init__.h" +#include "shared-module/_pew/__init__.h" #include "shared-bindings/microcontroller/__init__.h" #include "shared-bindings/microcontroller/Processor.h" @@ -54,6 +55,11 @@ void SysTick_Handler(void) { gamepad_tick(); } #endif + #ifdef CIRCUITPY_PEWPEW_TICKS + if (!(ticks_ms & CIRCUITPY_PEWPEW_TICKS)) { + pew_tick(); + } + #endif } void tick_init() { diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk index 2fa2e78e2a1f..080263487e38 100644 --- a/py/circuitpy_defns.mk +++ b/py/circuitpy_defns.mk @@ -198,6 +198,9 @@ endif ifeq ($(CIRCUITPY_USTACK),1) SRC_PATTERNS += ustack/% endif +ifeq ($(CIRCUITPY_PEW),1) +SRC_PATTERNS += _pew/% +endif # All possible sources are listed here, and are filtered by SRC_PATTERNS. SRC_COMMON_HAL = \ diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 6f970548541f..c20c0fb662fe 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -463,6 +463,13 @@ extern const struct _mp_obj_module_t ustack_module; #define USTACK_MODULE #endif +#if CIRCUITPY_PEW +extern const struct _mp_obj_module_t pew_module; +#define PEW_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__pew),(mp_obj_t)&pew_module }, +#else +#define PEW_MODULE +#endif + // These modules are not yet in shared-bindings, but we prefer the non-uxxx names. #if MICROPY_PY_UERRNO #define ERRNO_MODULE { MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mp_module_uerrno) }, diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c new file mode 100644 index 000000000000..c819dd861671 --- /dev/null +++ b/shared-bindings/_pew/PewPew.c @@ -0,0 +1,130 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +#include "py/obj.h" +#include "py/runtime.h" +#include "py/mphal.h" +#include "py/gc.h" +#include "py/mpstate.h" +#include "shared-bindings/digitalio/DigitalInOut.h" +#include "shared-bindings/util.h" +#include "PewPew.h" +#include "shared-module/_pew/PewPew.h" + + +//| .. currentmodule:: _pew +//| +//| :class:`PewPew` -- LED Matrix driver +//| ==================================== +//| +//| Usage:: +//| +//| + +//| .. class:: PewPew(buffer, rows, cols) +//| +//| Initializes matrix scanning routines. +//| +//| +STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, + size_t n_kw, const mp_obj_t *pos_args) { + mp_arg_check_num(n_args, n_kw, 3, 3, true); + mp_map_t kw_args; + mp_map_init_fixed_table(&kw_args, n_kw, pos_args + n_args); + enum { ARG_buffer, ARG_rows, ARG_cols }; + static const mp_arg_t allowed_args[] = { + { MP_QSTR_buffer, MP_ARG_OBJ | MP_ARG_REQUIRED }, + { MP_QSTR_rows, MP_ARG_OBJ | MP_ARG_REQUIRED }, + { MP_QSTR_cols, MP_ARG_OBJ | MP_ARG_REQUIRED }, + }; + mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; + mp_arg_parse_all(n_args, pos_args, &kw_args, MP_ARRAY_SIZE(allowed_args), + allowed_args, args); + + mp_buffer_info_t bufinfo; + mp_get_buffer_raise(args[ARG_buffer].u_obj, &bufinfo, MP_BUFFER_READ); + + size_t rows_size = 0; + mp_obj_t *rows; + mp_obj_get_array(args[ARG_rows].u_obj, &rows_size, &rows); + + size_t cols_size = 0; + mp_obj_t *cols; + mp_obj_get_array(args[ARG_cols].u_obj, &cols_size, &cols); + + if (bufinfo.len != rows_size * cols_size) { + mp_raise_TypeError("wrong buffer size"); + } + + for (size_t i = 0; i < rows_size; ++i) { + if (!MP_OBJ_IS_TYPE(rows[i], &digitalio_digitalinout_type)) { + mp_raise_TypeError("expected a DigitalInOut"); + } + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(rows[i]); + raise_error_if_deinited( + common_hal_digitalio_digitalinout_deinited(pin)); + } + + for (size_t i = 0; i < cols_size; ++i) { + if (!MP_OBJ_IS_TYPE(cols[i], &digitalio_digitalinout_type)) { + mp_raise_TypeError("expected a DigitalInOut"); + } + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(cols[i]); + raise_error_if_deinited( + common_hal_digitalio_digitalinout_deinited(pin)); + } + + + pew_obj_t *pew = MP_STATE_VM(pew_singleton); + if (!pew) { + pew = m_new_obj(pew_obj_t); + pew->base.type = &pewpew_type; + pew = gc_make_long_lived(pew); + MP_STATE_VM(pew_singleton) = pew; + } + + pew->buffer = bufinfo.buf; + pew->rows = rows; + pew->rows_size = rows_size; + pew->cols = cols; + pew->cols_size = cols_size; + pew->col = 0; + pew->turn = 0; + pew_init(); + + return MP_OBJ_FROM_PTR(pew); +} + + +STATIC const mp_rom_map_elem_t pewpew_locals_dict_table[] = { +}; +STATIC MP_DEFINE_CONST_DICT(pewpew_locals_dict, pewpew_locals_dict_table); +const mp_obj_type_t pewpew_type = { + { &mp_type_type }, + .name = MP_QSTR_PewPew, + .make_new = pewpew_make_new, + .locals_dict = (mp_obj_dict_t*)&pewpew_locals_dict, +}; + diff --git a/shared-bindings/_pew/PewPew.h b/shared-bindings/_pew/PewPew.h new file mode 100644 index 000000000000..13633ef934ec --- /dev/null +++ b/shared-bindings/_pew/PewPew.h @@ -0,0 +1,33 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + +#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_PEW_PEWPEW_H +#define MICROPY_INCLUDED_SHARED_BINDINGS_PEW_PEWPEW_H + +extern const mp_obj_type_t pewpew_type; + +#endif // MICROPY_INCLUDED_SHARED_BINDINGS_PEW_PEWPEW_H diff --git a/shared-bindings/_pew/__init__.c b/shared-bindings/_pew/__init__.c new file mode 100644 index 000000000000..39a3bc885fe6 --- /dev/null +++ b/shared-bindings/_pew/__init__.c @@ -0,0 +1,54 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +#include "py/obj.h" +#include "py/runtime.h" +#include "py/mphal.h" +#include "PewPew.h" + + +//| :mod:`_pew` --- LED matrix driver +//| ================================== +//| +//| .. module:: _pew +//| :synopsis: LED matrix driver +//| :platform: SAMD21 +//| +//| .. toctree:: +//| :maxdepth: 3 +//| +//| PewPew +//| +STATIC const mp_rom_map_elem_t pew_module_globals_table[] = { + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pew) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_PewPew), MP_ROM_PTR(&pewpew_type)}, +}; +STATIC MP_DEFINE_CONST_DICT(pew_module_globals, + pew_module_globals_table); + +const mp_obj_module_t pew_module = { + .base = { &mp_type_module }, + .globals = (mp_obj_dict_t*)&pew_module_globals, +}; diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c new file mode 100644 index 000000000000..ede8ed9bb9d5 --- /dev/null +++ b/shared-module/_pew/PewPew.c @@ -0,0 +1,52 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "py/mpstate.h" +#include "__init__.h" +#include "PewPew.h" + +#include "shared-bindings/digitalio/Pull.h" +#include "shared-bindings/digitalio/DigitalInOut.h" +#include "shared-bindings/util.h" + + +void pew_init() { + pew_obj_t* pew_singleton = MP_STATE_VM(pew_singleton); + for (size_t i = 0; i < pew_singleton->rows_size; ++i) { + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR( + pew_singleton->rows[i]); + common_hal_digitalio_digitalinout_switch_to_output(pin, false, + DRIVE_MODE_PUSH_PULL); + } + for (size_t i = 0; i < pew_singleton->cols_size; ++i) { + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR( + pew_singleton->cols[i]); + common_hal_digitalio_digitalinout_switch_to_output(pin, true, + DRIVE_MODE_OPEN_DRAIN); + } +} diff --git a/shared-module/_pew/PewPew.h b/shared-module/_pew/PewPew.h new file mode 100644 index 000000000000..b21ff013729e --- /dev/null +++ b/shared-module/_pew/PewPew.h @@ -0,0 +1,47 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_PEW_PEWPEW_H +#define MICROPY_INCLUDED_PEW_PEWPEW_H + +#include + +#include "shared-bindings/digitalio/DigitalInOut.h" + +typedef struct { + mp_obj_base_t base; + uint8_t* buffer; + mp_obj_t* rows; + mp_obj_t* cols; + size_t rows_size; + size_t cols_size; + volatile uint8_t col; + volatile uint8_t turn; +} pew_obj_t; + +void pew_init(void); + +#endif // MICROPY_INCLUDED_PEW_PEWPEW_H diff --git a/shared-module/_pew/__init__.c b/shared-module/_pew/__init__.c new file mode 100644 index 000000000000..92637a04dd7f --- /dev/null +++ b/shared-module/_pew/__init__.c @@ -0,0 +1,72 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "py/mpstate.h" +#include "__init__.h" +#include "PewPew.h" + +#include "shared-bindings/digitalio/DigitalInOut.h" + + +void pew_tick(void) { + digitalio_digitalinout_obj_t *pin; + pew_obj_t* pew = MP_STATE_VM(pew_singleton); + if (!pew) { return; } + + pin = MP_OBJ_TO_PTR(pew->cols[pew->col]); + common_hal_digitalio_digitalinout_set_value(pin, true); + pew->col += 1; + if (pew->col >= pew->cols_size) { + pew->col = 0; + pew->turn += 1; + if (pew->turn >= 4) { + pew->turn = 0; + } + } + for (size_t x = 0; x < pew->rows_size; ++x) { + pin = MP_OBJ_TO_PTR(pew->rows[x]); + uint8_t color = pew->buffer[(pew->col) * (pew->rows_size) + x]; + bool value = true; + switch (pew->turn) { + case 0: + if (color & 0x03) { value = true; } + break; + case 1: + case 2: + if (color & 0x02) { value = true; } + break; + } + common_hal_digitalio_digitalinout_set_value(pin, value); + } + pin = MP_OBJ_TO_PTR(pew->cols[pew->col]); + common_hal_digitalio_digitalinout_set_value(pin, false); +} + +void pew_reset(void) { + MP_STATE_VM(pew_singleton) = NULL; +} diff --git a/shared-module/_pew/__init__.h b/shared-module/_pew/__init__.h new file mode 100644 index 000000000000..30c9c8c9308a --- /dev/null +++ b/shared-module/_pew/__init__.h @@ -0,0 +1,33 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2016 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MICROPY_INCLUDED_PEW_H +#define MICROPY_INCLUDED_PEW_H + +void pew_tick(void); +void pew_reset(void); + +#endif // MICROPY_INCLUDED_PEW_H From 55b511a5d887c5e02031d40c661b31fce336c488 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Thu, 9 Aug 2018 22:35:26 +0200 Subject: [PATCH 41/76] Use a dedicated timer --- .../boards/pewpew70/mpconfigboard.h | 2 +- .../boards/pewpew70/mpconfigboard.mk | 2 + .../samd21x18-bootloader-crystalless.ld | 2 +- ports/atmel-samd/supervisor/internal_flash.h | 2 +- ports/atmel-samd/supervisor/port.c | 2 +- ports/atmel-samd/tick.c | 5 -- shared-bindings/_pew/PewPew.c | 2 - shared-module/_pew/PewPew.c | 69 +++++++++++++++++++ shared-module/_pew/PewPew.h | 10 ++- shared-module/_pew/__init__.c | 45 ++++++------ shared-module/_pew/__init__.h | 1 - 11 files changed, 104 insertions(+), 38 deletions(-) diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h index 92662bd55175..e839bc5ea9b4 100644 --- a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h +++ b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h @@ -9,4 +9,4 @@ #include "internal_flash.h" -#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x014000) +#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk index 1b5d1ff82403..f316bfb2ee04 100644 --- a/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk @@ -9,3 +9,5 @@ LONGINT_IMPL = NONE CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 + +FROZEN_MPY_DIRS += $(TOP)/frozen/pewpew70 diff --git a/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld b/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld index bc4b53ae9c92..2adf4fa90982 100644 --- a/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld +++ b/ports/atmel-samd/boards/samd21x18-bootloader-crystalless.ld @@ -6,7 +6,7 @@ MEMORY { /* Leave 8KiB for the bootloader, 256b for persistent config (clock), 64k for the flash file system and 256b for the user config. */ - FLASH (rx) : ORIGIN = 0x00000000 + 8K, LENGTH = 256K - 8K - 256 - 80K - 256 + FLASH (rx) : ORIGIN = 0x00000000 + 8K, LENGTH = 256K - 8K - 256 - 64K - 256 RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K } diff --git a/ports/atmel-samd/supervisor/internal_flash.h b/ports/atmel-samd/supervisor/internal_flash.h index d1037012d1ae..0939a3454807 100644 --- a/ports/atmel-samd/supervisor/internal_flash.h +++ b/ports/atmel-samd/supervisor/internal_flash.h @@ -37,7 +37,7 @@ #endif #ifdef SAMD21 -#define TOTAL_INTERNAL_FLASH_SIZE 0x014000 +#define TOTAL_INTERNAL_FLASH_SIZE 0x010000 #endif #define INTERNAL_FLASH_MEM_SEG1_START_ADDR (FLASH_SIZE - TOTAL_INTERNAL_FLASH_SIZE - CIRCUITPY_INTERNAL_NVM_SIZE) diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c index 9b5de88e66e2..d1e0ae5936b4 100644 --- a/ports/atmel-samd/supervisor/port.c +++ b/ports/atmel-samd/supervisor/port.c @@ -72,7 +72,7 @@ #include "shared-module/gamepad/__init__.h" #endif #ifdef CIRCUITPY_PEWPEW_TICKS -#include "shared-module/_pew/__init__.h" +#include "shared-module/_pew/PewPew.h" #endif extern volatile bool mp_msc_enabled; diff --git a/ports/atmel-samd/tick.c b/ports/atmel-samd/tick.c index e1f9c180b68c..44b631838efc 100644 --- a/ports/atmel-samd/tick.c +++ b/ports/atmel-samd/tick.c @@ -55,11 +55,6 @@ void SysTick_Handler(void) { gamepad_tick(); } #endif - #ifdef CIRCUITPY_PEWPEW_TICKS - if (!(ticks_ms & CIRCUITPY_PEWPEW_TICKS)) { - pew_tick(); - } - #endif } void tick_init() { diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index c819dd861671..c9322100fa6b 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -110,8 +110,6 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, pew->rows_size = rows_size; pew->cols = cols; pew->cols_size = cols_size; - pew->col = 0; - pew->turn = 0; pew_init(); return MP_OBJ_FROM_PTR(pew); diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index ede8ed9bb9d5..de1224a37f99 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -27,14 +27,30 @@ #include #include "py/mpstate.h" +#include "py/runtime.h" #include "__init__.h" #include "PewPew.h" #include "shared-bindings/digitalio/Pull.h" #include "shared-bindings/digitalio/DigitalInOut.h" #include "shared-bindings/util.h" +#include "samd/timers.h" +static uint8_t pewpew_tc_index = 0xff; + + +void pewpew_interrupt_handler(uint8_t index) { + if (index != pewpew_tc_index) return; + Tc* tc = tc_insts[index]; + if (!tc->COUNT16.INTFLAG.bit.MC0) return; + + pew_tick(); + + // Clear the interrupt bit. + tc->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0; +} + void pew_init() { pew_obj_t* pew_singleton = MP_STATE_VM(pew_singleton); for (size_t i = 0; i < pew_singleton->rows_size; ++i) { @@ -49,4 +65,57 @@ void pew_init() { common_hal_digitalio_digitalinout_switch_to_output(pin, true, DRIVE_MODE_OPEN_DRAIN); } + if (pewpew_tc_index == 0xff) { + // Find a spare timer. + Tc *tc = NULL; + int8_t index = TC_INST_NUM - 1; + for (; index >= 0; index--) { + if (tc_insts[index]->COUNT16.CTRLA.bit.ENABLE == 0) { + tc = tc_insts[index]; + break; + } + } + if (tc == NULL) { + mp_raise_RuntimeError("All timers in use"); + } + + pewpew_tc_index = index; + + // We use GCLK0 for SAMD21 and GCLK1 for SAMD51 because they both run + // at 48mhz making our math the same across the boards. + #ifdef SAMD21 + turn_on_clocks(true, index, 0); + #endif + #ifdef SAMD51 + turn_on_clocks(true, index, 1); + #endif + + + #ifdef SAMD21 + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | + TC_CTRLA_PRESCALER_DIV64 | + TC_CTRLA_WAVEGEN_MFRQ; + #endif + #ifdef SAMD51 + tc_reset(tc); + tc_set_enable(tc, false); + tc->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 + | TC_CTRLA_PRESCALER_DIV64; + tc->COUNT16.WAVE.reg = TC_WAVE_WAVEGEN_MFRQ; + #endif + + tc_set_enable(tc, true); + //tc->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD_STOP; + tc->COUNT16.CC[0].reg = 160; + + // Clear our interrupt in case it was set earlier + tc->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0; + tc->COUNT16.INTENSET.reg = TC_INTENSET_MC0; + tc_enable_interrupts(pewpew_tc_index); + } +} + +void pew_reset(void) { + MP_STATE_VM(pew_singleton) = NULL; + pewpew_tc_index = 0xff; } diff --git a/shared-module/_pew/PewPew.h b/shared-module/_pew/PewPew.h index b21ff013729e..2f25f9ce2dbc 100644 --- a/shared-module/_pew/PewPew.h +++ b/shared-module/_pew/PewPew.h @@ -29,19 +29,17 @@ #include -#include "shared-bindings/digitalio/DigitalInOut.h" - typedef struct { mp_obj_base_t base; uint8_t* buffer; mp_obj_t* rows; mp_obj_t* cols; - size_t rows_size; - size_t cols_size; - volatile uint8_t col; - volatile uint8_t turn; + uint8_t rows_size; + uint8_t cols_size; } pew_obj_t; void pew_init(void); +void pewpew_interrupt_handler(uint8_t index); +void pew_reset(void); #endif // MICROPY_INCLUDED_PEW_PEWPEW_H diff --git a/shared-module/_pew/__init__.c b/shared-module/_pew/__init__.c index 92637a04dd7f..2e09932f3a64 100644 --- a/shared-module/_pew/__init__.c +++ b/shared-module/_pew/__init__.c @@ -34,39 +34,44 @@ void pew_tick(void) { + static uint8_t col = 0; + static uint8_t turn = 0; digitalio_digitalinout_obj_t *pin; + pew_obj_t* pew = MP_STATE_VM(pew_singleton); if (!pew) { return; } - pin = MP_OBJ_TO_PTR(pew->cols[pew->col]); - common_hal_digitalio_digitalinout_set_value(pin, true); - pew->col += 1; - if (pew->col >= pew->cols_size) { - pew->col = 0; - pew->turn += 1; - if (pew->turn >= 4) { - pew->turn = 0; + pin = MP_OBJ_TO_PTR(pew->cols[col]); + ++col; + if (col >= pew->cols_size) { + col = 0; + ++turn; + if (turn >= 8) { + turn = 0; } } + common_hal_digitalio_digitalinout_set_value(pin, true); for (size_t x = 0; x < pew->rows_size; ++x) { pin = MP_OBJ_TO_PTR(pew->rows[x]); - uint8_t color = pew->buffer[(pew->col) * (pew->rows_size) + x]; - bool value = true; - switch (pew->turn) { - case 0: - if (color & 0x03) { value = true; } + uint8_t color = pew->buffer[col * (pew->rows_size) + x]; + bool value = false; + switch (color & 0x03) { + case 3: + value = true; break; - case 1: case 2: - if (color & 0x02) { value = true; } + if (turn == 2 || turn == 4 || turn == 6) { + value = true; + } + case 1: + if (turn == 0) { + value = true; + } + case 0: break; } common_hal_digitalio_digitalinout_set_value(pin, value); } - pin = MP_OBJ_TO_PTR(pew->cols[pew->col]); + pin = MP_OBJ_TO_PTR(pew->cols[col]); common_hal_digitalio_digitalinout_set_value(pin, false); } - -void pew_reset(void) { - MP_STATE_VM(pew_singleton) = NULL; -} diff --git a/shared-module/_pew/__init__.h b/shared-module/_pew/__init__.h index 30c9c8c9308a..f85dec74915f 100644 --- a/shared-module/_pew/__init__.h +++ b/shared-module/_pew/__init__.h @@ -28,6 +28,5 @@ #define MICROPY_INCLUDED_PEW_H void pew_tick(void); -void pew_reset(void); #endif // MICROPY_INCLUDED_PEW_H From 0a5c1c94025a1d36762d14b48995337b0f09ce97 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Sun, 12 Aug 2018 14:36:38 +0200 Subject: [PATCH 42/76] Some cleanup --- ports/atmel-samd/supervisor/port.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c index d1e0ae5936b4..4aa07a6dbce7 100644 --- a/ports/atmel-samd/supervisor/port.c +++ b/ports/atmel-samd/supervisor/port.c @@ -71,9 +71,7 @@ #ifdef CIRCUITPY_GAMEPAD_TICKS #include "shared-module/gamepad/__init__.h" #endif -#ifdef CIRCUITPY_PEWPEW_TICKS #include "shared-module/_pew/PewPew.h" -#endif extern volatile bool mp_msc_enabled; @@ -228,9 +226,7 @@ void reset_port(void) { #ifdef CIRCUITPY_GAMEPAD_TICKS gamepad_reset(); #endif -#ifdef CIRCUITPY_PEWPEW_TICKS pew_reset(); -#endif reset_event_system(); From 59f63eaef6d1024163864c9b30f879efc9dfd682 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Thu, 23 Aug 2018 23:22:47 +0200 Subject: [PATCH 43/76] Handle new buttons --- frozen/pewpew10/pew.py | 217 ++++++++++++++++++ ports/atmel-samd/boards/pewpew10/board.c | 38 +++ .../boards/pewpew10/mpconfigboard.h | 36 +++ .../boards/pewpew10/mpconfigboard.mk | 13 ++ ports/atmel-samd/boards/pewpew10/pins.c | 35 +++ shared-bindings/_pew/PewPew.c | 15 +- shared-bindings/_pew/__init__.c | 13 ++ shared-module/_pew/PewPew.c | 15 +- shared-module/_pew/PewPew.h | 3 + shared-module/_pew/__init__.c | 8 + 10 files changed, 384 insertions(+), 9 deletions(-) create mode 100644 frozen/pewpew10/pew.py create mode 100644 ports/atmel-samd/boards/pewpew10/board.c create mode 100644 ports/atmel-samd/boards/pewpew10/mpconfigboard.h create mode 100644 ports/atmel-samd/boards/pewpew10/mpconfigboard.mk create mode 100644 ports/atmel-samd/boards/pewpew10/pins.c diff --git a/frozen/pewpew10/pew.py b/frozen/pewpew10/pew.py new file mode 100644 index 000000000000..8d60d0ec6d8c --- /dev/null +++ b/frozen/pewpew10/pew.py @@ -0,0 +1,217 @@ +from micropython import const +import board +import time +import digitalio +import _pew + + +_FONT = ( + b'\xff\xff\xff\xff\xff\xff\xf3\xf3\xf7\xfb\xf3\xff\xcc\xdd\xee\xff\xff' + b'\xff\xdd\x80\xdd\x80\xdd\xff\xf7\x81\xe4\xc6\xd0\xf7\xcc\xdb\xf3\xf9' + b'\xcc\xff\xf6\xcdc\xdcf\xff\xf3\xf7\xfe\xff\xff\xff\xf6\xfd\xfc\xfd' + b'\xf6\xff\xe7\xdf\xcf\xdf\xe7\xff\xff\xd9\xe2\xd9\xff\xff\xff\xf3\xc0' + b'\xf3\xff\xff\xff\xff\xff\xf3\xf7\xfe\xff\xff\x80\xff\xff\xff\xff\xff' + b'\xff\xff\xf3\xff\xcf\xdb\xf3\xf9\xfc\xff\xd2\xcd\xc8\xdc\xe1\xff\xf7' + b'\xf1\xf3\xf3\xe2\xff\xe1\xce\xe3\xfd\xc0\xff\xe1\xce\xe3\xce\xe1\xff' + b'\xf3\xf9\xdc\xc0\xcf\xff\xc0\xfc\xe4\xcf\xe1\xff\xd2\xfc\xe1\xcc\xe2' + b'\xff\xc0\xdb\xf3\xf9\xfc\xff\xe2\xcc\xe2\xcc\xe2\xff\xe2\xcc\xd2\xcf' + b'\xe1\xff\xff\xf3\xff\xf3\xff\xff\xff\xf3\xff\xf3\xf7\xfe\xcf\xf3\xfc' + b'\xf3\xcf\xff\xff\xc0\xff\xc0\xff\xff\xfc\xf3\xcf\xf3\xfc\xff\xe1\xcf' + b'\xe3\xfb\xf3\xff\xe2\xcd\xc4\xd4\xbd\xd2\xe2\xdd\xcc\xc4\xcc\xff\xe4' + b'\xcc\xe4\xcc\xe4\xff\xe2\xcd\xfc\xcd\xe2\xff\xe4\xdc\xcc\xdc\xe4\xff' + b'\xd0\xfc\xf4\xfc\xd0\xff\xd0\xfc\xfc\xf4\xfc\xff\xd2\xfd\xfc\x8d\xd2' + b'\xff\xcc\xcc\xc4\xcc\xcc\xff\xd1\xf3\xf3\xf3\xd1\xff\xcb\xcf\xcf\xdc' + b'\xe2\xff\xdc\xcc\xd8\xf4\xc8\xff\xfc\xfc\xfc\xec\xc0\xff\xdd\xc4\xc0' + b'\xc8\xcc\xff\xcd\xd4\xd1\xc5\xdc\xff\xe2\xdd\xcc\xdd\xe2\xff\xe4\xcc' + b'\xcc\xe4\xfc\xff\xe2\xcc\xcc\xc8\xd2\xcf\xe4\xcc\xcc\xe0\xcc\xff\xd2' + b'\xec\xe2\xce\xe1\xff\xc0\xe2\xf3\xf3\xf3\xff\xcc\xcc\xcc\xdd\xe2\xff' + b'\xcc\xcc\xdd\xe6\xf3\xff\xcc\xc8\xc4\xc0\xd9\xff\xcc\xd9\xe2\xd9\xcc' + b'\xff\xcc\xdd\xe6\xf3\xf3\xff\xc0\xde\xf7\xed\xc0\xff\xd0\xfc\xfc\xfc' + b'\xd0\xff\xfc\xf9\xf3\xdb\xcf\xff\xc1\xcf\xcf\xcf\xc1\xff\xf3\xd9\xee' + b'\xff\xff\xff\xff\xff\xff\xff\x80\xff\xfc\xf7\xef\xff\xff\xff\xff\xd2' + b'\xcd\xcc\x86\xff\xfc\xe4\xdc\xcc\xe4\xff\xff\xd2\xfd\xbc\xc6\xff\xcf' + b'\xc6\xcd\xcc\x86\xff\xff\xd6\xcd\xb1\xd2\xff\xcb\xb7\xc1\xf3\xf3\xf6' + b'\xff\xe2\xcc\xd2\xdf\xe1\xfc\xe4\xdc\xcc\xcc\xff\xf3\xfb\xf1\xb3\xdb' + b'\xff\xcf\xef\xc7\xcf\xdd\xe2\xfd\xec\xd8\xf4\xcc\xff\xf6\xf3\xf3\xf3' + b'\xdb\xff\xff\xd9\xc4\xc8\xcc\xff\xff\xe4\xdd\xcc\xcc\xff\xff\xe2\xcc' + b'\xcc\xe2\xff\xff\xe4\xdc\xcc\xe4\xfc\xff\xc6\xcd\xcc\xc6\xcf\xff\xc9' + b'\xf4\xfc\xfc\xff\xff\xd2\xf8\xcb\xe1\xff\xf3\xd1\xf3\xb3\xdb\xff\xff' + b'\xcc\xcc\xcd\x82\xff\xff\xcc\xdd\xe6\xf3\xff\xff\xcc\xc8\xd1\xd9\xff' + b'\xff\xcc\xe6\xe6\xcc\xff\xff\xdc\xcd\xd2\xcf\xe1\xff\xc0\xdb\xf9\xc0' + b'\xff\xd3\xf3\xf9\xf3\xd3\xff\xf3\xf3\xf7\xf3\xf3\xff\xf1\xf3\xdb\xf3' + b'\xf1\xff\xbfr\x8d\xfe\xff\xfff\x99f\x99f\x99') + + +K_RIGHT = const(0x01) +K_DOWN = const(0x02) +K_LEFT = const(0x04) +K_UP = const(0x08) +K_O = const(0x40) +K_X = const(0x80) + +_screen = None + + +def brightness(level): + pass + + +def show(pix): + _screen.blit(pix) + + +def tick(delay): + global _tick + + _tick += delay + time.sleep(max(0, _tick - time.monotonic())) + + +class GameOver(Exception): + pass + + +class Pix: + def __init__(self, width=8, height=8, buffer=None): + if buffer is None: + buffer = bytearray(width * height) + self.buffer = buffer + self.width = width + self.height = height + + @classmethod + def from_text(cls, string, color=None, bgcolor=0, colors=None): + pix = cls(4 * len(string), 6) + font = memoryview(_FONT) + if colors is None: + if color is None: + colors = (3, 2, 1, bgcolor) + else: + colors = (color, color, bgcolor, bgcolor) + x = 0 + for c in string: + index = ord(c) - 0x20 + if not 0 <= index <= 95: + continue + row = 0 + for byte in font[index * 6:index * 6 + 6]: + for col in range(4): + pix.pixel(x + col, row, colors[byte & 0x03]) + byte >>= 2 + row += 1 + x += 4 + return pix + + @classmethod + def from_iter(cls, lines): + pix = cls(len(lines[0]), len(lines)) + y = 0 + for line in lines: + x = 0 + for pixel in line: + pix.pixel(x, y, pixel) + x += 1 + y += 1 + return pix + + def pixel(self, x, y, color=None): + if not 0 <= x < self.width or not 0 <= y < self.height: + return 0 + if color is None: + return self.buffer[x + y * self.width] + self.buffer[x + y * self.width] = color + + def box(self, color, x=0, y=0, width=None, height=None): + x = min(max(x, 0), self.width - 1) + y = min(max(y, 0), self.height - 1) + width = max(0, min(width or self.width, self.width - x)) + height = max(0, min(height or self.height, self.height - y)) + for y in range(y, y + height): + xx = y * self.width + x + for i in range(width): + self.buffer[xx] = color + xx += 1 + + def blit(self, source, dx=0, dy=0, x=0, y=0, + width=None, height=None, key=None): + if dx < 0: + x -= dx + dx = 0 + if x < 0: + dx -= x + x = 0 + if dy < 0: + y -= dy + dy = 0 + if y < 0: + dy -= y + y = 0 + width = min(min(width or source.width, source.width - x), + self.width - dx) + height = min(min(height or source.height, source.height - y), + self.height - dy) + source_buffer = memoryview(source.buffer) + self_buffer = self.buffer + if key is None: + for row in range(height): + xx = y * source.width + x + dxx = dy * self.width + dx + self_buffer[dxx:dxx + width] = source_buffer[xx:xx + width] + y += 1 + dy += 1 + else: + for row in range(height): + xx = y * source.width + x + dxx = dy * self.width + dx + for col in range(width): + color = source_buffer[xx] + if color != key: + self_buffer[dxx] = color + dxx += 1 + xx += 1 + y += 1 + dy += 1 + + def __str__(self): + return "\n".join( + "".join( + ('.', '+', '*', '@')[self.pixel(x, y)] + for x in range(self.width) + ) + for y in range(self.height) + ) + + +def init(): + global _screen, _tick, keys, _rows, _cols + + if _screen is not None: + return + + _screen = Pix(8, 8) + _tick = time.monotonic() + + _rows = ( + digitalio.DigitalInOut(board.R1), + digitalio.DigitalInOut(board.R2), + digitalio.DigitalInOut(board.R3), + digitalio.DigitalInOut(board.R4), + digitalio.DigitalInOut(board.R5), + digitalio.DigitalInOut(board.R6), + digitalio.DigitalInOut(board.R7), + digitalio.DigitalInOut(board.R8), + ) + + _cols = ( + digitalio.DigitalInOut(board.C1), + digitalio.DigitalInOut(board.C2), + digitalio.DigitalInOut(board.C3), + digitalio.DigitalInOut(board.C4), + digitalio.DigitalInOut(board.C5), + digitalio.DigitalInOut(board.C6), + digitalio.DigitalInOut(board.C7), + digitalio.DigitalInOut(board.C8), + ) + _buttons = digitalio.DigitalInOut(board.BUTTONS) + _pew.PewPew(_screen.buffer, _rows, _cols, _buttons) + keys = _pew.get_pressed diff --git a/ports/atmel-samd/boards/pewpew10/board.c b/ports/atmel-samd/boards/pewpew10/board.c new file mode 100644 index 000000000000..c8e20206a19f --- /dev/null +++ b/ports/atmel-samd/boards/pewpew10/board.c @@ -0,0 +1,38 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2017 Scott Shawcroft for Adafruit Industries + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "boards/board.h" + +void board_init(void) +{ +} + +bool board_requests_safe_mode(void) { + return false; +} + +void reset_board(void) { +} diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.h b/ports/atmel-samd/boards/pewpew10/mpconfigboard.h new file mode 100644 index 000000000000..3fd1cbce181a --- /dev/null +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.h @@ -0,0 +1,36 @@ +#define MICROPY_HW_BOARD_NAME "PewPew 10.2" +#define MICROPY_HW_MCU_NAME "samd21e18" + +#define MICROPY_PORT_A (PORT_PA24 | PORT_PA25) +#define MICROPY_PORT_B (0) +#define MICROPY_PORT_C (0) + +#define CIRCUITPY_INTERNAL_NVM_SIZE 0 + +#include "internal_flash.h" + +#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) + + +#define IGNORE_PIN_PB00 1 +#define IGNORE_PIN_PB01 1 +#define IGNORE_PIN_PB02 1 +#define IGNORE_PIN_PB03 1 +#define IGNORE_PIN_PB04 1 +#define IGNORE_PIN_PB05 1 +#define IGNORE_PIN_PB06 1 +#define IGNORE_PIN_PB07 1 +#define IGNORE_PIN_PB08 1 +#define IGNORE_PIN_PB09 1 +#define IGNORE_PIN_PB10 1 +#define IGNORE_PIN_PB11 1 +#define IGNORE_PIN_PB12 1 +#define IGNORE_PIN_PB13 1 +#define IGNORE_PIN_PB14 1 +#define IGNORE_PIN_PB15 1 +#define IGNORE_PIN_PB16 1 +#define IGNORE_PIN_PB17 1 +#define IGNORE_PIN_PB22 1 +#define IGNORE_PIN_PB23 1 +#define IGNORE_PIN_PB30 1 +#define IGNORE_PIN_PB31 1 diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk new file mode 100644 index 000000000000..cf3004a4dabf --- /dev/null +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -0,0 +1,13 @@ +LD_FILE = boards/samd21x18-bootloader.ld +USB_VID = 0x239A +USB_PID = 0x801D +USB_PRODUCT = "PewPew 10.2" +USB_MANUFACTURER = "Radomir Dopieralski" + +INTERNAL_FLASH_FILESYSTEM = 1 +LONGINT_IMPL = NONE + +CHIP_VARIANT = SAMD21E18A +CHIP_FAMILY = samd21 + +FROZEN_MPY_DIRS += $(TOP)/frozen/pewpew10 diff --git a/ports/atmel-samd/boards/pewpew10/pins.c b/ports/atmel-samd/boards/pewpew10/pins.c new file mode 100644 index 000000000000..499e6270b8f8 --- /dev/null +++ b/ports/atmel-samd/boards/pewpew10/pins.c @@ -0,0 +1,35 @@ +#include "shared-bindings/board/__init__.h" + +#include "board_busses.h" + +STATIC const mp_rom_map_elem_t board_global_dict_table[] = { + { MP_ROM_QSTR(MP_QSTR_R1), MP_ROM_PTR(&pin_PA05) }, + { MP_ROM_QSTR(MP_QSTR_R2), MP_ROM_PTR(&pin_PA11) }, + { MP_ROM_QSTR(MP_QSTR_R3), MP_ROM_PTR(&pin_PA28) }, + { MP_ROM_QSTR(MP_QSTR_R4), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_R5), MP_ROM_PTR(&pin_PA16) }, + { MP_ROM_QSTR(MP_QSTR_R6), MP_ROM_PTR(&pin_PA27) }, + { MP_ROM_QSTR(MP_QSTR_R7), MP_ROM_PTR(&pin_PA17) }, + { MP_ROM_QSTR(MP_QSTR_R8), MP_ROM_PTR(&pin_PA22) }, + + { MP_ROM_QSTR(MP_QSTR_C8), MP_ROM_PTR(&pin_PA10) }, + { MP_ROM_QSTR(MP_QSTR_C7), MP_ROM_PTR(&pin_PA18) }, + { MP_ROM_QSTR(MP_QSTR_C6), MP_ROM_PTR(&pin_PA19) }, + { MP_ROM_QSTR(MP_QSTR_C5), MP_ROM_PTR(&pin_PA06) }, + { MP_ROM_QSTR(MP_QSTR_C4), MP_ROM_PTR(&pin_PA23) }, + { MP_ROM_QSTR(MP_QSTR_C3), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR_C2), MP_ROM_PTR(&pin_PA14) }, + { MP_ROM_QSTR(MP_QSTR_C1), MP_ROM_PTR(&pin_PA15) }, + + { MP_ROM_QSTR(MP_QSTR_P1), MP_ROM_PTR(&pin_PA30) }, + { MP_ROM_QSTR(MP_QSTR_P2), MP_ROM_PTR(&pin_PA31) }, + { MP_ROM_QSTR(MP_QSTR_P3), MP_ROM_PTR(&pin_PA00) }, + { MP_ROM_QSTR(MP_QSTR_P4), MP_ROM_PTR(&pin_PA01) }, + { MP_ROM_QSTR(MP_QSTR_P5), MP_ROM_PTR(&pin_PA02) }, + { MP_ROM_QSTR(MP_QSTR_P6), MP_ROM_PTR(&pin_PA03) }, + { MP_ROM_QSTR(MP_QSTR_P7), MP_ROM_PTR(&pin_PA04) }, + + { MP_ROM_QSTR(MP_QSTR_BUTTONS), MP_ROM_PTR(&pin_PA08) }, + +}; +MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index c9322100fa6b..69c9ff4fc9e5 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -50,14 +50,15 @@ //| STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *pos_args) { - mp_arg_check_num(n_args, n_kw, 3, 3, true); + mp_arg_check_num(n_args, n_kw, 4, 4, true); mp_map_t kw_args; mp_map_init_fixed_table(&kw_args, n_kw, pos_args + n_args); - enum { ARG_buffer, ARG_rows, ARG_cols }; + enum { ARG_buffer, ARG_rows, ARG_cols, ARG_buttons }; static const mp_arg_t allowed_args[] = { { MP_QSTR_buffer, MP_ARG_OBJ | MP_ARG_REQUIRED }, { MP_QSTR_rows, MP_ARG_OBJ | MP_ARG_REQUIRED }, { MP_QSTR_cols, MP_ARG_OBJ | MP_ARG_REQUIRED }, + { MP_QSTR_buttons, MP_ARG_OBJ | MP_ARG_REQUIRED }, }; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; mp_arg_parse_all(n_args, pos_args, &kw_args, MP_ARRAY_SIZE(allowed_args), @@ -96,6 +97,14 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, common_hal_digitalio_digitalinout_deinited(pin)); } + if (!MP_OBJ_IS_TYPE(args[ARG_buttons].u_obj, + &digitalio_digitalinout_type)) { + mp_raise_TypeError("expected a DigitalInOut"); + } + digitalio_digitalinout_obj_t *buttons = MP_OBJ_TO_PTR( + args[ARG_buttons].u_obj); + raise_error_if_deinited( + common_hal_digitalio_digitalinout_deinited(buttons)); pew_obj_t *pew = MP_STATE_VM(pew_singleton); if (!pew) { @@ -110,6 +119,8 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, pew->rows_size = rows_size; pew->cols = cols; pew->cols_size = cols_size; + pew->buttons = buttons; + pew->pressed = 0; pew_init(); return MP_OBJ_FROM_PTR(pew); diff --git a/shared-bindings/_pew/__init__.c b/shared-bindings/_pew/__init__.c index 39a3bc885fe6..652d95f1b513 100644 --- a/shared-bindings/_pew/__init__.c +++ b/shared-bindings/_pew/__init__.c @@ -27,6 +27,18 @@ #include "py/runtime.h" #include "py/mphal.h" #include "PewPew.h" +#include "shared-module/_pew/PewPew.h" + +STATIC mp_obj_t get_pressed(void) { + pew_obj_t *pew = MP_STATE_VM(pew_singleton); + if (!pew) { + return mp_const_none; + } + uint8_t pressed = pew->pressed; + pew->pressed = 0; + return mp_obj_new_int(pressed); +} +STATIC MP_DEFINE_CONST_FUN_OBJ_0(get_pressed_obj, get_pressed); //| :mod:`_pew` --- LED matrix driver @@ -44,6 +56,7 @@ STATIC const mp_rom_map_elem_t pew_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pew) }, { MP_OBJ_NEW_QSTR(MP_QSTR_PewPew), MP_ROM_PTR(&pewpew_type)}, + { MP_OBJ_NEW_QSTR(MP_QSTR_get_pressed), MP_ROM_PTR(&get_pressed_obj)}, }; STATIC MP_DEFINE_CONST_DICT(pew_module_globals, pew_module_globals_table); diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index de1224a37f99..27c2d1c997c8 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -52,16 +52,17 @@ void pewpew_interrupt_handler(uint8_t index) { } void pew_init() { - pew_obj_t* pew_singleton = MP_STATE_VM(pew_singleton); - for (size_t i = 0; i < pew_singleton->rows_size; ++i) { - digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR( - pew_singleton->rows[i]); + pew_obj_t* pew = MP_STATE_VM(pew_singleton); + + common_hal_digitalio_digitalinout_switch_to_input(pew->buttons, PULL_UP); + + for (size_t i = 0; i < pew->rows_size; ++i) { + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(pew->rows[i]); common_hal_digitalio_digitalinout_switch_to_output(pin, false, DRIVE_MODE_PUSH_PULL); } - for (size_t i = 0; i < pew_singleton->cols_size; ++i) { - digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR( - pew_singleton->cols[i]); + for (size_t i = 0; i < pew->cols_size; ++i) { + digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(pew->cols[i]); common_hal_digitalio_digitalinout_switch_to_output(pin, true, DRIVE_MODE_OPEN_DRAIN); } diff --git a/shared-module/_pew/PewPew.h b/shared-module/_pew/PewPew.h index 2f25f9ce2dbc..57b25c3a0cac 100644 --- a/shared-module/_pew/PewPew.h +++ b/shared-module/_pew/PewPew.h @@ -28,14 +28,17 @@ #define MICROPY_INCLUDED_PEW_PEWPEW_H #include +#include "shared-bindings/digitalio/DigitalInOut.h" typedef struct { mp_obj_base_t base; uint8_t* buffer; mp_obj_t* rows; mp_obj_t* cols; + digitalio_digitalinout_obj_t *buttons; uint8_t rows_size; uint8_t cols_size; + uint8_t pressed; } pew_obj_t; void pew_init(void); diff --git a/shared-module/_pew/__init__.c b/shared-module/_pew/__init__.c index 2e09932f3a64..e44a4c0e39f6 100644 --- a/shared-module/_pew/__init__.c +++ b/shared-module/_pew/__init__.c @@ -36,6 +36,8 @@ void pew_tick(void) { static uint8_t col = 0; static uint8_t turn = 0; + static uint8_t pressed = 0; + static uint8_t last_pressed = 0; digitalio_digitalinout_obj_t *pin; pew_obj_t* pew = MP_STATE_VM(pew_singleton); @@ -44,12 +46,18 @@ void pew_tick(void) { pin = MP_OBJ_TO_PTR(pew->cols[col]); ++col; if (col >= pew->cols_size) { + pew->pressed |= last_pressed & pressed; + last_pressed = pressed; + pressed = 0; col = 0; ++turn; if (turn >= 8) { turn = 0; } } + if (!common_hal_digitalio_digitalinout_get_value(pew->buttons)) { + pressed |= 1 << col; + } common_hal_digitalio_digitalinout_set_value(pin, true); for (size_t x = 0; x < pew->rows_size; ++x) { pin = MP_OBJ_TO_PTR(pew->rows[x]); From 48f0a5163e6a3a5e44e6df231867b9bc90ce933b Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Sat, 29 Sep 2018 20:51:32 +0200 Subject: [PATCH 44/76] Reset timer when releasing _pew --- shared-module/_pew/PewPew.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index 27c2d1c997c8..cbe7164bcb87 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -117,6 +117,7 @@ void pew_init() { } void pew_reset(void) { - MP_STATE_VM(pew_singleton) = NULL; + tc_insts[pewpew_tc_index]->COUNT16.CTRLA.bit.ENABLE = 0; pewpew_tc_index = 0xff; + MP_STATE_VM(pew_singleton) = NULL; } From 808304e8276a51a6ec2ac69e6f33a908c756f722 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 28 Feb 2019 19:53:35 -0500 Subject: [PATCH 45/76] Use TCC LUPD lock when updating CCB --- ports/atmel-samd/common-hal/pulseio/PWMOut.c | 36 ++++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/ports/atmel-samd/common-hal/pulseio/PWMOut.c b/ports/atmel-samd/common-hal/pulseio/PWMOut.c index 19daaa14fda2..0908f9a01a09 100644 --- a/ports/atmel-samd/common-hal/pulseio/PWMOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PWMOut.c @@ -328,32 +328,29 @@ extern void common_hal_pulseio_pwmout_set_duty_cycle(pulseio_pwmout_obj_t* self, #endif #ifdef SAMD51 Tc* tc = tc_insts[t->index]; - while (tc->COUNT16.SYNCBUSY.bit.CC1 != 0) { - // Wait for a previous value to be written. This can wait up to one period so we do - // other stuff in the meantime. - #ifdef MICROPY_VM_HOOK_LOOP - MICROPY_VM_HOOK_LOOP - #endif - } + while (tc->COUNT16.SYNCBUSY.bit.CC1 != 0) {} tc->COUNT16.CCBUF[1].reg = adjusted_duty; #endif } else { uint32_t adjusted_duty = ((uint64_t) tcc_periods[t->index]) * duty / 0xffff; uint8_t channel = tcc_channel(t); Tcc* tcc = tcc_insts[t->index]; - while ((tcc->SYNCBUSY.vec.CC & (1 << channel)) != 0) { - // Wait for a previous value to be written. This can wait up to one period so we do - // other stuff in the meantime. - #ifdef MICROPY_VM_HOOK_LOOP - MICROPY_VM_HOOK_LOOP - #endif - } + + // Write into the CC buffer register, which will be transferred to the + // CC register on an UPDATE (when period is finished). + // Do clock domain syncing as necessary. + + while (tcc->SYNCBUSY.reg != 0) {} + + // Lock out double-buffering while updating the CCB value. + tcc->CTRLBSET.bit.LUPD = 1; #ifdef SAMD21 tcc->CCB[channel].reg = adjusted_duty; #endif #ifdef SAMD51 tcc->CCBUF[channel].reg = adjusted_duty; #endif + tcc->CTRLBCLR.bit.LUPD = 1; } } @@ -368,7 +365,12 @@ uint16_t common_hal_pulseio_pwmout_get_duty_cycle(pulseio_pwmout_obj_t* self) { Tcc* tcc = tcc_insts[t->index]; uint8_t channel = tcc_channel(t); uint32_t cv = 0; + + while (tcc->SYNCBUSY.bit.CTRLB) {} + #ifdef SAMD21 + // If CCBV (CCB valid) is set, the CCB value hasn't yet been copied + // to the CC value. if ((tcc->STATUS.vec.CCBV & (1 << channel)) != 0) { cv = tcc->CCB[channel].reg; } else { @@ -425,7 +427,7 @@ void common_hal_pulseio_pwmout_set_frequency(pulseio_pwmout_obj_t* self, tc->COUNT16.CC[0].reg = new_top; #endif #ifdef SAMD51 - while (tc->COUNT16.SYNCBUSY.reg != 0) { + while (tc->COUNT16.SYNCBUSY.reg != 0) {} /* Wait for sync */ } tc->COUNT16.CCBUF[0].reg = new_top; @@ -438,14 +440,12 @@ void common_hal_pulseio_pwmout_set_frequency(pulseio_pwmout_obj_t* self, tcc->CTRLA.bit.PRESCALER = new_divisor; tcc_set_enable(tcc, true); } + while (tcc->SYNCBUSY.reg != 0) {} tcc_periods[t->index] = new_top; #ifdef SAMD21 tcc->PERB.bit.PERB = new_top; #endif #ifdef SAMD51 - while (tcc->SYNCBUSY.reg != 0) { - /* Wait for sync */ - } tcc->PERBUF.bit.PERBUF = new_top; #endif } From ced37c10015464be575e8f1b0ae9a1838f34c45c Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 28 Feb 2019 22:36:50 -0500 Subject: [PATCH 46/76] Don't wait for display frame if interrupt pending --- shared-module/displayio/Display.c | 3 ++- shared-module/displayio/__init__.c | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index da3424a36015..1c9ba5702d6a 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -147,7 +147,8 @@ void common_hal_displayio_display_refresh_soon(displayio_display_obj_t* self) { int32_t common_hal_displayio_display_wait_for_frame(displayio_display_obj_t* self) { uint64_t last_refresh = self->last_refresh; - while (last_refresh == self->last_refresh) { + // Don't try to refresh if we got an exception. + while (last_refresh == self->last_refresh && MP_STATE_VM(mp_pending_exception) == NULL) { MICROPY_VM_HOOK_LOOP } return 0; diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c index 0d35abf0f6b2..79014fb5afe7 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -2,7 +2,9 @@ #include #include "shared-module/displayio/__init__.h" +#include "lib/utils/interrupt_char.h" #include "py/reload.h" +#include "py/runtime.h" #include "shared-bindings/displayio/Bitmap.h" #include "shared-bindings/displayio/Display.h" #include "shared-bindings/displayio/Group.h" @@ -23,8 +25,12 @@ static inline void swap(uint16_t* a, uint16_t* b) { bool refreshing_displays = false; void displayio_refresh_displays(void) { + if (mp_hal_is_interrupted()) { + return; + } // Somehow reloads from the sdcard are being lost. So, cheat and reraise. - if (reload_requested) { + // But don't re-raise if already pending. + if (reload_requested && MP_STATE_VM(mp_pending_exception) == MP_OBJ_NULL) { mp_raise_reload_exception(); return; } From 3c24e893e98d158f939a8dba11c4b7783d998500 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 28 Feb 2019 23:38:26 -0500 Subject: [PATCH 47/76] Fix SYNCBUSY loop typo. --- ports/atmel-samd/common-hal/pulseio/PWMOut.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/ports/atmel-samd/common-hal/pulseio/PWMOut.c b/ports/atmel-samd/common-hal/pulseio/PWMOut.c index 0908f9a01a09..dd85e8c02d16 100644 --- a/ports/atmel-samd/common-hal/pulseio/PWMOut.c +++ b/ports/atmel-samd/common-hal/pulseio/PWMOut.c @@ -428,8 +428,6 @@ void common_hal_pulseio_pwmout_set_frequency(pulseio_pwmout_obj_t* self, #endif #ifdef SAMD51 while (tc->COUNT16.SYNCBUSY.reg != 0) {} - /* Wait for sync */ - } tc->COUNT16.CCBUF[0].reg = new_top; #endif } else { From 398c7060f8a51bb83b0f5e0c2a1611d684603d2b Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Wed, 27 Feb 2019 21:02:48 -0800 Subject: [PATCH 48/76] added monochrome, 8bpp indexed, and 32bpp ARGB BMPs --- locale/ID.po | 18 ++--- locale/circuitpython.pot | 18 ++--- locale/de_DE.po | 18 ++--- locale/en_US.po | 18 ++--- locale/es.po | 20 ++--- locale/fil.po | 20 ++--- locale/fr.po | 20 ++--- locale/it_IT.po | 20 ++--- locale/pt_BR.po | 18 ++--- shared-module/displayio/OnDiskBitmap.c | 104 +++++++++++++++++-------- shared-module/displayio/OnDiskBitmap.h | 4 +- 11 files changed, 140 insertions(+), 138 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index bfa219222080..c0b1dafdbdf3 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -756,11 +756,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Parity ganjil tidak didukung" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "Hanya 8 atau 16 bit mono dengan " @@ -771,13 +766,11 @@ msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -msgid "Only slices with step=1 (aka None) are supported" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" msgstr "" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." @@ -984,6 +977,9 @@ msgstr "Tidak dapat menemukan GCLK yang kosong" msgid "Unable to init parser" msgstr "" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Tidak dapat memasang filesystem kembali" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 318adc76859a..ea6b26c3f8db 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 19:57-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -730,11 +730,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "" @@ -745,13 +740,11 @@ msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -msgid "Only slices with step=1 (aka None) are supported" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" msgstr "" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." @@ -951,6 +944,9 @@ msgstr "" msgid "Unable to init parser" msgstr "" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index d9354f01ff7c..ff9cafc7638f 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 19:57-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -748,11 +748,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Eine ungerade Parität wird nicht unterstützt" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "Nur 8 oder 16 bit mono mit " @@ -764,13 +759,11 @@ msgid "Only bit maps of 8 bit color or less are supported" msgstr "" "Es werden nur Bitmaps mit einer Farbtiefe von 8 Bit oder weniger unterstützt" -msgid "Only slices with step=1 (aka None) are supported" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" msgstr "" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." @@ -984,6 +977,9 @@ msgstr "Konnte keinen freien GCLK finden" msgid "Unable to init parser" msgstr "Parser konnte nicht gestartet werden" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Dateisystem konnte nicht wieder eingebunden werden." diff --git a/locale/en_US.po b/locale/en_US.po index cb9d85a18462..45596fb6202d 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -730,11 +730,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "" @@ -745,13 +740,11 @@ msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" -msgid "Only slices with step=1 (aka None) are supported" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" msgstr "" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." @@ -951,6 +944,9 @@ msgstr "" msgid "Unable to init parser" msgstr "" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "" diff --git a/locale/es.po b/locale/es.po index 06a1f10f93c5..996d58df664b 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -770,11 +770,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Paridad impar no soportada" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "Solo mono de 8 o 16 bit con " @@ -785,16 +780,14 @@ msgstr "Solo formato Windows, BMP sin comprimir soportado %d" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Solo se admiten bit maps de color de 8 bits o menos" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgstr "" + #, fuzzy msgid "Only slices with step=1 (aka None) are supported" msgstr "solo se admiten segmentos con step=1 (alias None)" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" -msgstr "" - msgid "Only tx supported on UART1 (GPIO2)." msgstr "Solo tx soportada en UART1 (GPIO2)" @@ -1003,6 +996,9 @@ msgstr "No se pudo encontrar un GCLK libre" msgid "Unable to init parser" msgstr "Incapaz de inicializar el parser" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Incapaz de montar de nuevo el sistema de archivos" diff --git a/locale/fil.po b/locale/fil.po index 0e79f20317cd..af5046d7c202 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -768,11 +768,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "Odd na parity ay hindi supportado" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "Tanging 8 o 16 na bit mono na may " @@ -783,16 +778,14 @@ msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgstr "" + #, fuzzy msgid "Only slices with step=1 (aka None) are supported" msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" -msgstr "" - msgid "Only tx supported on UART1 (GPIO2)." msgstr "Tanging suportado ang TX sa UART1 (GPIO2)." @@ -1005,6 +998,9 @@ msgstr "Hindi mahanap ang libreng GCLK" msgid "Unable to init parser" msgstr "Hindi ma-init ang parser" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Hindi ma-remount ang filesystem" diff --git a/locale/fr.po b/locale/fr.po index cb81f74ca7c3..3fde90bde73b 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -772,11 +772,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "parité impaire non supportée" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "Uniquement 8 ou 16 bit mono avec " @@ -787,16 +782,14 @@ msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgstr "" + #, fuzzy msgid "Only slices with step=1 (aka None) are supported" msgstr "seuls les slices avec 'step=1' (cad None) sont supportées" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" -msgstr "" - msgid "Only tx supported on UART1 (GPIO2)." msgstr "Seul le tx est supporté sur l'UART1 (GPIO2)." @@ -1016,6 +1009,9 @@ msgstr "Impossible de trouver un GCLK libre" msgid "Unable to init parser" msgstr "Impossible d'initialiser le parser" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Impossible de remonter le système de fichiers" diff --git a/locale/it_IT.po b/locale/it_IT.po index 83664a146c93..ea1a42b1198a 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -767,11 +767,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "operazione I2C non supportata" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "" @@ -782,16 +777,14 @@ msgstr "Formato solo di Windows, BMP non compresso supportato %d" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Sono supportate solo bitmap con colori a 8 bit o meno" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgstr "" + #, fuzzy msgid "Only slices with step=1 (aka None) are supported" msgstr "solo slice con step=1 (aka None) sono supportate" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" -msgstr "" - msgid "Only tx supported on UART1 (GPIO2)." msgstr "Solo tx supportato su UART1 (GPIO2)." @@ -1003,6 +996,9 @@ msgstr "Impossibile trovare un GCLK libero" msgid "Unable to init parser" msgstr "Inizilizzazione del parser non possibile" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Imposssibile rimontare il filesystem" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 70e7bde4a915..8477e1478602 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-23 10:51-0800\n" +"POT-Creation-Date: 2019-02-28 23:07-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -756,11 +756,6 @@ msgstr "" msgid "Odd parity is not supported" msgstr "I2C operação não suportada" -#, c-format -msgid "" -"Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x" -msgstr "" - msgid "Only 8 or 16 bit mono with " msgstr "" @@ -771,13 +766,11 @@ msgstr "Apenas formato Windows, BMP descomprimido suportado" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados" -msgid "Only slices with step=1 (aka None) are supported" +#, c-format +msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" msgstr "" -#, c-format -msgid "" -"Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale " -"BMP supported %d" +msgid "Only slices with step=1 (aka None) are supported" msgstr "" msgid "Only tx supported on UART1 (GPIO2)." @@ -979,6 +972,9 @@ msgstr "Não é possível encontrar GCLK livre" msgid "Unable to init parser" msgstr "" +msgid "Unable to read color palette data" +msgstr "" + msgid "Unable to remount filesystem" msgstr "Não é possível remontar o sistema de arquivos" diff --git a/shared-module/displayio/OnDiskBitmap.c b/shared-module/displayio/OnDiskBitmap.c index bc30646326d0..76d8fb2d146b 100644 --- a/shared-module/displayio/OnDiskBitmap.c +++ b/shared-module/displayio/OnDiskBitmap.c @@ -56,42 +56,65 @@ void common_hal_displayio_ondiskbitmap_construct(displayio_ondiskbitmap_t *self, uint16_t bits_per_pixel = bmp_header[14]; uint32_t compression = read_word(bmp_header, 15); uint32_t number_of_colors = read_word(bmp_header, 23); + + bool indexed = ((bits_per_pixel <= 8) && (number_of_colors != 0)); self->bitfield_compressed = (compression == 3); - - self->grayscale = ((bits_per_pixel == 8) && (number_of_colors == 256)); + self->bits_per_pixel = bits_per_pixel; + self->width = read_word(bmp_header, 9); + self->height = read_word(bmp_header, 11); + if (bits_per_pixel == 16){ - if (((header_size == 124) || (header_size == 56)) && (self->bitfield_compressed)) { + if (((header_size >= 56)) || (self->bitfield_compressed)) { self->r_bitmask = read_word(bmp_header, 27); self->g_bitmask = read_word(bmp_header, 29); self->b_bitmask = read_word(bmp_header, 31); - if (!((self->r_bitmask == 0xf800) && (self->g_bitmask == 0x07e0) && (self->b_bitmask == 0x001f))){ - mp_raise_ValueError_varg(translate("Only 16bpp RGB 565 supported for bitfield compressed BMPs; R:%x G:%x B:%x"), - self->r_bitmask, self->g_bitmask, self->b_bitmask); - } - } else if (header_size == 40){ // no bitmasks means 5:5:5 + } else { // no compression or short header means 5:5:5 self->r_bitmask = 0x7c00; self->g_bitmask = 0x3e0; self->b_bitmask = 0x1f; } + } else if ((indexed) && (self->bits_per_pixel != 1)) { + uint16_t palette_size = number_of_colors * sizeof(uint32_t); + uint16_t palette_offset = 0xe + header_size; + + self->palette_data = m_malloc(palette_size, false); + + f_rewind(&self->file->fp); + f_lseek(&self->file->fp, palette_offset); + + UINT palette_bytes_read; + if (f_read(&self->file->fp, self->palette_data, palette_size, &palette_bytes_read) != FR_OK) { + mp_raise_OSError(MP_EIO); + } + if (palette_bytes_read != palette_size) { + mp_raise_ValueError(translate("Unable to read color palette data")); + } + - } else if (!(header_size == 12 || header_size == 40 || header_size == 108 || header_size == 124) || - !(compression == 0)) { + } else if (!(header_size == 12 || header_size == 40 || header_size == 108 || header_size == 124)) { mp_raise_ValueError_varg(translate("Only Windows format, uncompressed BMP supported %d"), header_size); } - if (bits_per_pixel < 16 && !(self->grayscale)) { - mp_raise_ValueError_varg(translate("Only true color (24 bpp or higher), 16bpp 565 and 555, and 8bpp grayscale BMP supported %d"), bits_per_pixel); + if ((bits_per_pixel == 4 ) || (( bits_per_pixel == 8) && (number_of_colors == 0))) { + mp_raise_ValueError_varg(translate("Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d"), bits_per_pixel); } - self->bytes_per_pixel = bits_per_pixel / 8; - self->width = read_word(bmp_header, 9); - self->height = read_word(bmp_header, 11); - uint32_t byte_width = self->width * self->bytes_per_pixel; - self->stride = byte_width; - // Rows are word aligned. - if (self->stride % 4 != 0) { - self->stride += 4 - self->stride % 4; + + if (self->bits_per_pixel >=8){ + self->stride = (self->width * (bits_per_pixel / 8)); + // Rows are word aligned. + if (self->stride % 4 != 0) { + self->stride += 4 - self->stride % 4; + } + + } else { + uint32_t bit_stride = self->width; + if (bit_stride % 32 != 0) { + bit_stride += 32 - bit_stride % 32; + } + self->stride = (bit_stride / 8); } + } @@ -100,39 +123,54 @@ uint32_t common_hal_displayio_ondiskbitmap_get_pixel(displayio_ondiskbitmap_t *s if (x < 0 || x >= self->width || y < 0 || y >= self->height) { return 0; } - uint32_t location = self->data_offset + (self->height - y) * self->stride + x * self->bytes_per_pixel; + uint32_t location; + uint8_t bytes_per_pixel = (self->bits_per_pixel / 8) ? (self->bits_per_pixel /8) : 1; + if (self->bits_per_pixel >= 8){ + location = self->data_offset + (self->height - y) * self->stride + x * bytes_per_pixel; + } else { + location = self->data_offset + (self->height - y) * self->stride + x / 8; + } // We don't cache here because the underlying FS caches sectors. f_lseek(&self->file->fp, location); UINT bytes_read; - uint32_t pixel = 0; - uint32_t result = f_read(&self->file->fp, &pixel, self->bytes_per_pixel, &bytes_read); + uint32_t pixel = 0; // this name is stale + uint32_t result = f_read(&self->file->fp, &pixel, bytes_per_pixel, &bytes_read); if (result == FR_OK) { uint32_t tmp = 0; uint8_t red; uint8_t green; uint8_t blue; - if (self->grayscale){ - red = pixel; - green = pixel; - blue = pixel; - tmp = (red << 16 | green << 8 | blue); + if (self->bits_per_pixel == 1){ + uint8_t bit_offset = x%8; + tmp = ( pixel & (0x80 >> (bit_offset))) >> (7 - bit_offset); + if (tmp == 1) { + return 0x00FFFFFF; + } else { + return 0x00000000; + } + } else if (bytes_per_pixel == 1){ + blue = ((self->palette_data[pixel] & 0xFF) >> 0); + red = ((self->palette_data[pixel] & 0xFF0000) >> 16); + green = ((self->palette_data[pixel] & 0xFF00) >> 8); + tmp = (red << 16 | green << 8 | blue ); return tmp; - } else if (self->bytes_per_pixel == 2) { - if (self->bitfield_compressed){ + } else if (bytes_per_pixel == 2) { + if (self->g_bitmask == 0x07e0){ // 565 red =((pixel & self->r_bitmask) >>11); green = ((pixel & self->g_bitmask) >>5); blue = ((pixel & self->b_bitmask) >> 0); - } else { + } else { // 555 red =((pixel & self->r_bitmask) >>10); green = ((pixel & self->g_bitmask) >>4); blue = ((pixel & self->b_bitmask) >> 0); } tmp = (red << 19 | green << 10 | blue << 3); return tmp; - }else { + }else if ((bytes_per_pixel == 4) && (self->bitfield_compressed)){ + return pixel & 0x00FFFFFF; + } else { return pixel; } - } return 0; } diff --git a/shared-module/displayio/OnDiskBitmap.h b/shared-module/displayio/OnDiskBitmap.h index 2102863d6842..28426f11b874 100644 --- a/shared-module/displayio/OnDiskBitmap.h +++ b/shared-module/displayio/OnDiskBitmap.h @@ -44,9 +44,9 @@ typedef struct { uint32_t g_bitmask; uint32_t b_bitmask; bool bitfield_compressed; - bool grayscale; pyb_file_obj_t* file; - uint8_t bytes_per_pixel; + uint8_t bits_per_pixel; + uint32_t* palette_data; } displayio_ondiskbitmap_t; #endif // MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_ONDISKBITMAP_H From 45fea86554d42d07360ec16574908bc96c5e37ec Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 14:59:21 +0100 Subject: [PATCH 49/76] Rebase on top of CircuitPython 4.x --- .../atmel-samd/boards/pewpew10/mpconfigboard.h | 2 -- .../atmel-samd/boards/pewpew10/mpconfigboard.mk | 9 +++++++++ ports/atmel-samd/boards/pewpew10/pins.c | 2 +- ports/atmel-samd/timer_handler.c | 12 ++++++++++-- ports/atmel-samd/timer_handler.h | 1 + py/circuitpy_defns.mk | 2 ++ py/circuitpy_mpconfig.h | 2 ++ py/circuitpy_mpconfig.mk | 5 +++++ shared-bindings/_pew/PewPew.c | 17 ++++++++--------- shared-module/_pew/PewPew.c | 12 ++++++++---- 10 files changed, 46 insertions(+), 18 deletions(-) diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.h b/ports/atmel-samd/boards/pewpew10/mpconfigboard.h index 3fd1cbce181a..09618431b861 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.h +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.h @@ -7,8 +7,6 @@ #define CIRCUITPY_INTERNAL_NVM_SIZE 0 -#include "internal_flash.h" - #define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index cf3004a4dabf..eeb5632ef91d 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -11,3 +11,12 @@ CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 FROZEN_MPY_DIRS += $(TOP)/frozen/pewpew10 + +CIRCUITPY_PEW = 1 +CIRCUITPY_ANALOGIO = 1 +CIRCUITPY_MATH = 0 +CIRCUITPY_NEOPIXEL_WRITE = 1 +CIRCUITPY_RTC = 0 +CIRCUITPY_SAMD = 0 +CIRCUITPY_USB_MIDI = 0 +CIRCUITPY_SMALL_BUILD = 1 diff --git a/ports/atmel-samd/boards/pewpew10/pins.c b/ports/atmel-samd/boards/pewpew10/pins.c index 499e6270b8f8..082394d17ada 100644 --- a/ports/atmel-samd/boards/pewpew10/pins.c +++ b/ports/atmel-samd/boards/pewpew10/pins.c @@ -1,6 +1,6 @@ #include "shared-bindings/board/__init__.h" -#include "board_busses.h" +#include "supervisor/shared/board_busses.h" STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_R1), MP_ROM_PTR(&pin_PA05) }, diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 26f984d9640f..ac162329ed01 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -30,6 +30,7 @@ #include "timer_handler.h" #include "common-hal/pulseio/PulseOut.h" +#include "shared-module/_pew/PewPew.h" static uint8_t tc_handler[TC_INST_NUM]; @@ -44,8 +45,15 @@ void shared_timer_handler(bool is_tc, uint8_t index) { // Make sure to add the handler #define to timer_handler.h if (is_tc) { uint8_t handler = tc_handler[index]; - if (handler == TC_HANDLER_PULSEOUT) { - pulseout_interrupt_handler(index); + switch(handler) { + case TC_HANDLER_PULSEOUT: + pulseout_interrupt_handler(index); + break; + case TC_HANDLER_PEW: + pewpew_interrupt_handler(index); + break; + default: + break; } } } diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h index f7a6e6e0ed17..e249fca3636b 100644 --- a/ports/atmel-samd/timer_handler.h +++ b/ports/atmel-samd/timer_handler.h @@ -28,6 +28,7 @@ #define TC_HANDLER_NO_INTERRUPT 0x0 #define TC_HANDLER_PULSEOUT 0x1 +#define TC_HANDLER_PEW 0x2 void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler); void shared_timer_handler(bool is_tc, uint8_t index); diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk index 080263487e38..c10edfe4e55b 100644 --- a/py/circuitpy_defns.mk +++ b/py/circuitpy_defns.mk @@ -321,6 +321,8 @@ $(filter $(SRC_PATTERNS), \ terminalio/__init__.c \ uheap/__init__.c \ ustack/__init__.c \ + _pew/__init__.c \ + _pew/PewPew.c \ ) ifeq ($(INTERNAL_LIBM),1) diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index c20c0fb662fe..25aabc292a4a 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -543,6 +543,7 @@ extern const struct _mp_obj_module_t pew_module; USB_HID_MODULE \ USB_MIDI_MODULE \ USTACK_MODULE \ + PEW_MODULE \ // If weak links are enabled, just include strong links in the main list of modules, // and also include the underscore alternate names. @@ -569,6 +570,7 @@ extern const struct _mp_obj_module_t pew_module; vstr_t *repl_line; \ mp_obj_t rtc_time_source; \ mp_obj_t gamepad_singleton; \ + mp_obj_t pew_singleton; \ mp_obj_t terminal_tilegrid_tiles; \ FLASH_ROOT_POINTERS \ NETWORK_ROOT_POINTERS \ diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk index a4a59170f087..54a38dfeec08 100644 --- a/py/circuitpy_mpconfig.mk +++ b/py/circuitpy_mpconfig.mk @@ -213,6 +213,11 @@ CIRCUITPY_USB_MIDI = 1 endif CFLAGS += -DCIRCUITPY_USB_MIDI=$(CIRCUITPY_USB_MIDI) +ifndef CIRCUITPY_PEW +CIRCUITPY_PEW = 0 +endif +CFLAGS += -DCIRCUITPY_PEW=$(CIRCUITPY_PEW) + # For debugging. ifndef CIRCUITPY_USTACK CIRCUITPY_USTACK = 0 diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index 69c9ff4fc9e5..19eb00736c28 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -32,6 +32,7 @@ #include "shared-bindings/util.h" #include "PewPew.h" #include "shared-module/_pew/PewPew.h" +#include "supervisor/shared/translate.h" //| .. currentmodule:: _pew @@ -49,10 +50,8 @@ //| //| STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, - size_t n_kw, const mp_obj_t *pos_args) { - mp_arg_check_num(n_args, n_kw, 4, 4, true); - mp_map_t kw_args; - mp_map_init_fixed_table(&kw_args, n_kw, pos_args + n_args); + const mp_obj_t *pos_args, mp_map_t *kw_args) { + mp_arg_check_num(n_args, kw_args, 4, 4, true); enum { ARG_buffer, ARG_rows, ARG_cols, ARG_buttons }; static const mp_arg_t allowed_args[] = { { MP_QSTR_buffer, MP_ARG_OBJ | MP_ARG_REQUIRED }, @@ -61,7 +60,7 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, { MP_QSTR_buttons, MP_ARG_OBJ | MP_ARG_REQUIRED }, }; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; - mp_arg_parse_all(n_args, pos_args, &kw_args, MP_ARRAY_SIZE(allowed_args), + mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); mp_buffer_info_t bufinfo; @@ -76,12 +75,12 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, mp_obj_get_array(args[ARG_cols].u_obj, &cols_size, &cols); if (bufinfo.len != rows_size * cols_size) { - mp_raise_TypeError("wrong buffer size"); + mp_raise_TypeError(translate("")); } for (size_t i = 0; i < rows_size; ++i) { if (!MP_OBJ_IS_TYPE(rows[i], &digitalio_digitalinout_type)) { - mp_raise_TypeError("expected a DigitalInOut"); + mp_raise_TypeError(translate("")); } digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(rows[i]); raise_error_if_deinited( @@ -90,7 +89,7 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, for (size_t i = 0; i < cols_size; ++i) { if (!MP_OBJ_IS_TYPE(cols[i], &digitalio_digitalinout_type)) { - mp_raise_TypeError("expected a DigitalInOut"); + mp_raise_TypeError(translate("")); } digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(cols[i]); raise_error_if_deinited( @@ -99,7 +98,7 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, if (!MP_OBJ_IS_TYPE(args[ARG_buttons].u_obj, &digitalio_digitalinout_type)) { - mp_raise_TypeError("expected a DigitalInOut"); + mp_raise_TypeError(translate("")); } digitalio_digitalinout_obj_t *buttons = MP_OBJ_TO_PTR( args[ARG_buttons].u_obj); diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index cbe7164bcb87..2900f2ac7aca 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -35,6 +35,8 @@ #include "shared-bindings/digitalio/DigitalInOut.h" #include "shared-bindings/util.h" #include "samd/timers.h" +#include "supervisor/shared/translate.h" +#include "timer_handler.h" static uint8_t pewpew_tc_index = 0xff; @@ -77,10 +79,11 @@ void pew_init() { } } if (tc == NULL) { - mp_raise_RuntimeError("All timers in use"); + mp_raise_RuntimeError(translate("")); } pewpew_tc_index = index; + set_timer_handler(true, index, TC_HANDLER_PEW); // We use GCLK0 for SAMD21 and GCLK1 for SAMD51 because they both run // at 48mhz making our math the same across the boards. @@ -106,7 +109,6 @@ void pew_init() { #endif tc_set_enable(tc, true); - //tc->COUNT16.CTRLBSET.reg = TC_CTRLBSET_CMD_STOP; tc->COUNT16.CC[0].reg = 160; // Clear our interrupt in case it was set earlier @@ -117,7 +119,9 @@ void pew_init() { } void pew_reset(void) { - tc_insts[pewpew_tc_index]->COUNT16.CTRLA.bit.ENABLE = 0; - pewpew_tc_index = 0xff; + if (pewpew_tc_index != 0xff) { + tc_reset(tc_insts[pewpew_tc_index]); + pewpew_tc_index = 0xff; + } MP_STATE_VM(pew_singleton) = NULL; } From fb027f202476f5ac8285a63084b312d25904052c Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 1 Mar 2019 09:06:03 -0500 Subject: [PATCH 50/76] Update PyPortal pins to rev C --- ports/atmel-samd/boards/pyportal/pins.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ports/atmel-samd/boards/pyportal/pins.c b/ports/atmel-samd/boards/pyportal/pins.c index 24ebd92bb162..6a4736a1114f 100644 --- a/ports/atmel-samd/boards/pyportal/pins.c +++ b/ports/atmel-samd/boards/pyportal/pins.c @@ -11,18 +11,21 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_AUDIO_OUT), MP_ROM_PTR(&pin_PA02) }, { MP_OBJ_NEW_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) }, // analog out/in { MP_OBJ_NEW_QSTR(MP_QSTR_SPEAKER_ENABLE), MP_ROM_PTR(&pin_PA27) }, + + // Light sensor { MP_OBJ_NEW_QSTR(MP_QSTR_LIGHT), MP_ROM_PTR(&pin_PA07) }, { MP_OBJ_NEW_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA07) }, // STEMMA connectors - { MP_OBJ_NEW_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA04) }, // D3 - { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA04) }, // A1/D3 - { MP_OBJ_NEW_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA05) }, // D4 - { MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA05) }, // A4/D4 + { MP_OBJ_NEW_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA04) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA04) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA05) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA05) }, // Indicator LED - { MP_OBJ_NEW_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA27) }, - { MP_OBJ_NEW_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_PA27) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PB23) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_PB23) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL),MP_ROM_PTR(&pin_PB22) }, // LCD pins From 18870255ea4c18eddcbd91ffd36517c728e34907 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 15:06:24 +0100 Subject: [PATCH 51/76] Remove the pewpew70 board definition, leave only pewpew10 --- ports/atmel-samd/boards/pewpew70/board.c | 38 ------------------- .../boards/pewpew70/mpconfigboard.h | 12 ------ .../boards/pewpew70/mpconfigboard.mk | 13 ------- ports/atmel-samd/boards/pewpew70/pins.c | 31 --------------- 4 files changed, 94 deletions(-) delete mode 100644 ports/atmel-samd/boards/pewpew70/board.c delete mode 100644 ports/atmel-samd/boards/pewpew70/mpconfigboard.h delete mode 100644 ports/atmel-samd/boards/pewpew70/mpconfigboard.mk delete mode 100644 ports/atmel-samd/boards/pewpew70/pins.c diff --git a/ports/atmel-samd/boards/pewpew70/board.c b/ports/atmel-samd/boards/pewpew70/board.c deleted file mode 100644 index c8e20206a19f..000000000000 --- a/ports/atmel-samd/boards/pewpew70/board.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * This file is part of the MicroPython project, http://micropython.org/ - * - * The MIT License (MIT) - * - * Copyright (c) 2017 Scott Shawcroft for Adafruit Industries - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "boards/board.h" - -void board_init(void) -{ -} - -bool board_requests_safe_mode(void) { - return false; -} - -void reset_board(void) { -} diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h b/ports/atmel-samd/boards/pewpew70/mpconfigboard.h deleted file mode 100644 index e839bc5ea9b4..000000000000 --- a/ports/atmel-samd/boards/pewpew70/mpconfigboard.h +++ /dev/null @@ -1,12 +0,0 @@ -#define MICROPY_HW_BOARD_NAME "PewPew 7.0" -#define MICROPY_HW_MCU_NAME "samd21e18" - -#define MICROPY_PORT_A (PORT_PA24 | PORT_PA25) -#define MICROPY_PORT_B (0) -#define MICROPY_PORT_C (0) - -#define CIRCUITPY_INTERNAL_NVM_SIZE 0 - -#include "internal_flash.h" - -#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000) diff --git a/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk deleted file mode 100644 index f316bfb2ee04..000000000000 --- a/ports/atmel-samd/boards/pewpew70/mpconfigboard.mk +++ /dev/null @@ -1,13 +0,0 @@ -LD_FILE = boards/samd21x18-bootloader.ld -USB_VID = 0x239A -USB_PID = 0x801D -USB_PRODUCT = "PewPew 7.0" -USB_MANUFACTURER = "Radomir Dopieralski" - -INTERNAL_FLASH_FILESYSTEM = 1 -LONGINT_IMPL = NONE - -CHIP_VARIANT = SAMD21E18A -CHIP_FAMILY = samd21 - -FROZEN_MPY_DIRS += $(TOP)/frozen/pewpew70 diff --git a/ports/atmel-samd/boards/pewpew70/pins.c b/ports/atmel-samd/boards/pewpew70/pins.c deleted file mode 100644 index 9fca3c4ad900..000000000000 --- a/ports/atmel-samd/boards/pewpew70/pins.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "shared-bindings/board/__init__.h" - -#include "board_busses.h" - -STATIC const mp_rom_map_elem_t board_global_dict_table[] = { - { MP_ROM_QSTR(MP_QSTR_R1), MP_ROM_PTR(&pin_PA08) }, - { MP_ROM_QSTR(MP_QSTR_R2), MP_ROM_PTR(&pin_PA15) }, - { MP_ROM_QSTR(MP_QSTR_R3), MP_ROM_PTR(&pin_PA01) }, - { MP_ROM_QSTR(MP_QSTR_R4), MP_ROM_PTR(&pin_PA11) }, - { MP_ROM_QSTR(MP_QSTR_R5), MP_ROM_PTR(&pin_PA27) }, - { MP_ROM_QSTR(MP_QSTR_R6), MP_ROM_PTR(&pin_PA00) }, - { MP_ROM_QSTR(MP_QSTR_R7), MP_ROM_PTR(&pin_PA28) }, - { MP_ROM_QSTR(MP_QSTR_R8), MP_ROM_PTR(&pin_PA19) }, - - { MP_ROM_QSTR(MP_QSTR_C1), MP_ROM_PTR(&pin_PA14) }, - { MP_ROM_QSTR(MP_QSTR_C2), MP_ROM_PTR(&pin_PA23) }, - { MP_ROM_QSTR(MP_QSTR_C3), MP_ROM_PTR(&pin_PA22) }, - { MP_ROM_QSTR(MP_QSTR_C4), MP_ROM_PTR(&pin_PA09) }, - { MP_ROM_QSTR(MP_QSTR_C5), MP_ROM_PTR(&pin_PA18) }, - { MP_ROM_QSTR(MP_QSTR_C6), MP_ROM_PTR(&pin_PA10) }, - { MP_ROM_QSTR(MP_QSTR_C7), MP_ROM_PTR(&pin_PA16) }, - { MP_ROM_QSTR(MP_QSTR_C8), MP_ROM_PTR(&pin_PA17) }, - - { MP_ROM_QSTR(MP_QSTR_UP), MP_ROM_PTR(&pin_PA04) }, - { MP_ROM_QSTR(MP_QSTR_DOWN), MP_ROM_PTR(&pin_PA03) }, - { MP_ROM_QSTR(MP_QSTR_LEFT), MP_ROM_PTR(&pin_PA02) }, - { MP_ROM_QSTR(MP_QSTR_RIGHT), MP_ROM_PTR(&pin_PA05) }, - { MP_ROM_QSTR(MP_QSTR_O), MP_ROM_PTR(&pin_PA07) }, - { MP_ROM_QSTR(MP_QSTR_X), MP_ROM_PTR(&pin_PA06) }, -}; -MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); From f5f493222067a0be2123de1c6cea90ac4f06aef6 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 15:09:00 +0100 Subject: [PATCH 52/76] Clean unused include from tick.c --- ports/atmel-samd/tick.c | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/atmel-samd/tick.c b/ports/atmel-samd/tick.c index 44b631838efc..149347793395 100644 --- a/ports/atmel-samd/tick.c +++ b/ports/atmel-samd/tick.c @@ -30,7 +30,6 @@ #include "supervisor/shared/autoreload.h" #include "shared-module/gamepad/__init__.h" -#include "shared-module/_pew/__init__.h" #include "shared-bindings/microcontroller/__init__.h" #include "shared-bindings/microcontroller/Processor.h" From 3826ca41941922d820c1c2a24c3a335876254619 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 15:10:43 +0100 Subject: [PATCH 53/76] Rename internal pins to add underscore in front --- frozen/pewpew10/pew.py | 34 ++++++++++++------------- ports/atmel-samd/boards/pewpew10/pins.c | 34 ++++++++++++------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/frozen/pewpew10/pew.py b/frozen/pewpew10/pew.py index 8d60d0ec6d8c..99819cd5aef9 100644 --- a/frozen/pewpew10/pew.py +++ b/frozen/pewpew10/pew.py @@ -192,26 +192,26 @@ def init(): _tick = time.monotonic() _rows = ( - digitalio.DigitalInOut(board.R1), - digitalio.DigitalInOut(board.R2), - digitalio.DigitalInOut(board.R3), - digitalio.DigitalInOut(board.R4), - digitalio.DigitalInOut(board.R5), - digitalio.DigitalInOut(board.R6), - digitalio.DigitalInOut(board.R7), - digitalio.DigitalInOut(board.R8), + digitalio.DigitalInOut(board._R1), + digitalio.DigitalInOut(board._R2), + digitalio.DigitalInOut(board._R3), + digitalio.DigitalInOut(board._R4), + digitalio.DigitalInOut(board._R5), + digitalio.DigitalInOut(board._R6), + digitalio.DigitalInOut(board._R7), + digitalio.DigitalInOut(board._R8), ) _cols = ( - digitalio.DigitalInOut(board.C1), - digitalio.DigitalInOut(board.C2), - digitalio.DigitalInOut(board.C3), - digitalio.DigitalInOut(board.C4), - digitalio.DigitalInOut(board.C5), - digitalio.DigitalInOut(board.C6), - digitalio.DigitalInOut(board.C7), - digitalio.DigitalInOut(board.C8), + digitalio.DigitalInOut(board._C1), + digitalio.DigitalInOut(board._C2), + digitalio.DigitalInOut(board._C3), + digitalio.DigitalInOut(board._C4), + digitalio.DigitalInOut(board._C5), + digitalio.DigitalInOut(board._C6), + digitalio.DigitalInOut(board._C7), + digitalio.DigitalInOut(board._C8), ) - _buttons = digitalio.DigitalInOut(board.BUTTONS) + _buttons = digitalio.DigitalInOut(board._BUTTONS) _pew.PewPew(_screen.buffer, _rows, _cols, _buttons) keys = _pew.get_pressed diff --git a/ports/atmel-samd/boards/pewpew10/pins.c b/ports/atmel-samd/boards/pewpew10/pins.c index 082394d17ada..4a8225ad9f53 100644 --- a/ports/atmel-samd/boards/pewpew10/pins.c +++ b/ports/atmel-samd/boards/pewpew10/pins.c @@ -3,23 +3,23 @@ #include "supervisor/shared/board_busses.h" STATIC const mp_rom_map_elem_t board_global_dict_table[] = { - { MP_ROM_QSTR(MP_QSTR_R1), MP_ROM_PTR(&pin_PA05) }, - { MP_ROM_QSTR(MP_QSTR_R2), MP_ROM_PTR(&pin_PA11) }, - { MP_ROM_QSTR(MP_QSTR_R3), MP_ROM_PTR(&pin_PA28) }, - { MP_ROM_QSTR(MP_QSTR_R4), MP_ROM_PTR(&pin_PA09) }, - { MP_ROM_QSTR(MP_QSTR_R5), MP_ROM_PTR(&pin_PA16) }, - { MP_ROM_QSTR(MP_QSTR_R6), MP_ROM_PTR(&pin_PA27) }, - { MP_ROM_QSTR(MP_QSTR_R7), MP_ROM_PTR(&pin_PA17) }, - { MP_ROM_QSTR(MP_QSTR_R8), MP_ROM_PTR(&pin_PA22) }, + { MP_ROM_QSTR(MP_QSTR__R1), MP_ROM_PTR(&pin_PA05) }, + { MP_ROM_QSTR(MP_QSTR__R2), MP_ROM_PTR(&pin_PA11) }, + { MP_ROM_QSTR(MP_QSTR__R3), MP_ROM_PTR(&pin_PA28) }, + { MP_ROM_QSTR(MP_QSTR__R4), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR__R5), MP_ROM_PTR(&pin_PA16) }, + { MP_ROM_QSTR(MP_QSTR__R6), MP_ROM_PTR(&pin_PA27) }, + { MP_ROM_QSTR(MP_QSTR__R7), MP_ROM_PTR(&pin_PA17) }, + { MP_ROM_QSTR(MP_QSTR__R8), MP_ROM_PTR(&pin_PA22) }, - { MP_ROM_QSTR(MP_QSTR_C8), MP_ROM_PTR(&pin_PA10) }, - { MP_ROM_QSTR(MP_QSTR_C7), MP_ROM_PTR(&pin_PA18) }, - { MP_ROM_QSTR(MP_QSTR_C6), MP_ROM_PTR(&pin_PA19) }, - { MP_ROM_QSTR(MP_QSTR_C5), MP_ROM_PTR(&pin_PA06) }, - { MP_ROM_QSTR(MP_QSTR_C4), MP_ROM_PTR(&pin_PA23) }, - { MP_ROM_QSTR(MP_QSTR_C3), MP_ROM_PTR(&pin_PA07) }, - { MP_ROM_QSTR(MP_QSTR_C2), MP_ROM_PTR(&pin_PA14) }, - { MP_ROM_QSTR(MP_QSTR_C1), MP_ROM_PTR(&pin_PA15) }, + { MP_ROM_QSTR(MP_QSTR__C8), MP_ROM_PTR(&pin_PA10) }, + { MP_ROM_QSTR(MP_QSTR__C7), MP_ROM_PTR(&pin_PA18) }, + { MP_ROM_QSTR(MP_QSTR__C6), MP_ROM_PTR(&pin_PA19) }, + { MP_ROM_QSTR(MP_QSTR__C5), MP_ROM_PTR(&pin_PA06) }, + { MP_ROM_QSTR(MP_QSTR__C4), MP_ROM_PTR(&pin_PA23) }, + { MP_ROM_QSTR(MP_QSTR__C3), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR__C2), MP_ROM_PTR(&pin_PA14) }, + { MP_ROM_QSTR(MP_QSTR__C1), MP_ROM_PTR(&pin_PA15) }, { MP_ROM_QSTR(MP_QSTR_P1), MP_ROM_PTR(&pin_PA30) }, { MP_ROM_QSTR(MP_QSTR_P2), MP_ROM_PTR(&pin_PA31) }, @@ -29,7 +29,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_P6), MP_ROM_PTR(&pin_PA03) }, { MP_ROM_QSTR(MP_QSTR_P7), MP_ROM_PTR(&pin_PA04) }, - { MP_ROM_QSTR(MP_QSTR_BUTTONS), MP_ROM_PTR(&pin_PA08) }, + { MP_ROM_QSTR(MP_QSTR__BUTTONS), MP_ROM_PTR(&pin_PA08) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); From 8e50aeb06f24a264b474d62b52c7f59220db7195 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 15:54:16 +0100 Subject: [PATCH 54/76] Fix pew.tick() to not accumulate error over time --- frozen/pewpew10/pew.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frozen/pewpew10/pew.py b/frozen/pewpew10/pew.py index 99819cd5aef9..333b193d5bd4 100644 --- a/frozen/pewpew10/pew.py +++ b/frozen/pewpew10/pew.py @@ -63,8 +63,12 @@ def show(pix): def tick(delay): global _tick + now = time.monotonic() _tick += delay - time.sleep(max(0, _tick - time.monotonic())) + if _tick < now: + _tick = now + else: + time.sleep(_tick - now) class GameOver(Exception): From 89b2788d119c811327b366e061481fbcc96cbc65 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:05:15 +0100 Subject: [PATCH 55/76] Apply review fixes: * fix formatting * fix copyrights * fix CIRCUITPYTHON_GAMEPAD guards * add CIRCUITPYTHON_PEW guards to reset * fix module list order --- ports/atmel-samd/boards/pewpew10/board.c | 3 +-- ports/atmel-samd/supervisor/port.c | 6 ++++-- py/circuitpy_mpconfig.h | 2 +- shared-bindings/_pew/PewPew.c | 2 +- shared-bindings/_pew/PewPew.h | 2 +- shared-bindings/_pew/__init__.c | 2 +- shared-module/_pew/PewPew.c | 2 +- shared-module/_pew/PewPew.h | 2 +- shared-module/_pew/__init__.c | 2 +- shared-module/_pew/__init__.h | 2 +- 10 files changed, 13 insertions(+), 12 deletions(-) diff --git a/ports/atmel-samd/boards/pewpew10/board.c b/ports/atmel-samd/boards/pewpew10/board.c index c8e20206a19f..d7e856d61199 100644 --- a/ports/atmel-samd/boards/pewpew10/board.c +++ b/ports/atmel-samd/boards/pewpew10/board.c @@ -26,8 +26,7 @@ #include "boards/board.h" -void board_init(void) -{ +void board_init(void) { } bool board_requests_safe_mode(void) { diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c index 4aa07a6dbce7..b3f4a2e89a42 100644 --- a/ports/atmel-samd/supervisor/port.c +++ b/ports/atmel-samd/supervisor/port.c @@ -68,7 +68,7 @@ #include "tusb.h" -#ifdef CIRCUITPY_GAMEPAD_TICKS +#if CIRCUITPY_GAMEPAD #include "shared-module/gamepad/__init__.h" #endif #include "shared-module/_pew/PewPew.h" @@ -223,10 +223,12 @@ void reset_port(void) { reset_gclks(); -#ifdef CIRCUITPY_GAMEPAD_TICKS +#if CIRCUITPY_GAMEPAD gamepad_reset(); #endif +#ifdef CIRCUITPY_PEW pew_reset(); +#endif reset_event_system(); diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 25aabc292a4a..520f7c612506 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -528,6 +528,7 @@ extern const struct _mp_obj_module_t pew_module; NETWORK_MODULE \ SOCKET_MODULE \ WIZNET_MODULE \ + PEW_MODULE \ PIXELBUF_MODULE \ PULSEIO_MODULE \ RANDOM_MODULE \ @@ -543,7 +544,6 @@ extern const struct _mp_obj_module_t pew_module; USB_HID_MODULE \ USB_MIDI_MODULE \ USTACK_MODULE \ - PEW_MODULE \ // If weak links are enabled, just include strong links in the main list of modules, // and also include the underscore alternate names. diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index 19eb00736c28..d0803e0a9ded 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-bindings/_pew/PewPew.h b/shared-bindings/_pew/PewPew.h index 13633ef934ec..f763847577fd 100644 --- a/shared-bindings/_pew/PewPew.h +++ b/shared-bindings/_pew/PewPew.h @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-bindings/_pew/__init__.c b/shared-bindings/_pew/__init__.c index 652d95f1b513..6c5520ac5860 100644 --- a/shared-bindings/_pew/__init__.c +++ b/shared-bindings/_pew/__init__.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index 2900f2ac7aca..3fea689a3990 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-module/_pew/PewPew.h b/shared-module/_pew/PewPew.h index 57b25c3a0cac..da1cae0a2cca 100644 --- a/shared-module/_pew/PewPew.h +++ b/shared-module/_pew/PewPew.h @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-module/_pew/__init__.c b/shared-module/_pew/__init__.c index e44a4c0e39f6..90fba399006e 100644 --- a/shared-module/_pew/__init__.c +++ b/shared-module/_pew/__init__.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared-module/_pew/__init__.h b/shared-module/_pew/__init__.h index f85dec74915f..4f953c61064d 100644 --- a/shared-module/_pew/__init__.h +++ b/shared-module/_pew/__init__.h @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2016 Scott Shawcroft for Adafruit Industries + * Copyright (c) 2019 Radomir Dopieralski * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal From a9074f7bd10c102925510229bfc43e550c989cb9 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:11:22 +0100 Subject: [PATCH 56/76] More style fixes --- shared-module/_pew/PewPew.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index 3fea689a3990..755b88394526 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -43,9 +43,13 @@ static uint8_t pewpew_tc_index = 0xff; void pewpew_interrupt_handler(uint8_t index) { - if (index != pewpew_tc_index) return; + if (index != pewpew_tc_index) { + return; + } Tc* tc = tc_insts[index]; - if (!tc->COUNT16.INTFLAG.bit.MC0) return; + if (!tc->COUNT16.INTFLAG.bit.MC0) { + return; + } pew_tick(); From 014595bff593e51012483515adf92e21c7126f5d Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Fri, 1 Mar 2019 07:16:14 -0800 Subject: [PATCH 57/76] fixed whitespace, clarified variable name, and updated error messages --- locale/ID.po | 9 ++++--- locale/circuitpython.pot | 9 ++++--- locale/de_DE.po | 14 +++++++--- locale/en_US.po | 9 ++++--- locale/es.po | 14 +++++++--- locale/fil.po | 14 +++++++--- locale/fr.po | 14 +++++++--- locale/it_IT.po | 14 +++++++--- locale/pt_BR.po | 14 +++++++--- shared-module/displayio/OnDiskBitmap.c | 36 +++++++++++++------------- 10 files changed, 96 insertions(+), 51 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index c0b1dafdbdf3..f5fadce49f0e 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -760,14 +760,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "Hanya 8 atau 16 bit mono dengan " #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" msgid "Only slices with step=1 (aka None) are supported" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index ea6b26c3f8db..0808ae43e5b7 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -734,14 +734,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "" #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" msgid "Only slices with step=1 (aka None) are supported" diff --git a/locale/de_DE.po b/locale/de_DE.po index ff9cafc7638f..941a5d5d16a4 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -752,15 +752,18 @@ msgid "Only 8 or 16 bit mono with " msgstr "Nur 8 oder 16 bit mono mit " #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Nur unkomprimiertes Windows-Format (BMP) unterstützt %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" "Es werden nur Bitmaps mit einer Farbtiefe von 8 Bit oder weniger unterstützt" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" msgid "Only slices with step=1 (aka None) are supported" @@ -2138,3 +2141,6 @@ msgstr "y Wert außerhalb der Grenzen" msgid "zero step" msgstr "" + +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Nur unkomprimiertes Windows-Format (BMP) unterstützt %d" diff --git a/locale/en_US.po b/locale/en_US.po index 45596fb6202d..01cbaeb510bb 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -734,14 +734,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "" #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" msgid "Only slices with step=1 (aka None) are supported" diff --git a/locale/es.po b/locale/es.po index 996d58df664b..a4eceb1fb8c9 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -774,14 +774,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "Solo mono de 8 o 16 bit con " #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Solo formato Windows, BMP sin comprimir soportado %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Solo se admiten bit maps de color de 8 bits o menos" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" #, fuzzy @@ -2164,5 +2167,8 @@ msgstr "address fuera de límites" msgid "zero step" msgstr "paso cero" +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Solo formato Windows, BMP sin comprimir soportado %d" + #~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" diff --git a/locale/fil.po b/locale/fil.po index af5046d7c202..fb6002a57472 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -772,14 +772,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "Tanging 8 o 16 na bit mono na may " #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" #, fuzzy @@ -2170,5 +2173,8 @@ msgstr "wala sa sakop ang address" msgid "zero step" msgstr "zero step" +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" + #~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" diff --git a/locale/fr.po b/locale/fr.po index 3fde90bde73b..c937a4b5ba0b 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -776,14 +776,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "Uniquement 8 ou 16 bit mono avec " #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" #, fuzzy @@ -2194,5 +2197,8 @@ msgstr "adresse hors limites" msgid "zero step" msgstr "'step' nul" +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" + #~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgstr "Seul les BMP 24bits ou plus sont supportés %x" diff --git a/locale/it_IT.po b/locale/it_IT.po index ea1a42b1198a..64fb22128f6b 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -771,14 +771,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "" #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Formato solo di Windows, BMP non compresso supportato %d" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Sono supportate solo bitmap con colori a 8 bit o meno" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" #, fuzzy @@ -2166,5 +2169,8 @@ msgstr "indirizzo fuori limite" msgid "zero step" msgstr "zero step" +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Formato solo di Windows, BMP non compresso supportato %d" + #~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 8477e1478602..cf46dfbc5871 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-28 23:07-0800\n" +"POT-Creation-Date: 2019-03-01 07:16-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -760,14 +760,17 @@ msgid "Only 8 or 16 bit mono with " msgstr "" #, c-format -msgid "Only Windows format, uncompressed BMP supported %d" -msgstr "Apenas formato Windows, BMP descomprimido suportado" +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" msgid "Only bit maps of 8 bit color or less are supported" msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados" #, c-format -msgid "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d" +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" msgstr "" msgid "Only slices with step=1 (aka None) are supported" @@ -2114,5 +2117,8 @@ msgstr "" msgid "zero step" msgstr "passo zero" +#~ msgid "Only Windows format, uncompressed BMP supported %d" +#~ msgstr "Apenas formato Windows, BMP descomprimido suportado" + #~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" diff --git a/shared-module/displayio/OnDiskBitmap.c b/shared-module/displayio/OnDiskBitmap.c index 76d8fb2d146b..92735e53cf78 100644 --- a/shared-module/displayio/OnDiskBitmap.c +++ b/shared-module/displayio/OnDiskBitmap.c @@ -93,11 +93,11 @@ void common_hal_displayio_ondiskbitmap_construct(displayio_ondiskbitmap_t *self, } else if (!(header_size == 12 || header_size == 40 || header_size == 108 || header_size == 124)) { - mp_raise_ValueError_varg(translate("Only Windows format, uncompressed BMP supported %d"), header_size); + mp_raise_ValueError_varg(translate("Only Windows format, uncompressed BMP supported: given header size is %d"), header_size); } if ((bits_per_pixel == 4 ) || (( bits_per_pixel == 8) && (number_of_colors == 0))) { - mp_raise_ValueError_varg(translate("Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d"), bits_per_pixel); + mp_raise_ValueError_varg(translate("Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp given"), bits_per_pixel); } if (self->bits_per_pixel >=8){ @@ -133,8 +133,8 @@ uint32_t common_hal_displayio_ondiskbitmap_get_pixel(displayio_ondiskbitmap_t *s // We don't cache here because the underlying FS caches sectors. f_lseek(&self->file->fp, location); UINT bytes_read; - uint32_t pixel = 0; // this name is stale - uint32_t result = f_read(&self->file->fp, &pixel, bytes_per_pixel, &bytes_read); + uint32_t pixel_data = 0; // this name is stale + uint32_t result = f_read(&self->file->fp, &pixel_data, bytes_per_pixel, &bytes_read); if (result == FR_OK) { uint32_t tmp = 0; uint8_t red; @@ -142,34 +142,34 @@ uint32_t common_hal_displayio_ondiskbitmap_get_pixel(displayio_ondiskbitmap_t *s uint8_t blue; if (self->bits_per_pixel == 1){ uint8_t bit_offset = x%8; - tmp = ( pixel & (0x80 >> (bit_offset))) >> (7 - bit_offset); + tmp = ( pixel_data & (0x80 >> (bit_offset))) >> (7 - bit_offset); if (tmp == 1) { return 0x00FFFFFF; } else { return 0x00000000; } } else if (bytes_per_pixel == 1){ - blue = ((self->palette_data[pixel] & 0xFF) >> 0); - red = ((self->palette_data[pixel] & 0xFF0000) >> 16); - green = ((self->palette_data[pixel] & 0xFF00) >> 8); + blue = ((self->palette_data[pixel_data] & 0xFF) >> 0); + red = ((self->palette_data[pixel_data] & 0xFF0000) >> 16); + green = ((self->palette_data[pixel_data] & 0xFF00) >> 8); tmp = (red << 16 | green << 8 | blue ); return tmp; } else if (bytes_per_pixel == 2) { - if (self->g_bitmask == 0x07e0){ // 565 - red =((pixel & self->r_bitmask) >>11); - green = ((pixel & self->g_bitmask) >>5); - blue = ((pixel & self->b_bitmask) >> 0); + if (self->g_bitmask == 0x07e0) { // 565 + red =((pixel_data & self->r_bitmask) >>11); + green = ((pixel_data & self->g_bitmask) >>5); + blue = ((pixel_data & self->b_bitmask) >> 0); } else { // 555 - red =((pixel & self->r_bitmask) >>10); - green = ((pixel & self->g_bitmask) >>4); - blue = ((pixel & self->b_bitmask) >> 0); + red =((pixel_data & self->r_bitmask) >>10); + green = ((pixel_data & self->g_bitmask) >>4); + blue = ((pixel_data & self->b_bitmask) >> 0); } tmp = (red << 19 | green << 10 | blue << 3); return tmp; - }else if ((bytes_per_pixel == 4) && (self->bitfield_compressed)){ - return pixel & 0x00FFFFFF; + } else if ((bytes_per_pixel == 4) && (self->bitfield_compressed)) { + return pixel_data & 0x00FFFFFF; } else { - return pixel; + return pixel_data; } } return 0; From 5d85d5402613d2ec376dde1a7f3b9c77f54bd1e4 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:24:22 +0100 Subject: [PATCH 58/76] Move the frozen pew.py into a submodule --- .gitmodules | 3 + frozen/pew-pewpew-standalone-10.x | 1 + frozen/pewpew10/pew.py | 221 ------------------ .../boards/pewpew10/mpconfigboard.mk | 2 +- shared-bindings/_pew/PewPew.c | 2 +- 5 files changed, 6 insertions(+), 223 deletions(-) create mode 160000 frozen/pew-pewpew-standalone-10.x delete mode 100644 frozen/pewpew10/pew.py diff --git a/.gitmodules b/.gitmodules index b36ad6203bb2..1f7a28d1423c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,3 +92,6 @@ [submodule "tools/Tecate-bitmap-fonts"] path = tools/Tecate-bitmap-fonts url = https://github.com/Tecate/bitmap-fonts.git +[submodule "frozen/pew-pewpew-standalone-10.x"] + path = frozen/pew-pewpew-standalone-10.x + url = https://github.com/pewpew-game/pew-pewpew-standalone-10.x.git diff --git a/frozen/pew-pewpew-standalone-10.x b/frozen/pew-pewpew-standalone-10.x new file mode 160000 index 000000000000..87755e088150 --- /dev/null +++ b/frozen/pew-pewpew-standalone-10.x @@ -0,0 +1 @@ +Subproject commit 87755e088150cc9bce42f4104cbd74d91b923c6f diff --git a/frozen/pewpew10/pew.py b/frozen/pewpew10/pew.py deleted file mode 100644 index 333b193d5bd4..000000000000 --- a/frozen/pewpew10/pew.py +++ /dev/null @@ -1,221 +0,0 @@ -from micropython import const -import board -import time -import digitalio -import _pew - - -_FONT = ( - b'\xff\xff\xff\xff\xff\xff\xf3\xf3\xf7\xfb\xf3\xff\xcc\xdd\xee\xff\xff' - b'\xff\xdd\x80\xdd\x80\xdd\xff\xf7\x81\xe4\xc6\xd0\xf7\xcc\xdb\xf3\xf9' - b'\xcc\xff\xf6\xcdc\xdcf\xff\xf3\xf7\xfe\xff\xff\xff\xf6\xfd\xfc\xfd' - b'\xf6\xff\xe7\xdf\xcf\xdf\xe7\xff\xff\xd9\xe2\xd9\xff\xff\xff\xf3\xc0' - b'\xf3\xff\xff\xff\xff\xff\xf3\xf7\xfe\xff\xff\x80\xff\xff\xff\xff\xff' - b'\xff\xff\xf3\xff\xcf\xdb\xf3\xf9\xfc\xff\xd2\xcd\xc8\xdc\xe1\xff\xf7' - b'\xf1\xf3\xf3\xe2\xff\xe1\xce\xe3\xfd\xc0\xff\xe1\xce\xe3\xce\xe1\xff' - b'\xf3\xf9\xdc\xc0\xcf\xff\xc0\xfc\xe4\xcf\xe1\xff\xd2\xfc\xe1\xcc\xe2' - b'\xff\xc0\xdb\xf3\xf9\xfc\xff\xe2\xcc\xe2\xcc\xe2\xff\xe2\xcc\xd2\xcf' - b'\xe1\xff\xff\xf3\xff\xf3\xff\xff\xff\xf3\xff\xf3\xf7\xfe\xcf\xf3\xfc' - b'\xf3\xcf\xff\xff\xc0\xff\xc0\xff\xff\xfc\xf3\xcf\xf3\xfc\xff\xe1\xcf' - b'\xe3\xfb\xf3\xff\xe2\xcd\xc4\xd4\xbd\xd2\xe2\xdd\xcc\xc4\xcc\xff\xe4' - b'\xcc\xe4\xcc\xe4\xff\xe2\xcd\xfc\xcd\xe2\xff\xe4\xdc\xcc\xdc\xe4\xff' - b'\xd0\xfc\xf4\xfc\xd0\xff\xd0\xfc\xfc\xf4\xfc\xff\xd2\xfd\xfc\x8d\xd2' - b'\xff\xcc\xcc\xc4\xcc\xcc\xff\xd1\xf3\xf3\xf3\xd1\xff\xcb\xcf\xcf\xdc' - b'\xe2\xff\xdc\xcc\xd8\xf4\xc8\xff\xfc\xfc\xfc\xec\xc0\xff\xdd\xc4\xc0' - b'\xc8\xcc\xff\xcd\xd4\xd1\xc5\xdc\xff\xe2\xdd\xcc\xdd\xe2\xff\xe4\xcc' - b'\xcc\xe4\xfc\xff\xe2\xcc\xcc\xc8\xd2\xcf\xe4\xcc\xcc\xe0\xcc\xff\xd2' - b'\xec\xe2\xce\xe1\xff\xc0\xe2\xf3\xf3\xf3\xff\xcc\xcc\xcc\xdd\xe2\xff' - b'\xcc\xcc\xdd\xe6\xf3\xff\xcc\xc8\xc4\xc0\xd9\xff\xcc\xd9\xe2\xd9\xcc' - b'\xff\xcc\xdd\xe6\xf3\xf3\xff\xc0\xde\xf7\xed\xc0\xff\xd0\xfc\xfc\xfc' - b'\xd0\xff\xfc\xf9\xf3\xdb\xcf\xff\xc1\xcf\xcf\xcf\xc1\xff\xf3\xd9\xee' - b'\xff\xff\xff\xff\xff\xff\xff\x80\xff\xfc\xf7\xef\xff\xff\xff\xff\xd2' - b'\xcd\xcc\x86\xff\xfc\xe4\xdc\xcc\xe4\xff\xff\xd2\xfd\xbc\xc6\xff\xcf' - b'\xc6\xcd\xcc\x86\xff\xff\xd6\xcd\xb1\xd2\xff\xcb\xb7\xc1\xf3\xf3\xf6' - b'\xff\xe2\xcc\xd2\xdf\xe1\xfc\xe4\xdc\xcc\xcc\xff\xf3\xfb\xf1\xb3\xdb' - b'\xff\xcf\xef\xc7\xcf\xdd\xe2\xfd\xec\xd8\xf4\xcc\xff\xf6\xf3\xf3\xf3' - b'\xdb\xff\xff\xd9\xc4\xc8\xcc\xff\xff\xe4\xdd\xcc\xcc\xff\xff\xe2\xcc' - b'\xcc\xe2\xff\xff\xe4\xdc\xcc\xe4\xfc\xff\xc6\xcd\xcc\xc6\xcf\xff\xc9' - b'\xf4\xfc\xfc\xff\xff\xd2\xf8\xcb\xe1\xff\xf3\xd1\xf3\xb3\xdb\xff\xff' - b'\xcc\xcc\xcd\x82\xff\xff\xcc\xdd\xe6\xf3\xff\xff\xcc\xc8\xd1\xd9\xff' - b'\xff\xcc\xe6\xe6\xcc\xff\xff\xdc\xcd\xd2\xcf\xe1\xff\xc0\xdb\xf9\xc0' - b'\xff\xd3\xf3\xf9\xf3\xd3\xff\xf3\xf3\xf7\xf3\xf3\xff\xf1\xf3\xdb\xf3' - b'\xf1\xff\xbfr\x8d\xfe\xff\xfff\x99f\x99f\x99') - - -K_RIGHT = const(0x01) -K_DOWN = const(0x02) -K_LEFT = const(0x04) -K_UP = const(0x08) -K_O = const(0x40) -K_X = const(0x80) - -_screen = None - - -def brightness(level): - pass - - -def show(pix): - _screen.blit(pix) - - -def tick(delay): - global _tick - - now = time.monotonic() - _tick += delay - if _tick < now: - _tick = now - else: - time.sleep(_tick - now) - - -class GameOver(Exception): - pass - - -class Pix: - def __init__(self, width=8, height=8, buffer=None): - if buffer is None: - buffer = bytearray(width * height) - self.buffer = buffer - self.width = width - self.height = height - - @classmethod - def from_text(cls, string, color=None, bgcolor=0, colors=None): - pix = cls(4 * len(string), 6) - font = memoryview(_FONT) - if colors is None: - if color is None: - colors = (3, 2, 1, bgcolor) - else: - colors = (color, color, bgcolor, bgcolor) - x = 0 - for c in string: - index = ord(c) - 0x20 - if not 0 <= index <= 95: - continue - row = 0 - for byte in font[index * 6:index * 6 + 6]: - for col in range(4): - pix.pixel(x + col, row, colors[byte & 0x03]) - byte >>= 2 - row += 1 - x += 4 - return pix - - @classmethod - def from_iter(cls, lines): - pix = cls(len(lines[0]), len(lines)) - y = 0 - for line in lines: - x = 0 - for pixel in line: - pix.pixel(x, y, pixel) - x += 1 - y += 1 - return pix - - def pixel(self, x, y, color=None): - if not 0 <= x < self.width or not 0 <= y < self.height: - return 0 - if color is None: - return self.buffer[x + y * self.width] - self.buffer[x + y * self.width] = color - - def box(self, color, x=0, y=0, width=None, height=None): - x = min(max(x, 0), self.width - 1) - y = min(max(y, 0), self.height - 1) - width = max(0, min(width or self.width, self.width - x)) - height = max(0, min(height or self.height, self.height - y)) - for y in range(y, y + height): - xx = y * self.width + x - for i in range(width): - self.buffer[xx] = color - xx += 1 - - def blit(self, source, dx=0, dy=0, x=0, y=0, - width=None, height=None, key=None): - if dx < 0: - x -= dx - dx = 0 - if x < 0: - dx -= x - x = 0 - if dy < 0: - y -= dy - dy = 0 - if y < 0: - dy -= y - y = 0 - width = min(min(width or source.width, source.width - x), - self.width - dx) - height = min(min(height or source.height, source.height - y), - self.height - dy) - source_buffer = memoryview(source.buffer) - self_buffer = self.buffer - if key is None: - for row in range(height): - xx = y * source.width + x - dxx = dy * self.width + dx - self_buffer[dxx:dxx + width] = source_buffer[xx:xx + width] - y += 1 - dy += 1 - else: - for row in range(height): - xx = y * source.width + x - dxx = dy * self.width + dx - for col in range(width): - color = source_buffer[xx] - if color != key: - self_buffer[dxx] = color - dxx += 1 - xx += 1 - y += 1 - dy += 1 - - def __str__(self): - return "\n".join( - "".join( - ('.', '+', '*', '@')[self.pixel(x, y)] - for x in range(self.width) - ) - for y in range(self.height) - ) - - -def init(): - global _screen, _tick, keys, _rows, _cols - - if _screen is not None: - return - - _screen = Pix(8, 8) - _tick = time.monotonic() - - _rows = ( - digitalio.DigitalInOut(board._R1), - digitalio.DigitalInOut(board._R2), - digitalio.DigitalInOut(board._R3), - digitalio.DigitalInOut(board._R4), - digitalio.DigitalInOut(board._R5), - digitalio.DigitalInOut(board._R6), - digitalio.DigitalInOut(board._R7), - digitalio.DigitalInOut(board._R8), - ) - - _cols = ( - digitalio.DigitalInOut(board._C1), - digitalio.DigitalInOut(board._C2), - digitalio.DigitalInOut(board._C3), - digitalio.DigitalInOut(board._C4), - digitalio.DigitalInOut(board._C5), - digitalio.DigitalInOut(board._C6), - digitalio.DigitalInOut(board._C7), - digitalio.DigitalInOut(board._C8), - ) - _buttons = digitalio.DigitalInOut(board._BUTTONS) - _pew.PewPew(_screen.buffer, _rows, _cols, _buttons) - keys = _pew.get_pressed diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index eeb5632ef91d..0c20b4010e7f 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -10,7 +10,7 @@ LONGINT_IMPL = NONE CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 -FROZEN_MPY_DIRS += $(TOP)/frozen/pewpew10 +FROZEN_MPY_DIRS += $(TOP)/frozen/pew-pewpew-standalone-10.x CIRCUITPY_PEW = 1 CIRCUITPY_ANALOGIO = 1 diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index d0803e0a9ded..26b0601886df 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -75,7 +75,7 @@ STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, mp_obj_get_array(args[ARG_cols].u_obj, &cols_size, &cols); if (bufinfo.len != rows_size * cols_size) { - mp_raise_TypeError(translate("")); + mp_raise_ValueError(translate("")); } for (size_t i = 0; i < rows_size; ++i) { From 76dc8e1ac861b11d01c2e82ecfdbaea761c84fd0 Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Fri, 1 Mar 2019 07:32:46 -0800 Subject: [PATCH 59/76] fixed typo --- shared-module/displayio/OnDiskBitmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-module/displayio/OnDiskBitmap.c b/shared-module/displayio/OnDiskBitmap.c index 92735e53cf78..d710bdae03a4 100644 --- a/shared-module/displayio/OnDiskBitmap.c +++ b/shared-module/displayio/OnDiskBitmap.c @@ -133,7 +133,7 @@ uint32_t common_hal_displayio_ondiskbitmap_get_pixel(displayio_ondiskbitmap_t *s // We don't cache here because the underlying FS caches sectors. f_lseek(&self->file->fp, location); UINT bytes_read; - uint32_t pixel_data = 0; // this name is stale + uint32_t pixel_data = 0; uint32_t result = f_read(&self->file->fp, &pixel_data, bytes_per_pixel, &bytes_read); if (result == FR_OK) { uint32_t tmp = 0; From ea78417f7fe80cc870fd6bef24a4938bddfa4f37 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:36:29 +0100 Subject: [PATCH 60/76] Improve documentation --- shared-bindings/_pew/PewPew.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/shared-bindings/_pew/PewPew.c b/shared-bindings/_pew/PewPew.c index 26b0601886df..50647488cfbe 100644 --- a/shared-bindings/_pew/PewPew.c +++ b/shared-bindings/_pew/PewPew.c @@ -37,17 +37,30 @@ //| .. currentmodule:: _pew //| -//| :class:`PewPew` -- LED Matrix driver -//| ==================================== +//| :class:`PewPew` -- LED matrix and button driver +//| =============================================== +//| +//| This is an internal module to be used by the ``pew.py`` library from +//| https://github.com/pewpew-game/pew-pewpew-standalone-10.x to handle the +//| LED matrix display and buttons on the ``pewpew10`` board. //| //| Usage:: //| +//| This singleton class is instantiated by the ``pew`` library, and +//| used internally by it. All user-visible interactions are done through +//| that library. //| -//| .. class:: PewPew(buffer, rows, cols) +//| .. class:: PewPew(buffer, rows, cols, buttons) //| //| Initializes matrix scanning routines. //| +//| The ``buffer`` is a 64 byte long ``bytearray`` that stores what should +//| be displayed on the matrix. ``rows`` and ``cols`` are both lists of +//| eight ``DigitalInputOutput`` objects that are connected to the matrix +//| rows and columns. ``buttons`` is a ``DigitalInputOutput`` object that +//| is connected to the common side of all buttons (the other sides of the +//| buttons are connected to rows of the matrix). //| STATIC mp_obj_t pewpew_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { From 7afbfc70038201fdea5fa2601be4d3235ffca7d6 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:46:59 +0100 Subject: [PATCH 61/76] Use find_free_timer() --- shared-module/_pew/PewPew.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c index 755b88394526..c1d6aa5c357f 100644 --- a/shared-module/_pew/PewPew.c +++ b/shared-module/_pew/PewPew.c @@ -74,17 +74,11 @@ void pew_init() { } if (pewpew_tc_index == 0xff) { // Find a spare timer. - Tc *tc = NULL; - int8_t index = TC_INST_NUM - 1; - for (; index >= 0; index--) { - if (tc_insts[index]->COUNT16.CTRLA.bit.ENABLE == 0) { - tc = tc_insts[index]; - break; - } - } - if (tc == NULL) { + uint8_t index = find_free_timer(); + if (index == 0xff) { mp_raise_RuntimeError(translate("")); } + Tc *tc = tc_insts[index]; pewpew_tc_index = index; set_timer_handler(true, index, TC_HANDLER_PEW); From 2bfafd1fc953a874e86aba0e55e89174449ab3ca Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 16:55:54 +0100 Subject: [PATCH 62/76] Enable math for pewpew10 --- ports/atmel-samd/boards/pewpew10/mpconfigboard.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index 0c20b4010e7f..983e48e21cbf 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -14,7 +14,7 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/pew-pewpew-standalone-10.x CIRCUITPY_PEW = 1 CIRCUITPY_ANALOGIO = 1 -CIRCUITPY_MATH = 0 +CIRCUITPY_MATH = 1 CIRCUITPY_NEOPIXEL_WRITE = 1 CIRCUITPY_RTC = 0 CIRCUITPY_SAMD = 0 From 263134dcd3e1d0151be081a2ba04b358f732035e Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Fri, 1 Mar 2019 18:50:00 +0100 Subject: [PATCH 63/76] Add more guards for CIRCUITPYTHON_PEW --- ports/atmel-samd/supervisor/port.c | 2 +- ports/atmel-samd/timer_handler.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c index b3f4a2e89a42..8d25806b7e7d 100644 --- a/ports/atmel-samd/supervisor/port.c +++ b/ports/atmel-samd/supervisor/port.c @@ -226,7 +226,7 @@ void reset_port(void) { #if CIRCUITPY_GAMEPAD gamepad_reset(); #endif -#ifdef CIRCUITPY_PEW +#if CIRCUITPY_PEW pew_reset(); #endif diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index ac162329ed01..059d4330ed9f 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -50,7 +50,9 @@ void shared_timer_handler(bool is_tc, uint8_t index) { pulseout_interrupt_handler(index); break; case TC_HANDLER_PEW: +#if CIRCUITPY_PEW pewpew_interrupt_handler(index); +#endif break; default: break; From 438eadd63acb25a43e008dec9335ac4ebb779f96 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 1 Mar 2019 21:47:23 -0600 Subject: [PATCH 64/76] re-add frequencyin to 'timer_handler' after upstream merge --- ports/atmel-samd/timer_handler.c | 4 ++++ ports/atmel-samd/timer_handler.h | 1 + 2 files changed, 5 insertions(+) diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 059d4330ed9f..6fb25db4f0d2 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -31,6 +31,7 @@ #include "common-hal/pulseio/PulseOut.h" #include "shared-module/_pew/PewPew.h" +#include "common-hal/frequencyio/FrequencyIn.h" static uint8_t tc_handler[TC_INST_NUM]; @@ -54,6 +55,9 @@ void shared_timer_handler(bool is_tc, uint8_t index) { pewpew_interrupt_handler(index); #endif break; + case TC_HANDLER_FREQUENCYIN: + frequencyin_interrupt_handler(index); + break; default: break; } diff --git a/ports/atmel-samd/timer_handler.h b/ports/atmel-samd/timer_handler.h index e249fca3636b..4a7adb58c3e1 100644 --- a/ports/atmel-samd/timer_handler.h +++ b/ports/atmel-samd/timer_handler.h @@ -29,6 +29,7 @@ #define TC_HANDLER_NO_INTERRUPT 0x0 #define TC_HANDLER_PULSEOUT 0x1 #define TC_HANDLER_PEW 0x2 +#define TC_HANDLER_FREQUENCYIN 0x3 void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler); void shared_timer_handler(bool is_tc, uint8_t index); From 2cd6a7901683e32832f42a531485783aa599169a Mon Sep 17 00:00:00 2001 From: sommersoft Date: Fri, 1 Mar 2019 22:46:57 -0600 Subject: [PATCH 65/76] better handle frequencyio inclusion --- ports/atmel-samd/boards/arduino_mkr1300/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/arduino_mkrzero/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/arduino_zero/mpconfigboard.mk | 2 ++ .../boards/circuitplayground_express/mpconfigboard.mk | 1 + .../boards/circuitplayground_express_crickit/mpconfigboard.mk | 1 + ports/atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/feather_m0_basic/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk | 2 ++ .../boards/feather_m0_express_crickit/mpconfigboard.mk | 1 + ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/gemma_m0/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk | 1 + ports/atmel-samd/boards/meowmeow/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/pewpew10/mpconfigboard.mk | 1 + ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk | 1 + ports/atmel-samd/boards/sparkfun_samd21_dev/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/sparkfun_samd21_mini/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/trinket_m0_haxpress/mpconfigboard.mk | 2 ++ ports/nrf/mpconfigport.mk | 3 +++ py/circuitpy_mpconfig.mk | 2 +- 23 files changed, 40 insertions(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/arduino_mkr1300/mpconfigboard.mk b/ports/atmel-samd/boards/arduino_mkr1300/mpconfigboard.mk index bafb8a96cae9..b1b127ced6df 100644 --- a/ports/atmel-samd/boards/arduino_mkr1300/mpconfigboard.mk +++ b/ports/atmel-samd/boards/arduino_mkr1300/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/arduino_mkrzero/mpconfigboard.mk b/ports/atmel-samd/boards/arduino_mkrzero/mpconfigboard.mk index b6df8d6e224b..0e6fb612ebc4 100644 --- a/ports/atmel-samd/boards/arduino_mkrzero/mpconfigboard.mk +++ b/ports/atmel-samd/boards/arduino_mkrzero/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/arduino_zero/mpconfigboard.mk b/ports/atmel-samd/boards/arduino_zero/mpconfigboard.mk index af953e8c2d83..26f771b50210 100644 --- a/ports/atmel-samd/boards/arduino_zero/mpconfigboard.mk +++ b/ports/atmel-samd/boards/arduino_zero/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk index aacffffe098f..e1fba0d00ca6 100644 --- a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk @@ -11,6 +11,7 @@ LONGINT_IMPL = MPZ # Make room for frozen libs. CIRCUITPY_DISPLAYIO = 0 +CIRCUITPY_FREQUENCYIO = 0 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 diff --git a/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk b/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk index eed40f90248d..b450f1d5558a 100644 --- a/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk +++ b/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk @@ -12,6 +12,7 @@ LONGINT_IMPL = NONE CIRCUITPY_DISPLAYIO = 0 CIRCUITPY_PIXELBUF = 0 +CIRCUITPY_FREQUENCYIO = 0 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 diff --git a/ports/atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk index 26e3b7d4d0b6..0b9995583327 100644 --- a/ports/atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/feather_m0_basic/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_basic/mpconfigboard.mk index 102cb656f209..a469dcf1dc28 100644 --- a/ports/atmel-samd/boards/feather_m0_basic/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_basic/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk index 989a676a5b66..efd45d049157 100644 --- a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk @@ -14,3 +14,5 @@ CHIP_FAMILY = samd21 CIRCUITPY_NETWORK = 1 MICROPY_PY_WIZNET5K = 5500 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk index c6dc73d39085..7d349193b718 100644 --- a/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk @@ -11,6 +11,7 @@ LONGINT_IMPL = MPZ # Make space for frozen libs CIRCUITPY_DISPLAYIO = 0 +CIRCUITPY_FREQUENCYIO = 0 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 diff --git a/ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk index ce3f8668c704..16696297db5e 100644 --- a/ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk index 282977338c7f..39fdc591dc99 100644 --- a/ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/gemma_m0/mpconfigboard.mk b/ports/atmel-samd/boards/gemma_m0/mpconfigboard.mk index 9f4a9fe8358b..d44f2feb93c5 100644 --- a/ports/atmel-samd/boards/gemma_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/gemma_m0/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk index 222a217b3090..36cb67ea575b 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk @@ -19,3 +19,4 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel # To keep the build small CIRCUITPY_I2CSLAVE = 0 +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/meowmeow/mpconfigboard.mk b/ports/atmel-samd/boards/meowmeow/mpconfigboard.mk index a620f2919ced..3547235dd1c9 100644 --- a/ports/atmel-samd/boards/meowmeow/mpconfigboard.mk +++ b/ports/atmel-samd/boards/meowmeow/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk index 1c5f4ff7dd7a..ce46d7000aa6 100644 --- a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk @@ -15,3 +15,5 @@ CHIP_FAMILY = samd21 CIRCUITPY_NETWORK = 1 MICROPY_PY_WIZNET5K = 5500 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index 983e48e21cbf..92f8cff5276d 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -20,3 +20,4 @@ CIRCUITPY_RTC = 0 CIRCUITPY_SAMD = 0 CIRCUITPY_USB_MIDI = 0 CIRCUITPY_SMALL_BUILD = 1 +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk index 8bac35604977..418f70d92aa3 100644 --- a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk @@ -17,6 +17,7 @@ CIRCUITPY_RTC = 0 CIRCUITPY_SAMD = 0 CIRCUITPY_USB_MIDI = 0 CIRCUITPY_SMALL_BUILD = 1 +CIRCUITPY_FREQUENCYIO = 0 CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 diff --git a/ports/atmel-samd/boards/sparkfun_samd21_dev/mpconfigboard.mk b/ports/atmel-samd/boards/sparkfun_samd21_dev/mpconfigboard.mk index c0238ce80ea3..ec627b523f9c 100644 --- a/ports/atmel-samd/boards/sparkfun_samd21_dev/mpconfigboard.mk +++ b/ports/atmel-samd/boards/sparkfun_samd21_dev/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/sparkfun_samd21_mini/mpconfigboard.mk b/ports/atmel-samd/boards/sparkfun_samd21_mini/mpconfigboard.mk index 462e3e2caf50..8d2f35a69d53 100644 --- a/ports/atmel-samd/boards/sparkfun_samd21_mini/mpconfigboard.mk +++ b/ports/atmel-samd/boards/sparkfun_samd21_mini/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk index 1c6f6db05d87..b3448cf49de9 100644 --- a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk @@ -10,3 +10,5 @@ CIRCUITPY_SMALL_BUILD = 1 CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/atmel-samd/boards/trinket_m0_haxpress/mpconfigboard.mk b/ports/atmel-samd/boards/trinket_m0_haxpress/mpconfigboard.mk index c9c196da7b2e..5975ad1bae2d 100644 --- a/ports/atmel-samd/boards/trinket_m0_haxpress/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trinket_m0_haxpress/mpconfigboard.mk @@ -11,3 +11,5 @@ LONGINT_IMPL = MPZ CHIP_VARIANT = SAMD21E18A CHIP_FAMILY = samd21 + +CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/nrf/mpconfigport.mk b/ports/nrf/mpconfigport.mk index c90734c63331..55c1734b93e6 100644 --- a/ports/nrf/mpconfigport.mk +++ b/ports/nrf/mpconfigport.mk @@ -24,3 +24,6 @@ CIRCUITPY_NVM = 0 # rtc not yet implemented CIRCUITPY_RTC = 0 + +# frequencyio not yet implemented +CIRCUITPY_FREQUENCYIO = 0 diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk index 8ea72f0bfbf0..0df6fff06399 100644 --- a/py/circuitpy_mpconfig.mk +++ b/py/circuitpy_mpconfig.mk @@ -93,7 +93,7 @@ endif CFLAGS += -DCIRCUITPY_DISPLAYIO=$(CIRCUITPY_DISPLAYIO) ifndef CIRCUITPY_FREQUENCYIO -CIRCUITPY_FREQUENCYIO = $(CIRCUITPY_FULL_BUILD) +CIRCUITPY_FREQUENCYIO = 1 endif CFLAGS += -DCIRCUITPY_FREQUENCYIO=$(CIRCUITPY_FREQUENCYIO) From c9eb02d9d29aa7a3ae9091b08a11377e4d1ae4d6 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 2 Mar 2019 10:05:32 -0600 Subject: [PATCH 66/76] shore-up inclusion --- ports/atmel-samd/timer_handler.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 6fb25db4f0d2..498294acfcd8 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -31,7 +31,9 @@ #include "common-hal/pulseio/PulseOut.h" #include "shared-module/_pew/PewPew.h" +#if CIRCUITPY_FREQUENCYIN #include "common-hal/frequencyio/FrequencyIn.h" +#endif static uint8_t tc_handler[TC_INST_NUM]; @@ -51,12 +53,14 @@ void shared_timer_handler(bool is_tc, uint8_t index) { pulseout_interrupt_handler(index); break; case TC_HANDLER_PEW: -#if CIRCUITPY_PEW + #if CIRCUITPY_PEW pewpew_interrupt_handler(index); -#endif + #endif break; case TC_HANDLER_FREQUENCYIN: + #if CIRCUITPY_FREQUENCYIN frequencyin_interrupt_handler(index); + #endif break; default: break; From 945550f4bd8f6654b1da130a4e5c78bf2183050c Mon Sep 17 00:00:00 2001 From: Bryan Siepert Date: Sat, 2 Mar 2019 09:12:40 -0800 Subject: [PATCH 67/76] Fixed the OnDiskBitmap example to reflect code changes --- shared-bindings/displayio/OnDiskBitmap.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/shared-bindings/displayio/OnDiskBitmap.c b/shared-bindings/displayio/OnDiskBitmap.c index 8b75eb00c4f7..bf00ef855ec5 100644 --- a/shared-bindings/displayio/OnDiskBitmap.c +++ b/shared-bindings/displayio/OnDiskBitmap.c @@ -52,21 +52,22 @@ //| import time //| import pulseio //| -//| backlight = pulseio.PWMOut(board.TFT_BACKLIGHT) +//| board.DISPLAY.auto_brightness = False +//| board.DISPLAY.brightness = 0 //| splash = displayio.Group() //| board.DISPLAY.show(splash) //| //| with open("/sample.bmp", "rb") as f: //| odb = displayio.OnDiskBitmap(f) -//| face = displayio.Sprite(odb, pixel_shader=displayio.ColorConverter(), position=(0,0)) +//| face = displayio.TileGrid(odb, pixel_shader=displayio.ColorConverter(), position=(0,0)) //| splash.append(face) //| # Wait for the image to load. //| board.DISPLAY.wait_for_frame() //| //| # Fade up the backlight //| for i in range(100): -//| backlight.duty_cycle = i * (2 ** 15) // 100 -//| time.sleep(0.01) +//| board.DISPLAY.brightness = 0.01 * i +//| time.sleep(0.05) //| //| # Wait forever //| while True: From b2520f3147d839852141e6ade061661acd0b1141 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 2 Mar 2019 16:17:23 -0600 Subject: [PATCH 68/76] using the correct name for things is important... --- ports/atmel-samd/timer_handler.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ports/atmel-samd/timer_handler.c b/ports/atmel-samd/timer_handler.c index 498294acfcd8..61ab3e6d765b 100644 --- a/ports/atmel-samd/timer_handler.c +++ b/ports/atmel-samd/timer_handler.c @@ -31,9 +31,7 @@ #include "common-hal/pulseio/PulseOut.h" #include "shared-module/_pew/PewPew.h" -#if CIRCUITPY_FREQUENCYIN #include "common-hal/frequencyio/FrequencyIn.h" -#endif static uint8_t tc_handler[TC_INST_NUM]; @@ -58,7 +56,7 @@ void shared_timer_handler(bool is_tc, uint8_t index) { #endif break; case TC_HANDLER_FREQUENCYIN: - #if CIRCUITPY_FREQUENCYIN + #if CIRCUITPY_FREQUENCYIO frequencyin_interrupt_handler(index); #endif break; From 9737a45b33732886ef1e45e8cb2065c573334dba Mon Sep 17 00:00:00 2001 From: Dustin Mendoza Date: Sat, 2 Mar 2019 14:50:10 -0800 Subject: [PATCH 69/76] changed width and height to be properties --- shared-bindings/displayio/Display.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index e1b34782bb1b..ed5f135bf0f7 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -246,6 +246,13 @@ STATIC mp_obj_t displayio_display_obj_set_auto_brightness(mp_obj_t self_in, mp_o } MP_DEFINE_CONST_FUN_OBJ_2(displayio_display_set_auto_brightness_obj, displayio_display_obj_set_auto_brightness); +const mp_obj_property_t displayio_display_auto_brightness_obj = { + .base.type = &mp_type_property, + .proxy = {(mp_obj_t)&displayio_display_get_auto_brightness_obj, + (mp_obj_t)&displayio_display_set_auto_brightness_obj, + (mp_obj_t)&mp_const_none_obj}, +}; + //| .. attribute:: width //| //| Gets the width of the board @@ -258,6 +265,13 @@ STATIC mp_obj_t displayio_display_obj_get_width(mp_obj_t self_in) { } MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_width_obj, displayio_display_obj_get_width); +const mp_obj_property_t displayio_display_width_obj = { + .base.type = &mp_type_property, + .proxy = {(mp_obj_t)&displayio_display_get_width_obj, + (mp_obj_t)&mp_const_none_obj, + (mp_obj_t)&mp_const_none_obj}, +}; + //| .. attribute:: height //| //| Gets the height of the board @@ -270,10 +284,10 @@ STATIC mp_obj_t displayio_display_obj_get_height(mp_obj_t self_in) { } MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_height_obj, displayio_display_obj_get_height); -const mp_obj_property_t displayio_display_auto_brightness_obj = { +const mp_obj_property_t displayio_display_height_obj = { .base.type = &mp_type_property, - .proxy = {(mp_obj_t)&displayio_display_get_auto_brightness_obj, - (mp_obj_t)&displayio_display_set_auto_brightness_obj, + .proxy = {(mp_obj_t)&displayio_display_get_height_obj, + (mp_obj_t)&mp_const_none_obj, (mp_obj_t)&mp_const_none_obj}, }; @@ -285,8 +299,8 @@ STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_brightness), MP_ROM_PTR(&displayio_display_brightness_obj) }, { MP_ROM_QSTR(MP_QSTR_auto_brightness), MP_ROM_PTR(&displayio_display_auto_brightness_obj) }, - { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_get_width_obj) }, - { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_get_height_obj) }, + { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_width_obj) }, + { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_height_obj) }, }; STATIC MP_DEFINE_CONST_DICT(displayio_display_locals_dict, displayio_display_locals_dict_table); From b7b74d1f78dfd2f9c9a294e45fcf5663f54c6ff4 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 2 Mar 2019 18:17:58 -0600 Subject: [PATCH 70/76] update translations --- locale/ID.po | 11 ++++++++++- locale/circuitpython.pot | 11 ++++++++++- locale/de_DE.po | 11 ++++++++++- locale/en_US.po | 11 ++++++++++- locale/es.po | 11 ++++++++++- locale/fil.po | 11 ++++++++++- locale/fr.po | 11 ++++++++++- locale/it_IT.po | 11 ++++++++++- locale/pt_BR.po | 11 ++++++++++- ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c | 6 ++---- 10 files changed, 92 insertions(+), 13 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index f5fadce49f0e..2d86f7e99644 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -557,6 +557,9 @@ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" msgid "File exists" msgstr "" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "" @@ -598,6 +601,9 @@ msgstr "Bit clock pada pin tidak valid" msgid "Invalid buffer size" msgstr "Ukuran buffer tidak valid" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "" @@ -712,6 +718,9 @@ msgstr "Tidak pin RX" msgid "No TX pin" msgstr "Tidak ada pin TX" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Tidak ada standar bus I2C" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 0808ae43e5b7..2426b37fa724 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -532,6 +532,9 @@ msgstr "" msgid "File exists" msgstr "" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "" @@ -573,6 +576,9 @@ msgstr "" msgid "Invalid buffer size" msgstr "" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "" @@ -687,6 +693,9 @@ msgstr "" msgid "No TX pin" msgstr "" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index 941a5d5d16a4..e681c2630c72 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -537,6 +537,9 @@ msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" msgid "File exists" msgstr "Datei existiert" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" @@ -580,6 +583,9 @@ msgstr "Ungültiges bit clock pin" msgid "Invalid buffer size" msgstr "Ungültige Puffergröße" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "Ungültige Anzahl von Kanälen" @@ -703,6 +709,9 @@ msgstr "Kein RX Pin" msgid "No TX pin" msgstr "Kein TX Pin" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Kein Standard I2C Bus" diff --git a/locale/en_US.po b/locale/en_US.po index 01cbaeb510bb..e1f80398b75e 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -532,6 +532,9 @@ msgstr "" msgid "File exists" msgstr "" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "" @@ -573,6 +576,9 @@ msgstr "" msgid "Invalid buffer size" msgstr "" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "" @@ -687,6 +693,9 @@ msgstr "" msgid "No TX pin" msgstr "" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "" diff --git a/locale/es.po b/locale/es.po index a4eceb1fb8c9..c230ee4ef0a5 100644 --- a/locale/es.po +++ b/locale/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -562,6 +562,9 @@ msgstr "No se puede escribir el valor del atributo. status: 0x%02x" msgid "File exists" msgstr "El archivo ya existe" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "La función requiere lock" @@ -605,6 +608,9 @@ msgstr "Pin bit clock inválido" msgid "Invalid buffer size" msgstr "Tamaño de buffer inválido" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "Cuenta de canales inválida" @@ -724,6 +730,9 @@ msgstr "Sin pin RX" msgid "No TX pin" msgstr "Sin pin TX" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Sin bus I2C por defecto" diff --git a/locale/fil.po b/locale/fil.po index fb6002a57472..974488f32ca0 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -560,6 +560,9 @@ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" msgid "File exists" msgstr "Mayroong file" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "Function nangangailangan ng lock" @@ -603,6 +606,9 @@ msgstr "Mali ang bit clock pin" msgid "Invalid buffer size" msgstr "Mali ang buffer size" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + msgid "Invalid channel count" msgstr "Maling bilang ng channel" @@ -722,6 +728,9 @@ msgstr "Walang RX pin" msgid "No TX pin" msgstr "Walang TX pin" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Walang default na I2C bus" diff --git a/locale/fr.po b/locale/fr.po index c937a4b5ba0b..21c21f0336c0 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -559,6 +559,9 @@ msgstr "Impossible d'écrire la valeur de gatts. status: 0x%08lX" msgid "File exists" msgstr "Le fichier existe" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "La fonction nécessite un verrou" @@ -604,6 +607,9 @@ msgstr "Broche invalide pour 'bit clock'" msgid "Invalid buffer size" msgstr "longueur de tampon invalide" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + #, fuzzy msgid "Invalid channel count" msgstr "Argument invalide" @@ -725,6 +731,9 @@ msgstr "Pas de broche RX" msgid "No TX pin" msgstr "Pas de broche TX" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Pas de bus I2C par défaut" diff --git a/locale/it_IT.po b/locale/it_IT.po index 64fb22128f6b..a3032db9da34 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -559,6 +559,9 @@ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" msgid "File exists" msgstr "File esistente" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "" @@ -603,6 +606,9 @@ msgstr "Pin del clock di bit non valido" msgid "Invalid buffer size" msgstr "lunghezza del buffer non valida" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + #, fuzzy msgid "Invalid channel count" msgstr "Argomento non valido" @@ -720,6 +726,9 @@ msgstr "Nessun pin RX" msgid "No TX pin" msgstr "Nessun pin TX" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Nessun bus I2C predefinito" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index cf46dfbc5871..a55de1994fd4 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-01 07:16-0800\n" +"POT-Creation-Date: 2019-03-03 00:16+0000\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -552,6 +552,9 @@ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" msgid "File exists" msgstr "Arquivo já existe" +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + msgid "Function requires lock" msgstr "" @@ -594,6 +597,9 @@ msgstr "Pino de bit clock inválido" msgid "Invalid buffer size" msgstr "Arquivo inválido" +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + #, fuzzy msgid "Invalid channel count" msgstr "certificado inválido" @@ -710,6 +716,9 @@ msgstr "Nenhum pino RX" msgid "No TX pin" msgstr "Nenhum pino TX" +msgid "No available clocks" +msgstr "" + msgid "No default I2C bus" msgstr "Nenhum barramento I2C padrão" diff --git a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c index 30fc43827799..fa5d08a3ffc4 100644 --- a/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +++ b/ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c @@ -252,8 +252,7 @@ void common_hal_frequencyio_frequencyin_construct(frequencyio_frequencyin_obj_t* mp_raise_RuntimeError(translate("No hardware support on pin")); } if ((capture_period == 0) || (capture_period > 500)) { - // TODO: find a sutiable message that is already translated - mp_raise_ValueError(translate("Invalid something")); + mp_raise_ValueError(translate("Invalid capture period. Valid range: 1 - 500")); } uint32_t mask = 1 << pin->extint_channel; if (eic_get_enable() == 1 && @@ -539,8 +538,7 @@ uint16_t common_hal_frequencyio_frequencyin_get_capture_period(frequencyio_frequ void common_hal_frequencyio_frequencyin_set_capture_period(frequencyio_frequencyin_obj_t *self, uint16_t capture_period) { if ((capture_period == 0) || (capture_period > 500)) { - // TODO: find a sutiable message that is already translated - mp_raise_ValueError(translate("Invalid something")); + mp_raise_ValueError(translate("Invalid capture period. Valid range: 1 - 500")); } self->capture_period = capture_period; From 8de4cf6b10b48c982ec67dcc60e4eb96f394409f Mon Sep 17 00:00:00 2001 From: sommersoft Date: Sat, 2 Mar 2019 18:33:37 -0600 Subject: [PATCH 71/76] update RTD documentation --- shared-bindings/frequencyio/FrequencyIn.c | 15 ++++++++++----- shared-bindings/index.rst | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/shared-bindings/frequencyio/FrequencyIn.c b/shared-bindings/frequencyio/FrequencyIn.c index fb1698fa2ee8..908cb307dde9 100644 --- a/shared-bindings/frequencyio/FrequencyIn.c +++ b/shared-bindings/frequencyio/FrequencyIn.c @@ -41,9 +41,12 @@ //| ======================================================== //| //| FrequencyIn is used to measure the frequency, in hertz, of a digital signal -//| on an incoming pin. Accuracy has shown to be within 1kHz, if not better. -//| Current maximum detectable frequency is ~512kHz. -//| It will not determine pulse width (use ``PulseIn``). +//| on an incoming pin. Accuracy has shown to be within 10%, if not better. It +//| is recommended to utilize an average of multiple samples to smooth out readings. +//| +//| Frequencies below 1KHz are not currently detectable. +//| +//| FrequencyIn will not determine pulse width (use ``PulseIn``). //| //| .. class:: FrequencyIn(pin, capture_period=10) //| @@ -51,7 +54,7 @@ //| //| :param ~microcontroller.Pin pin: Pin to read frequency from. //| :param int capture_period: Keyword argument to set the measurement period, in -//| milliseconds. Default is 10ms; maximum is 500ms. +//| milliseconds. Default is 10ms; range is 1ms - 500ms. //| //| Read the incoming frequency from a pin:: //| @@ -166,7 +169,9 @@ MP_DEFINE_CONST_FUN_OBJ_1(frequencyio_frequencyin_clear_obj, frequencyio_frequen //| .. attribute:: capture_period //| -//| The capture measurement period. +//| The capture measurement period. Lower incoming frequencies will be measured +//| more accurately with longer capture periods. Higher frequencies are more +//| accurate with shorter capture periods. //| //| .. note:: When setting a new ``capture_period``, all previous capture information is //| cleared with a call to ``clear()``. diff --git a/shared-bindings/index.rst b/shared-bindings/index.rst index 9641d73d1466..4f2e28702b27 100644 --- a/shared-bindings/index.rst +++ b/shared-bindings/index.rst @@ -42,6 +42,7 @@ Module Supported Ports `bleio` **nRF** `busio` **All Supported** `digitalio` **All Supported** +`frequencyio` **SAMD51** `gamepad` **SAMD Express, nRF** `hashlib` **ESP8266** `i2cslave` **SAMD Express** From b1d194505ea440f0203f9a49abc8680c7c4d9634 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Tue, 5 Mar 2019 13:11:10 -0500 Subject: [PATCH 72/76] Build both BIN and UF2 for RFM boards --- tools/build_board_info.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/build_board_info.py b/tools/build_board_info.py index 30d7c710b7ad..e40b990bd7cd 100644 --- a/tools/build_board_info.py +++ b/tools/build_board_info.py @@ -32,8 +32,8 @@ "arduino_zero": BIN, "feather_m0_adalogger": BIN_UF2, "feather_m0_basic": BIN_UF2, - "feather_m0_rfm69": BIN, - "feather_m0_rfm9x": BIN, + "feather_m0_rfm69": BIN_UF2, + "feather_m0_rfm9x": BIN_UF2, # nRF52840 dev kits that may not have UF2 bootloaders, "makerdiary_nrf52840_mdk": HEX, From 4145f87fcd25f5adc2bcca52f96fea3b9f965e48 Mon Sep 17 00:00:00 2001 From: Dustin Mendoza Date: Tue, 5 Mar 2019 21:25:09 -0800 Subject: [PATCH 73/76] changed from mp_int_t to uint16_t --- shared-bindings/displayio/Display.c | 6 ++---- shared-bindings/displayio/Display.h | 4 ++-- shared-module/displayio/Display.c | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index ed5f135bf0f7..1f46330e8287 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -260,8 +260,7 @@ const mp_obj_property_t displayio_display_auto_brightness_obj = { //| STATIC mp_obj_t displayio_display_obj_get_width(mp_obj_t self_in) { displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in); - mp_int_t width = common_hal_displayio_display_get_width(self); - return mp_obj_new_int(width); + return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_display_get_width(self)); } MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_width_obj, displayio_display_obj_get_width); @@ -279,8 +278,7 @@ const mp_obj_property_t displayio_display_width_obj = { //| STATIC mp_obj_t displayio_display_obj_get_height(mp_obj_t self_in) { displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in); - mp_float_t height = common_hal_displayio_display_get_height(self); - return mp_obj_new_int(height); + return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_display_get_height(self)); } MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_height_obj, displayio_display_obj_get_height); diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h index 9e2528278ad3..ee9106f778f2 100644 --- a/shared-bindings/displayio/Display.h +++ b/shared-bindings/displayio/Display.h @@ -59,8 +59,8 @@ bool displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixe bool common_hal_displayio_display_get_auto_brightness(displayio_display_obj_t* self); void common_hal_displayio_display_set_auto_brightness(displayio_display_obj_t* self, bool auto_brightness); -mp_int_t common_hal_displayio_display_get_width(displayio_display_obj_t* self); -mp_int_t common_hal_displayio_display_get_height(displayio_display_obj_t* self); +uint16_t common_hal_displayio_display_get_width(displayio_display_obj_t* self); +uint16_t common_hal_displayio_display_get_height(displayio_display_obj_t* self); mp_float_t common_hal_displayio_display_get_brightness(displayio_display_obj_t* self); bool common_hal_displayio_display_set_brightness(displayio_display_obj_t* self, mp_float_t brightness); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index b810286b123f..6dd039604643 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -157,11 +157,11 @@ bool common_hal_displayio_display_get_auto_brightness(displayio_display_obj_t* s return self->auto_brightness; } -mp_int_t common_hal_displayio_display_get_width(displayio_display_obj_t* self){ +uint16_t common_hal_displayio_display_get_width(displayio_display_obj_t* self){ return self->width; } -mp_int_t common_hal_displayio_display_get_height(displayio_display_obj_t* self){ +uint16_t common_hal_displayio_display_get_height(displayio_display_obj_t* self){ return self->height; } From c854f6617a0b343333635fe0cc91419daff7cdd5 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 6 Mar 2019 13:45:48 -0500 Subject: [PATCH 74/76] check display-bus transaction status and act accordingly --- shared-bindings/displayio/Display.h | 2 +- shared-bindings/displayio/FourWire.c | 7 ++++++- shared-bindings/displayio/ParallelBus.c | 7 ++++++- shared-module/displayio/Display.c | 16 +++++++++++++--- shared-module/displayio/__init__.c | 6 +++++- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h index ee9106f778f2..8c9e7fc13703 100644 --- a/shared-bindings/displayio/Display.h +++ b/shared-bindings/displayio/Display.h @@ -48,7 +48,7 @@ void common_hal_displayio_display_show(displayio_display_obj_t* self, displayio_ void common_hal_displayio_display_refresh_soon(displayio_display_obj_t* self); -void displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); +bool displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); void displayio_display_finish_region_update(displayio_display_obj_t* self); bool displayio_display_frame_queued(displayio_display_obj_t* self); diff --git a/shared-bindings/displayio/FourWire.c b/shared-bindings/displayio/FourWire.c index 56baa534b7f5..70cd42747118 100644 --- a/shared-bindings/displayio/FourWire.c +++ b/shared-bindings/displayio/FourWire.c @@ -110,7 +110,12 @@ STATIC mp_obj_t displayio_fourwire_obj_send(mp_obj_t self, mp_obj_t command_obj, mp_buffer_info_t bufinfo; mp_get_buffer_raise(data_obj, &bufinfo, MP_BUFFER_READ); - common_hal_displayio_fourwire_begin_transaction(self); + // Wait for display bus to be available. + while (!common_hal_displayio_fourwire_begin_transaction(self)) { +#ifdef MICROPY_VM_HOOK_LOOP + MICROPY_VM_HOOK_LOOP ; +#endif + } common_hal_displayio_fourwire_send(self, true, &command, 1); common_hal_displayio_fourwire_send(self, false, ((uint8_t*) bufinfo.buf), bufinfo.len); common_hal_displayio_fourwire_end_transaction(self); diff --git a/shared-bindings/displayio/ParallelBus.c b/shared-bindings/displayio/ParallelBus.c index a54a8447190d..6a499ed06943 100644 --- a/shared-bindings/displayio/ParallelBus.c +++ b/shared-bindings/displayio/ParallelBus.c @@ -114,7 +114,12 @@ STATIC mp_obj_t displayio_parallelbus_obj_send(mp_obj_t self, mp_obj_t command_o mp_buffer_info_t bufinfo; mp_get_buffer_raise(data_obj, &bufinfo, MP_BUFFER_READ); - common_hal_displayio_parallelbus_begin_transaction(self); + // Wait for display bus to be available. + while (!common_hal_displayio_parallelbus_begin_transaction(self)) { +#ifdef MICROPY_VM_HOOK_LOOP + MICROPY_VM_HOOK_LOOP ; +#endif + } common_hal_displayio_parallelbus_send(self, true, &command, 1); common_hal_displayio_parallelbus_send(self, false, ((uint8_t*) bufinfo.buf), bufinfo.len); common_hal_displayio_parallelbus_end_transaction(self); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index 95c5cdfeca95..2f2ba0665cef 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -69,7 +69,11 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self, self->bus = bus; uint32_t i = 0; - self->begin_transaction(self->bus); + while (!self->begin_transaction(self->bus)) { +#ifdef MICROPY_VM_HOOK_LOOP + MICROPY_VM_HOOK_LOOP ; +#endif + } while (i < init_sequence_len) { uint8_t *cmd = init_sequence + i; uint8_t data_size = *(cmd + 1); @@ -198,9 +202,14 @@ bool common_hal_displayio_display_set_brightness(displayio_display_obj_t* self, return ok; } -void displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { +// This routine is meant to be called as a background task. If it cannot acquire the display bus, +// it will return false immediately to indicate it didn't do anything. +bool displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { // TODO(tannewt): Handle displays with single byte bounds. - self->begin_transaction(self->bus); + if (!self->begin_transaction(self->bus)) { + // Could not acquire the bus; give up. + return false; + } uint16_t data[2]; self->send(self->bus, true, &self->set_column_command, 1); data[0] = __builtin_bswap16(x0 + self->colstart); @@ -211,6 +220,7 @@ void displayio_display_start_region_update(displayio_display_obj_t* self, uint16 data[1] = __builtin_bswap16(y1 - 1 + self->rowstart); self->send(self->bus, false, (uint8_t*) data, 4); self->send(self->bus, true, &self->write_ram_command, 1); + return true; } void displayio_display_finish_region_update(displayio_display_obj_t* self) { diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c index 79014fb5afe7..58a6ce471472 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -60,7 +60,11 @@ void displayio_refresh_displays(void) { if (display->transpose_xy) { swap(&c1, &r1); } - displayio_display_start_region_update(display, c0, r0, c1, r1); + // Someone else is holding the bus used to talk to the display, + // so skip update for now. + if (!displayio_display_start_region_update(display, c0, r0, c1, r1)) { + return; + } uint16_t x0 = 0; uint16_t x1 = display->width - 1; From 1f31877d5519813f94feabf3aedfd21e9461ce17 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 7 Mar 2019 00:08:16 -0500 Subject: [PATCH 75/76] Rework background display task to allow reads from SPI SD card during display. Clarify code. Handle multiple displays better. --- shared-bindings/displayio/Display.h | 8 ++-- shared-module/displayio/Display.c | 24 +++++------- shared-module/displayio/__init__.c | 60 ++++++++++++++++++++--------- 3 files changed, 56 insertions(+), 36 deletions(-) diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h index 8c9e7fc13703..7d6444a2d467 100644 --- a/shared-bindings/displayio/Display.h +++ b/shared-bindings/displayio/Display.h @@ -48,13 +48,15 @@ void common_hal_displayio_display_show(displayio_display_obj_t* self, displayio_ void common_hal_displayio_display_refresh_soon(displayio_display_obj_t* self); -bool displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); -void displayio_display_finish_region_update(displayio_display_obj_t* self); +bool displayio_display_begin_transaction(displayio_display_obj_t* self); +void displayio_display_end_transaction(displayio_display_obj_t* self); + +void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1); bool displayio_display_frame_queued(displayio_display_obj_t* self); bool displayio_display_refresh_queued(displayio_display_obj_t* self); void displayio_display_finish_refresh(displayio_display_obj_t* self); -bool displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixels, uint32_t length); +void displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixels, uint32_t length); bool common_hal_displayio_display_get_auto_brightness(displayio_display_obj_t* self); void common_hal_displayio_display_set_auto_brightness(displayio_display_obj_t* self, bool auto_brightness); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index 2f2ba0665cef..0e76a868f542 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -202,14 +202,16 @@ bool common_hal_displayio_display_set_brightness(displayio_display_obj_t* self, return ok; } -// This routine is meant to be called as a background task. If it cannot acquire the display bus, -// it will return false immediately to indicate it didn't do anything. -bool displayio_display_start_region_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { +bool displayio_display_begin_transaction(displayio_display_obj_t* self) { + return self->begin_transaction(self->bus); +} + +void displayio_display_end_transaction(displayio_display_obj_t* self) { + self->end_transaction(self->bus); +} + +void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { // TODO(tannewt): Handle displays with single byte bounds. - if (!self->begin_transaction(self->bus)) { - // Could not acquire the bus; give up. - return false; - } uint16_t data[2]; self->send(self->bus, true, &self->set_column_command, 1); data[0] = __builtin_bswap16(x0 + self->colstart); @@ -220,11 +222,6 @@ bool displayio_display_start_region_update(displayio_display_obj_t* self, uint16 data[1] = __builtin_bswap16(y1 - 1 + self->rowstart); self->send(self->bus, false, (uint8_t*) data, 4); self->send(self->bus, true, &self->write_ram_command, 1); - return true; -} - -void displayio_display_finish_region_update(displayio_display_obj_t* self) { - self->end_transaction(self->bus); } bool displayio_display_frame_queued(displayio_display_obj_t* self) { @@ -244,9 +241,8 @@ void displayio_display_finish_refresh(displayio_display_obj_t* self) { self->last_refresh = ticks_ms; } -bool displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixels, uint32_t length) { +void displayio_display_send_pixels(displayio_display_obj_t* self, uint32_t* pixels, uint32_t length) { self->send(self->bus, false, (uint8_t*) pixels, length * 4); - return true; } void displayio_display_update_backlight(displayio_display_obj_t* self) { diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c index 58a6ce471472..546a46b1eb8d 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -22,7 +22,8 @@ static inline void swap(uint16_t* a, uint16_t* b) { *b = temp; } -bool refreshing_displays = false; +// Check for recursive calls to displayio_refresh_displays. +bool refresh_displays_in_progress = false; void displayio_refresh_displays(void) { if (mp_hal_is_interrupted()) { @@ -35,20 +36,25 @@ void displayio_refresh_displays(void) { return; } - if (refreshing_displays) { + if (refresh_displays_in_progress) { + // Don't allow recursive calls to this routine. return; } - refreshing_displays = true; + + refresh_displays_in_progress = true; + for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { if (displays[i].display.base.type == NULL || displays[i].display.base.type == &mp_type_NoneType) { + // Skip null display. continue; } displayio_display_obj_t* display = &displays[i].display; displayio_display_update_backlight(display); + // Time to refresh at specified frame rate? if (!displayio_display_frame_queued(display)) { - refreshing_displays = false; - return; + // Too soon. Try next display. + continue; } if (displayio_display_refresh_queued(display)) { // We compute the pixels. r and c are row and column to match the display memory @@ -60,11 +66,13 @@ void displayio_refresh_displays(void) { if (display->transpose_xy) { swap(&c1, &r1); } - // Someone else is holding the bus used to talk to the display, - // so skip update for now. - if (!displayio_display_start_region_update(display, c0, r0, c1, r1)) { - return; + + if (!displayio_display_begin_transaction(display)) { + // Can't acquire display bus; skip updating this display. Try next display. + continue; } + displayio_display_set_region_to_update(display, c0, r0, c1, r1); + displayio_display_end_transaction(display); uint16_t x0 = 0; uint16_t x1 = display->width - 1; @@ -98,6 +106,8 @@ void displayio_refresh_displays(void) { size_t index = 0; uint16_t buffer_size = 256; uint32_t buffer[buffer_size / 2]; + bool skip_this_display = false; + for (uint16_t y = starty; y0 <= y && y <= y1; y += dy) { for (uint16_t x = startx; x0 <= x && x <= x1; x += dx) { uint16_t* pixel = &(((uint16_t*)buffer)[index]); @@ -114,11 +124,14 @@ void displayio_refresh_displays(void) { index += 1; // The buffer is full, send it. if (index >= buffer_size) { - if (!displayio_display_send_pixels(display, buffer, buffer_size / 2) || reload_requested) { - displayio_display_finish_region_update(display); - refreshing_displays = false; - return; + if (!displayio_display_begin_transaction(display)) { + // Can't acquire display bus; skip the rest of the data. Try next display. + index = 0; + skip_this_display = true; + break; } + displayio_display_send_pixels(display, buffer, buffer_size / 2); + displayio_display_end_transaction(display); // TODO(tannewt): Make refresh displays faster so we don't starve other // background tasks. usb_background(); @@ -126,17 +139,26 @@ void displayio_refresh_displays(void) { } } } + + if (skip_this_display) { + // Go on to next display. + continue; + } // Send the remaining data. - if (index && !displayio_display_send_pixels(display, buffer, index * 2)) { - displayio_display_finish_region_update(display); - refreshing_displays = false; - return; + if (index) { + if (!displayio_display_begin_transaction(display)) { + // Can't get display bus. Skip the rest of the data. Try next display. + continue; + } + displayio_display_send_pixels(display, buffer, index * 2); } - displayio_display_finish_region_update(display); + displayio_display_end_transaction(display); } displayio_display_finish_refresh(display); } - refreshing_displays = false; + + // All done. + refresh_displays_in_progress = false; } void common_hal_displayio_release_displays(void) { From 26ed411936704e54af5e10e12d3cfa7a58ef55e5 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 7 Mar 2019 07:47:18 -0500 Subject: [PATCH 76/76] Shrink build so de_DE fits --- ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk index ce46d7000aa6..b23a8b76e81a 100644 --- a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk @@ -13,6 +13,8 @@ LONGINT_IMPL = MPZ CHIP_VARIANT = SAMD21G18A CHIP_FAMILY = samd21 +CFLAGS_INLINE_LIMIT = 70 + CIRCUITPY_NETWORK = 1 MICROPY_PY_WIZNET5K = 5500