|
@@ -15,13 +15,13 @@ UHFTag* send_polling_command(UHFWorker* uhf_worker) {
|
|
|
// read epc bank
|
|
// read epc bank
|
|
|
UHFTag* uhf_tag = uhf_tag_alloc();
|
|
UHFTag* uhf_tag = uhf_tag_alloc();
|
|
|
M100ResponseType status;
|
|
M100ResponseType status;
|
|
|
- do{
|
|
|
|
|
|
|
+ do {
|
|
|
if(uhf_worker->state == UHFWorkerStateStop) {
|
|
if(uhf_worker->state == UHFWorkerStateStop) {
|
|
|
uhf_tag_free(uhf_tag);
|
|
uhf_tag_free(uhf_tag);
|
|
|
return NULL;
|
|
return NULL;
|
|
|
}
|
|
}
|
|
|
status = m100_single_poll(uhf_worker->module, uhf_tag);
|
|
status = m100_single_poll(uhf_worker->module, uhf_tag);
|
|
|
- }while(status != M100SuccessResponse);
|
|
|
|
|
|
|
+ } while(status != M100SuccessResponse);
|
|
|
return uhf_tag;
|
|
return uhf_tag;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -48,7 +48,8 @@ UHFWorkerEvent read_single_card(UHFWorker* uhf_worker) {
|
|
|
if(uhf_tag == NULL) return UHFWorkerEventAborted;
|
|
if(uhf_tag == NULL) return UHFWorkerEventAborted;
|
|
|
uhf_tag_wrapper_set_tag(uhf_worker->uhf_tag_wrapper, uhf_tag);
|
|
uhf_tag_wrapper_set_tag(uhf_worker->uhf_tag_wrapper, uhf_tag);
|
|
|
// set select
|
|
// set select
|
|
|
- while(m100_set_select(uhf_worker->module, uhf_tag) != M100SuccessResponse){}
|
|
|
|
|
|
|
+ while(m100_set_select(uhf_worker->module, uhf_tag) != M100SuccessResponse) {
|
|
|
|
|
+ }
|
|
|
// read tid
|
|
// read tid
|
|
|
UHFWorkerEvent event;
|
|
UHFWorkerEvent event;
|
|
|
event = read_bank_till_max_length(uhf_worker, uhf_tag, TIDBank);
|
|
event = read_bank_till_max_length(uhf_worker, uhf_tag, TIDBank);
|
|
@@ -64,24 +65,24 @@ UHFWorkerEvent write_single_card(UHFWorker* uhf_worker) {
|
|
|
if(uhf_tag_des == NULL) return UHFWorkerEventAborted;
|
|
if(uhf_tag_des == NULL) return UHFWorkerEventAborted;
|
|
|
UHFTag* uhf_tag_from = uhf_worker->uhf_tag_wrapper->uhf_tag;
|
|
UHFTag* uhf_tag_from = uhf_worker->uhf_tag_wrapper->uhf_tag;
|
|
|
M100ResponseType rp_type;
|
|
M100ResponseType rp_type;
|
|
|
- do{
|
|
|
|
|
|
|
+ do {
|
|
|
rp_type = m100_set_select(uhf_worker->module, uhf_tag_des);
|
|
rp_type = m100_set_select(uhf_worker->module, uhf_tag_des);
|
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
|
if(rp_type == M100SuccessResponse) break;
|
|
if(rp_type == M100SuccessResponse) break;
|
|
|
- }while(true);
|
|
|
|
|
- while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_USER)){
|
|
|
|
|
|
|
+ } while(true);
|
|
|
|
|
+ while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_USER)) {
|
|
|
rp_type = m100_write_label_data_storage(
|
|
rp_type = m100_write_label_data_storage(
|
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, UserBank, 0, 0);
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, UserBank, 0, 0);
|
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
|
if(rp_type == M100SuccessResponse) break;
|
|
if(rp_type == M100SuccessResponse) break;
|
|
|
}
|
|
}
|
|
|
- while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_TID)){
|
|
|
|
|
|
|
+ while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_TID)) {
|
|
|
rp_type = m100_write_label_data_storage(
|
|
rp_type = m100_write_label_data_storage(
|
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, TIDBank, 0, 0);
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, TIDBank, 0, 0);
|
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
|
if(rp_type == M100SuccessResponse) break;
|
|
if(rp_type == M100SuccessResponse) break;
|
|
|
}
|
|
}
|
|
|
- while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_EPC)){
|
|
|
|
|
|
|
+ while(m100_is_write_mask_enabled(uhf_worker->module, WRITE_EPC)) {
|
|
|
rp_type = m100_write_label_data_storage(
|
|
rp_type = m100_write_label_data_storage(
|
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, EPCBank, 0, 0);
|
|
uhf_worker->module, uhf_tag_from, uhf_tag_des, EPCBank, 0, 0);
|
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
if(uhf_worker->state == UHFWorkerStateStop) return UHFWorkerEventAborted;
|
|
@@ -107,7 +108,8 @@ int32_t uhf_worker_task(void* ctx) {
|
|
|
|
|
|
|
|
UHFWorker* uhf_worker_alloc() {
|
|
UHFWorker* uhf_worker_alloc() {
|
|
|
UHFWorker* uhf_worker = (UHFWorker*)malloc(sizeof(UHFWorker));
|
|
UHFWorker* uhf_worker = (UHFWorker*)malloc(sizeof(UHFWorker));
|
|
|
- uhf_worker->thread = furi_thread_alloc_ex("UHFWorker", UHF_WORKER_STACK_SIZE, uhf_worker_task, uhf_worker);
|
|
|
|
|
|
|
+ uhf_worker->thread =
|
|
|
|
|
+ furi_thread_alloc_ex("UHFWorker", UHF_WORKER_STACK_SIZE, uhf_worker_task, uhf_worker);
|
|
|
uhf_worker->module = m100_module_alloc();
|
|
uhf_worker->module = m100_module_alloc();
|
|
|
uhf_worker->callback = NULL;
|
|
uhf_worker->callback = NULL;
|
|
|
uhf_worker->ctx = NULL;
|
|
uhf_worker->ctx = NULL;
|