mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-26 16:18:22 +00:00
fix(core): remove unused stuff from bootloader_ci
plus minor ui function renames
This commit is contained in:
parent
a4ba24645b
commit
5dd3d73d00
@ -19,24 +19,23 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "display.h"
|
||||
#include "mini_printf.h"
|
||||
|
||||
#include "bootui.h"
|
||||
#include "touch.h"
|
||||
#include "version.h"
|
||||
|
||||
#include "display.h"
|
||||
#include "icon_cancel.h"
|
||||
#include "icon_confirm.h"
|
||||
#include "icon_done.h"
|
||||
#include "icon_fail.h"
|
||||
#include "icon_info.h"
|
||||
#include "icon_install.h"
|
||||
#include "icon_wipe.h"
|
||||
|
||||
#include "icon_logo.h"
|
||||
#include "icon_safeplace.h"
|
||||
#include "icon_welcome.h"
|
||||
#include "icon_wipe.h"
|
||||
#include "mini_printf.h"
|
||||
#include "touch.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
#define BACKLIGHT_NORMAL 150
|
||||
|
||||
@ -121,19 +120,19 @@ void ui_screen_boot_click(void) {
|
||||
|
||||
// welcome UI
|
||||
|
||||
void ui_screen_first(void) {
|
||||
void ui_screen_welcome_first(void) {
|
||||
display_icon(0, 0, 240, 240, toi_icon_logo + 12, sizeof(toi_icon_logo) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
void ui_screen_second(void) {
|
||||
void ui_screen_welcome_second(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_icon((DISPLAY_RESX - 200) / 2, (DISPLAY_RESY - 60) / 2, 200, 60,
|
||||
toi_icon_safeplace + 12, sizeof(toi_icon_safeplace) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
void ui_screen_third(void) {
|
||||
void ui_screen_welcome_third(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_icon((DISPLAY_RESX - 180) / 2, (DISPLAY_RESY - 30) / 2 - 5, 180, 30,
|
||||
toi_icon_welcome + 12, sizeof(toi_icon_welcome) - 12,
|
||||
@ -250,7 +249,7 @@ void ui_screen_install_confirm_newvendor_or_downgrade_wipe(
|
||||
ui_confirm_cancel_buttons();
|
||||
}
|
||||
|
||||
void ui_screen_install(void) {
|
||||
void ui_screen_install_start(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_loader(0, false, -20, COLOR_BL_PROCESS, COLOR_WHITE, toi_icon_install,
|
||||
sizeof(toi_icon_install), COLOR_BLACK);
|
||||
|
@ -28,9 +28,9 @@ void ui_screen_boot(const vendor_header* const vhdr,
|
||||
void ui_screen_boot_wait(int wait_seconds);
|
||||
void ui_screen_boot_click(void);
|
||||
|
||||
void ui_screen_first(void);
|
||||
void ui_screen_second(void);
|
||||
void ui_screen_third(void);
|
||||
void ui_screen_welcome_first(void);
|
||||
void ui_screen_welcome_second(void);
|
||||
void ui_screen_welcome_third(void);
|
||||
|
||||
void ui_screen_info(secbool buttons, const vendor_header* const vhdr,
|
||||
const image_header* const hdr);
|
||||
@ -41,7 +41,7 @@ void ui_screen_install_confirm_upgrade(const vendor_header* const vhdr,
|
||||
void ui_screen_install_confirm_newvendor_or_downgrade_wipe(
|
||||
const vendor_header* const vhdr, const image_header* const hdr,
|
||||
secbool downgrade_wipe);
|
||||
void ui_screen_install(void);
|
||||
void ui_screen_install_start(void);
|
||||
void ui_screen_install_progress_erase(int pos, int len);
|
||||
void ui_screen_install_progress_upload(int pos);
|
||||
|
||||
|
@ -285,19 +285,19 @@ int main(void) {
|
||||
// show intro animation
|
||||
|
||||
// no ui_fadeout(); - we already start from black screen
|
||||
ui_screen_first();
|
||||
ui_screen_welcome_first();
|
||||
ui_fadein();
|
||||
|
||||
hal_delay(1000);
|
||||
|
||||
ui_fadeout();
|
||||
ui_screen_second();
|
||||
ui_screen_welcome_second();
|
||||
ui_fadein();
|
||||
|
||||
hal_delay(1000);
|
||||
|
||||
ui_fadeout();
|
||||
ui_screen_third();
|
||||
ui_screen_welcome_third();
|
||||
ui_fadein();
|
||||
|
||||
// erase storage
|
||||
|
@ -552,7 +552,7 @@ int process_msg_FirmwareUpload(uint8_t iface_num, uint32_t msg_size,
|
||||
read_offset = 0;
|
||||
|
||||
ui_fadeout();
|
||||
ui_screen_install();
|
||||
ui_screen_install_start();
|
||||
ui_fadein();
|
||||
|
||||
// if firmware is not upgrade, erase storage
|
||||
|
@ -19,121 +19,24 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "display.h"
|
||||
#include "mini_printf.h"
|
||||
|
||||
#include "bootui.h"
|
||||
#include "touch.h"
|
||||
#include "version.h"
|
||||
|
||||
#include "icon_cancel.h"
|
||||
#include "icon_confirm.h"
|
||||
#include "display.h"
|
||||
#include "icon_done.h"
|
||||
#include "icon_fail.h"
|
||||
#include "icon_info.h"
|
||||
#include "icon_install.h"
|
||||
#include "icon_wipe.h"
|
||||
|
||||
#include "icon_logo.h"
|
||||
#include "icon_safeplace.h"
|
||||
#include "icon_welcome.h"
|
||||
#include "icon_wipe.h"
|
||||
#include "mini_printf.h"
|
||||
|
||||
#define BACKLIGHT_NORMAL 150
|
||||
|
||||
#define COLOR_BL_FAIL RGB16(0xFF, 0x00, 0x00) // red
|
||||
#define COLOR_BL_DONE RGB16(0x00, 0xAE, 0x0B) // green
|
||||
#define COLOR_BL_PROCESS RGB16(0x4A, 0x90, 0xE2) // blue
|
||||
#define COLOR_BL_GRAY RGB16(0x99, 0x99, 0x99) // gray
|
||||
|
||||
// common shared functions
|
||||
|
||||
static void ui_confirm_cancel_buttons(void) {
|
||||
display_bar_radius(9, 184, 108, 50, COLOR_BL_FAIL, COLOR_WHITE, 4);
|
||||
display_icon(9 + (108 - 16) / 2, 184 + (50 - 16) / 2, 16, 16,
|
||||
toi_icon_cancel + 12, sizeof(toi_icon_cancel) - 12, COLOR_WHITE,
|
||||
COLOR_BL_FAIL);
|
||||
display_bar_radius(123, 184, 108, 50, COLOR_BL_DONE, COLOR_WHITE, 4);
|
||||
display_icon(123 + (108 - 19) / 2, 184 + (50 - 16) / 2, 20, 16,
|
||||
toi_icon_confirm + 12, sizeof(toi_icon_confirm) - 12,
|
||||
COLOR_WHITE, COLOR_BL_DONE);
|
||||
}
|
||||
|
||||
static const char *format_ver(const char *format, uint32_t version) {
|
||||
static char ver_str[64];
|
||||
mini_snprintf(ver_str, sizeof(ver_str), format, (int)(version & 0xFF),
|
||||
(int)((version >> 8) & 0xFF), (int)((version >> 16) & 0xFF)
|
||||
// ignore build field (int)((version >> 24) & 0xFF)
|
||||
);
|
||||
return ver_str;
|
||||
}
|
||||
|
||||
// boot UI
|
||||
|
||||
static uint16_t boot_background;
|
||||
|
||||
void ui_screen_boot(const vendor_header *const vhdr,
|
||||
const image_header *const hdr) {
|
||||
const int show_string = ((vhdr->vtrust & VTRUST_STRING) == 0);
|
||||
if ((vhdr->vtrust & VTRUST_RED) == 0) {
|
||||
boot_background = COLOR_BL_FAIL;
|
||||
} else {
|
||||
boot_background = COLOR_BLACK;
|
||||
}
|
||||
|
||||
const uint8_t *vimg = vhdr->vimg;
|
||||
const uint32_t fw_version = hdr->version;
|
||||
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, boot_background);
|
||||
|
||||
int image_top = show_string ? 30 : (DISPLAY_RESY - 120) / 2;
|
||||
|
||||
// check whether vendor image is 120x120
|
||||
if (memcmp(vimg, "TOIf\x78\x00\x78\x00", 4) == 0) {
|
||||
uint32_t datalen = *(uint32_t *)(vimg + 8);
|
||||
display_image((DISPLAY_RESX - 120) / 2, image_top, 120, 120, vimg + 12,
|
||||
datalen);
|
||||
}
|
||||
|
||||
if (show_string) {
|
||||
display_text_center(DISPLAY_RESX / 2, DISPLAY_RESY - 5 - 50, vhdr->vstr,
|
||||
vhdr->vstr_len, FONT_NORMAL, COLOR_WHITE,
|
||||
boot_background);
|
||||
const char *ver_str = format_ver("%d.%d.%d", fw_version);
|
||||
display_text_center(DISPLAY_RESX / 2, DISPLAY_RESY - 5 - 25, ver_str, -1,
|
||||
FONT_NORMAL, COLOR_WHITE, boot_background);
|
||||
}
|
||||
}
|
||||
|
||||
void ui_screen_boot_wait(int wait_seconds) {
|
||||
char wait_str[16];
|
||||
mini_snprintf(wait_str, sizeof(wait_str), "starting in %d s", wait_seconds);
|
||||
display_bar(0, DISPLAY_RESY - 5 - 20, DISPLAY_RESX, 5 + 20, boot_background);
|
||||
display_text_center(DISPLAY_RESX / 2, DISPLAY_RESY - 5, wait_str, -1,
|
||||
FONT_NORMAL, COLOR_WHITE, boot_background);
|
||||
}
|
||||
|
||||
void ui_screen_boot_click(void) {
|
||||
display_bar(0, DISPLAY_RESY - 5 - 20, DISPLAY_RESX, 5 + 20, boot_background);
|
||||
display_text_center(DISPLAY_RESX / 2, DISPLAY_RESY - 5,
|
||||
"click to continue ...", -1, FONT_NORMAL, COLOR_WHITE,
|
||||
boot_background);
|
||||
}
|
||||
|
||||
// welcome UI
|
||||
|
||||
void ui_screen_first(void) {
|
||||
display_icon(0, 0, 240, 240, toi_icon_logo + 12, sizeof(toi_icon_logo) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
void ui_screen_second(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_icon((DISPLAY_RESX - 200) / 2, (DISPLAY_RESY - 60) / 2, 200, 60,
|
||||
toi_icon_safeplace + 12, sizeof(toi_icon_safeplace) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
void ui_screen_third(void) {
|
||||
void ui_screen_welcome_third(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_icon((DISPLAY_RESX - 180) / 2, (DISPLAY_RESY - 30) / 2 - 5, 180, 30,
|
||||
toi_icon_welcome + 12, sizeof(toi_icon_welcome) - 12,
|
||||
@ -142,115 +45,9 @@ void ui_screen_third(void) {
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
// info UI
|
||||
|
||||
static int display_vendor_string(const char *text, int textlen,
|
||||
uint16_t fgcolor) {
|
||||
int split = display_text_split(text, textlen, FONT_NORMAL, DISPLAY_RESX - 55);
|
||||
if (split >= textlen) {
|
||||
display_text(55, 95, text, textlen, FONT_NORMAL, fgcolor, COLOR_WHITE);
|
||||
return 120;
|
||||
} else {
|
||||
display_text(55, 95, text, split, FONT_NORMAL, fgcolor, COLOR_WHITE);
|
||||
if (text[split] == ' ') {
|
||||
split++;
|
||||
}
|
||||
display_text(55, 120, text + split, textlen - split, FONT_NORMAL, fgcolor,
|
||||
COLOR_WHITE);
|
||||
return 145;
|
||||
}
|
||||
}
|
||||
|
||||
void ui_screen_info(secbool buttons, const vendor_header *const vhdr,
|
||||
const image_header *const hdr) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
const char *ver_str = format_ver("Bootloader %d.%d.%d", VERSION_UINT32);
|
||||
display_text(16, 32, ver_str, -1, FONT_NORMAL, COLOR_BLACK, COLOR_WHITE);
|
||||
display_bar(16, 44, DISPLAY_RESX - 14 * 2, 1, COLOR_BLACK);
|
||||
display_icon(16, 54, 32, 32, toi_icon_info + 12, sizeof(toi_icon_info) - 12,
|
||||
COLOR_BL_GRAY, COLOR_WHITE);
|
||||
if (vhdr && hdr) {
|
||||
ver_str = format_ver("Firmware %d.%d.%d by", (hdr->version));
|
||||
display_text(55, 70, ver_str, -1, FONT_NORMAL, COLOR_BL_GRAY, COLOR_WHITE);
|
||||
display_vendor_string(vhdr->vstr, vhdr->vstr_len, COLOR_BL_GRAY);
|
||||
} else {
|
||||
display_text(55, 70, "No Firmware", -1, FONT_NORMAL, COLOR_BL_GRAY,
|
||||
COLOR_WHITE);
|
||||
}
|
||||
|
||||
if (sectrue == buttons) {
|
||||
display_text_center(120, 170, "Connect to host?", -1, FONT_NORMAL,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
ui_confirm_cancel_buttons();
|
||||
} else {
|
||||
display_text_center(120, 220, "Go to trezor.io/start", -1, FONT_NORMAL,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
}
|
||||
|
||||
void ui_screen_info_fingerprint(const image_header *const hdr) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_text(16, 32, "Firmware fingerprint", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
display_bar(16, 44, DISPLAY_RESX - 14 * 2, 1, COLOR_BLACK);
|
||||
|
||||
static const char *hexdigits = "0123456789abcdef";
|
||||
char fingerprint_str[64];
|
||||
for (int i = 0; i < 32; i++) {
|
||||
fingerprint_str[i * 2] = hexdigits[(hdr->fingerprint[i] >> 4) & 0xF];
|
||||
fingerprint_str[i * 2 + 1] = hexdigits[hdr->fingerprint[i] & 0xF];
|
||||
}
|
||||
for (int i = 0; i < 4; i++) {
|
||||
display_text_center(120, 70 + i * 25, fingerprint_str + i * 16, 16,
|
||||
FONT_MONO, COLOR_BLACK, COLOR_WHITE);
|
||||
}
|
||||
|
||||
display_bar_radius(9, 184, 222, 50, COLOR_BL_DONE, COLOR_WHITE, 4);
|
||||
display_icon(9 + (222 - 19) / 2, 184 + (50 - 16) / 2, 20, 16,
|
||||
toi_icon_confirm + 12, sizeof(toi_icon_confirm) - 12,
|
||||
COLOR_WHITE, COLOR_BL_DONE);
|
||||
}
|
||||
|
||||
// install UI
|
||||
|
||||
void ui_screen_install_confirm_upgrade(const vendor_header *const vhdr,
|
||||
const image_header *const hdr) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_text(16, 32, "Firmware update", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
display_bar(16, 44, DISPLAY_RESX - 14 * 2, 1, COLOR_BLACK);
|
||||
display_icon(16, 54, 32, 32, toi_icon_info + 12, sizeof(toi_icon_info) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
display_text(55, 70, "Update firmware by", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
int next_y = display_vendor_string(vhdr->vstr, vhdr->vstr_len, COLOR_BLACK);
|
||||
const char *ver_str = format_ver("to version %d.%d.%d?", hdr->version);
|
||||
display_text(55, next_y, ver_str, -1, FONT_NORMAL, COLOR_BLACK, COLOR_WHITE);
|
||||
ui_confirm_cancel_buttons();
|
||||
}
|
||||
|
||||
void ui_screen_install_confirm_newvendor_or_downgrade_wipe(
|
||||
const vendor_header *const vhdr, const image_header *const hdr,
|
||||
secbool downgrade_wipe) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_text(
|
||||
16, 32,
|
||||
(sectrue == downgrade_wipe) ? "Firmware downgrade" : "Vendor change", -1,
|
||||
FONT_NORMAL, COLOR_BLACK, COLOR_WHITE);
|
||||
display_bar(16, 44, DISPLAY_RESX - 14 * 2, 1, COLOR_BLACK);
|
||||
display_icon(16, 54, 32, 32, toi_icon_info + 12, sizeof(toi_icon_info) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
display_text(55, 70, "Install firmware by", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
int next_y = display_vendor_string(vhdr->vstr, vhdr->vstr_len, COLOR_BLACK);
|
||||
const char *ver_str = format_ver("(version %d.%d.%d)?", hdr->version);
|
||||
display_text(55, next_y, ver_str, -1, FONT_NORMAL, COLOR_BLACK, COLOR_WHITE);
|
||||
display_text_center(120, 170, "Seed will be erased!", -1, FONT_NORMAL,
|
||||
COLOR_BL_FAIL, COLOR_WHITE);
|
||||
ui_confirm_cancel_buttons();
|
||||
}
|
||||
|
||||
void ui_screen_install(void) {
|
||||
void ui_screen_install_start(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_loader(0, false, -20, COLOR_BL_PROCESS, COLOR_WHITE, toi_icon_install,
|
||||
sizeof(toi_icon_install), COLOR_BLACK);
|
||||
@ -271,23 +68,6 @@ void ui_screen_install_progress_upload(int pos) {
|
||||
|
||||
// wipe UI
|
||||
|
||||
void ui_screen_wipe_confirm(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_text(16, 32, "Wipe device", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
display_bar(16, 44, DISPLAY_RESX - 14 * 2, 1, COLOR_BLACK);
|
||||
display_icon(16, 54, 32, 32, toi_icon_info + 12, sizeof(toi_icon_info) - 12,
|
||||
COLOR_BLACK, COLOR_WHITE);
|
||||
display_text(55, 70, "Do you want to", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
display_text(55, 95, "wipe the device?", -1, FONT_NORMAL, COLOR_BLACK,
|
||||
COLOR_WHITE);
|
||||
|
||||
display_text_center(120, 170, "Seed will be erased!", -1, FONT_NORMAL,
|
||||
COLOR_BL_FAIL, COLOR_WHITE);
|
||||
ui_confirm_cancel_buttons();
|
||||
}
|
||||
|
||||
void ui_screen_wipe(void) {
|
||||
display_bar(0, 0, DISPLAY_RESX, DISPLAY_RESY, COLOR_WHITE);
|
||||
display_loader(0, false, -20, COLOR_BL_PROCESS, COLOR_WHITE, toi_icon_wipe,
|
||||
@ -344,31 +124,3 @@ void ui_fadeout(void) {
|
||||
display_fade(BACKLIGHT_NORMAL, 0, 500);
|
||||
display_clear();
|
||||
}
|
||||
|
||||
int ui_user_input(int zones) {
|
||||
for (;;) {
|
||||
uint32_t evt = touch_click();
|
||||
uint16_t x = touch_unpack_x(evt);
|
||||
uint16_t y = touch_unpack_y(evt);
|
||||
// clicked on Cancel button
|
||||
if ((zones & INPUT_CANCEL) && x >= 9 && x < 9 + 108 && y > 184 &&
|
||||
y < 184 + 50) {
|
||||
return INPUT_CANCEL;
|
||||
}
|
||||
// clicked on Confirm button
|
||||
if ((zones & INPUT_CONFIRM) && x >= 123 && x < 123 + 108 && y > 184 &&
|
||||
y < 184 + 50) {
|
||||
return INPUT_CONFIRM;
|
||||
}
|
||||
// clicked on Long Confirm button
|
||||
if ((zones & INPUT_LONG_CONFIRM) && x >= 9 && x < 9 + 222 && y > 184 &&
|
||||
y < 184 + 50) {
|
||||
return INPUT_LONG_CONFIRM;
|
||||
}
|
||||
// clicked on Info icon
|
||||
if ((zones & INPUT_INFO) && x >= 16 && x < 16 + 32 && y > 54 &&
|
||||
y < 54 + 32) {
|
||||
return INPUT_INFO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,32 +20,14 @@
|
||||
#ifndef __BOOTUI_H__
|
||||
#define __BOOTUI_H__
|
||||
|
||||
#include "image.h"
|
||||
#include "secbool.h"
|
||||
|
||||
void ui_screen_boot(const vendor_header* const vhdr,
|
||||
const image_header* const hdr);
|
||||
void ui_screen_boot_wait(int wait_seconds);
|
||||
void ui_screen_boot_click(void);
|
||||
void ui_screen_welcome_third(void);
|
||||
|
||||
void ui_screen_first(void);
|
||||
void ui_screen_second(void);
|
||||
void ui_screen_third(void);
|
||||
|
||||
void ui_screen_info(secbool buttons, const vendor_header* const vhdr,
|
||||
const image_header* const hdr);
|
||||
void ui_screen_info_fingerprint(const image_header* const hdr);
|
||||
|
||||
void ui_screen_install_confirm_upgrade(const vendor_header* const vhdr,
|
||||
const image_header* const hdr);
|
||||
void ui_screen_install_confirm_newvendor_or_downgrade_wipe(
|
||||
const vendor_header* const vhdr, const image_header* const hdr,
|
||||
secbool downgrade_wipe);
|
||||
void ui_screen_install(void);
|
||||
void ui_screen_install_start(void);
|
||||
void ui_screen_install_progress_erase(int pos, int len);
|
||||
void ui_screen_install_progress_upload(int pos);
|
||||
|
||||
void ui_screen_wipe_confirm(void);
|
||||
void ui_screen_wipe(void);
|
||||
void ui_screen_wipe_progress(int pos, int len);
|
||||
|
||||
@ -56,13 +38,4 @@ void ui_screen_fail(void);
|
||||
void ui_fadein(void);
|
||||
void ui_fadeout(void);
|
||||
|
||||
// clang-format off
|
||||
#define INPUT_CANCEL 0x01 // Cancel button
|
||||
#define INPUT_CONFIRM 0x02 // Confirm button
|
||||
#define INPUT_LONG_CONFIRM 0x04 // Long Confirm button
|
||||
#define INPUT_INFO 0x08 // Info icon
|
||||
// clang-format on
|
||||
|
||||
int ui_user_input(int zones);
|
||||
|
||||
#endif
|
||||
|
@ -1,11 +0,0 @@
|
||||
// clang-format off
|
||||
static const uint8_t toi_icon_cancel[] = {
|
||||
// magic
|
||||
'T', 'O', 'I', 'g',
|
||||
// width (16-bit), height (16-bit)
|
||||
0x10, 0x00, 0x10, 0x00,
|
||||
// compressed data length (32-bit)
|
||||
0x52, 0x00, 0x00, 0x00,
|
||||
// compressed data
|
||||
0x45, 0x4d, 0xc1, 0x09, 0x80, 0x30, 0x10, 0x4b, 0xeb, 0x02, 0x5d, 0x40, 0xb8, 0x01, 0x2c, 0xb8, 0xff, 0x47, 0x70, 0x81, 0xa2, 0x0b, 0x74, 0x10, 0x7b, 0xc4, 0x48, 0x5b, 0x0c, 0x1c, 0x09, 0xe1, 0x92, 0x60, 0x4b, 0x40, 0x38, 0x11, 0xeb, 0x0d, 0x64, 0xb7, 0x4c, 0xb7, 0x58, 0x79, 0x1f, 0xe4, 0xb5, 0x92, 0x8f, 0xce, 0xab, 0x74, 0x2c, 0x14, 0x9a, 0x21, 0x7f, 0xac, 0xdf, 0x20, 0xd7, 0xd3, 0xcf, 0xc3, 0x57, 0x56, 0x70, 0x9b, 0xb9, 0xd2, 0x7b, 0xda, 0xec, 0x5d, 0xfa, 0xce, 0x8e, 0xb1, 0xfb, 0x02,
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
// clang-format off
|
||||
static const uint8_t toi_icon_confirm[] = {
|
||||
// magic
|
||||
'T', 'O', 'I', 'g',
|
||||
// width (16-bit), height (16-bit)
|
||||
0x14, 0x00, 0x10, 0x00,
|
||||
// compressed data length (32-bit)
|
||||
0x69, 0x00, 0x00, 0x00,
|
||||
// compressed data
|
||||
0x63, 0x60, 0x80, 0x80, 0xa9, 0x50, 0x9a, 0x81, 0xf3, 0x7f, 0x00, 0x94, 0xd5, 0xff, 0xff, 0x2b, 0x84, 0xc1, 0xf1, 0xff, 0xff, 0x2f, 0x08, 0xab, 0xfe, 0xff, 0xff, 0x0d, 0x60, 0x06, 0xfb, 0xff, 0xff, 0xbf, 0x19, 0x18, 0x58, 0x26, 0x30, 0x30, 0xe4, 0x83, 0x85, 0xfc, 0x7f, 0x32, 0xb0, 0x01, 0x85, 0x04, 0x18, 0x58, 0xfe, 0xff, 0x6f, 0xcc, 0xfb, 0xff, 0x7f, 0x23, 0x03, 0x03, 0x17, 0x90, 0xff, 0x1e, 0x24, 0xc4, 0xc0, 0xb8, 0xff, 0x3f, 0x10, 0x6c, 0x02, 0xe9, 0x93, 0x06, 0x32, 0x7e, 0x2b, 0x80, 0x58, 0x20, 0xc1, 0x43, 0x10, 0x53, 0xb5, 0xff, 0xff, 0x31, 0x80, 0xb0, 0x98, 0xf6, 0x1f, 0x86, 0xb9, 0xc3, 0xca, 0x01, 0x4c, 0x01, 0x00,
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
// clang-format off
|
||||
static const uint8_t toi_icon_info[] = {
|
||||
// magic
|
||||
'T', 'O', 'I', 'g',
|
||||
// width (16-bit), height (16-bit)
|
||||
0x20, 0x00, 0x20, 0x00,
|
||||
// compressed data length (32-bit)
|
||||
0xd9, 0x00, 0x00, 0x00,
|
||||
// compressed data
|
||||
0x7d, 0x91, 0x3d, 0x0a, 0xc2, 0x40, 0x10, 0x85, 0x47, 0xfc, 0x47, 0x59, 0x72, 0x10, 0x21, 0x85, 0x1e, 0x20, 0xe0, 0x41, 0x62, 0x6d, 0xa3, 0x37, 0xd0, 0xde, 0x26, 0x37, 0x88, 0xb5, 0x4d, 0xac, 0xd4, 0x5b, 0xd8, 0x59, 0xaa, 0x17, 0x10, 0x23, 0x18, 0x62, 0x34, 0xe6, 0xb9, 0xd9, 0x1f, 0x8c, 0xab, 0x38, 0xc5, 0xce, 0x7e, 0x30, 0x3b, 0xb3, 0xf3, 0x1e, 0x11, 0x8f, 0xf2, 0x6c, 0x7f, 0xda, 0x38, 0xa4, 0xa3, 0x01, 0x11, 0x9e, 0xc2, 0x1a, 0x54, 0x4c, 0x25, 0x6f, 0x81, 0x75, 0xbf, 0x37, 0x04, 0x9e, 0x02, 0x19, 0x30, 0x56, 0x65, 0x97, 0x3c, 0x9f, 0xb1, 0x94, 0x75, 0x4d, 0xc0, 0x22, 0x6a, 0x21, 0xd6, 0x7d, 0x5d, 0x1c, 0x89, 0x46, 0xa2, 0xda, 0xbd, 0xf3, 0xa3, 0x8a, 0x1b, 0x11, 0x1e, 0xfc, 0x56, 0x02, 0x06, 0x3c, 0xf9, 0xb0, 0xea, 0x08, 0xf9, 0xa5, 0x22, 0xa7, 0x33, 0x78, 0x4c, 0x4e, 0x05, 0x1c, 0xf1, 0x20, 0xb4, 0x21, 0x5a, 0x75, 0x76, 0x22, 0x21, 0x9a, 0xa4, 0x54, 0x88, 0x20, 0x09, 0xe2, 0x22, 0xbb, 0xe9, 0x36, 0xa2, 0x77, 0x7f, 0xb2, 0xb3, 0xc3, 0xf5, 0x3f, 0x9b, 0xf5, 0xb2, 0x9f, 0x66, 0x37, 0x95, 0xf3, 0x34, 0xfb, 0x89, 0xfc, 0x8f, 0x66, 0x44, 0x4c, 0xac, 0xa7, 0x98, 0xff, 0x57, 0xee, 0xa3, 0x98, 0x61, 0x6e, 0xee, 0xab, 0xf4, 0x58, 0x2c, 0x1c, 0xa5, 0x47, 0xdb, 0xd0, 0xcb, 0xd4, 0xf3, 0x4b, 0xef, 0xdc, 0x8f, 0x55, 0xbf, 0xcb, 0xfd, 0xc8, 0xac, 0x9f, 0x7e, 0x99, 0x7e, 0x7e, 0xf8, 0xfd, 0x02,
|
||||
};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -251,7 +251,7 @@ int main(void) {
|
||||
// show intro animation
|
||||
|
||||
// no ui_fadeout(); - we already start from black screen
|
||||
ui_screen_third();
|
||||
ui_screen_welcome_third();
|
||||
ui_fadein();
|
||||
|
||||
// and start the usb loop
|
||||
|
@ -527,7 +527,7 @@ int process_msg_FirmwareUpload(uint8_t iface_num, uint32_t msg_size,
|
||||
read_offset = 0;
|
||||
|
||||
ui_fadeout();
|
||||
ui_screen_install();
|
||||
ui_screen_install_start();
|
||||
ui_fadein();
|
||||
|
||||
ensure(flash_erase_sectors(FIRMWARE_SECTORS, FIRMWARE_SECTORS_COUNT,
|
||||
|
Loading…
Reference in New Issue
Block a user