diff --git a/firmware/src/hw/devices.cpp b/firmware/src/hw/devices.cpp index 650df83..6fd6933 100644 --- a/firmware/src/hw/devices.cpp +++ b/firmware/src/hw/devices.cpp @@ -58,6 +58,8 @@ void devices_update_inputs(void) sup_fuse.update(); out_fuse.update(); + + display.process_timer(); } /**** Private function definitions ****/ diff --git a/firmware/src/main.cpp b/firmware/src/main.cpp index 842f2ca..bf0ffa7 100644 --- a/firmware/src/main.cpp +++ b/firmware/src/main.cpp @@ -1,6 +1,5 @@ /**** Includes ****/ #include "utils/utils.h" -#include "utils/interpolate.h" #include "hw/devices.h" @@ -14,9 +13,6 @@ static const uint16_t dsp_lock_bmode = 1000; static const uint16_t dsp_lock_force = 50; -static const uint16_t cfg_max_hbrake_time = 1000; -static const uint8_t cfg_brake_force = 100; - /**** Private variables ****/ static logic::CfgMemory cfg_mem = logic::CfgMemory(); @@ -34,12 +30,11 @@ 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; - dccd_force.max_hbrake_time = cfg_max_hbrake_time; - dccd_force.brake_force = cfg_brake_force; + dccd_force.max_hbrake_time = cfg_mem.max_hbrake_time; + dccd_force.brake_force = cfg_mem.brake_force; // Super loop while(1) @@ -85,20 +80,16 @@ int main(void) break; } display.write(bmode_img); - dsp_lock = dsp_lock_bmode; + display.set_lock(dsp_lock_bmode); 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 = dsp_lock_force; + display.set_lock(dsp_lock_force); button_force.is_new = 0; } - else - { - if(dsp_lock) dsp_lock--; - else display.show_percent(dccd_force.force, hw::DisplayLed::LED_DSP_DOT10); - } + else if(display.locked==0) 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);