From 17c3d2b56f8d7e4e72c53b396ce0c2db342c8812 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 17 Oct 2017 17:31:16 +0200 Subject: [PATCH] bootloader: implement UI according to mockup --- assets/cross.png | Bin 0 -> 1119 bytes embed/bootloader/icon_cross.h | 10 +++++ embed/bootloader/icon_tick.h | 10 +++++ embed/bootloader/icon_tools.h | 12 ++++++ embed/bootloader/main.c | 67 +++++++++++++++++++++-------- embed/bootloader/messages.c | 7 +-- embed/bootloader/style.h | 11 +++++ embed/extmod/modtrezorui/display.h | 24 +++++------ 8 files changed, 109 insertions(+), 32 deletions(-) create mode 100644 assets/cross.png create mode 100644 embed/bootloader/icon_cross.h create mode 100644 embed/bootloader/icon_tick.h create mode 100644 embed/bootloader/icon_tools.h create mode 100644 embed/bootloader/style.h diff --git a/assets/cross.png b/assets/cross.png new file mode 100644 index 0000000000000000000000000000000000000000..3e6f707442c1759ef65d403706afe96c84ff27e9 GIT binary patch literal 1119 zcmV-l1fctgP)C8-r4y$sIz1(ija=@}&ohL)C=3XUoH zNvR6KmBl5gxy1^edCB=j1^GpZC8;SuwNN`ifY&9zM8Q2VGf%3d zgAhZ2V z9LcRz22M)_ZK0Y}44jv4^wo=1}73;`qXu$a#Uwk!uULCiem!DW0jk zLcEjsg!!iN%kVE2&=J@n=qh+cC{^f(aIc7p$X?NK(Jx|?#ErzSNK{D5Ngk8RmzI`3 zAyX!+E_+L^Pu@lTkHS{PLM1(=x5{f(3RF#0f2ti+@6rg>RMPyQbwGQPPO7ezo}k_< z{UZho3~P;IjBQQiO_@z!nq4s8X|cp|f>oV$u1%b6pq;C|wS%#vj+2_Rl8b_?yqki% zvWL2-u9u0ojgPx;uwR0Ien5TT#Gs|YyFxC8z6@uIkc+g6iioa=nHjq$?m+@uqHa=H zazo0R)SKxX85WtDS#z^5=CbG6=T{VLDtuS0U6NJ0s_adLeq~A3t{TQ#uez!A4;%HG zYMRfs%C!}?AMKRxD(XJntJ>Gte|MtIq}h}IPK}>-c!tKz{#oDWB+NZM-+aN+MIwt^ zmwa26x%}SBkX5JGxUAi`-g3jXO(vVSY&F@oeTUV~{kvWFoZT0;|G~kWLqCtS9}_>m z;-vMdb7zvz{yIPDqV}buR}!!OyFTZp&8@q4>hCGvKk+c{vDlOS&oW<#ygc|i|E>JH z3m=+3nSOrtb;0-Wp8~&5{b~K@`2Rlu4FC@`wB1g)0003ZNkl(*<22AONzNgNWrlcP&s9D+igK6CsV z%WuAuvsFEV{HZ^V3h5Q3A5ok}X(35VS=vm}b`}m4=|~d~Rqbytes_left; while (stream->bytes_left) { // print loader - display_loader(250 + 750 * (firmware_flashed + chunk_written) / (firmware_flashed + firmware_remaining), 0, COLOR_WHITE, COLOR_BLACK, 0, 0, 0); + display_loader(250 + 750 * (firmware_flashed + chunk_written) / (firmware_flashed + firmware_remaining), 0, COLOR_BL_BLUE, COLOR_BLACK, 0, 0, 0); memset(buf, 0xFF, sizeof(buf)); // read data if (!pb_read(stream, (pb_byte_t *)buf, (stream->bytes_left > BUFSIZE) ? BUFSIZE : stream->bytes_left)) { @@ -348,7 +349,7 @@ int process_msg_FirmwareUpload(uint8_t iface_num, uint32_t msg_size, uint8_t *bu static void progress_wipe(int pos, int len) { - display_loader(1000 * pos / len, 0, COLOR_WHITE, COLOR_BLACK, 0, 0, 0); + display_loader(1000 * pos / len, 0, COLOR_BL_BLUE, COLOR_BLACK, 0, 0, 0); } int process_msg_WipeDevice(uint8_t iface_num, uint32_t msg_size, uint8_t *buf) diff --git a/embed/bootloader/style.h b/embed/bootloader/style.h new file mode 100644 index 000000000..8b0fc9f39 --- /dev/null +++ b/embed/bootloader/style.h @@ -0,0 +1,11 @@ +#ifndef __STYLE_H__ +#define __STYLE_H__ + +#define BACKLIGHT_NORMAL 150 + +#define COLOR_BL_RED RGB16(0xE4, 0x57, 0x2E) +#define COLOR_BL_GREEN RGB16(0x4C, 0xC1, 0x48) +#define COLOR_BL_BLUE RGB16(0x21, 0x96, 0xF3) +#define COLOR_BL_ORANGE RGB16(0xFF, 0x98, 0x00) + +#endif diff --git a/embed/extmod/modtrezorui/display.h b/embed/extmod/modtrezorui/display.h index 44de35a97..b8d3ac023 100644 --- a/embed/extmod/modtrezorui/display.h +++ b/embed/extmod/modtrezorui/display.h @@ -29,24 +29,24 @@ #define FONT_BOLD 2 #endif -#define AVATAR_IMAGE_SIZE 144 -#define LOADER_ICON_SIZE 64 +#define AVATAR_IMAGE_SIZE 144 +#define LOADER_ICON_SIZE 64 #define RGB16(R, G, B) ((R & 0xF8) << 8) | ((G & 0xFC) << 3) | ((B & 0xF8) >> 3) -#define COLOR_WHITE RGB16(255, 255, 255) -#define COLOR_GRAY128 RGB16(127, 127, 127) -#define COLOR_GRAY64 RGB16(63, 63, 63) -#define COLOR_BLACK RGB16(0, 0, 0) +#define COLOR_WHITE RGB16(0xFF, 0xFF, 0xFF) +#define COLOR_GRAY128 RGB16(0x7F, 0x7F, 0x7F) +#define COLOR_GRAY64 RGB16(0x3F, 0x3F, 0x3F) +#define COLOR_BLACK RGB16(0x00, 0x00, 0x00) -#define COLOR_RED RGB16(255, 0, 0) -#define COLOR_RED128 RGB16(127, 0, 0) +#define COLOR_RED RGB16(0xFF, 0x00, 0x00) +#define COLOR_RED128 RGB16(0x7F, 0x00, 0x00) -#define COLOR_GREEN RGB16(0, 255, 0) -#define COLOR_GREEN128 RGB16(0, 127, 0) +#define COLOR_GREEN RGB16(0x00, 0xFF, 0x00) +#define COLOR_GREEN128 RGB16(0x00, 0x7F, 0x00) -#define COLOR_BLUE RGB16(0, 0, 255) -#define COLOR_BLUE128 RGB16(0, 0, 127) +#define COLOR_BLUE RGB16(0x00, 0x00, 0xFF) +#define COLOR_BLUE128 RGB16(0x00, 0x00, 0x7F) // provided by port