From dca559aad5a5020ae0d5c1bec08bbf5030e0d718 Mon Sep 17 00:00:00 2001 From: JF Date: Mon, 1 Jun 2020 09:22:54 +0200 Subject: Improve DFU procedure : - correctly write all bytes to flash - check CRC - Fix bug in notification : they cannot be sent from the control point handler (because it seems you cannot send a notification and a write acknowledge at the same time) using a timer (quick'n'dirty implementation to be improved) - Improve dfu screen - Reset if dfu image is correctly copied into flash and crc is ok. --- src/DisplayApp/Screens/FirmwareUpdate.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/DisplayApp/Screens/FirmwareUpdate.h') diff --git a/src/DisplayApp/Screens/FirmwareUpdate.h b/src/DisplayApp/Screens/FirmwareUpdate.h index a4cbec62..87e93959 100644 --- a/src/DisplayApp/Screens/FirmwareUpdate.h +++ b/src/DisplayApp/Screens/FirmwareUpdate.h @@ -26,13 +26,22 @@ namespace Pinetime { bool OnButtonPushed() override; private: + enum class States { Idle, Running, Validated, Error }; Pinetime::Controllers::Ble& bleController; - lv_obj_t * bar1; - lv_obj_t * percentLabel; - lv_obj_t * titleLabel; - char percentStr[10]; + lv_obj_t* bar1; + lv_obj_t* percentLabel; + lv_obj_t* titleLabel; + lv_obj_t* labelBtn; + lv_obj_t* button; + mutable char percentStr[10]; bool running = true; + States state; + bool DisplayProgression() const; + + void UpdateValidated(); + + void UpdateError(); }; } } -- cgit v1.2.3-70-g09d2