From 448ae64d8e2eb0cce9c5bd9dabd7f2354bb48682 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 1 Feb 2019 00:32:03 -0800 Subject: [PATCH 1/4] Add support for display rotation and raw commands Display rotation is relative to the scan order of the display. The scan order can be found by scrolling the display with command 0x37 `display_bus.send(0x37, struct.pack(">H", i % 128))` Fixes #1504 --- shared-bindings/displayio/Display.c | 26 ++++++++--- shared-bindings/displayio/Display.h | 4 +- shared-bindings/displayio/FourWire.c | 24 ++++++++++ shared-bindings/displayio/ParallelBus.c | 24 ++++++++++ shared-module/displayio/Display.c | 26 +++++++++-- shared-module/displayio/Display.h | 3 ++ shared-module/displayio/__init__.c | 59 +++++++++++++++++++++---- 7 files changed, 147 insertions(+), 19 deletions(-) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index 109df8af41..91ced1dd3b 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -47,13 +47,16 @@ //| objects in CircuitPython, Display objects live until `displayio.release_displays()` //| is called. This is done so that CircuitPython can use the display itself. //| +//| Most people should not use this class directly. Use a specific display driver instead that will +//| contain the initialization sequence at minimum. +//| //| .. warning:: This will be changed before 4.0.0. Consider it very experimental. //| -//| .. class:: Display(display_bus, init_sequence, *, width, height, colstart=0, rowstart=0, color_depth=16, set_column_command=0x2a, set_row_command=0x2b, write_ram_command=0x2c) +//| .. class:: Display(display_bus, init_sequence, *, width, height, colstart=0, rowstart=0, rotation=0, color_depth=16, set_column_command=0x2a, set_row_command=0x2b, write_ram_command=0x2c, set_vertical_scroll=0, backlight_pin=None) //| //| Create a Display object on the given display bus (`displayio.FourWire` or `displayio.ParallelBus`). //| -//| The ``init_sequence`` is bitbacked to minimize the ram impact. Every command begins with a +//| The ``init_sequence`` is bitpacked to minimize the ram impact. Every command begins with a //| command byte followed by a byte to determine the parameter count and if a delay is need after. //| When the top bit of the second byte is 1, the next byte will be the delay time in milliseconds. //| The remaining 7 bits are the parameter count excluding any delay byte. The third through final @@ -73,21 +76,26 @@ //| (b"") are merged together on load. The parens are needed to allow byte literals on subsequent //| lines. //| +//| The initialization sequence should always leave the display memory access inline with the scan +//| of the display to minimize tearing artifacts. +//| //| :param displayio.FourWire or displayio.ParallelBus display_bus: The bus that the display is connected to //| :param buffer init_sequence: Byte-packed initialization sequence. //| :param int width: Width in pixels //| :param int height: Height in pixels //| :param int colstart: The index if the first visible column //| :param int rowstart: The index if the first visible row +//| :param int rotation: The rotation of the display in 90 degree increments //| :param int color_depth: The number of bits of color per pixel transmitted. (Some displays //| support 18 bit but 16 is easier to transmit. The last bit is extrapolated.) //| :param int set_column_command: Command used to set the start and end columns to update //| :param int set_row_command: Command used so set the start and end rows to update //| :param int write_ram_command: Command used to write pixels values into the update region +//| :param int set_vertical_scroll: Command used to set the first row to show //| :param microcontroller.Pin backlight_pin: Pin connected to the display's backlight //| STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { - enum { ARG_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart, ARG_color_depth, ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command, ARG_backlight_pin }; + enum { ARG_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart, ARG_rotation, ARG_color_depth, ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command, ARG_set_vertical_scroll, ARG_backlight_pin }; static const mp_arg_t allowed_args[] = { { MP_QSTR_display_bus, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_init_sequence, MP_ARG_REQUIRED | MP_ARG_OBJ }, @@ -95,10 +103,12 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a { MP_QSTR_height, MP_ARG_INT | MP_ARG_KW_ONLY | MP_ARG_REQUIRED, }, { MP_QSTR_colstart, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0} }, { MP_QSTR_rowstart, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0} }, + { MP_QSTR_rotation, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0} }, { MP_QSTR_color_depth, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 16} }, { MP_QSTR_set_column_command, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x2a} }, { MP_QSTR_set_row_command, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x2b} }, { MP_QSTR_write_ram_command, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x2c} }, + { MP_QSTR_set_vertical_scroll, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x0} }, { MP_QSTR_backlight_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = mp_const_none} }, }; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; @@ -116,6 +126,10 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a backlight_pin = MP_OBJ_TO_PTR(backlight_pin_obj); assert_pin_free(backlight_pin); } + mp_int_t rotation = args[ARG_rotation].u_int; + if (rotation % 90 != 0) { + mp_raise_ValueError(translate("Display rotation must be in 90 degree increments")); + } displayio_display_obj_t *self = NULL; for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { @@ -130,9 +144,11 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a } self->base.type = &displayio_display_type; common_hal_displayio_display_construct(self, - display_bus, args[ARG_width].u_int, args[ARG_height].u_int, args[ARG_colstart].u_int, args[ARG_rowstart].u_int, + display_bus, args[ARG_width].u_int, args[ARG_height].u_int, args[ARG_colstart].u_int, args[ARG_rowstart].u_int, rotation, args[ARG_color_depth].u_int, args[ARG_set_column_command].u_int, args[ARG_set_row_command].u_int, - args[ARG_write_ram_command].u_int, bufinfo.buf, bufinfo.len, MP_OBJ_TO_PTR(backlight_pin)); + args[ARG_write_ram_command].u_int, + args[ARG_set_vertical_scroll].u_int, + bufinfo.buf, bufinfo.len, MP_OBJ_TO_PTR(backlight_pin)); return self; } diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h index 906c3620d4..67b63c5c9c 100644 --- a/shared-bindings/displayio/Display.h +++ b/shared-bindings/displayio/Display.h @@ -38,8 +38,8 @@ extern const mp_obj_type_t displayio_display_type; void common_hal_displayio_display_construct(displayio_display_obj_t* self, mp_obj_t bus, uint16_t width, uint16_t height, - int16_t colstart, int16_t rowstart, uint16_t color_depth, - uint8_t set_column_command, uint8_t set_row_command, uint8_t write_ram_command, + int16_t colstart, int16_t rowstart, uint16_t rotation, uint16_t color_depth, + uint8_t set_column_command, uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin); int32_t common_hal_displayio_display_wait_for_frame(displayio_display_obj_t* self); diff --git a/shared-bindings/displayio/FourWire.c b/shared-bindings/displayio/FourWire.c index eab3bd57a6..dee12eaf6f 100644 --- a/shared-bindings/displayio/FourWire.c +++ b/shared-bindings/displayio/FourWire.c @@ -98,7 +98,31 @@ STATIC mp_obj_t displayio_fourwire_make_new(const mp_obj_type_t *type, size_t n_ return self; } +//| .. method:: send(command, data) +//| +//| Sends the given command value followed by the full set of data. Display state, such as +//| vertical scroll, set via ``send`` may or may not be reset once the code is done. +//| +STATIC mp_obj_t displayio_fourwire_obj_send(mp_obj_t self, mp_obj_t command_obj, mp_obj_t data_obj) { + mp_int_t command_int = MP_OBJ_SMALL_INT_VALUE(command_obj); + if (!MP_OBJ_IS_SMALL_INT(command_obj) || command_int > 255 || command_int < 0) { + mp_raise_ValueError(translate("Command must be an int between 0 and 255")); + } + uint8_t command = command_int; + mp_buffer_info_t bufinfo; + mp_get_buffer_raise(data_obj, &bufinfo, MP_BUFFER_READ); + + common_hal_displayio_fourwire_begin_transaction(self); + 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); + + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_3(displayio_fourwire_send_obj, displayio_fourwire_obj_send); + STATIC const mp_rom_map_elem_t displayio_fourwire_locals_dict_table[] = { + { MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&displayio_fourwire_send_obj) }, }; STATIC MP_DEFINE_CONST_DICT(displayio_fourwire_locals_dict, displayio_fourwire_locals_dict_table); diff --git a/shared-bindings/displayio/ParallelBus.c b/shared-bindings/displayio/ParallelBus.c index 1ce1e2aff4..abae114e2b 100644 --- a/shared-bindings/displayio/ParallelBus.c +++ b/shared-bindings/displayio/ParallelBus.c @@ -102,7 +102,31 @@ STATIC mp_obj_t displayio_parallelbus_make_new(const mp_obj_type_t *type, size_t return self; } +//| .. method:: send(command, data) +//| +//| Sends the given command value followed by the full set of data. Display state, such as +//| vertical scroll, set via ``send`` may or may not be reset once the code is done. +//| +STATIC mp_obj_t displayio_parallelbus_obj_send(mp_obj_t self, mp_obj_t command_obj, mp_obj_t data_obj) { + mp_int_t command_int = MP_OBJ_SMALL_INT_VALUE(command_obj); + if (!MP_OBJ_IS_SMALL_INT(command_obj) || command_int > 255 || command_int < 0) { + mp_raise_ValueError(translate("Command must be an int between 0 and 255")); + } + uint8_t command = command_int; + mp_buffer_info_t bufinfo; + mp_get_buffer_raise(data_obj, &bufinfo, MP_BUFFER_READ); + + common_hal_displayio_parallelbus_begin_transaction(self); + 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); + + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_3(displayio_parallelbus_send_obj, displayio_parallelbus_obj_send); + STATIC const mp_rom_map_elem_t displayio_parallelbus_locals_dict_table[] = { + { MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&displayio_parallelbus_send_obj) }, }; STATIC MP_DEFINE_CONST_DICT(displayio_parallelbus_locals_dict, displayio_parallelbus_locals_dict_table); diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index ef0334d106..f14a27b78d 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -41,12 +41,10 @@ #define DELAY 0x80 void common_hal_displayio_display_construct(displayio_display_obj_t* self, - mp_obj_t bus, uint16_t width, uint16_t height, int16_t colstart, int16_t rowstart, + mp_obj_t bus, uint16_t width, uint16_t height, int16_t colstart, int16_t rowstart, uint16_t rotation, uint16_t color_depth, uint8_t set_column_command, uint8_t set_row_command, - uint8_t write_ram_command, uint8_t* init_sequence, uint16_t init_sequence_len, + uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin) { - self->width = width; - self->height = height; self->color_depth = color_depth; self->set_column_command = set_column_command; self->set_row_command = set_row_command; @@ -100,6 +98,26 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self, self->refresh = true; self->current_group = &circuitpython_splash; + self->width = width; + self->height = height; + rotation = rotation % 360; + self->mirror_x = false; + self->mirror_y = false; + self->transpose_xy = false; + if (rotation == 0 || rotation == 180) { + if (rotation == 180) { + self->mirror_x = true; + self->mirror_y = true; + } + } else { + self->transpose_xy = true; + if (rotation == 90) { + self->mirror_y = true; + } else { + self->mirror_x = true; + } + } + // 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)) { diff --git a/shared-module/displayio/Display.h b/shared-module/displayio/Display.h index 0d7393aff9..04da68b63d 100644 --- a/shared-module/displayio/Display.h +++ b/shared-module/displayio/Display.h @@ -59,6 +59,9 @@ typedef struct { uint64_t last_backlight_refresh; bool auto_brightness:1; bool updating_backlight:1; + bool mirror_x; + bool mirror_y; + bool transpose_xy; } displayio_display_obj_t; 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 f09e4e791a..c4f9cbeb79 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -12,6 +12,12 @@ primary_display_t displays[CIRCUITPY_DISPLAY_LIMIT]; +static inline void swap(uint16_t* a, uint16_t* b) { + uint16_t temp = *a; + *a = *b; + *b = temp; +} + void displayio_refresh_displays(void) { 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) { @@ -24,23 +30,60 @@ void displayio_refresh_displays(void) { return; } if (displayio_display_refresh_queued(display)) { - // We compute the pixels + // We compute the pixels. r and c are row and column to match the display memory + // structure. x and y match location within the groups. + uint16_t c0 = 0; + uint16_t r0 = 0; + uint16_t c1 = display->width; + uint16_t r1 = display->height; + if (display->transpose_xy) { + swap(&c1, &r1); + } + displayio_display_start_region_update(display, c0, r0, c1, r1); + uint16_t x0 = 0; + uint16_t x1 = display->width - 1; + uint16_t startx = 0; + int8_t dx = 1; + if (display->mirror_x) { + dx = -1; + startx = x1; + } uint16_t y0 = 0; - uint16_t x1 = display->width; - uint16_t y1 = display->height; + uint16_t y1 = display->height - 1; + uint16_t starty = 0; + int8_t dy = 1; + if (display->mirror_y) { + dy = -1; + starty = y1; + } + + bool transpose = false; + if (display->transpose_xy) { + transpose = true; + int8_t temp_dx = dx; + dx = dy; + dy = temp_dx; + + swap(&starty, &startx); + swap(&x0, &y0); + swap(&x1, &y1); + } + size_t index = 0; - //size_t row_size = (x1 - x0); uint16_t buffer_size = 256; uint32_t buffer[buffer_size / 2]; - displayio_display_start_region_update(display, x0, y0, x1, y1); - for (uint16_t y = y0; y < y1; ++y) { - for (uint16_t x = x0; x < x1; ++x) { + 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]); *pixel = 0; if (display->current_group != NULL) { - displayio_group_get_pixel(display->current_group, x, y, pixel); + if (transpose) { + displayio_group_get_pixel(display->current_group, y, x, pixel); + } else { + displayio_group_get_pixel(display->current_group, x, y, pixel); + } } index += 1; From 9a9d85fadc57920f70719d04d6ad4c26b66d7ef4 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 1 Feb 2019 00:36:21 -0800 Subject: [PATCH 2/4] Update translations for display rotation --- locale/ID.po | 73 +++++++++++++++++-------------- locale/circuitpython.pot | 29 ++++++++----- locale/de_DE.po | 29 ++++++++----- locale/en_US.po | 29 ++++++++----- locale/es.po | 94 ++++++++++++++++++++++------------------ locale/fil.po | 92 +++++++++++++++++++++------------------ locale/fr.po | 82 ++++++++++++++++++++--------------- locale/it_IT.po | 94 ++++++++++++++++++++++------------------ locale/pt_BR.po | 88 ++++++++++++++++++++----------------- 9 files changed, 348 insertions(+), 262 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 98539a8674..b6be1b4b19 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -657,22 +657,22 @@ msgstr "konfigurasi param tidak diketahui" msgid "AnalogOut functionality not supported" msgstr "fungsionalitas AnalogOut tidak didukung" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: 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" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: 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:119 +#: 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:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 #, fuzzy msgid "Failed to get local address" msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX" @@ -2355,16 +2355,20 @@ msgstr "" msgid "color should be an int" msgstr "" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2373,6 +2377,11 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: 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/Group.c:62 msgid "Group must have size at least 1" msgstr "" @@ -2687,7 +2696,7 @@ msgstr "" msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "Baudrate tidak didukung" @@ -2834,31 +2843,31 @@ msgid "" "exit safe mode.\n" msgstr "" -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" - -#~ 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 "" -#~ "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" - #~ 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 "unpack requires a buffer of %d bytes" +#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" + +#~ msgid "Invalid UUID string length" +#~ msgstr "Panjang string UUID tidak valid" + +#~ msgid "Invalid UUID parameter" +#~ msgstr "Parameter UUID tidak valid" + +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Semua perangkat PWM sedang digunakan" + +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n" + +#~ 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" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 5cc476bb6f..5e0276169b 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -646,20 +646,20 @@ msgstr "" msgid "AnalogOut functionality not supported" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: ports/nrf/common-hal/bleio/Adapter.c:119 msgid "Failed to change softdevice state" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:119 +#: ports/nrf/common-hal/bleio/Adapter.c:128 msgid "Failed to get softdevice state" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" @@ -2317,16 +2317,20 @@ msgstr "" msgid "color should be an int" msgstr "" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2335,6 +2339,11 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: 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/Group.c:62 msgid "Group must have size at least 1" msgstr "" @@ -2648,7 +2657,7 @@ msgstr "" msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 msgid "Unsupported display bus type" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index dc3dd18aaa..773b92ed9a 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Sebastian Plamauer\n" "Language-Team: \n" @@ -655,20 +655,20 @@ msgstr "" msgid "AnalogOut functionality not supported" msgstr "AnalogOut-Funktion wird nicht unterstützt" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: 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" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: ports/nrf/common-hal/bleio/Adapter.c:119 msgid "Failed to change softdevice state" msgstr "Fehler beim Ändern des Softdevice-Status" -#: ports/nrf/common-hal/bleio/Adapter.c:119 +#: ports/nrf/common-hal/bleio/Adapter.c:128 msgid "Failed to get softdevice state" msgstr "Fehler beim Abrufen des Softdevice-Status" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "Lokale Adresse konnte nicht abgerufen werden" @@ -2341,16 +2341,20 @@ msgstr "" msgid "color should be an int" msgstr "" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2359,6 +2363,11 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: 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/Group.c:62 msgid "Group must have size at least 1" msgstr "" @@ -2673,7 +2682,7 @@ msgstr "" msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 msgid "Unsupported display bus type" msgstr "Nicht unterstützter display bus type" diff --git a/locale/en_US.po b/locale/en_US.po index a9c63f5073..1a30fa8143 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -646,20 +646,20 @@ msgstr "" msgid "AnalogOut functionality not supported" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: ports/nrf/common-hal/bleio/Adapter.c:119 msgid "Failed to change softdevice state" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:119 +#: ports/nrf/common-hal/bleio/Adapter.c:128 msgid "Failed to get softdevice state" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" @@ -2317,16 +2317,20 @@ msgstr "" msgid "color should be an int" msgstr "" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2335,6 +2339,11 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: 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/Group.c:62 msgid "Group must have size at least 1" msgstr "" @@ -2648,7 +2657,7 @@ msgstr "" msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 msgid "Unsupported display bus type" msgstr "" diff --git a/locale/es.po b/locale/es.po index ce16e770fe..1668f2cc39 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -654,22 +654,22 @@ msgstr "parámetro config desconocido" msgid "AnalogOut functionality not supported" msgstr "Funcionalidad AnalogOut no soportada" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: 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:119 +#: 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:138 +#: 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" @@ -2376,16 +2376,20 @@ msgstr "row data debe ser un buffer" msgid "color should be an int" msgstr "color deberia ser un int" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2394,6 +2398,12 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Bytes debe estar entre 0 y 255." + #: shared-bindings/displayio/Group.c:62 msgid "Group must have size at least 1" msgstr "Group debe tener size de minimo 1" @@ -2712,7 +2722,7 @@ msgstr "Solo se admiten bit maps de color de 8 bits o menos" msgid "row must be packed and word aligned" msgstr "la fila debe estar empacada y la palabra alineada" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "tipo de bitmap no soportado" @@ -2869,6 +2879,9 @@ msgstr "" "El botón reset fue presionado mientras arrancaba CircuitPython. Presiona " "otra vez para salir del modo seguro.\n" +#~ msgid "Invalid UUID parameter" +#~ msgstr "Parámetro UUID inválido" + #~ msgid "Can not query for the device address." #~ msgstr "No se puede consultar la dirección del dispositivo." @@ -2878,43 +2891,23 @@ msgstr "" #~ msgid "displayio is a work in progress" #~ msgstr "displayio todavia esta en desarrollo" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Parámetro UUID inválido" +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "No se pueden establecer los parámetros PPCP." #~ msgid "Invalid UUID string length" #~ msgstr "Longitud de string UUID inválida" -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "No se pueden establecer los parámetros PPCP." - #~ 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." -#, 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 apply GAP parameters." +#~ msgstr "No se pueden aplicar los parámetros GAP." -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "No se puede codificar el UUID, para revisar la longitud." - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack." - -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de Servicio inválido" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Falló la asignación del buffer RX de %d bytes" - -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Numero erroneo de bytes dados" +#~ msgid "Wrong address length" +#~ msgstr "Longitud de address erronea" #~ msgid "" #~ "enough power for the whole circuit and press reset (after ejecting " @@ -2923,18 +2916,35 @@ msgstr "" #~ "suficiente poder para todo el circuito y presiona reset (después de " #~ "expulsar CIRCUITPY).\n" -#~ 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 "Can not apply device name in the stack." +#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack." + +#, fuzzy +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Falló la asignación del buffer RX de %d bytes" + +#~ msgid "Wrong number of bytes provided" +#~ msgstr "Numero erroneo de bytes dados" #~ msgid "Can not add Service." #~ msgstr "No se puede agregar el Servicio." -#~ msgid "Wrong address length" -#~ msgstr "Longitud de address erronea" +#~ msgid "Can not apply advertisement data. status: 0x%02x" +#~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x" -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "No se pueden aplicar los parámetros GAP." +#~ 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 not encode UUID, to check length." +#~ msgstr "No se puede codificar el UUID, para revisar la longitud." diff --git a/locale/fil.po b/locale/fil.po index 2ef179e175..c8283df5a3 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -654,22 +654,22 @@ msgstr "hindi alam na config param" msgid "AnalogOut functionality not supported" msgstr "Hindi supportado ang AnalogOut" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: 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" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: 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:119 +#: 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:138 +#: 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" @@ -2381,16 +2381,20 @@ msgstr "row data ay dapat na buffer" msgid "color should be an int" msgstr "color ay dapat na int" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2399,6 +2403,12 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Sa gitna ng 0 o 255 dapat ang bytes." + #: shared-bindings/displayio/Group.c:62 msgid "Group must have size at least 1" msgstr "Group dapat ay hindi baba sa 1 na haba" @@ -2718,7 +2728,7 @@ msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado" msgid "row must be packed and word aligned" msgstr "row ay dapat packed at ang word nakahanay" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "Hindi supportadong tipo ng bitmap" @@ -2875,6 +2885,9 @@ msgstr "" "Ang reset button ay pinindot habang nag boot ang CircuitPython. Pindutin " "ulit para lumabas sa safe mode.\n" +#~ msgid "Invalid UUID parameter" +#~ msgstr "Mali ang UUID parameter" + #~ msgid "Can not query for the device address." #~ msgstr "Hindi maaaring mag-query para sa address ng device." @@ -2884,15 +2897,12 @@ msgstr "" #~ msgid "displayio is a work in progress" #~ msgstr "displayio ay nasa gitna ng konstruksiyon" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Mali ang UUID parameter" +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "Hindi ma-set ang PPCP parameters." #~ msgid "Invalid UUID string length" #~ msgstr "Mali ang UUID string length" -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Hindi ma-set ang PPCP parameters." - #, fuzzy #~ msgid "palette must be displayio.Palette" #~ msgstr "ang palette ay dapat 32 bytes ang haba" @@ -2900,27 +2910,11 @@ msgstr "" #~ msgid "Can encode UUID into the advertisement packet." #~ msgstr "Maaring i-encode ang UUID sa advertisement packet." -#~ 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 apply GAP parameters." +#~ msgstr "Hindi ma-apply ang GAP parameters." -#~ msgid "Can not encode UUID, to check length." -#~ msgstr "Hindi ma-encode UUID, para suriin ang haba." - -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack." - -#~ msgid "Invalid Service type" -#~ msgstr "Mali ang tipo ng serbisyo" - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes" - -#~ msgid "Wrong number of bytes provided" -#~ msgstr "Mali ang bilang ng bytes" +#~ msgid "Wrong address length" +#~ msgstr "Mali ang address length" #~ msgid "" #~ "enough power for the whole circuit and press reset (after ejecting " @@ -2929,18 +2923,34 @@ msgstr "" #~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang " #~ "reset (pagkatapos i-eject ang CIRCUITPY).\n" -#~ 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 "Can not apply device name in the stack." +#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack." + +#, fuzzy +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes" + +#~ msgid "Wrong number of bytes provided" +#~ msgstr "Mali ang bilang ng bytes" #~ msgid "Can not add Service." #~ msgstr "Hindi maidaragdag ang serbisyo." -#~ msgid "Wrong address length" -#~ msgstr "Mali ang address length" +#~ msgid "Can not apply advertisement data. status: 0x%02x" +#~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x" -#~ msgid "Cannot apply GAP parameters." -#~ msgstr "Hindi ma-apply ang GAP parameters." +#~ 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 not encode UUID, to check length." +#~ msgstr "Hindi ma-encode UUID, para suriin ang haba." diff --git a/locale/fr.po b/locale/fr.po index baab1c1699..a428151bca 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -652,22 +652,22 @@ msgstr "paramètre de config. inconnu" msgid "AnalogOut functionality not supported" msgstr "AnalogOut non supporté" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: 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:119 +#: 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" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: 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" @@ -2387,16 +2387,20 @@ msgstr "les données de ligne doivent être un tampon" msgid "color should be an int" msgstr "la couleur doit être un entier (int)" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2405,6 +2409,12 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Les octets 'bytes' doivent être entre 0 et 255" + #: shared-bindings/displayio/Group.c:62 #, fuzzy msgid "Group must have size at least 1" @@ -2739,7 +2749,7 @@ msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées" msgid "row must be packed and word aligned" msgstr "" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "type de bitmap non supporté" @@ -2903,6 +2913,9 @@ msgstr "" "Le bouton 'reset' a été appuyé pendant le démarrage de CircuitPython. " "Appuyer denouveau pour quitter de le mode sans-échec.\n" +#~ msgid "Invalid UUID parameter" +#~ msgstr "Paramètre UUID invalide" + #, fuzzy #~ msgid "palette must be displayio.Palette" #~ msgstr "la palette doit être une displayio.Palette" @@ -2914,39 +2927,36 @@ msgstr "" #~ msgid "displayio is a work in progress" #~ msgstr "displayio est en cours de développement" -#~ msgid "Invalid UUID parameter" -#~ msgstr "Paramètre UUID invalide" +#~ msgid "Cannot apply GAP parameters." +#~ msgstr "Impossible d'appliquer les paramètres GAP" #~ msgid "Invalid UUID string length" #~ msgstr "Longeur de chaîne UUID invalide" -#~ 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" #~ msgid "Can not add Service." #~ msgstr "Impossible d'ajouter le Service" +#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n" +#~ msgstr "" +#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n" + +#~ msgid "Wrong address length" +#~ msgstr "Mauvaise longueur d'adresse" + +#~ msgid "Invalid Service type" +#~ msgstr "Type de service invalide" + #~ msgid "Can not encode UUID, to check length." #~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur." -#~ 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 "" #~ "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 "Can not add Characteristic." -#~ msgstr "Impossible d'ajouter la Characteristic." - #, fuzzy #~ msgid "unpack requires a buffer of %d bytes" #~ msgstr "Echec de l'allocation de %d octets du tampon RX" @@ -2955,22 +2965,22 @@ msgstr "" #~ msgid "Wrong number of bytes provided" #~ msgstr "mauvais nombre d'octets fourni'" -#~ msgid "Invalid Service type" -#~ msgstr "Type de service invalide" +#~ 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 query for the device address." #~ msgstr "Impossible d'obtenir l'adresse du périphérique" -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile" - -#~ msgid "Wrong address length" -#~ msgstr "Mauvaise longueur d'adresse" - -#~ 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 Characteristic." +#~ msgstr "Impossible d'ajouter la Characteristic." #, fuzzy #~ msgid "value_size must be power of two" #~ msgstr "value_size doit être une puissance de 2" + +#~ 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" diff --git a/locale/it_IT.po b/locale/it_IT.po index 7228e24630..9e1f538eb1 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -654,22 +654,22 @@ msgstr "parametro di configurazione sconosciuto" msgid "AnalogOut functionality not supported" msgstr "funzionalità AnalogOut non supportata" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: 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:119 +#: ports/nrf/common-hal/bleio/Adapter.c:128 #, fuzzy msgid "Failed to get softdevice state" msgstr "Impossibile fermare advertisement. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" @@ -2379,16 +2379,20 @@ msgstr "valori della riga devono essere un buffer" msgid "color should be an int" msgstr "il colore deve essere un int" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2397,6 +2401,12 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "I byte devono essere compresi tra 0 e 255" + #: shared-bindings/displayio/Group.c:62 msgid "Group must have size at least 1" msgstr "Il gruppo deve avere dimensione almeno 1" @@ -2723,7 +2733,7 @@ msgstr "Sono supportate solo bitmap con colori a 8 bit o meno" msgid "row must be packed and word aligned" msgstr "la riga deve essere compattata e allineata alla parola" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "tipo di bitmap non supportato" @@ -2872,6 +2882,10 @@ msgid "" "exit safe mode.\n" msgstr "" +#, fuzzy +#~ msgid "Wrong number of bytes provided" +#~ msgstr "numero di argomenti errato" + #~ msgid "Invalid UUID parameter" #~ msgstr "Parametro UUID non valido" @@ -2879,19 +2893,37 @@ msgstr "" #~ msgid "All PWM peripherals are in use" #~ msgstr "Tutte le periferiche SPI sono in uso" -#, fuzzy -#~ msgid "Wrong number of bytes provided" -#~ msgstr "numero di argomenti errato" - -#~ msgid "Invalid UUID string length" -#~ msgstr "Lunghezza della stringa UUID non valida" - #~ msgid "Invalid Service type" #~ msgstr "Tipo di servizio non valido" +#~ 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 "Can not query for the device address." +#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo." + #~ msgid "Cannot set PPCP parameters." #~ msgstr "Impossibile impostare i parametri PPCP." +#, fuzzy +#~ msgid "unpack requires a buffer of %d bytes" +#~ msgstr "Fallita allocazione del buffer RX di %d byte" + +#~ 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 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." @@ -2901,19 +2933,12 @@ msgstr "" #~ msgid "Can not encode UUID, to check length." #~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare." +#~ msgid "Invalid UUID string length" +#~ msgstr "Lunghezza della stringa UUID non valida" + #~ msgid "Cannot apply GAP parameters." #~ msgstr "Impossibile applicare i parametri GAP." -#~ msgid "Can not add Service." -#~ msgstr "Non è possibile aggiungere Service." - -#, fuzzy -#~ msgid "unpack requires a buffer of %d bytes" -#~ msgstr "Fallita allocazione del buffer RX di %d byte" - -#~ msgid "Can not query for the device address." -#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo." - #~ msgid "Can encode UUID into the advertisement packet." #~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement." @@ -2922,18 +2947,3 @@ msgstr "" #~ msgstr "" #~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie " #~ "CIRCUITPY:\n" - -#~ 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 "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 "Can not apply advertisement data. status: 0x%02x" -#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index a83dad4f12..235f815987 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-01-31 09:38-0800\n" +"POT-Creation-Date: 2019-02-01 00:36-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -646,22 +646,22 @@ msgstr "parâmetro configuração desconhecido" msgid "AnalogOut functionality not supported" msgstr "Funcionalidade AnalogOut não suportada" -#: ports/nrf/common-hal/bleio/Adapter.c:41 +#: ports/nrf/common-hal/bleio/Adapter.c:43 #, c-format msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c:110 +#: ports/nrf/common-hal/bleio/Adapter.c:119 #, fuzzy msgid "Failed to change softdevice state" msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:119 +#: ports/nrf/common-hal/bleio/Adapter.c:128 #, fuzzy msgid "Failed to get softdevice state" msgstr "Não pode parar propaganda. status: 0x%02x" -#: ports/nrf/common-hal/bleio/Adapter.c:138 +#: ports/nrf/common-hal/bleio/Adapter.c:147 msgid "Failed to get local address" msgstr "" @@ -2345,16 +2345,20 @@ msgstr "" msgid "color should be an int" msgstr "cor deve ser um int" -#: shared-bindings/displayio/Display.c:124 +#: shared-bindings/displayio/Display.c:131 +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/displayio/Display.c:143 msgid "Too many displays" msgstr "" -#: shared-bindings/displayio/Display.c:145 +#: shared-bindings/displayio/Display.c:167 msgid "Must be a Group subclass." msgstr "" -#: shared-bindings/displayio/Display.c:187 -#: shared-bindings/displayio/Display.c:197 +#: shared-bindings/displayio/Display.c:209 +#: shared-bindings/displayio/Display.c:219 msgid "Brightness not adjustable" msgstr "" @@ -2363,6 +2367,12 @@ msgstr "" msgid "Too many display busses" msgstr "" +#: shared-bindings/displayio/FourWire.c:109 +#: shared-bindings/displayio/ParallelBus.c:113 +#, fuzzy +msgid "Command must be an int between 0 and 255" +msgstr "Os bytes devem estar entre 0 e 255." + #: shared-bindings/displayio/Group.c:62 msgid "Group must have size at least 1" msgstr "Grupo deve ter tamanho pelo menos 1" @@ -2680,7 +2690,7 @@ msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados" msgid "row must be packed and word aligned" msgstr "Linha deve ser comprimida e com as palavras alinhadas" -#: shared-module/displayio/Display.c:69 +#: shared-module/displayio/Display.c:67 #, fuzzy msgid "Unsupported display bus type" msgstr "Taxa de transmissão não suportada" @@ -2821,40 +2831,40 @@ msgid "" "exit safe mode.\n" msgstr "" -#, fuzzy -#~ msgid "All PWM peripherals are in use" -#~ msgstr "Todos os temporizadores em uso" - -#~ msgid "Invalid Service type" -#~ msgstr "Tipo de serviço inválido" - -#~ msgid "Can not add Characteristic." -#~ msgstr "Não é possível adicionar Característica." - -#~ msgid "Cannot set PPCP parameters." -#~ msgstr "Não é possível definir parâmetros PPCP." - -#~ 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 query for the device address." -#~ msgstr "Não é possível consultar o endereço do dispositivo." - -#~ msgid "Can encode UUID into the advertisement packet." -#~ msgstr "Pode codificar o UUID no pacote de anúncios." - -#~ msgid "Baud rate too high for this SPI peripheral" -#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI" +#~ msgid "Can not apply device name in the stack." +#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha." #, fuzzy #~ msgid "unpack requires a buffer of %d bytes" #~ msgstr "Falha ao alocar buffer RX de %d bytes" -#~ msgid "Can not apply device name in the stack." -#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha." +#~ msgid "Baud rate too high for this SPI peripheral" +#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI" + +#, fuzzy +#~ msgid "All PWM peripherals are in use" +#~ msgstr "Todos os temporizadores em uso" #~ msgid "Invalid UUID parameter" #~ msgstr "Parâmetro UUID inválido" + +#~ msgid "Can encode UUID into the advertisement packet." +#~ msgstr "Pode codificar o UUID no pacote de anúncios." + +#~ msgid "Can not apply advertisement data. status: 0x%02x" +#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x" + +#~ msgid "Cannot set PPCP parameters." +#~ msgstr "Não é possível definir parâmetros PPCP." + +#~ msgid "Can not add Characteristic." +#~ msgstr "Não é possível adicionar Característica." + +#~ msgid "Can not query for the device address." +#~ msgstr "Não é possível consultar o endereço do dispositivo." + +#~ msgid "Invalid Service type" +#~ msgstr "Tipo de serviço inválido" + +#~ msgid "Cannot apply GAP parameters." +#~ msgstr "Não é possível aplicar parâmetros GAP." From 03068a93884e5d0c7bd5b937e0362b379bb2ac9a Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 1 Feb 2019 01:00:10 -0800 Subject: [PATCH 3/4] Fix built-in inits and terminal allocate --- ports/atmel-samd/boards/hallowing_m0_express/board.c | 2 ++ ports/atmel-samd/boards/pyportal/board.c | 6 ++++-- supervisor/shared/display.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ports/atmel-samd/boards/hallowing_m0_express/board.c b/ports/atmel-samd/boards/hallowing_m0_express/board.c index 72306e14a9..ab166d39be 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/board.c +++ b/ports/atmel-samd/boards/hallowing_m0_express/board.c @@ -85,10 +85,12 @@ void board_init(void) { 128, // Height 2, // column start 1, // row start + 0, // rotation 16, // Color depth MIPI_COMMAND_SET_COLUMN_ADDRESS, // Set column command MIPI_COMMAND_SET_PAGE_ADDRESS, // Set row command MIPI_COMMAND_WRITE_MEMORY_START, // Write memory command + 0x37, // set vertical scroll command display_init_sequence, sizeof(display_init_sequence), &pin_PA00); diff --git a/ports/atmel-samd/boards/pyportal/board.c b/ports/atmel-samd/boards/pyportal/board.c index 980a28e9b6..3ef079e537 100644 --- a/ports/atmel-samd/boards/pyportal/board.c +++ b/ports/atmel-samd/boards/pyportal/board.c @@ -48,11 +48,11 @@ uint8_t display_init_sequence[] = { 0xc1, 1, 0x10, // Power control SAP[2:0];BT[3:0] 0xc5, 2, 0x3e, 0x28, // VCM control 0xc7, 1, 0x86, // VCM control2 - 0x36, 1, 0x38, // Memory Access Control + 0x36, 1, 0x08, // Memory Access Control 0x37, 1, 0x00, // Vertical scroll zero 0x3a, 1, 0x55, // COLMOD: Pixel Format Set 0xb1, 2, 0x00, 0x18, // Frame Rate Control (In Normal Mode/Full Colors) - 0xb6, 3, 0x08, 0x82, 0x27, // Display Function Control + 0xb6, 3, 0x08, 0xa2, 0x27, // Display Function Control 0xF2, 1, 0x00, // 3Gamma Function Disable 0x26, 1, 0x01, // Gamma curve selected 0xe0, 15, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, // Set Gamma @@ -82,10 +82,12 @@ void board_init(void) { 240, // Height 0, // column start 0, // row start + 90, // rotation 16, // Color depth MIPI_COMMAND_SET_COLUMN_ADDRESS, // Set column command MIPI_COMMAND_SET_PAGE_ADDRESS, // Set row command MIPI_COMMAND_WRITE_MEMORY_START, // Write memory command + 0x37, // Set vertical scroll command display_init_sequence, sizeof(display_init_sequence), &pin_PB31); diff --git a/supervisor/shared/display.c b/supervisor/shared/display.c index 3a430f5680..2652630bed 100644 --- a/supervisor/shared/display.c +++ b/supervisor/shared/display.c @@ -55,7 +55,7 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) { uint16_t total_tiles = width_in_tiles * height_in_tiles; // First try to allocate outside the heap. This will fail when the VM is running. - tilegrid_tiles = allocate_memory(total_tiles, false); + tilegrid_tiles = allocate_memory(align32_size(total_tiles), false); uint8_t* tiles; if (tilegrid_tiles == NULL) { tiles = m_malloc(total_tiles, true); From 845783a4572e919658b4c320cb1359f2c7ebbadd Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 1 Feb 2019 09:33:33 -0800 Subject: [PATCH 4/4] Clarify rotation parameter --- shared-bindings/displayio/Display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index 91ced1dd3b..adc121bc50 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -85,7 +85,7 @@ //| :param int height: Height in pixels //| :param int colstart: The index if the first visible column //| :param int rowstart: The index if the first visible row -//| :param int rotation: The rotation of the display in 90 degree increments +//| :param int rotation: The rotation of the display in degrees clockwise. Must be in 90 degree increments (0, 90, 180, 270) //| :param int color_depth: The number of bits of color per pixel transmitted. (Some displays //| support 18 bit but 16 is easier to transmit. The last bit is extrapolated.) //| :param int set_column_command: Command used to set the start and end columns to update