mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 23:38:36 -07:00
OFW PR 2658: Hitag
by blackvault88
This commit is contained in:
@@ -11,6 +11,7 @@ struct LfRfidReadView {
|
||||
typedef struct {
|
||||
IconAnimation* icon;
|
||||
LfRfidReadViewMode read_mode;
|
||||
LfRfidReadViewState read_state;
|
||||
} LfRfidReadViewModel;
|
||||
|
||||
static void lfrfid_view_read_draw_callback(Canvas* canvas, void* _model) {
|
||||
@@ -22,36 +23,69 @@ static void lfrfid_view_read_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas_set_font(canvas, FontPrimary);
|
||||
|
||||
if(model->read_mode == LfRfidReadAsk) {
|
||||
canvas_draw_str(canvas, 70, 16, "Reading 1/2");
|
||||
canvas_draw_str(canvas, 70, 8, "Reading 1/3");
|
||||
|
||||
canvas_draw_str(canvas, 77, 29, "ASK");
|
||||
canvas_draw_icon(canvas, 70, 22, &I_ButtonRight_4x7);
|
||||
canvas_draw_icon_animation(canvas, 102, 21, model->icon);
|
||||
canvas_draw_str(canvas, 77, 20, "ASK");
|
||||
canvas_draw_icon(canvas, 70, 13, &I_ButtonRight_4x7);
|
||||
canvas_draw_icon_animation(canvas, 112, 12, model->icon);
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 77, 43, "PSK");
|
||||
canvas_draw_str(canvas, 77, 33, "PSK");
|
||||
canvas_draw_str(canvas, 77, 46, "RTF");
|
||||
} else if(model->read_mode == LfRfidReadPsk) {
|
||||
canvas_draw_str(canvas, 70, 16, "Reading 2/2");
|
||||
canvas_draw_str(canvas, 70, 8, "Reading 2/3");
|
||||
|
||||
canvas_draw_str(canvas, 77, 43, "PSK");
|
||||
canvas_draw_icon(canvas, 70, 36, &I_ButtonRight_4x7);
|
||||
canvas_draw_icon_animation(canvas, 102, 35, model->icon);
|
||||
canvas_draw_str(canvas, 77, 33, "PSK");
|
||||
canvas_draw_icon(canvas, 70, 26, &I_ButtonRight_4x7);
|
||||
canvas_draw_icon_animation(canvas, 112, 25, model->icon);
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 77, 29, "ASK");
|
||||
} else {
|
||||
canvas_draw_str(canvas, 72, 16, "Reading");
|
||||
canvas_draw_str(canvas, 77, 20, "ASK");
|
||||
canvas_draw_str(canvas, 77, 46, "RTF");
|
||||
} else if(model->read_mode == LfRfidReadHitag) {
|
||||
if(model->read_state == LfRfidReadScanning) {
|
||||
canvas_draw_str(canvas, 70, 8, "Reading 3/3");
|
||||
|
||||
if(model->read_mode == LfRfidReadAskOnly) {
|
||||
canvas_draw_str(canvas, 77, 35, "ASK");
|
||||
} else {
|
||||
canvas_draw_str(canvas, 77, 35, "PSK");
|
||||
canvas_draw_str(canvas, 77, 46, "RTF");
|
||||
canvas_draw_icon(canvas, 70, 39, &I_ButtonRight_4x7);
|
||||
canvas_draw_icon_animation(canvas, 112, 38, model->icon);
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 77, 20, "ASK");
|
||||
canvas_draw_str(canvas, 77, 33, "PSK");
|
||||
} else if(model->read_state == LfRfidReadTagDetected) { //TODO switch to other scene?
|
||||
canvas_draw_str(canvas, 65, 8, "Hitag1 found");
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
//canvas_draw_str(canvas, 70, 20, "## ## ## ##"); //TODO get tag SN from hitag worker
|
||||
canvas_draw_str(canvas, 70, 33, "Reading data");
|
||||
//canvas_draw_str(canvas, 70, 46, "Page: X/64"); //TODO get current page index from hitag worker
|
||||
}
|
||||
} else if(model->read_mode == LfRfidReadAskOnly) {
|
||||
canvas_draw_str(canvas, 72, 16, "Reading");
|
||||
canvas_draw_str(canvas, 77, 35, "ASK");
|
||||
canvas_draw_icon_animation(canvas, 112, 27, model->icon);
|
||||
} else if(model->read_mode == LfRfidReadPskOnly) {
|
||||
canvas_draw_str(canvas, 72, 16, "Reading");
|
||||
canvas_draw_str(canvas, 77, 35, "PSK");
|
||||
canvas_draw_icon_animation(canvas, 112, 27, model->icon);
|
||||
} else if(model->read_mode == LfRfidReadRtfOnly) {
|
||||
if(model->read_state == LfRfidReadScanning) {
|
||||
canvas_draw_str(canvas, 72, 16, "Reading");
|
||||
canvas_draw_str(canvas, 77, 35, "RTF");
|
||||
canvas_draw_icon_animation(canvas, 112, 27, model->icon);
|
||||
} else if(model->read_state == LfRfidReadTagDetected) { //TODO switch to other scene?
|
||||
canvas_draw_str(canvas, 65, 8, "Hitag1 found");
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
//canvas_draw_str(canvas, 70, 20, "## ## ## ##"); //TODO get tag SN from hitag worker
|
||||
canvas_draw_str(canvas, 70, 33, "Reading data");
|
||||
//canvas_draw_str(canvas, 70, 46, "Page: X/64"); //TODO get current page index from hitag worker
|
||||
}
|
||||
canvas_draw_icon_animation(canvas, 102, 27, model->icon);
|
||||
}
|
||||
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 61, 56, "Don't move card");
|
||||
canvas_draw_str(canvas, 61, 60, "Don't move card");
|
||||
}
|
||||
|
||||
void lfrfid_view_read_enter(void* context) {
|
||||
@@ -111,3 +145,8 @@ void lfrfid_view_read_set_read_mode(LfRfidReadView* read_view, LfRfidReadViewMod
|
||||
},
|
||||
true);
|
||||
}
|
||||
|
||||
void lfrfid_view_read_set_read_state(LfRfidReadView* read_view, LfRfidReadViewState state) {
|
||||
with_view_model(
|
||||
read_view->view, LfRfidReadViewModel * model, { model->read_state = state; }, true);
|
||||
}
|
||||
Reference in New Issue
Block a user