diff --git a/src/main_osp.cc b/src/main_osp.cc index 1818e4e..127ce2f 100644 --- a/src/main_osp.cc +++ b/src/main_osp.cc @@ -217,6 +217,13 @@ namespace Heck { bool heartbeat_led_state{ false }; u32 heartbeat_systick_last{}; + SWTimer heartbeat{}; + heartbeat.set_period(500); + heartbeat.set_callback([&heartbeat_led_state](){ + heartbeat_led_state = !heartbeat_led_state; + hw.SetLed(heartbeat_led_state); + }); + bool but_record_new{ false }; bool but_record_current{ false }; @@ -340,12 +347,7 @@ namespace Heck { } } } - - if (systick_now - heartbeat_systick_last > 500) { - heartbeat_systick_last = systick_now; - heartbeat_led_state = !heartbeat_led_state; - hw.SetLed(heartbeat_led_state); - } + heartbeat.is_it_already_time_again(systick_now); } } } // namespace Heck