From 7d6c062487eb17de7236144621af6b7abe085ece Mon Sep 17 00:00:00 2001 From: TilCreator <tilman.jackel@gmx.de> Date: Fri, 30 Aug 2019 14:21:07 +0200 Subject: [PATCH] Add documentation stuff --- epicardium/epicardium.h | 7 ++++++- pycardium/modules/py/display.py | 31 ++++++++++++++++++++++++++++++- pycardium/modules/sys_display.c | 1 + 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/epicardium/epicardium.h b/epicardium/epicardium.h index cbc89d3f..ff8fb0f6 100644 --- a/epicardium/epicardium.h +++ b/epicardium/epicardium.h @@ -1304,8 +1304,13 @@ API(API_DISP_PIXEL, ); /** + * Draws pixels on the display + * + * :param data: Image data as byte string: int8 x, int8 y, int16 rgb585, ... + * :param data_length: Amount of pixels in data + * :param offset_x: Offset in x direction of the pixels + * :param offset_y: Offset in y direction of the pixels */ - API(API_DISP_PIXELS, int epic_disp_pixels(const uint8_t *data, size_t data_length, uint8_t offset_x, uint8_t offset_y) ); diff --git a/pycardium/modules/py/display.py b/pycardium/modules/py/display.py index 220951e4..aa1d14a6 100644 --- a/pycardium/modules/py/display.py +++ b/pycardium/modules/py/display.py @@ -10,6 +10,12 @@ FONT24 = 4 def get_pixels_size(data): + """ + Returns (min_x, min_y, max_x, max_y, width, height) from and pixels data byte string + + :param data: Image data as byte string: int8 x, int8 y, int16 rgb585, ... + """ + min_x = max_x = data[0] min_y = max_y = data[1] @@ -136,7 +142,30 @@ class Display: """ Draws pixels on the display - :param data: Image data as byte string: int8 x, int8 y, int16 rgb585 + :param data: Image data as byte string: int8 x, int8 y, int16 rgb585, ... + :param offset_x: Offset in x direction of the pixels + :param offset_y: Offset in y direction of the pixels + + **Example:** + .. code-block:: python + + data = b'\x00\x00\xF8\x00' + # |--| x-position: 0 + # |--| yposition: 0 + # |------| color (rgb565): red + data += b'\x05\x00\x07\xE0' + # |--| x-position: 1 + # |--| yposition: 0 + # |------| color (rgb565): green + data += b'\x02\x0f\x00\x1F' + # |--| x-position: 2 + # |--| yposition: 15 + # |------| color (rgb565): blue + + with display.open() as d: + d.clear() + d.pixels(data, offset_x=20, offset_y=10) + d.update() """ sys_display.pixels(data, offset_x, offset_y) diff --git a/pycardium/modules/sys_display.c b/pycardium/modules/sys_display.c index d1b6e168..19507685 100644 --- a/pycardium/modules/sys_display.c +++ b/pycardium/modules/sys_display.c @@ -94,6 +94,7 @@ static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN( display_pixel_obj, 3, 3, mp_display_pixel ); +/* draw pixels on the display */ static mp_obj_t mp_display_pixels(size_t n_args, const mp_obj_t *args) { uint8_t offset_x = mp_obj_get_int(args[1]); -- GitLab