diff options
| author | JF <jf@codingfield.com> | 2020-06-01 07:22:54 (GMT) |
|---|---|---|
| committer | JF <jf@codingfield.com> | 2020-06-01 07:22:54 (GMT) |
| commit | dca559aad5a5020ae0d5c1bec08bbf5030e0d718 (patch) | |
| tree | df449fb41a14bb321e69f19f646109c2fb79d093 /src/DisplayApp/Screens/FirmwareUpdate.h | |
| parent | 4717cf0a1d6c210a362e8bdf63265c4910e2c8cc (diff) | |
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.
Diffstat (limited to 'src/DisplayApp/Screens/FirmwareUpdate.h')
| -rw-r--r-- | src/DisplayApp/Screens/FirmwareUpdate.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/DisplayApp/Screens/FirmwareUpdate.h b/src/DisplayApp/Screens/FirmwareUpdate.h index a4cbec6..87e9395 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(); }; } } |
