NFC: screens for not implemented features

This commit is contained in:
Aleksandr Kutuzov 2020-10-20 16:49:52 +03:00
parent 6b33e8ff61
commit 92f6e124ba

View File

@ -33,12 +33,15 @@ struct Nfc {
FuriRecordSubscriber* gui_record; FuriRecordSubscriber* gui_record;
FuriRecordSubscriber* menu_record; FuriRecordSubscriber* menu_record;
rfalNfcDiscoverParam* disParams; rfalNfcDiscoverParam* disParams;
uint32_t ret;
osThreadAttr_t worker_attr; osThreadAttr_t worker_attr;
osThreadId_t worker; osThreadId_t worker;
uint8_t screen;
uint8_t ret;
uint8_t devCnt; uint8_t devCnt;
uint8_t ticker; uint8_t ticker;
char* current; char* current;
}; };
@ -144,24 +147,29 @@ void nfc_draw_callback(CanvasApi* canvas, void* context) {
canvas->set_color(canvas, ColorBlack); canvas->set_color(canvas, ColorBlack);
canvas->set_font(canvas, FontPrimary); canvas->set_font(canvas, FontPrimary);
char status[128 / 8]; if (nfc->screen == 0) {
if(nfc->ret == ERR_WRONG_STATE) char status[128 / 8];
canvas->draw_str(canvas, 2, 16, "NFC Wrong State"); if(nfc->ret == ERR_WRONG_STATE)
else if(nfc->ret == ERR_PARAM) canvas->draw_str(canvas, 2, 16, "NFC Wrong State");
canvas->draw_str(canvas, 2, 16, "NFC Wrong Param"); else if(nfc->ret == ERR_PARAM)
else if(nfc->ret == ERR_IO) canvas->draw_str(canvas, 2, 16, "NFC Wrong Param");
canvas->draw_str(canvas, 2, 16, "NFC IO Error"); else if(nfc->ret == ERR_IO)
else if(nfc->ret == ERR_NONE) canvas->draw_str(canvas, 2, 16, "NFC IO Error");
canvas->draw_str(canvas, 2, 16, "NFC Device Found"); else if(nfc->ret == ERR_NONE)
else if(nfc->ret == ERR_TIMEOUT) canvas->draw_str(canvas, 2, 16, "NFC Device Found");
canvas->draw_str(canvas, 2, 16, "NFC Timeout"); else if(nfc->ret == ERR_TIMEOUT)
else canvas->draw_str(canvas, 2, 16, "NFC Timeout");
canvas->draw_str(canvas, 2, 16, "NFC error"); else
canvas->draw_str(canvas, 2, 16, "NFC error");
snprintf(status, sizeof(status), "Tck:%d Cnt:%d", nfc->ticker, nfc->devCnt); snprintf(status, sizeof(status), "Tck:%d Cnt:%d", nfc->ticker, nfc->devCnt);
canvas->draw_str(canvas, 2, 32, status);
canvas->draw_str(canvas, 2, 46, nfc->current);
} else {
canvas->draw_str(canvas, 2, 16, "Not implemented");
}
canvas->draw_str(canvas, 2, 32, status);
canvas->draw_str(canvas, 2, 46, nfc->current);
dispatcher_unlock(nfc->dispatcher); dispatcher_unlock(nfc->dispatcher);
} }
@ -182,6 +190,7 @@ void nfc_test_callback(void* context) {
dispatcher_lock(nfc->dispatcher); dispatcher_lock(nfc->dispatcher);
if(nfc->ret == ERR_NONE && !nfc->worker) { if(nfc->ret == ERR_NONE && !nfc->worker) {
nfc->screen = 0;
widget_enabled_set(nfc->widget, true); widget_enabled_set(nfc->widget, true);
nfc->worker = osThreadNew(nfc_worker_task, nfc, &nfc->worker_attr); nfc->worker = osThreadNew(nfc_worker_task, nfc, &nfc->worker_attr);
} }
@ -192,19 +201,22 @@ void nfc_test_callback(void* context) {
void nfc_read_callback(void* context) { void nfc_read_callback(void* context) {
assert(context); assert(context);
Nfc* nfc = context; Nfc* nfc = context;
(void)nfc; nfc->screen = 1;
widget_enabled_set(nfc->widget, true);
} }
void nfc_write_callback(void* context) { void nfc_write_callback(void* context) {
assert(context); assert(context);
Nfc* nfc = context; Nfc* nfc = context;
(void)nfc; nfc->screen = 1;
widget_enabled_set(nfc->widget, true);
} }
void nfc_bridge_callback(void* context) { void nfc_bridge_callback(void* context) {
assert(context); assert(context);
Nfc* nfc = context; Nfc* nfc = context;
(void)nfc; nfc->screen = 1;
widget_enabled_set(nfc->widget, true);
} }
Nfc* nfc_alloc() { Nfc* nfc_alloc() {