Skip to content

Commit cdfc0c5

Browse files
committed
New UI
1 parent a6cfe46 commit cdfc0c5

File tree

5 files changed

+30
-16
lines changed

5 files changed

+30
-16
lines changed

bc_scanner_script.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ struct BarCodeScript {
3333
bool is_file_end;
3434
};
3535

36+
3637
static void scan_sound()
3738
{
3839
if(furi_hal_speaker_is_mine() || furi_hal_speaker_acquire(1000)) {
@@ -118,11 +119,12 @@ static int32_t bc_scanner_worker(void* context){
118119
} else {
119120
FURI_LOG_E(WORKER_TAG, "File empty error");
120121
worker_state = BarCodeStateFileError;
121-
bc_script->st.error_line = 0;
122+
bc_script->st.error_enum = FileIsEmpty;
122123
}
123124
} else {
124125
FURI_LOG_E(WORKER_TAG, "File open error");
125126
worker_state = BarCodeStateFileError; // File open error
127+
bc_script->st.error_enum = FileOpenError;
126128
}
127129
bc_script->st.state = worker_state;
128130
}else if(worker_state == BarCodeStateIdle) { // State: ready to start

bc_scanner_script.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,18 @@ typedef enum {
1818
BarCodeStateFileError,
1919
} BarCodeWorkerState;
2020

21+
typedef enum {
22+
FileIsEmpty,
23+
FileOpenError
24+
} FileError;
25+
26+
2127
typedef struct {
2228
BarCodeWorkerState state;
2329
uint16_t line_cur;
2430
uint16_t line_nb;
2531
uint32_t delay_remain;
26-
uint16_t error_line;
32+
int error_enum;
2733
char error[64];
2834
} BarCodeState;
2935

icons/Scanner_27x37.png

10.2 KB
Loading

icons/bc_12x13.png

582 Bytes
Loading

views/bc_scanner_view.c

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "bc_scanner_view.h"
2-
#include "../bc_scanner_script.h"
2+
#include "../bc_scanner_app_i.h"
33
#include <gui/elements.h>
44
#include <assets_icons.h>
55

@@ -19,6 +19,11 @@ typedef struct {
1919
uint8_t anim_frame;
2020
} BarCodeModel;
2121

22+
static char *fileErrors[] = {
23+
"File is Empty!",
24+
"Can’t open the file"
25+
};
26+
2227

2328
static void bc_scanner_draw_callback(Canvas* canvas, void* _model) {
2429
BarCodeModel* model = _model;
@@ -30,7 +35,7 @@ static void bc_scanner_draw_callback(Canvas* canvas, void* _model) {
3035
canvas_draw_str(canvas, 2, 8, furi_string_get_cstr(disp_str));
3136
furi_string_reset(disp_str);
3237

33-
canvas_draw_icon(canvas, 22, 20, &I_UsbTree_48x22);
38+
canvas_draw_icon(canvas, 4, 22, &I_Scanner_27x37);
3439

3540
if((model->state.state == BarCodeStateIdle) || (model->state.state == BarCodeStateDone)) {
3641
elements_button_center(canvas, "Run");
@@ -39,30 +44,31 @@ static void bc_scanner_draw_callback(Canvas* canvas, void* _model) {
3944
}
4045

4146
if(model->state.state == BarCodeStateFileError) {
42-
canvas_draw_icon(canvas, 4, 22, &I_Error_18x18);
47+
canvas_draw_icon(canvas, 32, 22, &I_Error_18x18);
4348
canvas_set_font(canvas, FontPrimary);
44-
canvas_draw_str_aligned(canvas, 127, 27, AlignRight, AlignBottom, "File");
45-
canvas_draw_str_aligned(canvas, 127, 39, AlignRight, AlignBottom, "ERROR");
49+
canvas_draw_str_aligned(canvas, 127, 39, AlignRight, AlignBottom, "File ERROR");
50+
canvas_set_font(canvas, FontSecondary);
51+
canvas_draw_str_aligned(canvas, 127, 51, AlignRight, AlignBottom, fileErrors[model->state.error_enum]);
4652
} else if(model->state.state == BarCodeStateScriptError) {
47-
canvas_draw_icon(canvas, 4, 22, &I_Error_18x18);
53+
canvas_draw_icon(canvas, 32, 22, &I_Error_18x18);
4854
canvas_set_font(canvas, FontPrimary);
4955
canvas_draw_str_aligned(canvas, 127, 33, AlignRight, AlignBottom, "ERROR:");
5056
canvas_set_font(canvas, FontSecondary);
51-
furi_string_printf(disp_str, "line %u", model->state.error_line);
57+
//furi_string_printf(disp_str, "line %u", model->state.er);
5258
canvas_draw_str_aligned(
5359
canvas, 127, 46, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
5460
furi_string_reset(disp_str);
5561
canvas_draw_str_aligned(canvas, 127, 56, AlignRight, AlignBottom, model->state.error);
5662
} else if(model->state.state == BarCodeStateIdle) {
57-
canvas_draw_icon(canvas, 4, 22, &I_Smile_18x18);
63+
//canvas_draw_icon(canvas, 4, 22, &I_Smile_18x18);
5864
canvas_set_font(canvas, FontBigNumbers);
5965
canvas_draw_str_aligned(canvas, 114, 36, AlignRight, AlignBottom, "0");
6066
canvas_draw_icon(canvas, 117, 22, &I_Percent_10x14);
6167
} else if(model->state.state == BarCodeStateRunning) {
6268
if(model->anim_frame == 0) {
63-
canvas_draw_icon(canvas, 4, 19, &I_EviSmile1_18x21);
69+
canvas_draw_icon(canvas, 32, 24, &I_bc_12x13);
6470
} else {
65-
canvas_draw_icon(canvas, 4, 19, &I_EviSmile2_18x21);
71+
canvas_draw_icon(canvas, 32, 27, &I_bc_10px);
6672
}
6773
canvas_set_font(canvas, FontBigNumbers);
6874
furi_string_printf(
@@ -72,16 +78,16 @@ static void bc_scanner_draw_callback(Canvas* canvas, void* _model) {
7278
furi_string_reset(disp_str);
7379
canvas_draw_icon(canvas, 117, 22, &I_Percent_10x14);
7480
} else if(model->state.state == BarCodeStateDone) {
75-
canvas_draw_icon(canvas, 4, 19, &I_EviSmile1_18x21);
81+
//canvas_draw_icon(canvas, 4, 19, &I_EviSmile1_18x21);
7682
canvas_set_font(canvas, FontBigNumbers);
7783
canvas_draw_str_aligned(canvas, 114, 36, AlignRight, AlignBottom, "100");
7884
furi_string_reset(disp_str);
7985
canvas_draw_icon(canvas, 117, 22, &I_Percent_10x14);
8086
} else if(model->state.state == BarCodeStateDelay) {
8187
if(model->anim_frame == 0) {
82-
canvas_draw_icon(canvas, 4, 19, &I_EviWaiting1_18x21);
88+
//canvas_draw_icon(canvas, 4, 19, &I_EviWaiting1_18x21);
8389
} else {
84-
canvas_draw_icon(canvas, 4, 19, &I_EviWaiting2_18x21);
90+
//canvas_draw_icon(canvas, 4, 19, &I_EviWaiting2_18x21);
8591
}
8692
canvas_set_font(canvas, FontBigNumbers);
8793
furi_string_printf(
@@ -96,7 +102,7 @@ static void bc_scanner_draw_callback(Canvas* canvas, void* _model) {
96102
canvas, 127, 46, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
97103
furi_string_reset(disp_str);
98104
} else {
99-
canvas_draw_icon(canvas, 4, 22, &I_Clock_18x18);
105+
canvas_draw_icon(canvas, 32, 22, &I_Clock_18x18);
100106
}
101107

102108
furi_string_free(disp_str);

0 commit comments

Comments
 (0)