Skip to content

Commit 3059478

Browse files
authored
Touch:fix bootloader ui issue (#322)
* fix(boot):fix bootloader ui issue * chore(core):bump bootloader version to 2.3.5
1 parent 9cb218b commit 3059478

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

core/embed/bootloader/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ static secbool bootloader_usb_loop(const vendor_header *const vhdr,
223223
restart();
224224
return secfalse; // shutdown
225225
} else if (r == 0) { // last chunk received
226-
ui_screen_install_progress_upload(1000);
226+
// ui_screen_install_progress_upload(1000);
227227
ui_fadeout();
228228
ui_screen_done(4, sectrue);
229229
ui_fadein();

core/embed/bootloader/messages.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,8 @@ void process_msg_Ping(uint8_t iface_num, uint32_t msg_size, uint8_t *buf) {
406406
MSG_SEND(Success);
407407
}
408408

409-
static uint32_t firmware_remaining, firmware_block, chunk_requested;
409+
static uint32_t firmware_remaining, firmware_len, firmware_block,
410+
chunk_requested;
410411

411412
void process_msg_FirmwareErase(uint8_t iface_num, uint32_t msg_size,
412413
uint8_t *buf) {
@@ -417,7 +418,7 @@ void process_msg_FirmwareErase(uint8_t iface_num, uint32_t msg_size,
417418
MSG_RECV_INIT(FirmwareErase);
418419
MSG_RECV(FirmwareErase);
419420

420-
firmware_remaining = msg_recv.has_length ? msg_recv.length : 0;
421+
firmware_len = firmware_remaining = msg_recv.has_length ? msg_recv.length : 0;
421422
if ((firmware_remaining > 0) &&
422423
((firmware_remaining % sizeof(uint32_t)) == 0) &&
423424
(firmware_remaining <= (FIRMWARE_SECTORS_COUNT * IMAGE_CHUNK_SIZE))) {
@@ -476,8 +477,7 @@ static bool _read_payload(pb_istream_t *stream, const pb_field_t *field,
476477
while (stream->bytes_left) {
477478
// update loader but skip first block
478479
if (update_mode == UPDATE_BLE) {
479-
ui_screen_install_progress_upload(1000 * chunk_written /
480-
firmware_remaining);
480+
ui_screen_install_progress_upload(1000 * chunk_written / firmware_len);
481481
} else {
482482
if (firmware_block > 0) {
483483
ui_screen_install_progress_upload(
@@ -496,6 +496,10 @@ static bool _read_payload(pb_istream_t *stream, const pb_field_t *field,
496496
chunk_written += buffer_size;
497497
}
498498

499+
if (update_mode == UPDATE_BLE) {
500+
ui_screen_install_progress_upload(1000 * chunk_written / firmware_len);
501+
}
502+
499503
return true;
500504
}
501505

core/embed/bootloader/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#define VERSION_MAJOR 2
22
#define VERSION_MINOR 3
3-
#define VERSION_PATCH 4
3+
#define VERSION_PATCH 5
44
#define VERSION_BUILD 0
55
#define VERSION_UINT32 \
66
(VERSION_MAJOR | (VERSION_MINOR << 8) | (VERSION_PATCH << 16) | \
77
(VERSION_BUILD << 24))
88

99
#define FIX_VERSION_MAJOR 2
1010
#define FIX_VERSION_MINOR 3
11-
#define FIX_VERSION_PATCH 4
11+
#define FIX_VERSION_PATCH 5
1212
#define FIX_VERSION_BUILD 0
1313

1414
#define VERSION_MONOTONIC 1

core/embed/extmod/modtrezorui/display.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@ void display_progress_percent(int x, int y, int permil) {
11151115

11161116
void _display_progress(uint16_t y, const char *desc, int permil) {
11171117
if (desc) {
1118-
display_text_center(MAX_DISPLAY_RESX / 2, y, desc, -1, FONT_NORMAL,
1118+
display_text_center(MAX_DISPLAY_RESX / 2, y - 20, desc, -1, FONT_NORMAL,
11191119
COLOR_WHITE, COLOR_BLACK);
11201120
}
11211121
display_progress_percent(MAX_DISPLAY_RESX / 2, y + 40, permil / 10);

core/embed/trezorhal/nordic_dfu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ bool updateBle(uint8_t *init_data, uint8_t init_len, uint8_t *firmware,
281281

282282
// firmware
283283
if (select_object(fw_type) != true) return false;
284-
display_bar(0, 556, DISPLAY_RESX, 64, COLOR_BLACK);
284+
display_bar(0, 400, DISPLAY_RESX, 400, COLOR_BLACK);
285285
while (fm_len > 0) {
286286
display_progress("Installing bluetooth firmware",
287287
1000 * offset_i / totol_len);

0 commit comments

Comments
 (0)