From fa64da4986dea00e8c5d973781157cede1e641d6 Mon Sep 17 00:00:00 2001 From: Marcin Baliniak Date: Fri, 23 Sep 2016 14:43:51 +0200 Subject: [PATCH 1/2] Lock MAX7456 updates during font update --- src/main/drivers/max7456.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/drivers/max7456.c b/src/main/drivers/max7456.c index 32d8094ef6..c6c79b5bf8 100755 --- a/src/main/drivers/max7456.c +++ b/src/main/drivers/max7456.c @@ -70,6 +70,7 @@ static uint8_t video_signal_cfg = 0; static uint8_t video_signal_reg = VIDEO_MODE_PAL | OSD_ENABLE; //PAL by default static uint8_t max7456_lock = 0; static IO_t max7456CsPin = IO_NONE; +static uint8_t font_is_loading = 0; static uint8_t max7456_send(uint8_t add, uint8_t data) { @@ -311,7 +312,7 @@ void max7456_draw_screen(void) { static uint16_t pos = 0; int k = 0, buff_len=0; - if (!max7456_lock) { + if (!max7456_lock && !font_is_loading) { //-----------------detect MAX7456 fail, or initialize it at startup when it is ready-------- max7456_lock = 1; ENABLE_MAX7456; @@ -396,6 +397,7 @@ void max7456_write_nvm(uint8_t char_address, uint8_t *font_data) { ENABLE_MAX7456; // disable display + font_is_loading = 1; max7456_send(VM0_REG, 0); max7456_send(MAX7456ADD_CMAH, char_address); // set start address high From d135edda218c8cb5f3ae2c3f0f36df385518b5cf Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Sat, 24 Sep 2016 13:50:08 +0200 Subject: [PATCH 2/2] Coding Style --- src/main/drivers/max7456.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/drivers/max7456.c b/src/main/drivers/max7456.c index c6c79b5bf8..7fd276b158 100755 --- a/src/main/drivers/max7456.c +++ b/src/main/drivers/max7456.c @@ -70,7 +70,7 @@ static uint8_t video_signal_cfg = 0; static uint8_t video_signal_reg = VIDEO_MODE_PAL | OSD_ENABLE; //PAL by default static uint8_t max7456_lock = 0; static IO_t max7456CsPin = IO_NONE; -static uint8_t font_is_loading = 0; +static bool fontIsLoading = false; static uint8_t max7456_send(uint8_t add, uint8_t data) { @@ -312,7 +312,7 @@ void max7456_draw_screen(void) { static uint16_t pos = 0; int k = 0, buff_len=0; - if (!max7456_lock && !font_is_loading) { + if (!max7456_lock && !fontIsLoading) { //-----------------detect MAX7456 fail, or initialize it at startup when it is ready-------- max7456_lock = 1; ENABLE_MAX7456; @@ -397,7 +397,7 @@ void max7456_write_nvm(uint8_t char_address, uint8_t *font_data) { ENABLE_MAX7456; // disable display - font_is_loading = 1; + fontIsLoading = true; max7456_send(VM0_REG, 0); max7456_send(MAX7456ADD_CMAH, char_address); // set start address high