@@ -30,44 +30,47 @@ FirmwareUpdate::FirmwareUpdate(Pinetime::Applications::DisplayApp* app, Pinetime
3030 lv_label_set_text (percentLabel, " " );
3131 lv_obj_set_auto_realign (percentLabel, true );
3232 lv_obj_align (percentLabel, bar1, LV_ALIGN_OUT_TOP_MID, 0 , 60 );
33+
34+ taskRefresh = lv_task_create (RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this );
3335}
3436
3537FirmwareUpdate::~FirmwareUpdate () {
38+ lv_task_del (taskRefresh);
3639 lv_obj_clean (lv_scr_act ());
3740}
3841
39- bool FirmwareUpdate::Refresh () {
42+ void FirmwareUpdate::Refresh () {
4043 switch (bleController.State ()) {
4144 default :
4245 case Pinetime::Controllers::Ble::FirmwareUpdateStates::Idle:
4346 case Pinetime::Controllers::Ble::FirmwareUpdateStates::Running:
4447 if (state != States::Running)
4548 state = States::Running;
46- return DisplayProgression ();
49+ DisplayProgression ();
50+ return ;
4751 case Pinetime::Controllers::Ble::FirmwareUpdateStates::Validated:
4852 if (state != States::Validated) {
4953 UpdateValidated ();
5054 state = States::Validated;
5155 }
52- return running ;
56+ return ;
5357 case Pinetime::Controllers::Ble::FirmwareUpdateStates::Error:
5458 if (state != States::Error) {
5559 UpdateError ();
5660 state = States::Error;
5761 }
58- return running ;
62+ return ;
5963 }
6064}
6165
62- bool FirmwareUpdate::DisplayProgression () const {
66+ void FirmwareUpdate::DisplayProgression () const {
6367 float current = bleController.FirmwareUpdateCurrentBytes () / 1024 .0f ;
6468 float total = bleController.FirmwareUpdateTotalBytes () / 1024 .0f ;
6569 int16_t pc = (current / total) * 100 .0f ;
6670 sprintf (percentStr, " %d %%" , pc);
6771 lv_label_set_text (percentLabel, percentStr);
6872
6973 lv_bar_set_value (bar1, pc, LV_ANIM_OFF);
70- return running;
7174}
7275
7376void FirmwareUpdate::UpdateValidated () {
0 commit comments