Lock MAX7456 updates during font update

This commit is contained in:
Marcin Baliniak 2016-09-23 14:43:51 +02:00
parent 6bfcb9f023
commit fa64da4986
1 changed files with 3 additions and 1 deletions

View File

@ -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 video_signal_reg = VIDEO_MODE_PAL | OSD_ENABLE; //PAL by default
static uint8_t max7456_lock = 0; static uint8_t max7456_lock = 0;
static IO_t max7456CsPin = IO_NONE; static IO_t max7456CsPin = IO_NONE;
static uint8_t font_is_loading = 0;
static uint8_t max7456_send(uint8_t add, uint8_t data) 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; static uint16_t pos = 0;
int k = 0, buff_len=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-------- //-----------------detect MAX7456 fail, or initialize it at startup when it is ready--------
max7456_lock = 1; max7456_lock = 1;
ENABLE_MAX7456; ENABLE_MAX7456;
@ -396,6 +397,7 @@ void max7456_write_nvm(uint8_t char_address, uint8_t *font_data) {
ENABLE_MAX7456; ENABLE_MAX7456;
// disable display // disable display
font_is_loading = 1;
max7456_send(VM0_REG, 0); max7456_send(VM0_REG, 0);
max7456_send(MAX7456ADD_CMAH, char_address); // set start address high max7456_send(MAX7456ADD_CMAH, char_address); // set start address high