From b3c662a50747e6baba07fa0c2befac7f0eaa871b Mon Sep 17 00:00:00 2001 From: Jean LE QUELLEC Date: Fri, 11 Nov 2022 16:00:24 +0100 Subject: [PATCH] Improve UI --- i2ctools.c | 2 +- images/i2ctools_main_76x59.png | Bin 0 -> 1259 bytes views/main_view.c | 10 +++++----- views/main_view.h | 6 +++--- views/scanner_view.c | 29 +++++++++++------------------ views/scanner_view.h | 4 +--- views/sender_view.c | 2 +- views/sender_view.h | 4 +--- views/sniffer_view.c | 2 +- views/sniffer_view.h | 4 +--- 10 files changed, 25 insertions(+), 38 deletions(-) create mode 100644 images/i2ctools_main_76x59.png diff --git a/i2ctools.c b/i2ctools.c index 810750236a1..6823173f3be 100644 --- a/i2ctools.c +++ b/i2ctools.c @@ -105,7 +105,7 @@ int32_t i2ctools_app(void* p) { } } else if(event.key == InputKeyDown && event.type == InputTypeRelease) { if(i2ctools->main_view->current_view == MAIN_VIEW) { - if(i2ctools->main_view->menu_index < MENU_SIZE) { + if(i2ctools->main_view->menu_index < MENU_SIZE - 1) { i2ctools->main_view->menu_index++; } } else if(i2ctools->main_view->current_view == SCAN_VIEW) { diff --git a/images/i2ctools_main_76x59.png b/images/i2ctools_main_76x59.png new file mode 100644 index 0000000000000000000000000000000000000000..8308e8e13f8aa4a43e041b54261a68f587bf4f72 GIT binary patch literal 1259 zcmVEX>4Tx04R}tkv&MmKp2MKrb?w&9PA*XkfC<6i;6hbDionYs1;guFuC*(nlvOW zE{=k0!NH%!s)LKOt`4q(Aov5~=;Wm6A|-y86k5c1$8itueecWNcYx5WFwN?T1Dakl z)5(OG&8>=oSM<{iB8oAYS;m|srQkWf?&0J6U5saW*ZnyL)V#$2pGX{MhFK%tAfDN* z8Jzct!>lB$#OK5lCS8#Dk?V@fZ=8z`3p_JyX43P-VPdh^#Yz{mlBp3-6Gv1{r+gvn zvdVdjvsS6I_C5IvLwS8=nd`Jhk;EdFAVGwJI?AY^h8XQSDHhUnp78LGIDUy-3c1Q) z0{s+H%YZay@-K0X2EWDuwn3`eZh+unY{t%}^xpf=+tjU{Za^tT)epsshFDnd-F@9_2%T><&(*J# z0s*a9UGl!r*-+X~I}UaK(YPpR^+fmUy~CKfEQUoFlEn~iT@kjW1by_u8wHCSS4wfk zwR(yhqCvhsx6ZE)`YTS!yU`XlSQu$#Z$r6R^g8-f(~gri`v{kefE9J&V`Et4;INLh z^l#Za=Z#yVYniF9X8wkn2)Qus8W(F2n>d@3l_SzANsZGia-@6cJhYz_yDR`%SbUcl zRBn8%aR!(NEN;Q0UDJT*NxG@A+`6^nXuq26h7#qiZZ%>h_dmVYHC7U{=2H?Gv*dx9PRJ=+=(XIp_naAf-D?KgD5xXWs~Ok4jF60qB+b@Zm8B9QfdWzbmed8sIu10AzS5|6OW6lf z51VNrbP7e??8yp-D>a&?2}wX@-$MhwJ2kSTIwv(RXe?mg3{(`f55Oe%+X*ObQjG+y zo(|TP`gqeW&53)ryJ~l6Hy7ldetUtl=)KZ=?-s>;QtYzCT&-)?SqUbyH1jkICC0&@ zOColA72q6bqc|-`#vE%#Co{VjpyNs=QWA|gGiHf~9^ z^sGeOViYY^XSj9s7<>g&L=er;WF9@H#i2zPxKmKK1bMfeBOQijPL_*WYg^I&Z50c4 zlNH+2_xSJWM}f0$?!OSONVY?SD<@<%+Dg)8n$Mr!gr-TjCAMhUGkb*Z1@Gxry(ihz z!gQBby)hvB0q?G@QQAv?bMcEN;L*ooJGVbIeJx<83D-2h-j)=@UceTVVKgo~E7xRy zt!cT^pT$D!drB*_hAkN8ExoK@*rR|&-lWZ#=LnbN7&Uv59sNe_D=S`E@dEZ$?H2&f VDtI+7qM`r*002ovPDHLkV1mB=O$7h| literal 0 HcmV?d00001 diff --git a/views/main_view.c b/views/main_view.c index dfbc24e9bdf..4eb5882c2ca 100644 --- a/views/main_view.c +++ b/views/main_view.c @@ -4,9 +4,9 @@ void draw_main_view(Canvas* canvas, i2cMainView* main_view) { canvas_clear(canvas); canvas_set_color(canvas, ColorBlack); canvas_draw_rframe(canvas, 0, 0, 128, 64, 3); - canvas_draw_icon(canvas, 2, 13, &I_passport_bad3_46x49); + canvas_draw_icon(canvas, 2, 2, &I_i2ctools_main_76x59); canvas_set_font(canvas, FontPrimary); - canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, APP_NAME); + //canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, APP_NAME); switch(main_view->menu_index) { case SCAN_VIEW: @@ -15,7 +15,7 @@ void draw_main_view(Canvas* canvas, i2cMainView* main_view) { canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT); canvas_draw_str_aligned( canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT); - canvas_draw_rbox(canvas, 60, SCAN_MENU_Y - 2, 60, 13, 3); + canvas_draw_rbox(canvas, 80, SCAN_MENU_Y - 2, 43, 13, 3); canvas_set_color(canvas, ColorWhite); canvas_draw_str_aligned( canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT); @@ -27,7 +27,7 @@ void draw_main_view(Canvas* canvas, i2cMainView* main_view) { canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT); canvas_draw_str_aligned( canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT); - canvas_draw_rbox(canvas, 60, SNIFF_MENU_Y - 2, 60, 13, 3); + canvas_draw_rbox(canvas, 80, SNIFF_MENU_Y - 2, 43, 13, 3); canvas_set_color(canvas, ColorWhite); canvas_draw_str_aligned( canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT); @@ -39,7 +39,7 @@ void draw_main_view(Canvas* canvas, i2cMainView* main_view) { canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT); canvas_draw_str_aligned( canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT); - canvas_draw_rbox(canvas, 60, SEND_MENU_Y - 2, 60, 13, 3); + canvas_draw_rbox(canvas, 80, SEND_MENU_Y - 2, 43, 13, 3); canvas_set_color(canvas, ColorWhite); canvas_draw_str_aligned( canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT); diff --git a/views/main_view.h b/views/main_view.h index 3a9211529f5..842b97740bf 100644 --- a/views/main_view.h +++ b/views/main_view.h @@ -5,15 +5,15 @@ #define APP_NAME "I2C Tools" #define SCAN_MENU_TEXT "Scan" -#define SCAN_MENU_X 75 +#define SCAN_MENU_X 90 #define SCAN_MENU_Y 6 #define SNIFF_MENU_TEXT "Sniff" -#define SNIFF_MENU_X 75 +#define SNIFF_MENU_X 90 #define SNIFF_MENU_Y 20 #define SEND_MENU_TEXT "Send" -#define SEND_MENU_X 75 +#define SEND_MENU_X 90 #define SEND_MENU_Y 34 // Menu diff --git a/views/scanner_view.c b/views/scanner_view.c index 346f8259060..99e700eb916 100644 --- a/views/scanner_view.c +++ b/views/scanner_view.c @@ -4,9 +4,6 @@ void draw_scanner_view(Canvas* canvas, i2cScanner* i2c_scanner) { canvas_clear(canvas); canvas_set_color(canvas, ColorBlack); canvas_draw_rframe(canvas, 0, 0, 128, 64, 3); - canvas_draw_icon(canvas, 2, 13, &I_passport_happy3_46x49); - canvas_set_font(canvas, FontPrimary); - canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, SCAN_MENU_TEXT); char count_text[46]; char count_text_fmt[] = "Found: %d"; @@ -23,21 +20,16 @@ void draw_scanner_view(Canvas* canvas, i2cScanner* i2c_scanner) { } snprintf( count_text, sizeof(count_text), "0x%02x ", (int)i2c_scanner->addresses[idx_to_print]); - if(i < 3) { - x_pos = 50 + (i * 26); + const uint8_t x_start = 13; + if(i < 4) { + x_pos = x_start + (i * 26); y_pos = 15; - } else if(i < 6) { - x_pos = 50 + ((i - 3) * 26); + } else if(i < 8) { + x_pos = x_start + ((i - 4) * 26); y_pos = 25; - } else if(i < 9) { - x_pos = 50 + ((i - 6) * 26); - y_pos = 35; } else if(i < 12) { - x_pos = 50 + ((i - 9) * 26); - y_pos = 45; - } else if(i < 15) { - x_pos = 50 + ((i - 12) * 26); - y_pos = 55; + x_pos = x_start + ((i - 8) * 26); + y_pos = 35; } else { break; } @@ -48,8 +40,9 @@ void draw_scanner_view(Canvas* canvas, i2cScanner* i2c_scanner) { canvas_draw_rbox(canvas, 125, y_pos, 3, 10, 1); // Button - canvas_draw_rbox(canvas, 70, 48, 45, 13, 3); + canvas_draw_rbox(canvas, 45, 48, 45, 13, 3); canvas_set_color(canvas, ColorWhite); - canvas_draw_icon(canvas, 75, 50, &I_Ok_btn_9x9); - canvas_draw_str_aligned(canvas, 85, 51, AlignLeft, AlignTop, "Scan"); + canvas_draw_icon(canvas, 50, 50, &I_Ok_btn_9x9); + canvas_set_font(canvas, FontPrimary); + canvas_draw_str_aligned(canvas, 62, 50, AlignLeft, AlignTop, "Scan"); } \ No newline at end of file diff --git a/views/scanner_view.h b/views/scanner_view.h index 53aee33f22d..02bc8fb1c82 100644 --- a/views/scanner_view.h +++ b/views/scanner_view.h @@ -4,8 +4,6 @@ #include #include "../i2cscanner.h" -#define SCAN_MENU_TEXT "Scan" -#define SCAN_MENU_X 75 -#define SCAN_MENU_Y 6 +#define SCAN_TEXT "SCAN" void draw_scanner_view(Canvas* canvas, i2cScanner* i2c_scanner); \ No newline at end of file diff --git a/views/sender_view.c b/views/sender_view.c index a48e9b5dccd..926381a1a69 100644 --- a/views/sender_view.c +++ b/views/sender_view.c @@ -6,7 +6,7 @@ void draw_sender_view(Canvas* canvas, i2cSender* i2c_sender) { canvas_draw_rframe(canvas, 0, 0, 128, 64, 3); canvas_draw_icon(canvas, 2, 13, &I_passport_happy2_46x49); canvas_set_font(canvas, FontPrimary); - canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, SEND_MENU_TEXT); + canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, SEND_TEXT); if(!i2c_sender->scanner->scanned) { scan_i2c_bus(i2c_sender->scanner); diff --git a/views/sender_view.h b/views/sender_view.h index 96cc28fbcfb..5f48081ddaf 100644 --- a/views/sender_view.h +++ b/views/sender_view.h @@ -4,8 +4,6 @@ #include #include "../i2csender.h" -#define SEND_MENU_TEXT "Send" -#define SEND_MENU_X 75 -#define SEND_MENU_Y 34 +#define SEND_TEXT "SEND" void draw_sender_view(Canvas* canvas, i2cSender* i2c_sender); \ No newline at end of file diff --git a/views/sniffer_view.c b/views/sniffer_view.c index dbed3e4c941..435653ab674 100644 --- a/views/sniffer_view.c +++ b/views/sniffer_view.c @@ -7,7 +7,7 @@ void draw_sniffer_view(Canvas* canvas, i2cSniffer* i2c_sniffer) { canvas_draw_icon(canvas, 2, 13, &I_passport_happy2_46x49); canvas_set_font(canvas, FontPrimary); - canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, SNIFF_MENU_TEXT); + canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, SNIFF_TEXT); canvas_set_font(canvas, FontSecondary); // Button diff --git a/views/sniffer_view.h b/views/sniffer_view.h index 3fe1839a161..80c92f7fc66 100644 --- a/views/sniffer_view.h +++ b/views/sniffer_view.h @@ -4,8 +4,6 @@ #include #include "../i2csniffer.h" -#define SNIFF_MENU_TEXT "Sniff" -#define SNIFF_MENU_X 75 -#define SNIFF_MENU_Y 20 +#define SNIFF_TEXT "SNIFF" void draw_sniffer_view(Canvas* canvas, i2cSniffer* i2c_sniffer); \ No newline at end of file