diff --git a/firmware/src/main.cpp b/firmware/src/main.cpp index 7d723ee..13f8f0a 100644 --- a/firmware/src/main.cpp +++ b/firmware/src/main.cpp @@ -28,6 +28,7 @@ int main(void) cfg_mem.init(); uint8_t user_force = 0; + uint16_t dsp_lock = 0; button_force.force = cfg_mem.btn_force; dccd_force.brake_mode = cfg_mem.bmode; @@ -58,7 +59,38 @@ int main(void) ccout.update(); // Set display - display.show_percent(dccd_force.force, hw::DisplayLed::LED_DSP_DOT10); + if(dccd_force.is_new_bmode) + { + uint8_t bmode_img = 0x03; + switch(dccd_force.brake_mode) + { + case 1: + bmode_img = 0x0C; + break; + + case 2: + bmode_img = 0x30; + break; + + default: + bmode_img = 0x03; + break; + } + display.write(bmode_img); + dsp_lock = 1000; + dccd_force.is_new_bmode = 0; + } + else if((button_force.is_new)&&(cfg_mem.pot_mode==0)) + { + display.show_percent(dccd_force.force, hw::DisplayLed::LED_DSP_DOT10); + dsp_lock = 500; + button_force.is_new = 0; + } + else + { + if(dsp_lock) dsp_lock--; + else display.show_percent(dccd_force.force, hw::DisplayLed::LED_DSP_DOT10); + } // Process dimm if(sw_dimm.state == hw::BUTTON_ON) display.set_brigthness(cfg_mem.dsp_dimm);