From 0cfae6334e7c2f5554aa2e52114a04a49dbba941 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sat, 15 Feb 2020 19:53:03 +0200 Subject: [PATCH] Add BGR argument to lcd init. --- scripts/examples/02-Board-Control/spi_control.py | 1 + src/omv/py/py_lcd.c | 4 +++- src/omv/py/qstrdefsomv.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/examples/02-Board-Control/spi_control.py b/scripts/examples/02-Board-Control/spi_control.py index 87e2e46bf..8136fc7c0 100644 --- a/scripts/examples/02-Board-Control/spi_control.py +++ b/scripts/examples/02-Board-Control/spi_control.py @@ -49,6 +49,7 @@ write_command(0x11) # Sleep Exit time.sleep(120) # Memory Data Access Control +# Write 0xC8 for BGR mode. write_command(0x36, 0xC0) # Interface Pixel Format diff --git a/src/omv/py/py_lcd.c b/src/omv/py/py_lcd.c index b38990174..493411b3a 100644 --- a/src/omv/py/py_lcd.c +++ b/src/omv/py/py_lcd.c @@ -204,7 +204,9 @@ static mp_obj_t py_lcd_init(uint n_args, const mp_obj_t *args, mp_map_t *kw_args systick_sleep(120); // Memory Data Access Control - lcd_write_command(0x36, 1, (uint8_t []) {0xC0}); + uint8_t madctl = 0xC0; + uint8_t bgr = py_helper_keyword_int(n_args, args, 0, kw_args, MP_OBJ_NEW_QSTR(MP_QSTR_bgr), 0); + lcd_write_command(0x36, 1, (uint8_t []) {madctl | (bgr<<3)}); // Interface Pixel Format lcd_write_command(0x3A, 1, (uint8_t []) {0x05}); diff --git a/src/omv/py/qstrdefsomv.h b/src/omv/py/qstrdefsomv.h index 7e618038b..42a38cd96 100644 --- a/src/omv/py/qstrdefsomv.h +++ b/src/omv/py/qstrdefsomv.h @@ -83,6 +83,7 @@ Q(set_backlight) Q(get_backlight) Q(display) Q(clear) +Q(bgr) // tv Module Q(tv)