LibDriver MFRC522
Loading...
Searching...
No Matches
driver_mfrc522_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static mfrc522_handle_t gs_handle;
41
51uint8_t mfrc522_register_test(mfrc522_interface_t interface, uint8_t addr)
52{
53 uint8_t res;
54 uint8_t i;
55 uint8_t reg;
56 uint8_t level, level_check;
57 uint8_t addr_pin, addr_pin_check;
58 uint8_t t0, t0_check;
59 uint8_t t1, t1_check;
60 uint8_t id, version;
61 uint8_t adc_i;
62 uint8_t adc_q;
63 uint8_t buf[64];
64 uint8_t buf_check[64];
65 uint16_t crc;
66 uint16_t t, t_check;
67 mfrc522_interface_t interface_check;
68 mfrc522_bool_t enable;
69 mfrc522_info_t info;
71 mfrc522_modem_state_t modem_state;
75 mfrc522_speed_t speed;
76 mfrc522_tx_input_t tx_input;
77 mfrc522_mfout_input_t mfout_input;
83
84 /* link interface function */
105
106 /* get information */
107 res = mfrc522_info(&info);
108 if (res != 0)
109 {
110 mfrc522_interface_debug_print("mfrc522: get info failed.\n");
111
112 return 1;
113 }
114 else
115 {
116 /* print chip info */
117 mfrc522_interface_debug_print("mfrc522: chip is %s.\n", info.chip_name);
118 mfrc522_interface_debug_print("mfrc522: manufacturer is %s.\n", info.manufacturer_name);
119 mfrc522_interface_debug_print("mfrc522: interface is %s.\n", info.interface);
120 mfrc522_interface_debug_print("mfrc522: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
121 mfrc522_interface_debug_print("mfrc522: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
122 mfrc522_interface_debug_print("mfrc522: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
123 mfrc522_interface_debug_print("mfrc522: max current is %0.2fmA.\n", info.max_current_ma);
124 mfrc522_interface_debug_print("mfrc522: max temperature is %0.1fC.\n", info.temperature_max);
125 mfrc522_interface_debug_print("mfrc522: min temperature is %0.1fC.\n", info.temperature_min);
126 }
127
128 /* start register test */
129 mfrc522_interface_debug_print("mfrc522: start register test.\n");
130
131 /* mfrc522_set_addr_pin/mfrc522_get_addr_pin test */
132 mfrc522_interface_debug_print("mfrc522: mfrc522_set_addr_pin/mfrc522_get_addr_pin test.\n");
133
134 addr_pin = rand() % 256;
135 res = mfrc522_set_addr_pin(&gs_handle, addr_pin);
136 if (res != 0)
137 {
138 mfrc522_interface_debug_print("mfrc522: set addr pin failed.\n");
139
140 return 1;
141 }
142 mfrc522_interface_debug_print("mfrc522: set addr 0x%02X.\n", addr_pin);
143 res = mfrc522_get_addr_pin(&gs_handle, &addr_pin_check);
144 if (res != 0)
145 {
146 mfrc522_interface_debug_print("mfrc522: get addr pin failed.\n");
147
148 return 1;
149 }
150 mfrc522_interface_debug_print("mfrc522: check addr pin %s.\n", addr_pin_check == addr_pin ? "ok" : "error");
151
152 /* mfrc522_set_interface/mfrc522_get_interface test */
153 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interface/mfrc522_get_interface test.\n");
154
155 /* iic interface */
157 if (res != 0)
158 {
159 mfrc522_interface_debug_print("mfrc522: set interface failed.\n");
160
161 return 1;
162 }
163 mfrc522_interface_debug_print("mfrc522: set interface iic.\n");
164 res = mfrc522_get_interface(&gs_handle, &interface_check);
165 if (res != 0)
166 {
167 mfrc522_interface_debug_print("mfrc522: get interface failed.\n");
168
169 return 1;
170 }
171 mfrc522_interface_debug_print("mfrc522: check interface %s.\n", interface_check == MFRC522_INTERFACE_IIC ? "ok" : "error");
172
173 /* spi interface */
175 if (res != 0)
176 {
177 mfrc522_interface_debug_print("mfrc522: set interface failed.\n");
178
179 return 1;
180 }
181 mfrc522_interface_debug_print("mfrc522: set interface spi.\n");
182 res = mfrc522_get_interface(&gs_handle, &interface_check);
183 if (res != 0)
184 {
185 mfrc522_interface_debug_print("mfrc522: get interface failed.\n");
186
187 return 1;
188 }
189 mfrc522_interface_debug_print("mfrc522: check interface %s.\n", interface_check == MFRC522_INTERFACE_SPI ? "ok" : "error");
190
191 /* uart interface */
193 if (res != 0)
194 {
195 mfrc522_interface_debug_print("mfrc522: set interface failed.\n");
196
197 return 1;
198 }
199 mfrc522_interface_debug_print("mfrc522: set interface uart.\n");
200 res = mfrc522_get_interface(&gs_handle, &interface_check);
201 if (res != 0)
202 {
203 mfrc522_interface_debug_print("mfrc522: get interface failed.\n");
204
205 return 1;
206 }
207 mfrc522_interface_debug_print("mfrc522: check interface %s.\n", interface_check == MFRC522_INTERFACE_UART ? "ok" : "error");
208
209 /* set the interface */
210 res = mfrc522_set_interface(&gs_handle, interface);
211 if (res != 0)
212 {
213 mfrc522_interface_debug_print("mfrc522: set interface failed.\n");
214
215 return 1;
216 }
217
218 /* set the addr pin */
219 res = mfrc522_set_addr_pin(&gs_handle, addr);
220 if (res != 0)
221 {
222 mfrc522_interface_debug_print("mfrc522: set addr pin failed.\n");
223
224 return 1;
225 }
226
227 /* init failed */
228 res = mfrc522_init(&gs_handle);
229 if (res != 0)
230 {
231 mfrc522_interface_debug_print("mfrc522: init failed.\n");
232
233 return 1;
234 }
235
236 /* mfrc522_set_receiver_analog/mfrc522_get_receiver_analog test */
237 mfrc522_interface_debug_print("mfrc522: mfrc522_set_receiver_analog/mfrc522_get_receiver_analog test.\n");
238
239 /* enable */
241 if (res != 0)
242 {
243 mfrc522_interface_debug_print("mfrc522: set receiver analog failed.\n");
244 (void)mfrc522_deinit(&gs_handle);
245
246 return 1;
247 }
248 mfrc522_interface_debug_print("mfrc522: set receiver analog enable.\n");
249 res = mfrc522_get_receiver_analog(&gs_handle, &enable);
250 if (res != 0)
251 {
252 mfrc522_interface_debug_print("mfrc522: get receiver analog failed.\n");
253 (void)mfrc522_deinit(&gs_handle);
254
255 return 1;
256 }
257 mfrc522_interface_debug_print("mfrc522: check receiver analog %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
258
259 /* disable */
261 if (res != 0)
262 {
263 mfrc522_interface_debug_print("mfrc522: set receiver analog failed.\n");
264 (void)mfrc522_deinit(&gs_handle);
265
266 return 1;
267 }
268 mfrc522_interface_debug_print("mfrc522: set receiver analog disable.\n");
269 res = mfrc522_get_receiver_analog(&gs_handle, &enable);
270 if (res != 0)
271 {
272 mfrc522_interface_debug_print("mfrc522: get receiver analog failed.\n");
273 (void)mfrc522_deinit(&gs_handle);
274
275 return 1;
276 }
277 mfrc522_interface_debug_print("mfrc522: check receiver analog %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
278
279 /* mfrc522_set_power_down/mfrc522_get_power_down test */
280 mfrc522_interface_debug_print("mfrc522: mfrc522_set_power_down/mfrc522_get_power_down test.\n");
281
282 /* if not uart interface */
283 if (interface != MFRC522_INTERFACE_UART)
284 {
285 /* enable */
286 res = mfrc522_set_power_down(&gs_handle, MFRC522_BOOL_TRUE);
287 if (res != 0)
288 {
289 mfrc522_interface_debug_print("mfrc522: set power down failed.\n");
290 (void)mfrc522_deinit(&gs_handle);
291
292 return 1;
293 }
294 mfrc522_interface_debug_print("mfrc522: set power down enable.\n");
295 res = mfrc522_get_power_down(&gs_handle, &enable);
296 if (res != 0)
297 {
298 mfrc522_interface_debug_print("mfrc522: get power down failed.\n");
299 (void)mfrc522_deinit(&gs_handle);
300
301 return 1;
302 }
303 mfrc522_interface_debug_print("mfrc522: check power down %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
304 }
305
306 /* disable */
308 if (res != 0)
309 {
310 mfrc522_interface_debug_print("mfrc522: set power down failed.\n");
311 (void)mfrc522_deinit(&gs_handle);
312
313 return 1;
314 }
315 mfrc522_interface_debug_print("mfrc522: set power down disable.\n");
316 res = mfrc522_get_power_down(&gs_handle, &enable);
317 if (res != 0)
318 {
319 mfrc522_interface_debug_print("mfrc522: get power down failed.\n");
320 (void)mfrc522_deinit(&gs_handle);
321
322 return 1;
323 }
324 mfrc522_interface_debug_print("mfrc522: check power down %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
325
326 /* mfrc522_set_interrupt1/mfrc522_get_interrupt1 test */
327 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt1/mfrc522_get_interrupt1 test.\n");
328
329 /* enable tx interrupt1 */
331 if (res != 0)
332 {
333 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
334 (void)mfrc522_deinit(&gs_handle);
335
336 return 1;
337 }
338 mfrc522_interface_debug_print("mfrc522: set tx interrupt1 enable.\n");
339 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_TX, &enable);
340 if (res != 0)
341 {
342 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
343 (void)mfrc522_deinit(&gs_handle);
344
345 return 1;
346 }
347 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
348
349 /* disable tx interrupt1 */
351 if (res != 0)
352 {
353 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
354 (void)mfrc522_deinit(&gs_handle);
355
356 return 1;
357 }
358 mfrc522_interface_debug_print("mfrc522: set tx interrupt1 disable.\n");
359 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_TX, &enable);
360 if (res != 0)
361 {
362 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
363 (void)mfrc522_deinit(&gs_handle);
364
365 return 1;
366 }
367 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
368
369 /* enable rx interrupt1 */
371 if (res != 0)
372 {
373 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
374 (void)mfrc522_deinit(&gs_handle);
375
376 return 1;
377 }
378 mfrc522_interface_debug_print("mfrc522: set rx interrupt1 enable.\n");
379 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_RX, &enable);
380 if (res != 0)
381 {
382 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
383 (void)mfrc522_deinit(&gs_handle);
384
385 return 1;
386 }
387 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
388
389 /* disable rx interrupt1 */
391 if (res != 0)
392 {
393 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
394 (void)mfrc522_deinit(&gs_handle);
395
396 return 1;
397 }
398 mfrc522_interface_debug_print("mfrc522: set rx interrupt1 disable.\n");
399 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_RX, &enable);
400 if (res != 0)
401 {
402 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
403 (void)mfrc522_deinit(&gs_handle);
404
405 return 1;
406 }
407 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
408
409 /* enable idle interrupt1 */
411 if (res != 0)
412 {
413 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
414 (void)mfrc522_deinit(&gs_handle);
415
416 return 1;
417 }
418 mfrc522_interface_debug_print("mfrc522: set idle interrupt1 enable.\n");
419 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_IDLE, &enable);
420 if (res != 0)
421 {
422 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
423 (void)mfrc522_deinit(&gs_handle);
424
425 return 1;
426 }
427 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
428
429 /* disable idle interrupt1 */
431 if (res != 0)
432 {
433 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
434 (void)mfrc522_deinit(&gs_handle);
435
436 return 1;
437 }
438 mfrc522_interface_debug_print("mfrc522: set idle interrupt1 disable.\n");
439 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_IDLE, &enable);
440 if (res != 0)
441 {
442 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
443 (void)mfrc522_deinit(&gs_handle);
444
445 return 1;
446 }
447 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
448
449 /* enable hi alert interrupt1 */
451 if (res != 0)
452 {
453 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
454 (void)mfrc522_deinit(&gs_handle);
455
456 return 1;
457 }
458 mfrc522_interface_debug_print("mfrc522: set hi alert interrupt1 enable.\n");
459 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_HI_ALERT, &enable);
460 if (res != 0)
461 {
462 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
463 (void)mfrc522_deinit(&gs_handle);
464
465 return 1;
466 }
467 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
468
469 /* disable hi alert interrupt1 */
471 if (res != 0)
472 {
473 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
474 (void)mfrc522_deinit(&gs_handle);
475
476 return 1;
477 }
478 mfrc522_interface_debug_print("mfrc522: set hi alert interrupt1 disable.\n");
479 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_HI_ALERT, &enable);
480 if (res != 0)
481 {
482 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
483 (void)mfrc522_deinit(&gs_handle);
484
485 return 1;
486 }
487 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
488
489 /* enable lo alert interrupt1 */
491 if (res != 0)
492 {
493 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
494 (void)mfrc522_deinit(&gs_handle);
495
496 return 1;
497 }
498 mfrc522_interface_debug_print("mfrc522: set lo alert interrupt1 enable.\n");
499 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_LO_ALERT, &enable);
500 if (res != 0)
501 {
502 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
503 (void)mfrc522_deinit(&gs_handle);
504
505 return 1;
506 }
507 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
508
509 /* disable lo alert interrupt1 */
511 if (res != 0)
512 {
513 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
514 (void)mfrc522_deinit(&gs_handle);
515
516 return 1;
517 }
518 mfrc522_interface_debug_print("mfrc522: set lo alert interrupt1 disable.\n");
519 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_LO_ALERT, &enable);
520 if (res != 0)
521 {
522 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
523 (void)mfrc522_deinit(&gs_handle);
524
525 return 1;
526 }
527 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
528
529 /* enable err interrupt1 */
531 if (res != 0)
532 {
533 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
534 (void)mfrc522_deinit(&gs_handle);
535
536 return 1;
537 }
538 mfrc522_interface_debug_print("mfrc522: set err interrupt1 enable.\n");
539 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_ERR, &enable);
540 if (res != 0)
541 {
542 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
543 (void)mfrc522_deinit(&gs_handle);
544
545 return 1;
546 }
547 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
548
549 /* disable err interrupt1 */
551 if (res != 0)
552 {
553 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
554 (void)mfrc522_deinit(&gs_handle);
555
556 return 1;
557 }
558 mfrc522_interface_debug_print("mfrc522: set err interrupt1 disable.\n");
559 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_ERR, &enable);
560 if (res != 0)
561 {
562 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
563 (void)mfrc522_deinit(&gs_handle);
564
565 return 1;
566 }
567 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
568
569 /* enable timer interrupt1 */
571 if (res != 0)
572 {
573 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
574 (void)mfrc522_deinit(&gs_handle);
575
576 return 1;
577 }
578 mfrc522_interface_debug_print("mfrc522: set timer interrupt1 enable.\n");
579 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_TIMER, &enable);
580 if (res != 0)
581 {
582 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
583 (void)mfrc522_deinit(&gs_handle);
584
585 return 1;
586 }
587 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
588
589 /* disable err interrupt1 */
591 if (res != 0)
592 {
593 mfrc522_interface_debug_print("mfrc522: set interrupt1 failed.\n");
594 (void)mfrc522_deinit(&gs_handle);
595
596 return 1;
597 }
598 mfrc522_interface_debug_print("mfrc522: set timer interrupt1 disable.\n");
599 res = mfrc522_get_interrupt1(&gs_handle, MFRC522_INTERRUPT1_TIMER, &enable);
600 if (res != 0)
601 {
602 mfrc522_interface_debug_print("mfrc522: get interrupt1 failed.\n");
603 (void)mfrc522_deinit(&gs_handle);
604
605 return 1;
606 }
607 mfrc522_interface_debug_print("mfrc522: check interrupt1 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
608
609 /* mfrc522_set_interrupt1_pin_invert/mfrc522_get_interrupt1_pin_invert test */
610 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt1_pin_invert/mfrc522_get_interrupt1_pin_invert test.\n");
611
612 /* enable */
614 if (res != 0)
615 {
616 mfrc522_interface_debug_print("mfrc522: set interrupt1 pin invert failed.\n");
617 (void)mfrc522_deinit(&gs_handle);
618
619 return 1;
620 }
621 mfrc522_interface_debug_print("mfrc522: set interrupt1 pin invert enable.\n");
622 res = mfrc522_get_interrupt1_pin_invert(&gs_handle, &enable);
623 if (res != 0)
624 {
625 mfrc522_interface_debug_print("mfrc522: get interrupt1 pin invert failed.\n");
626 (void)mfrc522_deinit(&gs_handle);
627
628 return 1;
629 }
630 mfrc522_interface_debug_print("mfrc522: check invert %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
631
632 /* disable */
634 if (res != 0)
635 {
636 mfrc522_interface_debug_print("mfrc522: set interrupt1 pin invert failed.\n");
637 (void)mfrc522_deinit(&gs_handle);
638
639 return 1;
640 }
641 mfrc522_interface_debug_print("mfrc522: set interrupt1 pin invert disable.\n");
642 res = mfrc522_get_interrupt1_pin_invert(&gs_handle, &enable);
643 if (res != 0)
644 {
645 mfrc522_interface_debug_print("mfrc522: get interrupt1 pin invert failed.\n");
646 (void)mfrc522_deinit(&gs_handle);
647
648 return 1;
649 }
650 mfrc522_interface_debug_print("mfrc522: check invert %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
651
652 /* mfrc522_set_interrupt1_trigger test */
653 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt1_trigger test.\n");
654
655 /* set */
657 if (res != 0)
658 {
659 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark failed.\n");
660 (void)mfrc522_deinit(&gs_handle);
661
662 return 1;
663 }
664 mfrc522_interface_debug_print("mfrc522: set interrupt1 trigger set.\n");
665 mfrc522_interface_debug_print("mfrc522: check interrupt1 trigger %s.\n", res == 0 ? "ok" : "error");
666
667 /* cleared */
669 if (res != 0)
670 {
671 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark failed.\n");
672 (void)mfrc522_deinit(&gs_handle);
673
674 return 1;
675 }
676 mfrc522_interface_debug_print("mfrc522: set interrupt1 trigger cleared.\n");
677 mfrc522_interface_debug_print("mfrc522: check interrupt1 trigger %s.\n", res == 0 ? "ok" : "error");
678
679 /* mfrc522_set_interrupt2/mfrc522_get_interrupt2 test */
680 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt2/mfrc522_get_interrupt2 test.\n");
681
682 /* mafin act enable */
684 if (res != 0)
685 {
686 mfrc522_interface_debug_print("mfrc522: set interrupt2 failed.\n");
687 (void)mfrc522_deinit(&gs_handle);
688
689 return 1;
690 }
691 mfrc522_interface_debug_print("mfrc522: set mafin act interrupt2 enable.\n");
692 res = mfrc522_get_interrupt2(&gs_handle, MFRC522_INTERRUPT2_MFIN_ACT, &enable);
693 if (res != 0)
694 {
695 mfrc522_interface_debug_print("mfrc522: get interrupt2 failed.\n");
696 (void)mfrc522_deinit(&gs_handle);
697
698 return 1;
699 }
700 mfrc522_interface_debug_print("mfrc522: check interrupt2 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
701
702 /* mafin act disable */
704 if (res != 0)
705 {
706 mfrc522_interface_debug_print("mfrc522: set interrupt2 failed.\n");
707 (void)mfrc522_deinit(&gs_handle);
708
709 return 1;
710 }
711 mfrc522_interface_debug_print("mfrc522: set mafin act interrupt2 disable.\n");
712 res = mfrc522_get_interrupt2(&gs_handle, MFRC522_INTERRUPT2_MFIN_ACT, &enable);
713 if (res != 0)
714 {
715 mfrc522_interface_debug_print("mfrc522: get interrupt2 failed.\n");
716 (void)mfrc522_deinit(&gs_handle);
717
718 return 1;
719 }
720 mfrc522_interface_debug_print("mfrc522: check interrupt2 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
721
722 /* crc enable */
724 if (res != 0)
725 {
726 mfrc522_interface_debug_print("mfrc522: set interrupt2 failed.\n");
727 (void)mfrc522_deinit(&gs_handle);
728
729 return 1;
730 }
731 mfrc522_interface_debug_print("mfrc522: set crc interrupt2 enable.\n");
732 res = mfrc522_get_interrupt2(&gs_handle, MFRC522_INTERRUPT2_CRC, &enable);
733 if (res != 0)
734 {
735 mfrc522_interface_debug_print("mfrc522: get interrupt2 failed.\n");
736 (void)mfrc522_deinit(&gs_handle);
737
738 return 1;
739 }
740 mfrc522_interface_debug_print("mfrc522: check interrupt2 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
741
742 /* crc disable */
744 if (res != 0)
745 {
746 mfrc522_interface_debug_print("mfrc522: set interrupt2 failed.\n");
747 (void)mfrc522_deinit(&gs_handle);
748
749 return 1;
750 }
751 mfrc522_interface_debug_print("mfrc522: set crc interrupt2 disable.\n");
752 res = mfrc522_get_interrupt2(&gs_handle, MFRC522_INTERRUPT2_CRC, &enable);
753 if (res != 0)
754 {
755 mfrc522_interface_debug_print("mfrc522: get interrupt2 failed.\n");
756 (void)mfrc522_deinit(&gs_handle);
757
758 return 1;
759 }
760 mfrc522_interface_debug_print("mfrc522: check interrupt2 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
761
762 /* mfrc522_set_interrupt_pin_type/mfrc522_get_interrupt_pin_type test */
763 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt_pin_type/mfrc522_get_interrupt_pin_type test.\n");
764
765 /* set standard cmos */
767 if (res != 0)
768 {
769 mfrc522_interface_debug_print("mfrc522: set interrupt pin type failed.\n");
770 (void)mfrc522_deinit(&gs_handle);
771
772 return 1;
773 }
774 mfrc522_interface_debug_print("mfrc522: set interrupt pin type standard cmos.\n");
775 res = mfrc522_get_interrupt_pin_type(&gs_handle, &pin_type);
776 if (res != 0)
777 {
778 mfrc522_interface_debug_print("mfrc522: get interrupt pin type failed.\n");
779 (void)mfrc522_deinit(&gs_handle);
780
781 return 1;
782 }
783 mfrc522_interface_debug_print("mfrc522: check interrupt pin type %s.\n", pin_type == MFRC522_INTERRUPT_PIN_TYPE_STANDARD_CMOS ? "ok" : "error");
784
785 /* set open drain */
787 if (res != 0)
788 {
789 mfrc522_interface_debug_print("mfrc522: set interrupt pin type failed.\n");
790 (void)mfrc522_deinit(&gs_handle);
791
792 return 1;
793 }
794 mfrc522_interface_debug_print("mfrc522: set interrupt pin type open drain.\n");
795 res = mfrc522_get_interrupt_pin_type(&gs_handle, &pin_type);
796 if (res != 0)
797 {
798 mfrc522_interface_debug_print("mfrc522: get interrupt pin type failed.\n");
799 (void)mfrc522_deinit(&gs_handle);
800
801 return 1;
802 }
803 mfrc522_interface_debug_print("mfrc522: check interrupt pin type %s.\n", pin_type == MFRC522_INTERRUPT_PIN_TYPE_OPEN_DRAIN ? "ok" : "error");
804
805 /* mfrc522_set_interrupt1_mark test */
806 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt1_mark test.\n");
807
808 /* set */
810 if (res != 0)
811 {
812 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark failed.\n");
813 (void)mfrc522_deinit(&gs_handle);
814
815 return 1;
816 }
817 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark set.\n");
818 mfrc522_interface_debug_print("mfrc522: check interrupt1 mark %s.\n", res == 0 ? "ok" : "error");
819
820 /* cleared */
822 if (res != 0)
823 {
824 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark failed.\n");
825 (void)mfrc522_deinit(&gs_handle);
826
827 return 1;
828 }
829 mfrc522_interface_debug_print("mfrc522: set interrupt1 mark cleared.\n");
830 mfrc522_interface_debug_print("mfrc522: check interrupt1 mark %s.\n", res == 0 ? "ok" : "error");
831
832 /* mfrc522_set_interrupt2_mark test */
833 mfrc522_interface_debug_print("mfrc522: mfrc522_set_interrupt2_mark test.\n");
834
835 /* set */
837 if (res != 0)
838 {
839 mfrc522_interface_debug_print("mfrc522: set interrupt2 mark failed.\n");
840 (void)mfrc522_deinit(&gs_handle);
841
842 return 1;
843 }
844 mfrc522_interface_debug_print("mfrc522: set interrupt2 mark set.\n");
845 mfrc522_interface_debug_print("mfrc522: check interrupt2 mark %s.\n", res == 0 ? "ok" : "error");
846
847 /* cleared */
849 if (res != 0)
850 {
851 mfrc522_interface_debug_print("mfrc522: set interrupt2 mark failed.\n");
852 (void)mfrc522_deinit(&gs_handle);
853
854 return 1;
855 }
856 mfrc522_interface_debug_print("mfrc522: set interrupt2 mark cleared.\n");
857 mfrc522_interface_debug_print("mfrc522: check interrupt2 mark %s.\n", res == 0 ? "ok" : "error");
858
859 /* mfrc522_get_interrupt1_status */
860 mfrc522_interface_debug_print("mfrc522: mfrc522_get_interrupt1_status test.\n");
861
862 /* get the interrupt1 status */
863 res = mfrc522_get_interrupt1_status(&gs_handle, &reg);
864 if (res != 0)
865 {
866 mfrc522_interface_debug_print("mfrc522: get interrupt1 status failed.\n");
867 (void)mfrc522_deinit(&gs_handle);
868
869 return 1;
870 }
871 mfrc522_interface_debug_print("mfrc522: interrupt1 status is 0x%02X.\n", reg);
872
873 /* mfrc522_get_interrupt2_status */
874 mfrc522_interface_debug_print("mfrc522: mfrc522_get_interrupt2_status test.\n");
875
876 /* get the interrupt2 status */
877 res = mfrc522_get_interrupt2_status(&gs_handle, &reg);
878 if (res != 0)
879 {
880 mfrc522_interface_debug_print("mfrc522: get interrupt2 status failed.\n");
881 (void)mfrc522_deinit(&gs_handle);
882
883 return 1;
884 }
885 mfrc522_interface_debug_print("mfrc522: interrupt2 status is 0x%02X.\n", reg);
886
887 /* mfrc522_get_error */
888 mfrc522_interface_debug_print("mfrc522: mfrc522_get_error test.\n");
889
890 /* get the error */
891 res = mfrc522_get_error(&gs_handle, &reg);
892 if (res != 0)
893 {
894 mfrc522_interface_debug_print("mfrc522: get error failed.\n");
895 (void)mfrc522_deinit(&gs_handle);
896
897 return 1;
898 }
899 mfrc522_interface_debug_print("mfrc522: error is 0x%02X.\n", reg);
900
901 /* mfrc522_get_status1 */
902 mfrc522_interface_debug_print("mfrc522: mfrc522_get_status1 test.\n");
903
904 /* get the status1 */
905 res = mfrc522_get_status1(&gs_handle, &reg);
906 if (res != 0)
907 {
908 mfrc522_interface_debug_print("mfrc522: get status1 failed.\n");
909 (void)mfrc522_deinit(&gs_handle);
910
911 return 1;
912 }
913 mfrc522_interface_debug_print("mfrc522: status1 is 0x%02X.\n", reg);
914
915 /* mfrc522_get_status2 */
916 mfrc522_interface_debug_print("mfrc522: mfrc522_get_status2 test.\n");
917
918 /* get the status2 */
919 res = mfrc522_get_status2(&gs_handle, &reg);
920 if (res != 0)
921 {
922 mfrc522_interface_debug_print("mfrc522: get status2 failed.\n");
923 (void)mfrc522_deinit(&gs_handle);
924
925 return 1;
926 }
927 mfrc522_interface_debug_print("mfrc522: status2 is 0x%02X.\n", reg);
928
929 /* mfrc522_get_modem_state */
930 mfrc522_interface_debug_print("mfrc522: mfrc522_get_modem_state test.\n");
931
932 /* get modem state */
933 res = mfrc522_get_modem_state(&gs_handle, &modem_state);
934 if (res != 0)
935 {
936 mfrc522_interface_debug_print("mfrc522: get modem state failed.\n");
937 (void)mfrc522_deinit(&gs_handle);
938
939 return 1;
940 }
941 mfrc522_interface_debug_print("mfrc522: modem state is 0x%02X.\n", modem_state);
942
943 /* mfrc522_set_mifare_crypto1_on/mfrc522_get_mifare_crypto1_on test */
944 mfrc522_interface_debug_print("mfrc522: mfrc522_set_mifare_crypto1_on/mfrc522_get_mifare_crypto1_on test.\n");
945
946 /* enable */
948 if (res != 0)
949 {
950 mfrc522_interface_debug_print("mfrc522: set mifare crypto1 on failed.\n");
951 (void)mfrc522_deinit(&gs_handle);
952
953 return 1;
954 }
955 mfrc522_interface_debug_print("mfrc522: set mifare crypto1 on enable.\n");
956 mfrc522_interface_debug_print("mfrc522: check mifare crypto1 on %s.\n", res == 0 ? "ok" : "error");
957
958 /* disable */
960 if (res != 0)
961 {
962 mfrc522_interface_debug_print("mfrc522: set mifare crypto1 on failed.\n");
963 (void)mfrc522_deinit(&gs_handle);
964
965 return 1;
966 }
967 mfrc522_interface_debug_print("mfrc522: set mifare crypto1 on disable.\n");
968 mfrc522_interface_debug_print("mfrc522: check mifare crypto1 on %s.\n", res == 0 ? "ok" : "error");
969
970 /* mfrc522_set_force_iic_high_speed/mfrc522_get_force_iic_high_speed test */
971 mfrc522_interface_debug_print("mfrc522: mfrc522_set_force_iic_high_speed/mfrc522_get_force_iic_high_speed test.\n");
972
973 /* enable */
975 if (res != 0)
976 {
977 mfrc522_interface_debug_print("mfrc522: set force iic high speed failed.\n");
978 (void)mfrc522_deinit(&gs_handle);
979
980 return 1;
981 }
982 mfrc522_interface_debug_print("mfrc522: set force iic high speed enable.\n");
983 res = mfrc522_get_force_iic_high_speed(&gs_handle, &enable);
984 if (res != 0)
985 {
986 mfrc522_interface_debug_print("mfrc522: get force iic high speed failed.\n");
987 (void)mfrc522_deinit(&gs_handle);
988
989 return 1;
990 }
991 mfrc522_interface_debug_print("mfrc522: check force iic high speed %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
992
993 /* disable */
995 if (res != 0)
996 {
997 mfrc522_interface_debug_print("mfrc522: set force iic high speed failed.\n");
998 (void)mfrc522_deinit(&gs_handle);
999
1000 return 1;
1001 }
1002 mfrc522_interface_debug_print("mfrc522: set force iic high speed disable.\n");
1003 res = mfrc522_get_force_iic_high_speed(&gs_handle, &enable);
1004 if (res != 0)
1005 {
1006 mfrc522_interface_debug_print("mfrc522: get force iic high speed failed.\n");
1007 (void)mfrc522_deinit(&gs_handle);
1008
1009 return 1;
1010 }
1011 mfrc522_interface_debug_print("mfrc522: check force iic high speed %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1012
1013 /* mfrc522_set_clear_temperature_error/mfrc522_get_clear_temperature_error test */
1014 mfrc522_interface_debug_print("mfrc522: mfrc522_set_clear_temperature_error/mfrc522_get_clear_temperature_error test.\n");
1015
1016 /* enable */
1018 if (res != 0)
1019 {
1020 mfrc522_interface_debug_print("mfrc522: set clear temperature error failed.\n");
1021 (void)mfrc522_deinit(&gs_handle);
1022
1023 return 1;
1024 }
1025 mfrc522_interface_debug_print("mfrc522: set clear temperature error enable.\n");
1026 res = mfrc522_get_clear_temperature_error(&gs_handle, &enable);
1027 if (res != 0)
1028 {
1029 mfrc522_interface_debug_print("mfrc522: get clear temperature error failed.\n");
1030 (void)mfrc522_deinit(&gs_handle);
1031
1032 return 1;
1033 }
1034 mfrc522_interface_debug_print("mfrc522: check clear temperature error enable %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1035
1036 /* disable */
1038 if (res != 0)
1039 {
1040 mfrc522_interface_debug_print("mfrc522: set clear temperature error failed.\n");
1041 (void)mfrc522_deinit(&gs_handle);
1042
1043 return 1;
1044 }
1045 mfrc522_interface_debug_print("mfrc522: set clear temperature error disable.\n");
1046 res = mfrc522_get_clear_temperature_error(&gs_handle, &enable);
1047 if (res != 0)
1048 {
1049 mfrc522_interface_debug_print("mfrc522: get clear temperature error failed.\n");
1050 (void)mfrc522_deinit(&gs_handle);
1051
1052 return 1;
1053 }
1054 mfrc522_interface_debug_print("mfrc522: check clear temperature error enable %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1055
1056 /* mfrc522_get_fifo_level test */
1057 mfrc522_interface_debug_print("mfrc522: mfrc522_get_fifo_level test.\n");
1058
1059 /* get fifo level */
1060 res = mfrc522_get_fifo_level(&gs_handle, &level);
1061 if (res != 0)
1062 {
1063 mfrc522_interface_debug_print("mfrc522: get fifo level failed.\n");
1064 (void)mfrc522_deinit(&gs_handle);
1065
1066 return 1;
1067 }
1068 mfrc522_interface_debug_print("mfrc522: fifo level is 0x%02X.\n", level);
1069
1070 /* mfrc522_flush_fifo test */
1071 mfrc522_interface_debug_print("mfrc522: mfrc522_flush_fifo test.\n");
1072
1073 /* flush fifo */
1074 res = mfrc522_flush_fifo(&gs_handle);
1075 if (res != 0)
1076 {
1077 mfrc522_interface_debug_print("mfrc522: flush fifo failed.\n");
1078 (void)mfrc522_deinit(&gs_handle);
1079
1080 return 1;
1081 }
1082 mfrc522_interface_debug_print("mfrc522: check flush fifo %s.\n", res == 0 ? "ok" : "error");
1083
1084 /* mfrc522_set_water_level/mfrc522_get_water_level test */
1085 mfrc522_interface_debug_print("mfrc522: mfrc522_set_water_level/mfrc522_get_water_level test.\n");
1086
1087 level = rand() % 0x40;
1088 res = mfrc522_set_water_level(&gs_handle, level);
1089 if (res != 0)
1090 {
1091 mfrc522_interface_debug_print("mfrc522: set water level failed.\n");
1092 (void)mfrc522_deinit(&gs_handle);
1093
1094 return 1;
1095 }
1096 mfrc522_interface_debug_print("mfrc522: set water level 0x%02X.\n", level);
1097 res = mfrc522_get_water_level(&gs_handle, &level_check);
1098 if (res != 0)
1099 {
1100 mfrc522_interface_debug_print("mfrc522: get water level failed.\n");
1101 (void)mfrc522_deinit(&gs_handle);
1102
1103 return 1;
1104 }
1105 mfrc522_interface_debug_print("mfrc522: check water level %s.\n", level == level_check ? "ok" : "error");
1106
1107 /* mfrc522_start_timer test */
1108 mfrc522_interface_debug_print("mfrc522: mfrc522_start_timer test.\n");
1109
1110 /* start the timer */
1111 res = mfrc522_start_timer(&gs_handle);
1112 if (res != 0)
1113 {
1114 mfrc522_interface_debug_print("mfrc522: start timer failed.\n");
1115 (void)mfrc522_deinit(&gs_handle);
1116
1117 return 1;
1118 }
1119 mfrc522_interface_debug_print("mfrc522: check start timer %s.\n", res == 0 ? "ok" : "error");
1120
1121 /* mfrc522_stop_timer test */
1122 mfrc522_interface_debug_print("mfrc522: mfrc522_stop_timer test.\n");
1123
1124 /* stop the timer */
1125 res = mfrc522_start_timer(&gs_handle);
1126 if (res != 0)
1127 {
1128 mfrc522_interface_debug_print("mfrc522: stop timer failed.\n");
1129 (void)mfrc522_deinit(&gs_handle);
1130
1131 return 1;
1132 }
1133 mfrc522_interface_debug_print("mfrc522: check stop timer %s.\n", res == 0 ? "ok" : "error");
1134
1135 /* mfrc522_get_rx_last_bits test */
1136 mfrc522_interface_debug_print("mfrc522: mfrc522_get_rx_last_bits test.\n");
1137
1138 /* get rx last bits */
1139 res = mfrc522_get_rx_last_bits(&gs_handle, &reg);
1140 if (res != 0)
1141 {
1142 mfrc522_interface_debug_print("mfrc522: get rx last bits failed.\n");
1143 (void)mfrc522_deinit(&gs_handle);
1144
1145 return 1;
1146 }
1147 mfrc522_interface_debug_print("mfrc522: rx last bits is 0x%02X.\n", reg);
1148
1149 /* mfrc522_start_send test */
1150 mfrc522_interface_debug_print("mfrc522: mfrc522_start_send test.\n");
1151
1152 /* start send */
1153 res = mfrc522_start_send(&gs_handle);
1154 if (res != 0)
1155 {
1156 mfrc522_interface_debug_print("mfrc522: start send failed.\n");
1157 (void)mfrc522_deinit(&gs_handle);
1158
1159 return 1;
1160 }
1161 mfrc522_interface_debug_print("mfrc522: check start send %s.\n", res == 0 ? "ok" : "error");
1162
1163 /* mfrc522_stop_send test */
1164 mfrc522_interface_debug_print("mfrc522: mfrc522_stop_send test.\n");
1165
1166 /* stop send */
1167 res = mfrc522_stop_send(&gs_handle);
1168 if (res != 0)
1169 {
1170 mfrc522_interface_debug_print("mfrc522: stop send failed.\n");
1171 (void)mfrc522_deinit(&gs_handle);
1172
1173 return 1;
1174 }
1175 mfrc522_interface_debug_print("mfrc522: check stop send %s.\n", res == 0 ? "ok" : "error");
1176
1177 /* mfrc522_set_tx_last_bits/mfrc522_get_tx_last_bits test */
1178 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_last_bits/mfrc522_get_tx_last_bits test.\n");
1179
1180 level = rand() % 8;
1181 res = mfrc522_set_tx_last_bits(&gs_handle, level);
1182 if (res != 0)
1183 {
1184 mfrc522_interface_debug_print("mfrc522: set tx last bits failed.\n");
1185 (void)mfrc522_deinit(&gs_handle);
1186
1187 return 1;
1188 }
1189 mfrc522_interface_debug_print("mfrc522: set tx last bits 0x%02X.\n", level);
1190 res = mfrc522_get_tx_last_bits(&gs_handle, &level_check);
1191 if (res != 0)
1192 {
1193 mfrc522_interface_debug_print("mfrc522: get tx last bits failed.\n");
1194 (void)mfrc522_deinit(&gs_handle);
1195
1196 return 1;
1197 }
1198 mfrc522_interface_debug_print("mfrc522: check tx last bits %s.\n", level == level_check ? "ok" : "error");
1199
1200 /* mfrc522_set_rx_align/mfrc522_get_rx_align test */
1201 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_align/mfrc522_get_rx_align test.\n");
1202
1203 /* set rx align 0 */
1204 res = mfrc522_set_rx_align(&gs_handle, MFRC522_RX_ALIGN_0);
1205 if (res != 0)
1206 {
1207 mfrc522_interface_debug_print("mfrc522: set rx align failed.\n");
1208 (void)mfrc522_deinit(&gs_handle);
1209
1210 return 1;
1211 }
1212 mfrc522_interface_debug_print("mfrc522: set rx align 0.\n");
1213 res = mfrc522_get_rx_align(&gs_handle, &align);
1214 if (res != 0)
1215 {
1216 mfrc522_interface_debug_print("mfrc522: get rx align failed.\n");
1217 (void)mfrc522_deinit(&gs_handle);
1218
1219 return 1;
1220 }
1221 mfrc522_interface_debug_print("mfrc522: check rx align %s.\n", align == MFRC522_RX_ALIGN_0 ? "ok" : "error");
1222
1223 /* set rx align 1 */
1224 res = mfrc522_set_rx_align(&gs_handle, MFRC522_RX_ALIGN_1);
1225 if (res != 0)
1226 {
1227 mfrc522_interface_debug_print("mfrc522: set rx align failed.\n");
1228 (void)mfrc522_deinit(&gs_handle);
1229
1230 return 1;
1231 }
1232 mfrc522_interface_debug_print("mfrc522: set rx align 1.\n");
1233 res = mfrc522_get_rx_align(&gs_handle, &align);
1234 if (res != 0)
1235 {
1236 mfrc522_interface_debug_print("mfrc522: get rx align failed.\n");
1237 (void)mfrc522_deinit(&gs_handle);
1238
1239 return 1;
1240 }
1241 mfrc522_interface_debug_print("mfrc522: check rx align %s.\n", align == MFRC522_RX_ALIGN_1 ? "ok" : "error");
1242
1243 /* set rx align 7 */
1244 res = mfrc522_set_rx_align(&gs_handle, MFRC522_RX_ALIGN_7);
1245 if (res != 0)
1246 {
1247 mfrc522_interface_debug_print("mfrc522: set rx align failed.\n");
1248 (void)mfrc522_deinit(&gs_handle);
1249
1250 return 1;
1251 }
1252 mfrc522_interface_debug_print("mfrc522: set rx align 7.\n");
1253 res = mfrc522_get_rx_align(&gs_handle, &align);
1254 if (res != 0)
1255 {
1256 mfrc522_interface_debug_print("mfrc522: get rx align failed.\n");
1257 (void)mfrc522_deinit(&gs_handle);
1258
1259 return 1;
1260 }
1261 mfrc522_interface_debug_print("mfrc522: check rx align %s.\n", align == MFRC522_RX_ALIGN_7 ? "ok" : "error");
1262
1263 /* mfrc522_set_value_clear_after_coll/mfrc522_get_value_clear_after_coll test */
1264 mfrc522_interface_debug_print("mfrc522: mfrc522_set_value_clear_after_coll/mfrc522_get_value_clear_after_coll test.\n");
1265
1266 /* enable */
1268 if (res != 0)
1269 {
1270 mfrc522_interface_debug_print("mfrc522: set value clear after coll failed.\n");
1271 (void)mfrc522_deinit(&gs_handle);
1272
1273 return 1;
1274 }
1275 mfrc522_interface_debug_print("mfrc522: set value clear after coll enable.\n");
1276 res = mfrc522_get_value_clear_after_coll(&gs_handle, &enable);
1277 if (res != 0)
1278 {
1279 mfrc522_interface_debug_print("mfrc522: get value clear after coll failed.\n");
1280 (void)mfrc522_deinit(&gs_handle);
1281
1282 return 1;
1283 }
1284 mfrc522_interface_debug_print("mfrc522: check value clear after coll %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1285
1286 /* disable */
1288 if (res != 0)
1289 {
1290 mfrc522_interface_debug_print("mfrc522: set value clear after coll failed.\n");
1291 (void)mfrc522_deinit(&gs_handle);
1292
1293 return 1;
1294 }
1295 mfrc522_interface_debug_print("mfrc522: set value clear after coll disable.\n");
1296 res = mfrc522_get_value_clear_after_coll(&gs_handle, &enable);
1297 if (res != 0)
1298 {
1299 mfrc522_interface_debug_print("mfrc522: get value clear after coll failed.\n");
1300 (void)mfrc522_deinit(&gs_handle);
1301
1302 return 1;
1303 }
1304 mfrc522_interface_debug_print("mfrc522: check value clear after coll %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1305
1306 /* mfrc522_get_collision_position_not_valid test */
1307 mfrc522_interface_debug_print("mfrc522: mfrc522_get_collision_position_not_valid test.\n");
1308
1309 /* get the bool */
1310 res = mfrc522_get_collision_position_not_valid(&gs_handle, &enable);
1311 if (res != 0)
1312 {
1313 mfrc522_interface_debug_print("mfrc522: get collision position not valid failed.\n");
1314 (void)mfrc522_deinit(&gs_handle);
1315
1316 return 1;
1317 }
1318 mfrc522_interface_debug_print("mfrc522: collision position not valid is %s.\n", enable == MFRC522_BOOL_TRUE ? "true" : "false");
1319
1320 /* mfrc522_get_collision_position_not_valid test */
1321 mfrc522_interface_debug_print("mfrc522: mfrc522_get_collision_position_not_valid test.\n");
1322
1323 /* get collision position */
1324 res = mfrc522_get_collision_position(&gs_handle, &reg);
1325 if (res != 0)
1326 {
1327 mfrc522_interface_debug_print("mfrc522: get collision position failed.\n");
1328 (void)mfrc522_deinit(&gs_handle);
1329
1330 return 1;
1331 }
1332 mfrc522_interface_debug_print("mfrc522: collision position is 0x%02X.\n", reg);
1333
1334 /* mfrc522_set_crc_msb_first/mfrc522_get_crc_msb_first test */
1335 mfrc522_interface_debug_print("mfrc522: mfrc522_set_crc_msb_first/mfrc522_get_crc_msb_first test.\n");
1336
1337 /* enable */
1339 if (res != 0)
1340 {
1341 mfrc522_interface_debug_print("mfrc522: set crc msb first failed.\n");
1342 (void)mfrc522_deinit(&gs_handle);
1343
1344 return 1;
1345 }
1346 mfrc522_interface_debug_print("mfrc522: set crc msb first enable.\n");
1347 res = mfrc522_get_crc_msb_first(&gs_handle, &enable);
1348 if (res != 0)
1349 {
1350 mfrc522_interface_debug_print("mfrc522: get crc msb first failed.\n");
1351 (void)mfrc522_deinit(&gs_handle);
1352
1353 return 1;
1354 }
1355 mfrc522_interface_debug_print("mfrc522: check get crc msb first %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1356
1357 /* disable */
1359 if (res != 0)
1360 {
1361 mfrc522_interface_debug_print("mfrc522: set crc msb first failed.\n");
1362 (void)mfrc522_deinit(&gs_handle);
1363
1364 return 1;
1365 }
1366 mfrc522_interface_debug_print("mfrc522: set crc msb first disable.\n");
1367 res = mfrc522_get_crc_msb_first(&gs_handle, &enable);
1368 if (res != 0)
1369 {
1370 mfrc522_interface_debug_print("mfrc522: get crc msb first failed.\n");
1371 (void)mfrc522_deinit(&gs_handle);
1372
1373 return 1;
1374 }
1375 mfrc522_interface_debug_print("mfrc522: check get crc msb first %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1376
1377 /* mfrc522_set_tx_wait_rf/mfrc522_get_tx_wait_rf test */
1378 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_wait_rf/mfrc522_get_tx_wait_rf test.\n");
1379
1380 /* enable */
1381 res = mfrc522_set_tx_wait_rf(&gs_handle, MFRC522_BOOL_TRUE);
1382 if (res != 0)
1383 {
1384 mfrc522_interface_debug_print("mfrc522: set tx wait rf failed.\n");
1385 (void)mfrc522_deinit(&gs_handle);
1386
1387 return 1;
1388 }
1389 mfrc522_interface_debug_print("mfrc522: set tx wait rf enable .\n");
1390 res = mfrc522_get_tx_wait_rf(&gs_handle, &enable);
1391 if (res != 0)
1392 {
1393 mfrc522_interface_debug_print("mfrc522: get tx wait rf failed.\n");
1394 (void)mfrc522_deinit(&gs_handle);
1395
1396 return 1;
1397 }
1398 mfrc522_interface_debug_print("mfrc522: check tx wait rf %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1399
1400 /* disable */
1401 res = mfrc522_set_tx_wait_rf(&gs_handle, MFRC522_BOOL_FALSE);
1402 if (res != 0)
1403 {
1404 mfrc522_interface_debug_print("mfrc522: set tx wait rf failed.\n");
1405 (void)mfrc522_deinit(&gs_handle);
1406
1407 return 1;
1408 }
1409 mfrc522_interface_debug_print("mfrc522: set tx wait rf disable .\n");
1410 res = mfrc522_get_tx_wait_rf(&gs_handle, &enable);
1411 if (res != 0)
1412 {
1413 mfrc522_interface_debug_print("mfrc522: get tx wait rf failed.\n");
1414 (void)mfrc522_deinit(&gs_handle);
1415
1416 return 1;
1417 }
1418 mfrc522_interface_debug_print("mfrc522: check tx wait rf %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1419
1420 /* mfrc522_set_mfin_polarity/mfrc522_get_mfin_polarity test */
1421 mfrc522_interface_debug_print("mfrc522: mfrc522_set_mfin_polarity/mfrc522_get_mfin_polarity test.\n");
1422
1423 /* set low */
1425 if (res != 0)
1426 {
1427 mfrc522_interface_debug_print("mfrc522: set mfin polarity failed.\n");
1428 (void)mfrc522_deinit(&gs_handle);
1429
1430 return 1;
1431 }
1432 mfrc522_interface_debug_print("mfrc522: set mfin polarity low.\n");
1433 res = mfrc522_get_mfin_polarity(&gs_handle, &polarity);
1434 if (res != 0)
1435 {
1436 mfrc522_interface_debug_print("mfrc522: get mfin polarity failed.\n");
1437 (void)mfrc522_deinit(&gs_handle);
1438
1439 return 1;
1440 }
1441 mfrc522_interface_debug_print("mfrc522: check mfin polarity %s.\n", polarity == MFRC522_MFIN_POLARITY_LOW ? "ok" : "error");
1442
1443 /* set high */
1445 if (res != 0)
1446 {
1447 mfrc522_interface_debug_print("mfrc522: set mfin polarity failed.\n");
1448 (void)mfrc522_deinit(&gs_handle);
1449
1450 return 1;
1451 }
1452 mfrc522_interface_debug_print("mfrc522: set mfin polarity high.\n");
1453 res = mfrc522_get_mfin_polarity(&gs_handle, &polarity);
1454 if (res != 0)
1455 {
1456 mfrc522_interface_debug_print("mfrc522: get mfin polarity failed.\n");
1457 (void)mfrc522_deinit(&gs_handle);
1458
1459 return 1;
1460 }
1461 mfrc522_interface_debug_print("mfrc522: check mfin polarity %s.\n", polarity == MFRC522_MFIN_POLARITY_HIGH ? "ok" : "error");
1462
1463 /* mfrc522_set_crc_preset/mfrc522_get_crc_preset test */
1464 mfrc522_interface_debug_print("mfrc522: mfrc522_set_crc_preset/mfrc522_get_crc_preset test.\n");
1465
1466 /* 0000 */
1468 if (res != 0)
1469 {
1470 mfrc522_interface_debug_print("mfrc522: set crc preset failed.\n");
1471 (void)mfrc522_deinit(&gs_handle);
1472
1473 return 1;
1474 }
1475 mfrc522_interface_debug_print("mfrc522: set crc preset 0000.\n");
1476 res = mfrc522_get_crc_preset(&gs_handle, &preset);
1477 if (res != 0)
1478 {
1479 mfrc522_interface_debug_print("mfrc522: get crc preset failed.\n");
1480 (void)mfrc522_deinit(&gs_handle);
1481
1482 return 1;
1483 }
1484 mfrc522_interface_debug_print("mfrc522: check crc preset %s.\n", preset == MFRC522_CRC_PRESET_0000 ? "ok" : "error");
1485
1486 /* 6363 */
1488 if (res != 0)
1489 {
1490 mfrc522_interface_debug_print("mfrc522: set crc preset failed.\n");
1491 (void)mfrc522_deinit(&gs_handle);
1492
1493 return 1;
1494 }
1495 mfrc522_interface_debug_print("mfrc522: set crc preset 6363.\n");
1496 res = mfrc522_get_crc_preset(&gs_handle, &preset);
1497 if (res != 0)
1498 {
1499 mfrc522_interface_debug_print("mfrc522: get crc preset failed.\n");
1500 (void)mfrc522_deinit(&gs_handle);
1501
1502 return 1;
1503 }
1504 mfrc522_interface_debug_print("mfrc522: check crc preset %s.\n", preset == MFRC522_CRC_PRESET_6363 ? "ok" : "error");
1505
1506 /* A671 */
1508 if (res != 0)
1509 {
1510 mfrc522_interface_debug_print("mfrc522: set crc preset failed.\n");
1511 (void)mfrc522_deinit(&gs_handle);
1512
1513 return 1;
1514 }
1515 mfrc522_interface_debug_print("mfrc522: set crc preset A671.\n");
1516 res = mfrc522_get_crc_preset(&gs_handle, &preset);
1517 if (res != 0)
1518 {
1519 mfrc522_interface_debug_print("mfrc522: get crc preset failed.\n");
1520 (void)mfrc522_deinit(&gs_handle);
1521
1522 return 1;
1523 }
1524 mfrc522_interface_debug_print("mfrc522: check crc preset %s.\n", preset == MFRC522_CRC_PRESET_A671 ? "ok" : "error");
1525
1526 /* FFFF */
1528 if (res != 0)
1529 {
1530 mfrc522_interface_debug_print("mfrc522: set crc preset failed.\n");
1531 (void)mfrc522_deinit(&gs_handle);
1532
1533 return 1;
1534 }
1535 mfrc522_interface_debug_print("mfrc522: set crc preset FFFF.\n");
1536 res = mfrc522_get_crc_preset(&gs_handle, &preset);
1537 if (res != 0)
1538 {
1539 mfrc522_interface_debug_print("mfrc522: get crc preset failed.\n");
1540 (void)mfrc522_deinit(&gs_handle);
1541
1542 return 1;
1543 }
1544 mfrc522_interface_debug_print("mfrc522: check crc preset %s.\n", preset == MFRC522_CRC_PRESET_FFFF ? "ok" : "error");
1545
1546 /* mfrc522_set_tx_crc_generation/mfrc522_get_tx_crc_generation test */
1547 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_crc_generation/mfrc522_get_tx_crc_generation test.\n");
1548
1549 /* enable */
1551 if (res != 0)
1552 {
1553 mfrc522_interface_debug_print("mfrc522: set tx crc generation failed.\n");
1554 (void)mfrc522_deinit(&gs_handle);
1555
1556 return 1;
1557 }
1558 mfrc522_interface_debug_print("mfrc522: set tx crc generation enable.\n");
1559 res = mfrc522_get_tx_crc_generation(&gs_handle, &enable);
1560 if (res != 0)
1561 {
1562 mfrc522_interface_debug_print("mfrc522: get tx crc generation failed.\n");
1563 (void)mfrc522_deinit(&gs_handle);
1564
1565 return 1;
1566 }
1567 mfrc522_interface_debug_print("mfrc522: check tx crc generation %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1568
1569 /* disable */
1571 if (res != 0)
1572 {
1573 mfrc522_interface_debug_print("mfrc522: set tx crc generation failed.\n");
1574 (void)mfrc522_deinit(&gs_handle);
1575
1576 return 1;
1577 }
1578 mfrc522_interface_debug_print("mfrc522: set tx crc generation disable.\n");
1579 res = mfrc522_get_tx_crc_generation(&gs_handle, &enable);
1580 if (res != 0)
1581 {
1582 mfrc522_interface_debug_print("mfrc522: get tx crc generation failed.\n");
1583 (void)mfrc522_deinit(&gs_handle);
1584
1585 return 1;
1586 }
1587 mfrc522_interface_debug_print("mfrc522: check tx crc generation %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1588
1589 /* mfrc522_set_tx_speed/mfrc522_get_tx_speed test */
1590 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_speed/mfrc522_get_tx_speed test.\n");
1591
1592 /* 106 kBd*/
1594 if (res != 0)
1595 {
1596 mfrc522_interface_debug_print("mfrc522: set tx speed failed.\n");
1597 (void)mfrc522_deinit(&gs_handle);
1598
1599 return 1;
1600 }
1601 mfrc522_interface_debug_print("mfrc522: set tx speed 106 kBd.\n");
1602 res = mfrc522_get_tx_speed(&gs_handle, &speed);
1603 if (res != 0)
1604 {
1605 mfrc522_interface_debug_print("mfrc522: get tx speed failed.\n");
1606 (void)mfrc522_deinit(&gs_handle);
1607
1608 return 1;
1609 }
1610 mfrc522_interface_debug_print("mfrc522: check tx speed %s.\n", speed == MFRC522_SPEED_106_KBD ? "ok" : "error");
1611
1612 /* 212 kBd*/
1614 if (res != 0)
1615 {
1616 mfrc522_interface_debug_print("mfrc522: set tx speed failed.\n");
1617 (void)mfrc522_deinit(&gs_handle);
1618
1619 return 1;
1620 }
1621 mfrc522_interface_debug_print("mfrc522: set tx speed 212 kBd.\n");
1622 res = mfrc522_get_tx_speed(&gs_handle, &speed);
1623 if (res != 0)
1624 {
1625 mfrc522_interface_debug_print("mfrc522: get tx speed failed.\n");
1626 (void)mfrc522_deinit(&gs_handle);
1627
1628 return 1;
1629 }
1630 mfrc522_interface_debug_print("mfrc522: check tx speed %s.\n", speed == MFRC522_SPEED_212_KBD ? "ok" : "error");
1631
1632 /* 424 kBd*/
1634 if (res != 0)
1635 {
1636 mfrc522_interface_debug_print("mfrc522: set tx speed failed.\n");
1637 (void)mfrc522_deinit(&gs_handle);
1638
1639 return 1;
1640 }
1641 mfrc522_interface_debug_print("mfrc522: set tx speed 424 kBd.\n");
1642 res = mfrc522_get_tx_speed(&gs_handle, &speed);
1643 if (res != 0)
1644 {
1645 mfrc522_interface_debug_print("mfrc522: get tx speed failed.\n");
1646 (void)mfrc522_deinit(&gs_handle);
1647
1648 return 1;
1649 }
1650 mfrc522_interface_debug_print("mfrc522: check tx speed %s.\n", speed == MFRC522_SPEED_424_KBD ? "ok" : "error");
1651
1652 /* 848 kBd*/
1654 if (res != 0)
1655 {
1656 mfrc522_interface_debug_print("mfrc522: set tx speed failed.\n");
1657 (void)mfrc522_deinit(&gs_handle);
1658
1659 return 1;
1660 }
1661 mfrc522_interface_debug_print("mfrc522: set tx speed 848 kBd.\n");
1662 res = mfrc522_get_tx_speed(&gs_handle, &speed);
1663 if (res != 0)
1664 {
1665 mfrc522_interface_debug_print("mfrc522: get tx speed failed.\n");
1666 (void)mfrc522_deinit(&gs_handle);
1667
1668 return 1;
1669 }
1670 mfrc522_interface_debug_print("mfrc522: check tx speed %s.\n", speed == MFRC522_SPEED_848_KBD ? "ok" : "error");
1671
1672 /* mfrc522_set_modulation_invert/mfrc522_get_modulation_invert test */
1673 mfrc522_interface_debug_print("mfrc522: mfrc522_set_modulation_invert/mfrc522_get_modulation_invert test.\n");
1674
1675 /* enable */
1677 if (res != 0)
1678 {
1679 mfrc522_interface_debug_print("mfrc522: set modulation invert failed.\n");
1680 (void)mfrc522_deinit(&gs_handle);
1681
1682 return 1;
1683 }
1684 mfrc522_interface_debug_print("mfrc522: set modulation invert enable.\n");
1685 res = mfrc522_get_modulation_invert(&gs_handle, &enable);
1686 if (res != 0)
1687 {
1688 mfrc522_interface_debug_print("mfrc522: get modulation invert failed.\n");
1689 (void)mfrc522_deinit(&gs_handle);
1690
1691 return 1;
1692 }
1693 mfrc522_interface_debug_print("mfrc522: check modulation invert %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1694
1695 /* disable */
1697 if (res != 0)
1698 {
1699 mfrc522_interface_debug_print("mfrc522: set modulation invert failed.\n");
1700 (void)mfrc522_deinit(&gs_handle);
1701
1702 return 1;
1703 }
1704 mfrc522_interface_debug_print("mfrc522: set modulation invert disable.\n");
1705 res = mfrc522_get_modulation_invert(&gs_handle, &enable);
1706 if (res != 0)
1707 {
1708 mfrc522_interface_debug_print("mfrc522: get modulation invert failed.\n");
1709 (void)mfrc522_deinit(&gs_handle);
1710
1711 return 1;
1712 }
1713 mfrc522_interface_debug_print("mfrc522: check modulation invert %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1714
1715 /* mfrc522_set_rx_crc_generation/mfrc522_get_rx_crc_generation test */
1716 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_crc_generation/mfrc522_get_rx_crc_generation test.\n");
1717
1718 /* enable */
1720 if (res != 0)
1721 {
1722 mfrc522_interface_debug_print("mfrc522: set rx crc generation failed.\n");
1723 (void)mfrc522_deinit(&gs_handle);
1724
1725 return 1;
1726 }
1727 mfrc522_interface_debug_print("mfrc522: set rx crc generation enable.\n");
1728 res = mfrc522_get_rx_crc_generation(&gs_handle, &enable);
1729 if (res != 0)
1730 {
1731 mfrc522_interface_debug_print("mfrc522: get rx crc generation failed.\n");
1732 (void)mfrc522_deinit(&gs_handle);
1733
1734 return 1;
1735 }
1736 mfrc522_interface_debug_print("mfrc522: check rx crc generation %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1737
1738 /* disable */
1740 if (res != 0)
1741 {
1742 mfrc522_interface_debug_print("mfrc522: set rx crc generation failed.\n");
1743 (void)mfrc522_deinit(&gs_handle);
1744
1745 return 1;
1746 }
1747 mfrc522_interface_debug_print("mfrc522: set rx crc generation disable.\n");
1748 res = mfrc522_get_rx_crc_generation(&gs_handle, &enable);
1749 if (res != 0)
1750 {
1751 mfrc522_interface_debug_print("mfrc522: get rx crc generation failed.\n");
1752 (void)mfrc522_deinit(&gs_handle);
1753
1754 return 1;
1755 }
1756 mfrc522_interface_debug_print("mfrc522: check rx crc generation %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1757
1758 /* mfrc522_set_rx_speed/mfrc522_get_rx_speed test */
1759 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_speed/mfrc522_get_rx_speed test.\n");
1760
1761 /* 106 kBd */
1763 if (res != 0)
1764 {
1765 mfrc522_interface_debug_print("mfrc522: set rx speed failed.\n");
1766 (void)mfrc522_deinit(&gs_handle);
1767
1768 return 1;
1769 }
1770 mfrc522_interface_debug_print("mfrc522: set rx speed 106 kBd.\n");
1771 res = mfrc522_get_rx_speed(&gs_handle, &speed);
1772 if (res != 0)
1773 {
1774 mfrc522_interface_debug_print("mfrc522: get rx speed failed.\n");
1775 (void)mfrc522_deinit(&gs_handle);
1776
1777 return 1;
1778 }
1779 mfrc522_interface_debug_print("mfrc522: check rx speed %s.\n", speed == MFRC522_SPEED_106_KBD ? "ok" : "error");
1780
1781 /* 212 kBd */
1783 if (res != 0)
1784 {
1785 mfrc522_interface_debug_print("mfrc522: set rx speed failed.\n");
1786 (void)mfrc522_deinit(&gs_handle);
1787
1788 return 1;
1789 }
1790 mfrc522_interface_debug_print("mfrc522: set rx speed 212 kBd.\n");
1791 res = mfrc522_get_rx_speed(&gs_handle, &speed);
1792 if (res != 0)
1793 {
1794 mfrc522_interface_debug_print("mfrc522: get rx speed failed.\n");
1795 (void)mfrc522_deinit(&gs_handle);
1796
1797 return 1;
1798 }
1799 mfrc522_interface_debug_print("mfrc522: check rx speed %s.\n", speed == MFRC522_SPEED_212_KBD ? "ok" : "error");
1800
1801 /* 424 kBd */
1803 if (res != 0)
1804 {
1805 mfrc522_interface_debug_print("mfrc522: set rx speed failed.\n");
1806 (void)mfrc522_deinit(&gs_handle);
1807
1808 return 1;
1809 }
1810 mfrc522_interface_debug_print("mfrc522: set rx speed 424 kBd.\n");
1811 res = mfrc522_get_rx_speed(&gs_handle, &speed);
1812 if (res != 0)
1813 {
1814 mfrc522_interface_debug_print("mfrc522: get rx speed failed.\n");
1815 (void)mfrc522_deinit(&gs_handle);
1816
1817 return 1;
1818 }
1819 mfrc522_interface_debug_print("mfrc522: check rx speed %s.\n", speed == MFRC522_SPEED_424_KBD ? "ok" : "error");
1820
1821 /* 848 kBd */
1823 if (res != 0)
1824 {
1825 mfrc522_interface_debug_print("mfrc522: set rx speed failed.\n");
1826 (void)mfrc522_deinit(&gs_handle);
1827
1828 return 1;
1829 }
1830 mfrc522_interface_debug_print("mfrc522: set rx speed 848 kBd.\n");
1831 res = mfrc522_get_rx_speed(&gs_handle, &speed);
1832 if (res != 0)
1833 {
1834 mfrc522_interface_debug_print("mfrc522: get rx speed failed.\n");
1835 (void)mfrc522_deinit(&gs_handle);
1836
1837 return 1;
1838 }
1839 mfrc522_interface_debug_print("mfrc522: check rx speed %s.\n", speed == MFRC522_SPEED_848_KBD ? "ok" : "error");
1840
1841 /* mfrc522_set_rx_no_error/mfrc522_get_rx_no_error test */
1842 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_no_error/mfrc522_get_rx_no_error test.\n");
1843
1844 /* enable */
1845 res = mfrc522_set_rx_no_error(&gs_handle, MFRC522_BOOL_TRUE);
1846 if (res != 0)
1847 {
1848 mfrc522_interface_debug_print("mfrc522: set rx no error failed.\n");
1849 (void)mfrc522_deinit(&gs_handle);
1850
1851 return 1;
1852 }
1853 mfrc522_interface_debug_print("mfrc522: set rx no error enable.\n");
1854 res = mfrc522_get_rx_no_error(&gs_handle, &enable);
1855 if (res != 0)
1856 {
1857 mfrc522_interface_debug_print("mfrc522: get rx no error failed.\n");
1858 (void)mfrc522_deinit(&gs_handle);
1859
1860 return 1;
1861 }
1862 mfrc522_interface_debug_print("mfrc522: check rx no error %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1863
1864 /* disable */
1866 if (res != 0)
1867 {
1868 mfrc522_interface_debug_print("mfrc522: set rx no error failed.\n");
1869 (void)mfrc522_deinit(&gs_handle);
1870
1871 return 1;
1872 }
1873 mfrc522_interface_debug_print("mfrc522: set rx no error disable.\n");
1874 res = mfrc522_get_rx_no_error(&gs_handle, &enable);
1875 if (res != 0)
1876 {
1877 mfrc522_interface_debug_print("mfrc522: get rx no error failed.\n");
1878 (void)mfrc522_deinit(&gs_handle);
1879
1880 return 1;
1881 }
1882 mfrc522_interface_debug_print("mfrc522: check rx no error %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1883
1884 /* mfrc522_set_rx_multiple/mfrc522_get_rx_multiple test */
1885 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_multiple/mfrc522_get_rx_multiple test.\n");
1886
1887 /* enable */
1888 res = mfrc522_set_rx_multiple(&gs_handle, MFRC522_BOOL_TRUE);
1889 if (res != 0)
1890 {
1891 mfrc522_interface_debug_print("mfrc522: set rx multiple failed.\n");
1892 (void)mfrc522_deinit(&gs_handle);
1893
1894 return 1;
1895 }
1896 mfrc522_interface_debug_print("mfrc522: set rx multiple enable.\n");
1897 res = mfrc522_get_rx_multiple(&gs_handle, &enable);
1898 if (res != 0)
1899 {
1900 mfrc522_interface_debug_print("mfrc522: get rx multiple failed.\n");
1901 (void)mfrc522_deinit(&gs_handle);
1902
1903 return 1;
1904 }
1905 mfrc522_interface_debug_print("mfrc522: check rx multiple %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1906
1907 /* disable */
1909 if (res != 0)
1910 {
1911 mfrc522_interface_debug_print("mfrc522: set rx multiple failed.\n");
1912 (void)mfrc522_deinit(&gs_handle);
1913
1914 return 1;
1915 }
1916 mfrc522_interface_debug_print("mfrc522: set rx multiple disable.\n");
1917 res = mfrc522_get_rx_multiple(&gs_handle, &enable);
1918 if (res != 0)
1919 {
1920 mfrc522_interface_debug_print("mfrc522: get rx multiple failed.\n");
1921 (void)mfrc522_deinit(&gs_handle);
1922
1923 return 1;
1924 }
1925 mfrc522_interface_debug_print("mfrc522: check rx multiple %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1926
1927 /* mfrc522_set_antenna_driver/mfrc522_get_antenna_driver test */
1928 mfrc522_interface_debug_print("mfrc522: mfrc522_set_antenna_driver/mfrc522_get_antenna_driver test.\n");
1929
1930 /* enable */
1932 if (res != 0)
1933 {
1934 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
1935 (void)mfrc522_deinit(&gs_handle);
1936
1937 return 1;
1938 }
1939 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx2 rf on enable.\n");
1941 if (res != 0)
1942 {
1943 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
1944 (void)mfrc522_deinit(&gs_handle);
1945
1946 return 1;
1947 }
1948 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1949
1950 /* disable */
1952 if (res != 0)
1953 {
1954 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
1955 (void)mfrc522_deinit(&gs_handle);
1956
1957 return 1;
1958 }
1959 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx2 rf on disable.\n");
1961 if (res != 0)
1962 {
1963 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
1964 (void)mfrc522_deinit(&gs_handle);
1965
1966 return 1;
1967 }
1968 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
1969
1970 /* enable */
1972 if (res != 0)
1973 {
1974 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
1975 (void)mfrc522_deinit(&gs_handle);
1976
1977 return 1;
1978 }
1979 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx1 rf on enable.\n");
1981 if (res != 0)
1982 {
1983 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
1984 (void)mfrc522_deinit(&gs_handle);
1985
1986 return 1;
1987 }
1988 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
1989
1990 /* disable */
1992 if (res != 0)
1993 {
1994 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
1995 (void)mfrc522_deinit(&gs_handle);
1996
1997 return 1;
1998 }
1999 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx1 rf on disable.\n");
2001 if (res != 0)
2002 {
2003 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2004 (void)mfrc522_deinit(&gs_handle);
2005
2006 return 1;
2007 }
2008 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2009
2010 /* enable */
2012 if (res != 0)
2013 {
2014 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2015 (void)mfrc522_deinit(&gs_handle);
2016
2017 return 1;
2018 }
2019 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx2 rf off enable.\n");
2021 if (res != 0)
2022 {
2023 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2024 (void)mfrc522_deinit(&gs_handle);
2025
2026 return 1;
2027 }
2028 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2029
2030 /* disable */
2032 if (res != 0)
2033 {
2034 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2035 (void)mfrc522_deinit(&gs_handle);
2036
2037 return 1;
2038 }
2039 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx2 rf off disable.\n");
2041 if (res != 0)
2042 {
2043 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2044 (void)mfrc522_deinit(&gs_handle);
2045
2046 return 1;
2047 }
2048 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2049
2050 /* enable */
2052 if (res != 0)
2053 {
2054 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2055 (void)mfrc522_deinit(&gs_handle);
2056
2057 return 1;
2058 }
2059 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx1 rf off enable.\n");
2061 if (res != 0)
2062 {
2063 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2064 (void)mfrc522_deinit(&gs_handle);
2065
2066 return 1;
2067 }
2068 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2069
2070 /* disable */
2072 if (res != 0)
2073 {
2074 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2075 (void)mfrc522_deinit(&gs_handle);
2076
2077 return 1;
2078 }
2079 mfrc522_interface_debug_print("mfrc522: set antenna driver inv tx1 rf off disable.\n");
2081 if (res != 0)
2082 {
2083 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2084 (void)mfrc522_deinit(&gs_handle);
2085
2086 return 1;
2087 }
2088 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2089
2090 /* enable */
2092 if (res != 0)
2093 {
2094 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2095 (void)mfrc522_deinit(&gs_handle);
2096
2097 return 1;
2098 }
2099 mfrc522_interface_debug_print("mfrc522: set antenna driver tx2 cw enable.\n");
2101 if (res != 0)
2102 {
2103 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2104 (void)mfrc522_deinit(&gs_handle);
2105
2106 return 1;
2107 }
2108 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2109
2110 /* disable */
2112 if (res != 0)
2113 {
2114 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2115 (void)mfrc522_deinit(&gs_handle);
2116
2117 return 1;
2118 }
2119 mfrc522_interface_debug_print("mfrc522: set antenna driver tx2 cw disable.\n");
2121 if (res != 0)
2122 {
2123 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2124 (void)mfrc522_deinit(&gs_handle);
2125
2126 return 1;
2127 }
2128 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2129
2130 /* enable */
2132 if (res != 0)
2133 {
2134 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2135 (void)mfrc522_deinit(&gs_handle);
2136
2137 return 1;
2138 }
2139 mfrc522_interface_debug_print("mfrc522: set antenna driver tx2 rf enable.\n");
2141 if (res != 0)
2142 {
2143 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2144 (void)mfrc522_deinit(&gs_handle);
2145
2146 return 1;
2147 }
2148 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2149
2150 /* disable */
2152 if (res != 0)
2153 {
2154 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2155 (void)mfrc522_deinit(&gs_handle);
2156
2157 return 1;
2158 }
2159 mfrc522_interface_debug_print("mfrc522: set antenna driver tx2 rf disable.\n");
2161 if (res != 0)
2162 {
2163 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2164 (void)mfrc522_deinit(&gs_handle);
2165
2166 return 1;
2167 }
2168 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2169
2170 /* enable */
2172 if (res != 0)
2173 {
2174 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2175 (void)mfrc522_deinit(&gs_handle);
2176
2177 return 1;
2178 }
2179 mfrc522_interface_debug_print("mfrc522: set antenna driver tx1 rf enable.\n");
2181 if (res != 0)
2182 {
2183 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2184 (void)mfrc522_deinit(&gs_handle);
2185
2186 return 1;
2187 }
2188 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2189
2190 /* disable */
2192 if (res != 0)
2193 {
2194 mfrc522_interface_debug_print("mfrc522: set antenna driver failed.\n");
2195 (void)mfrc522_deinit(&gs_handle);
2196
2197 return 1;
2198 }
2199 mfrc522_interface_debug_print("mfrc522: set antenna driver tx1 rf disable.\n");
2201 if (res != 0)
2202 {
2203 mfrc522_interface_debug_print("mfrc522: get antenna driver failed.\n");
2204 (void)mfrc522_deinit(&gs_handle);
2205
2206 return 1;
2207 }
2208 mfrc522_interface_debug_print("mfrc522: check antenna driver %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2209
2210 /* mfrc522_set_force_100_ask/mfrc522_get_force_100_ask test */
2211 mfrc522_interface_debug_print("mfrc522: mfrc522_set_force_100_ask/mfrc522_get_force_100_ask test.\n");
2212
2213 /* enable */
2215 if (res != 0)
2216 {
2217 mfrc522_interface_debug_print("mfrc522: set force 100 ask failed.\n");
2218 (void)mfrc522_deinit(&gs_handle);
2219
2220 return 1;
2221 }
2222 mfrc522_interface_debug_print("mfrc522: set force 100 ask enable.\n");
2223 res = mfrc522_get_force_100_ask(&gs_handle, &enable);
2224 if (res != 0)
2225 {
2226 mfrc522_interface_debug_print("mfrc522: get force 100 ask failed.\n");
2227 (void)mfrc522_deinit(&gs_handle);
2228
2229 return 1;
2230 }
2231 mfrc522_interface_debug_print("mfrc522: check force 100 ask %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2232
2233 /* disable */
2235 if (res != 0)
2236 {
2237 mfrc522_interface_debug_print("mfrc522: set force 100 ask failed.\n");
2238 (void)mfrc522_deinit(&gs_handle);
2239
2240 return 1;
2241 }
2242 mfrc522_interface_debug_print("mfrc522: set force 100 ask disable.\n");
2243 res = mfrc522_get_force_100_ask(&gs_handle, &enable);
2244 if (res != 0)
2245 {
2246 mfrc522_interface_debug_print("mfrc522: get force 100 ask failed.\n");
2247 (void)mfrc522_deinit(&gs_handle);
2248
2249 return 1;
2250 }
2251 mfrc522_interface_debug_print("mfrc522: check force 100 ask %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2252
2253 /* mfrc522_set_tx_input/mfrc522_get_tx_input test */
2254 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_input/mfrc522_get_tx_input test.\n");
2255
2256 /* 3 state */
2258 if (res != 0)
2259 {
2260 mfrc522_interface_debug_print("mfrc522: set tx input failed.\n");
2261 (void)mfrc522_deinit(&gs_handle);
2262
2263 return 1;
2264 }
2265 mfrc522_interface_debug_print("mfrc522: set tx input 3 state.\n");
2266 res = mfrc522_get_tx_input(&gs_handle, &tx_input);
2267 if (res != 0)
2268 {
2269 mfrc522_interface_debug_print("mfrc522: get tx input failed.\n");
2270 (void)mfrc522_deinit(&gs_handle);
2271
2272 return 1;
2273 }
2274 mfrc522_interface_debug_print("mfrc522: check tx input %s.\n", tx_input == MFRC522_TX_INPUT_3_STATE ? "ok" : "error");
2275
2276 /* internal encoder */
2278 if (res != 0)
2279 {
2280 mfrc522_interface_debug_print("mfrc522: set tx input failed.\n");
2281 (void)mfrc522_deinit(&gs_handle);
2282
2283 return 1;
2284 }
2285 mfrc522_interface_debug_print("mfrc522: set tx input internal encoder.\n");
2286 res = mfrc522_get_tx_input(&gs_handle, &tx_input);
2287 if (res != 0)
2288 {
2289 mfrc522_interface_debug_print("mfrc522: get tx input failed.\n");
2290 (void)mfrc522_deinit(&gs_handle);
2291
2292 return 1;
2293 }
2294 mfrc522_interface_debug_print("mfrc522: check tx input %s.\n", tx_input == MFRC522_TX_INPUT_INTERNAL_ENCODER ? "ok" : "error");
2295
2296 /* mfin pin */
2298 if (res != 0)
2299 {
2300 mfrc522_interface_debug_print("mfrc522: set tx input failed.\n");
2301 (void)mfrc522_deinit(&gs_handle);
2302
2303 return 1;
2304 }
2305 mfrc522_interface_debug_print("mfrc522: set tx input mfin pin.\n");
2306 res = mfrc522_get_tx_input(&gs_handle, &tx_input);
2307 if (res != 0)
2308 {
2309 mfrc522_interface_debug_print("mfrc522: get tx input failed.\n");
2310 (void)mfrc522_deinit(&gs_handle);
2311
2312 return 1;
2313 }
2314 mfrc522_interface_debug_print("mfrc522: check tx input %s.\n", tx_input == MFRC522_TX_INPUT_MFIN_PIN ? "ok" : "error");
2315
2316 /* control */
2318 if (res != 0)
2319 {
2320 mfrc522_interface_debug_print("mfrc522: set tx input failed.\n");
2321 (void)mfrc522_deinit(&gs_handle);
2322
2323 return 1;
2324 }
2325 mfrc522_interface_debug_print("mfrc522: set tx input control.\n");
2326 res = mfrc522_get_tx_input(&gs_handle, &tx_input);
2327 if (res != 0)
2328 {
2329 mfrc522_interface_debug_print("mfrc522: get tx input failed.\n");
2330 (void)mfrc522_deinit(&gs_handle);
2331
2332 return 1;
2333 }
2334 mfrc522_interface_debug_print("mfrc522: check tx input %s.\n", tx_input == MFRC522_TX_INPUT_CONTROL ? "ok" : "error");
2335
2336 /* mfrc522_set_mfout_input/mfrc522_get_mfout_input test */
2337 mfrc522_interface_debug_print("mfrc522: mfrc522_set_mfout_input/mfrc522_get_mfout_input test.\n");
2338
2339 /* 3 state */
2341 if (res != 0)
2342 {
2343 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2344 (void)mfrc522_deinit(&gs_handle);
2345
2346 return 1;
2347 }
2348 mfrc522_interface_debug_print("mfrc522: set mfout input 3 state.\n");
2349 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2350 if (res != 0)
2351 {
2352 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2353 (void)mfrc522_deinit(&gs_handle);
2354
2355 return 1;
2356 }
2357 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_3_STATE ? "ok" : "error");
2358
2359 /* low */
2361 if (res != 0)
2362 {
2363 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2364 (void)mfrc522_deinit(&gs_handle);
2365
2366 return 1;
2367 }
2368 mfrc522_interface_debug_print("mfrc522: set mfout input low.\n");
2369 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2370 if (res != 0)
2371 {
2372 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2373 (void)mfrc522_deinit(&gs_handle);
2374
2375 return 1;
2376 }
2377 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_LOW ? "ok" : "error");
2378
2379 /* high */
2381 if (res != 0)
2382 {
2383 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2384 (void)mfrc522_deinit(&gs_handle);
2385
2386 return 1;
2387 }
2388 mfrc522_interface_debug_print("mfrc522: set mfout input high.\n");
2389 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2390 if (res != 0)
2391 {
2392 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2393 (void)mfrc522_deinit(&gs_handle);
2394
2395 return 1;
2396 }
2397 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_HIGH ? "ok" : "error");
2398
2399 /* test */
2401 if (res != 0)
2402 {
2403 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2404 (void)mfrc522_deinit(&gs_handle);
2405
2406 return 1;
2407 }
2408 mfrc522_interface_debug_print("mfrc522: set mfout input test.\n");
2409 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2410 if (res != 0)
2411 {
2412 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2413 (void)mfrc522_deinit(&gs_handle);
2414
2415 return 1;
2416 }
2417 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_TEST ? "ok" : "error");
2418
2419 /* internal encoder */
2421 if (res != 0)
2422 {
2423 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2424 (void)mfrc522_deinit(&gs_handle);
2425
2426 return 1;
2427 }
2428 mfrc522_interface_debug_print("mfrc522: set mfout input internal encoder.\n");
2429 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2430 if (res != 0)
2431 {
2432 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2433 (void)mfrc522_deinit(&gs_handle);
2434
2435 return 1;
2436 }
2437 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_INTERNAL_ENCODER ? "ok" : "error");
2438
2439 /* transmitted */
2441 if (res != 0)
2442 {
2443 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2444 (void)mfrc522_deinit(&gs_handle);
2445
2446 return 1;
2447 }
2448 mfrc522_interface_debug_print("mfrc522: set mfout input transmitted.\n");
2449 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2450 if (res != 0)
2451 {
2452 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2453 (void)mfrc522_deinit(&gs_handle);
2454
2455 return 1;
2456 }
2457 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_TRANSMITTED ? "ok" : "error");
2458
2459 /* received */
2461 if (res != 0)
2462 {
2463 mfrc522_interface_debug_print("mfrc522: set mfout input failed.\n");
2464 (void)mfrc522_deinit(&gs_handle);
2465
2466 return 1;
2467 }
2468 mfrc522_interface_debug_print("mfrc522: set mfout input received.\n");
2469 res = mfrc522_get_mfout_input(&gs_handle, &mfout_input);
2470 if (res != 0)
2471 {
2472 mfrc522_interface_debug_print("mfrc522: get mfout input failed.\n");
2473 (void)mfrc522_deinit(&gs_handle);
2474
2475 return 1;
2476 }
2477 mfrc522_interface_debug_print("mfrc522: check mfout input %s.\n", mfout_input == MFRC522_MFOUT_INPUT_RECEIVED ? "ok" : "error");
2478
2479 /* mfrc522_set_contactless_uart_input/mfrc522_get_contactless_uart_input test */
2480 mfrc522_interface_debug_print("mfrc522: mfrc522_set_contactless_uart_input/mfrc522_get_contactless_uart_input test.\n");
2481
2482 /* set constant low */
2484 if (res != 0)
2485 {
2486 mfrc522_interface_debug_print("mfrc522: set contactless uart input failed.\n");
2487 (void)mfrc522_deinit(&gs_handle);
2488
2489 return 1;
2490 }
2491 mfrc522_interface_debug_print("mfrc522: set contactless uart input constant low.\n");
2492 res = mfrc522_get_contactless_uart_input(&gs_handle, &uart_input);
2493 if (res != 0)
2494 {
2495 mfrc522_interface_debug_print("mfrc522: get contactless uart input failed.\n");
2496 (void)mfrc522_deinit(&gs_handle);
2497
2498 return 1;
2499 }
2500 mfrc522_interface_debug_print("mfrc522: check contactless uart input %s.\n", uart_input == MFRC522_CONTACTLESS_UART_INPUT_CONSTANT_LOW ? "ok" : "error");
2501
2502 /* set mfin pin */
2504 if (res != 0)
2505 {
2506 mfrc522_interface_debug_print("mfrc522: set contactless uart input failed.\n");
2507 (void)mfrc522_deinit(&gs_handle);
2508
2509 return 1;
2510 }
2511 mfrc522_interface_debug_print("mfrc522: set contactless uart input mfin pin.\n");
2512 res = mfrc522_get_contactless_uart_input(&gs_handle, &uart_input);
2513 if (res != 0)
2514 {
2515 mfrc522_interface_debug_print("mfrc522: get contactless uart input failed.\n");
2516 (void)mfrc522_deinit(&gs_handle);
2517
2518 return 1;
2519 }
2520 mfrc522_interface_debug_print("mfrc522: check contactless uart input %s.\n", uart_input == MFRC522_CONTACTLESS_UART_MFIN_PIN ? "ok" : "error");
2521
2522 /* set internal analog module */
2524 if (res != 0)
2525 {
2526 mfrc522_interface_debug_print("mfrc522: set contactless uart input failed.\n");
2527 (void)mfrc522_deinit(&gs_handle);
2528
2529 return 1;
2530 }
2531 mfrc522_interface_debug_print("mfrc522: set contactless uart input internal analog module.\n");
2532 res = mfrc522_get_contactless_uart_input(&gs_handle, &uart_input);
2533 if (res != 0)
2534 {
2535 mfrc522_interface_debug_print("mfrc522: get contactless uart input failed.\n");
2536 (void)mfrc522_deinit(&gs_handle);
2537
2538 return 1;
2539 }
2540 mfrc522_interface_debug_print("mfrc522: check contactless uart input %s.\n", uart_input == MFRC522_CONTACTLESS_UART_INTERNAL_ANALOG_MODULE ? "ok" : "error");
2541
2542 /* set nrz */
2544 if (res != 0)
2545 {
2546 mfrc522_interface_debug_print("mfrc522: set contactless uart input failed.\n");
2547 (void)mfrc522_deinit(&gs_handle);
2548
2549 return 1;
2550 }
2551 mfrc522_interface_debug_print("mfrc522: set contactless uart input nrz.\n");
2552 res = mfrc522_get_contactless_uart_input(&gs_handle, &uart_input);
2553 if (res != 0)
2554 {
2555 mfrc522_interface_debug_print("mfrc522: get contactless uart input failed.\n");
2556 (void)mfrc522_deinit(&gs_handle);
2557
2558 return 1;
2559 }
2560 mfrc522_interface_debug_print("mfrc522: check contactless uart input %s.\n", uart_input == MFRC522_CONTACTLESS_UART_NRZ ? "ok" : "error");
2561
2562 /* mfrc522_set_rx_wait/mfrc522_get_rx_wait test */
2563 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_wait/mfrc522_get_rx_wait test.\n");
2564
2565 level = rand() % 0x40;
2566 res = mfrc522_set_rx_wait(&gs_handle, level);
2567 if (res != 0)
2568 {
2569 mfrc522_interface_debug_print("mfrc522: set rx wait failed.\n");
2570 (void)mfrc522_deinit(&gs_handle);
2571
2572 return 1;
2573 }
2574 mfrc522_interface_debug_print("mfrc522: set rx wait 0x%02X.\n", level);
2575 res = mfrc522_get_rx_wait(&gs_handle, &level_check);
2576 if (res != 0)
2577 {
2578 mfrc522_interface_debug_print("mfrc522: get rx wait failed.\n");
2579 (void)mfrc522_deinit(&gs_handle);
2580
2581 return 1;
2582 }
2583 mfrc522_interface_debug_print("mfrc522: check rx wait %s.\n", level_check == level ? "ok" : "error");
2584
2585 /* mfrc522_set_min_level/mfrc522_get_min_level test */
2586 mfrc522_interface_debug_print("mfrc522: mfrc522_set_min_level/mfrc522_get_min_level test.\n");
2587
2588 level = rand() % 0xF;
2589 res = mfrc522_set_min_level(&gs_handle, level);
2590 if (res != 0)
2591 {
2592 mfrc522_interface_debug_print("mfrc522: set min level failed.\n");
2593 (void)mfrc522_deinit(&gs_handle);
2594
2595 return 1;
2596 }
2597 mfrc522_interface_debug_print("mfrc522: set min level 0x%02X.\n", level);
2598 res = mfrc522_get_min_level(&gs_handle, &level_check);
2599 if (res != 0)
2600 {
2601 mfrc522_interface_debug_print("mfrc522: get min level failed.\n");
2602 (void)mfrc522_deinit(&gs_handle);
2603
2604 return 1;
2605 }
2606 mfrc522_interface_debug_print("mfrc522: check min level %s.\n", level_check == level ? "ok" : "error");
2607
2608 /* mfrc522_set_collision_level/mfrc522_get_collision_level test */
2609 mfrc522_interface_debug_print("mfrc522: mfrc522_set_collision_level/mfrc522_get_collision_level test.\n");
2610
2611 level = rand() % 8;
2612 res = mfrc522_set_collision_level(&gs_handle, level);
2613 if (res != 0)
2614 {
2615 mfrc522_interface_debug_print("mfrc522: set collision level failed.\n");
2616 (void)mfrc522_deinit(&gs_handle);
2617
2618 return 1;
2619 }
2620 mfrc522_interface_debug_print("mfrc522: set collision level 0x%02X.\n", level);
2621 res = mfrc522_get_collision_level(&gs_handle, &level_check);
2622 if (res != 0)
2623 {
2624 mfrc522_interface_debug_print("mfrc522: get collision level failed.\n");
2625 (void)mfrc522_deinit(&gs_handle);
2626
2627 return 1;
2628 }
2629 mfrc522_interface_debug_print("mfrc522: check collision level %s.\n", level_check == level ? "ok" : "error");
2630
2631 /* mfrc522_set_channel_reception/mfrc522_get_channel_reception test */
2632 mfrc522_interface_debug_print("mfrc522: mfrc522_set_channel_reception/mfrc522_get_channel_reception test.\n");
2633
2634 /* stronger channel */
2636 if (res != 0)
2637 {
2638 mfrc522_interface_debug_print("mfrc522: set channel reception failed.\n");
2639 (void)mfrc522_deinit(&gs_handle);
2640
2641 return 1;
2642 }
2643 mfrc522_interface_debug_print("mfrc522: set channel reception stronger channel.\n");
2644 res = mfrc522_get_channel_reception(&gs_handle, &reception);
2645 if (res != 0)
2646 {
2647 mfrc522_interface_debug_print("mfrc522: get channel reception failed.\n");
2648 (void)mfrc522_deinit(&gs_handle);
2649
2650 return 1;
2651 }
2652 mfrc522_interface_debug_print("mfrc522: check channel reception %s.\n", reception == MFRC522_CHANNEL_RECEPTION_STRONGER ? "ok" : "error");
2653
2654 /* stronger channel and freezes the selected channel */
2656 if (res != 0)
2657 {
2658 mfrc522_interface_debug_print("mfrc522: set channel reception failed.\n");
2659 (void)mfrc522_deinit(&gs_handle);
2660
2661 return 1;
2662 }
2663 mfrc522_interface_debug_print("mfrc522: set channel reception stronger channel and freezes the selected channel.\n");
2664 res = mfrc522_get_channel_reception(&gs_handle, &reception);
2665 if (res != 0)
2666 {
2667 mfrc522_interface_debug_print("mfrc522: get channel reception failed.\n");
2668 (void)mfrc522_deinit(&gs_handle);
2669
2670 return 1;
2671 }
2672 mfrc522_interface_debug_print("mfrc522: check channel reception %s.\n", reception == MFRC522_CHANNEL_RECEPTION_STRONGER_FREEZE_SELECTED ? "ok" : "error");
2673
2674 /* mfrc522_set_fix_iq/mfrc522_get_fix_iq test */
2675 mfrc522_interface_debug_print("mfrc522: mfrc522_set_fix_iq/mfrc522_get_fix_iq test.\n");
2676
2677 /* enable */
2678 res = mfrc522_set_fix_iq(&gs_handle, MFRC522_BOOL_TRUE);
2679 if (res != 0)
2680 {
2681 mfrc522_interface_debug_print("mfrc522: set fix iq failed.\n");
2682 (void)mfrc522_deinit(&gs_handle);
2683
2684 return 1;
2685 }
2686 mfrc522_interface_debug_print("mfrc522: set fix iq enable.\n");
2687 res = mfrc522_get_fix_iq(&gs_handle, &enable);
2688 if (res != 0)
2689 {
2690 mfrc522_interface_debug_print("mfrc522: get fix iq failed.\n");
2691 (void)mfrc522_deinit(&gs_handle);
2692
2693 return 1;
2694 }
2695 mfrc522_interface_debug_print("mfrc522: check fix iq %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2696
2697 /* disable */
2698 res = mfrc522_set_fix_iq(&gs_handle, MFRC522_BOOL_FALSE);
2699 if (res != 0)
2700 {
2701 mfrc522_interface_debug_print("mfrc522: set fix iq failed.\n");
2702 (void)mfrc522_deinit(&gs_handle);
2703
2704 return 1;
2705 }
2706 mfrc522_interface_debug_print("mfrc522: set fix iq disable.\n");
2707 res = mfrc522_get_fix_iq(&gs_handle, &enable);
2708 if (res != 0)
2709 {
2710 mfrc522_interface_debug_print("mfrc522: get fix iq failed.\n");
2711 (void)mfrc522_deinit(&gs_handle);
2712
2713 return 1;
2714 }
2715 mfrc522_interface_debug_print("mfrc522: check fix iq %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2716
2717 /* mfrc522_set_timer_prescal_even/mfrc522_get_timer_prescal_even test */
2718 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_prescal_even/mfrc522_get_timer_prescal_even test.\n");
2719
2720 /* enable */
2722 if (res != 0)
2723 {
2724 mfrc522_interface_debug_print("mfrc522: set timer prescal even failed.\n");
2725 (void)mfrc522_deinit(&gs_handle);
2726
2727 return 1;
2728 }
2729 mfrc522_interface_debug_print("mfrc522: set timer prescal even enable.\n");
2730 res = mfrc522_get_timer_prescal_even(&gs_handle, &enable);
2731 if (res != 0)
2732 {
2733 mfrc522_interface_debug_print("mfrc522: get timer prescal even failed.\n");
2734 (void)mfrc522_deinit(&gs_handle);
2735
2736 return 1;
2737 }
2738 mfrc522_interface_debug_print("mfrc522: check timer prescal even %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2739
2740 /* disable */
2742 if (res != 0)
2743 {
2744 mfrc522_interface_debug_print("mfrc522: set timer prescal even failed.\n");
2745 (void)mfrc522_deinit(&gs_handle);
2746
2747 return 1;
2748 }
2749 mfrc522_interface_debug_print("mfrc522: set timer prescal even disable.\n");
2750 res = mfrc522_get_timer_prescal_even(&gs_handle, &enable);
2751 if (res != 0)
2752 {
2753 mfrc522_interface_debug_print("mfrc522: get timer prescal even failed.\n");
2754 (void)mfrc522_deinit(&gs_handle);
2755
2756 return 1;
2757 }
2758 mfrc522_interface_debug_print("mfrc522: check timer prescal even %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2759
2760 /* mfrc522_set_timer_constant_reception/mfrc522_get_timer_constant_reception test */
2761 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_constant_reception/mfrc522_get_timer_constant_reception test.\n");
2762
2763 level = rand() % 3;
2764 res = mfrc522_set_timer_constant_reception(&gs_handle, level);
2765 if (res != 0)
2766 {
2767 mfrc522_interface_debug_print("mfrc522: set timer constant reception failed.\n");
2768 (void)mfrc522_deinit(&gs_handle);
2769
2770 return 1;
2771 }
2772 mfrc522_interface_debug_print("mfrc522: set timer constant reception 0x%02X.\n", level);
2773 res = mfrc522_get_timer_constant_reception(&gs_handle, &level_check);
2774 if (res != 0)
2775 {
2776 mfrc522_interface_debug_print("mfrc522: get timer constant reception failed.\n");
2777 (void)mfrc522_deinit(&gs_handle);
2778
2779 return 1;
2780 }
2781 mfrc522_interface_debug_print("mfrc522: check timer constant reception %s.\n", level == level_check ? "ok" : "error");
2782
2783 /* mfrc522_set_timer_constant_sync/mfrc522_get_timer_constant_sync test */
2784 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_constant_sync/mfrc522_get_timer_constant_sync test.\n");
2785
2786 level = rand() % 3;
2787 res = mfrc522_set_timer_constant_sync(&gs_handle, level);
2788 if (res != 0)
2789 {
2790 mfrc522_interface_debug_print("mfrc522: set timer constant sync failed.\n");
2791 (void)mfrc522_deinit(&gs_handle);
2792
2793 return 1;
2794 }
2795 mfrc522_interface_debug_print("mfrc522: set timer constant sync 0x%02X.\n", level);
2796 res = mfrc522_get_timer_constant_sync(&gs_handle, &level_check);
2797 if (res != 0)
2798 {
2799 mfrc522_interface_debug_print("mfrc522: get timer constant sync failed.\n");
2800 (void)mfrc522_deinit(&gs_handle);
2801
2802 return 1;
2803 }
2804 mfrc522_interface_debug_print("mfrc522: check timer constant sync %s.\n", level == level_check ? "ok" : "error");
2805
2806 /* mfrc522_set_tx_wait/mfrc522_get_tx_wait test */
2807 mfrc522_interface_debug_print("mfrc522: mfrc522_set_tx_wait/mfrc522_get_tx_wait test.\n");
2808
2809 level = rand() % 3;
2810 res = mfrc522_set_tx_wait(&gs_handle, level);
2811 if (res != 0)
2812 {
2813 mfrc522_interface_debug_print("mfrc522: set tx wait failed.\n");
2814 (void)mfrc522_deinit(&gs_handle);
2815
2816 return 1;
2817 }
2818 mfrc522_interface_debug_print("mfrc522: set tx wait 0x%02X.\n", level);
2819 res = mfrc522_get_tx_wait(&gs_handle, &level_check);
2820 if (res != 0)
2821 {
2822 mfrc522_interface_debug_print("mfrc522: get tx wait failed.\n");
2823 (void)mfrc522_deinit(&gs_handle);
2824
2825 return 1;
2826 }
2827 mfrc522_interface_debug_print("mfrc522: check tx wait %s.\n", level == level_check ? "ok" : "error");
2828
2829 /* mfrc522_set_parity_disable/mfrc522_get_parity_disable test */
2830 mfrc522_interface_debug_print("mfrc522: mfrc522_set_parity_disable/mfrc522_get_parity_disable test.\n");
2831
2832 /* enable */
2834 if (res != 0)
2835 {
2836 mfrc522_interface_debug_print("mfrc522: set parity disable failed.\n");
2837 (void)mfrc522_deinit(&gs_handle);
2838
2839 return 1;
2840 }
2841 mfrc522_interface_debug_print("mfrc522: set parity disable enable.\n");
2842 res = mfrc522_get_parity_disable(&gs_handle, &enable);
2843 if (res != 0)
2844 {
2845 mfrc522_interface_debug_print("mfrc522: get parity disable failed.\n");
2846 (void)mfrc522_deinit(&gs_handle);
2847
2848 return 1;
2849 }
2850 mfrc522_interface_debug_print("mfrc522: check parity disable %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
2851
2852 /* disable */
2854 if (res != 0)
2855 {
2856 mfrc522_interface_debug_print("mfrc522: set parity disable failed.\n");
2857 (void)mfrc522_deinit(&gs_handle);
2858
2859 return 1;
2860 }
2861 mfrc522_interface_debug_print("mfrc522: set parity disable disable.\n");
2862 res = mfrc522_get_parity_disable(&gs_handle, &enable);
2863 if (res != 0)
2864 {
2865 mfrc522_interface_debug_print("mfrc522: get parity disable failed.\n");
2866 (void)mfrc522_deinit(&gs_handle);
2867
2868 return 1;
2869 }
2870 mfrc522_interface_debug_print("mfrc522: check parity disable %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
2871
2872 if (interface != MFRC522_INTERFACE_UART)
2873 {
2874 /* mfrc522_set_serial_speed/mfrc522_get_serial_speed test */
2875 mfrc522_interface_debug_print("mfrc522: mfrc522_set_serial_speed/mfrc522_get_serial_speed test.\n");
2876
2877 t0 = rand() % 0x8;
2878 t1 = rand() % 0x20;
2879 res = mfrc522_set_serial_speed(&gs_handle, t0, t1);
2880 if (res != 0)
2881 {
2882 mfrc522_interface_debug_print("mfrc522: set serial speed failed.\n");
2883 (void)mfrc522_deinit(&gs_handle);
2884
2885 return 1;
2886 }
2887 mfrc522_interface_debug_print("mfrc522: set serial speed t0 0x%02X.\n", t0);
2888 mfrc522_interface_debug_print("mfrc522: set serial speed t1 0x%02X.\n", t1);
2889 res = mfrc522_get_serial_speed(&gs_handle, &t0_check, &t1_check);
2890 if (res != 0)
2891 {
2892 mfrc522_interface_debug_print("mfrc522: get serial speed failed.\n");
2893 (void)mfrc522_deinit(&gs_handle);
2894
2895 return 1;
2896 }
2897 mfrc522_interface_debug_print("mfrc522: check serial speed t0 %s.\n", t0 == t0_check ? "ok" : "error");
2898 mfrc522_interface_debug_print("mfrc522: check serial speed t1 %s.\n", t1 == t1_check ? "ok" : "error");
2899 }
2900
2901 /* mfrc522_get_crc test */
2902 mfrc522_interface_debug_print("mfrc522: mfrc522_get_crc test.\n");
2903
2904 /* get the crc */
2905 res = mfrc522_get_crc(&gs_handle, &crc);
2906 if (res != 0)
2907 {
2908 mfrc522_interface_debug_print("mfrc522: get crc failed.\n");
2909 (void)mfrc522_deinit(&gs_handle);
2910
2911 return 1;
2912 }
2913 mfrc522_interface_debug_print("mfrc522: crc is 0x%04X.\n", crc);
2914
2915 /* mfrc522_set_modulation_width/mfrc522_get_modulation_width test */
2916 mfrc522_interface_debug_print("mfrc522: mfrc522_set_modulation_width/mfrc522_get_modulation_width test.\n");
2917
2918 level = rand() % 256;
2919 res = mfrc522_set_modulation_width(&gs_handle, level);
2920 if (res != 0)
2921 {
2922 mfrc522_interface_debug_print("mfrc522: set modulation width failed.\n");
2923 (void)mfrc522_deinit(&gs_handle);
2924
2925 return 1;
2926 }
2927 mfrc522_interface_debug_print("mfrc522: set modulation width 0x%02X.\n", level);
2928 res = mfrc522_get_modulation_width(&gs_handle, &level_check);
2929 if (res != 0)
2930 {
2931 mfrc522_interface_debug_print("mfrc522: get modulation width failed.\n");
2932 (void)mfrc522_deinit(&gs_handle);
2933
2934 return 1;
2935 }
2936 mfrc522_interface_debug_print("mfrc522: check modulation width %s.\n", level == level_check ? "ok" : "error");
2937
2938 /* mfrc522_set_rx_gain/mfrc522_get_rx_gain test */
2939 mfrc522_interface_debug_print("mfrc522: mfrc522_set_rx_gain/mfrc522_get_rx_gain test.\n");
2940
2941 /* set the 18 db */
2942 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_18_DB);
2943 if (res != 0)
2944 {
2945 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
2946 (void)mfrc522_deinit(&gs_handle);
2947
2948 return 1;
2949 }
2950 mfrc522_interface_debug_print("mfrc522: set rx gain 18 db.\n");
2951 res = mfrc522_get_rx_gain(&gs_handle, &gain);
2952 if (res != 0)
2953 {
2954 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
2955 (void)mfrc522_deinit(&gs_handle);
2956
2957 return 1;
2958 }
2959 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_18_DB ? "ok" : "error");
2960
2961 /* set the 23 db */
2962 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_23_DB);
2963 if (res != 0)
2964 {
2965 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
2966 (void)mfrc522_deinit(&gs_handle);
2967
2968 return 1;
2969 }
2970 mfrc522_interface_debug_print("mfrc522: set rx gain 23 db.\n");
2971 res = mfrc522_get_rx_gain(&gs_handle, &gain);
2972 if (res != 0)
2973 {
2974 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
2975 (void)mfrc522_deinit(&gs_handle);
2976
2977 return 1;
2978 }
2979 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_23_DB ? "ok" : "error");
2980
2981 /* set the 33 db */
2982 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_33_DB);
2983 if (res != 0)
2984 {
2985 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
2986 (void)mfrc522_deinit(&gs_handle);
2987
2988 return 1;
2989 }
2990 mfrc522_interface_debug_print("mfrc522: set rx gain 33 db.\n");
2991 res = mfrc522_get_rx_gain(&gs_handle, &gain);
2992 if (res != 0)
2993 {
2994 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
2995 (void)mfrc522_deinit(&gs_handle);
2996
2997 return 1;
2998 }
2999 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_33_DB ? "ok" : "error");
3000
3001 /* set the 38 db */
3002 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_38_DB);
3003 if (res != 0)
3004 {
3005 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
3006 (void)mfrc522_deinit(&gs_handle);
3007
3008 return 1;
3009 }
3010 mfrc522_interface_debug_print("mfrc522: set rx gain 38 db.\n");
3011 res = mfrc522_get_rx_gain(&gs_handle, &gain);
3012 if (res != 0)
3013 {
3014 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
3015 (void)mfrc522_deinit(&gs_handle);
3016
3017 return 1;
3018 }
3019 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_38_DB ? "ok" : "error");
3020
3021 /* set the 43 db */
3022 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_43_DB);
3023 if (res != 0)
3024 {
3025 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
3026 (void)mfrc522_deinit(&gs_handle);
3027
3028 return 1;
3029 }
3030 mfrc522_interface_debug_print("mfrc522: set rx gain 43 db.\n");
3031 res = mfrc522_get_rx_gain(&gs_handle, &gain);
3032 if (res != 0)
3033 {
3034 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
3035 (void)mfrc522_deinit(&gs_handle);
3036
3037 return 1;
3038 }
3039 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_43_DB ? "ok" : "error");
3040
3041 /* set the 48 db */
3042 res = mfrc522_set_rx_gain(&gs_handle, MFRC522_RX_GAIN_48_DB);
3043 if (res != 0)
3044 {
3045 mfrc522_interface_debug_print("mfrc522: set rx gain failed.\n");
3046 (void)mfrc522_deinit(&gs_handle);
3047
3048 return 1;
3049 }
3050 mfrc522_interface_debug_print("mfrc522: set rx gain 48 db.\n");
3051 res = mfrc522_get_rx_gain(&gs_handle, &gain);
3052 if (res != 0)
3053 {
3054 mfrc522_interface_debug_print("mfrc522: get rx gain failed.\n");
3055 (void)mfrc522_deinit(&gs_handle);
3056
3057 return 1;
3058 }
3059 mfrc522_interface_debug_print("mfrc522: check rx gain %s.\n", gain == MFRC522_RX_GAIN_48_DB ? "ok" : "error");
3060
3061 /* mfrc522_set_cwgsn/mfrc522_get_cwgsn test */
3062 mfrc522_interface_debug_print("mfrc522: mfrc522_set_cwgsn/mfrc522_get_cwgsn test.\n");
3063
3064 level = rand() % 0xF;
3065 res = mfrc522_set_cwgsn(&gs_handle, level);
3066 if (res != 0)
3067 {
3068 mfrc522_interface_debug_print("mfrc522: set cwgsn failed.\n");
3069 (void)mfrc522_deinit(&gs_handle);
3070
3071 return 1;
3072 }
3073 mfrc522_interface_debug_print("mfrc522: set cwgsn 0x%02X.\n", level);
3074 res = mfrc522_get_cwgsn(&gs_handle, &level_check);
3075 if (res != 0)
3076 {
3077 mfrc522_interface_debug_print("mfrc522: get cwgsn failed.\n");
3078 (void)mfrc522_deinit(&gs_handle);
3079
3080 return 1;
3081 }
3082 mfrc522_interface_debug_print("mfrc522: check cwgsn %s.\n", level == level_check ? "ok" : "error");
3083
3084 /* mfrc522_set_modgsn/mfrc522_get_modgsn test */
3085 mfrc522_interface_debug_print("mfrc522: mfrc522_set_modgsn/mfrc522_get_modgsn test.\n");
3086
3087 level = rand() % 0xF;
3088 res = mfrc522_set_modgsn(&gs_handle, level);
3089 if (res != 0)
3090 {
3091 mfrc522_interface_debug_print("mfrc522: set modgsn failed.\n");
3092 (void)mfrc522_deinit(&gs_handle);
3093
3094 return 1;
3095 }
3096 mfrc522_interface_debug_print("mfrc522: set modgsn 0x%02X.\n", level);
3097 res = mfrc522_get_modgsn(&gs_handle, &level_check);
3098 if (res != 0)
3099 {
3100 mfrc522_interface_debug_print("mfrc522: get modgsn failed.\n");
3101 (void)mfrc522_deinit(&gs_handle);
3102
3103 return 1;
3104 }
3105 mfrc522_interface_debug_print("mfrc522: check modgsn %s.\n", level == level_check ? "ok" : "error");
3106
3107 /* mfrc522_set_cwgsp/mfrc522_get_cwgsp test */
3108 mfrc522_interface_debug_print("mfrc522: mfrc522_set_cwgsp/mfrc522_get_cwgsp test.\n");
3109
3110 level = rand() % 0x40;
3111 res = mfrc522_set_cwgsp(&gs_handle, level);
3112 if (res != 0)
3113 {
3114 mfrc522_interface_debug_print("mfrc522: set cwgsp failed.\n");
3115 (void)mfrc522_deinit(&gs_handle);
3116
3117 return 1;
3118 }
3119 mfrc522_interface_debug_print("mfrc522: set cwgsp 0x%02X.\n", level);
3120 res = mfrc522_get_cwgsp(&gs_handle, &level_check);
3121 if (res != 0)
3122 {
3123 mfrc522_interface_debug_print("mfrc522: get cwgsp failed.\n");
3124 (void)mfrc522_deinit(&gs_handle);
3125
3126 return 1;
3127 }
3128 mfrc522_interface_debug_print("mfrc522: check cwgsp %s.\n", level == level_check ? "ok" : "error");
3129
3130 /* mfrc522_set_modgsp/mfrc522_get_modgsp test */
3131 mfrc522_interface_debug_print("mfrc522: mfrc522_set_modgsp/mfrc522_get_modgsp test.\n");
3132
3133 level = rand() % 0x40;
3134 res = mfrc522_set_modgsp(&gs_handle, level);
3135 if (res != 0)
3136 {
3137 mfrc522_interface_debug_print("mfrc522: set modgsp failed.\n");
3138 (void)mfrc522_deinit(&gs_handle);
3139
3140 return 1;
3141 }
3142 mfrc522_interface_debug_print("mfrc522: set modgsp 0x%02X.\n", level);
3143 res = mfrc522_get_modgsp(&gs_handle, &level_check);
3144 if (res != 0)
3145 {
3146 mfrc522_interface_debug_print("mfrc522: get modgsp failed.\n");
3147 (void)mfrc522_deinit(&gs_handle);
3148
3149 return 1;
3150 }
3151 mfrc522_interface_debug_print("mfrc522: check modgsp %s.\n", level == level_check ? "ok" : "error");
3152
3153 /* mfrc522_set_timer_auto/mfrc522_get_timer_auto test */
3154 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_auto/mfrc522_get_timer_auto test.\n");
3155
3156 /* enable */
3157 res = mfrc522_set_timer_auto(&gs_handle, MFRC522_BOOL_TRUE);
3158 if (res != 0)
3159 {
3160 mfrc522_interface_debug_print("mfrc522: set timer auto failed.\n");
3161 (void)mfrc522_deinit(&gs_handle);
3162
3163 return 1;
3164 }
3165 mfrc522_interface_debug_print("mfrc522: set timer auto enable.\n");
3166 res = mfrc522_get_timer_auto(&gs_handle, &enable);
3167 if (res != 0)
3168 {
3169 mfrc522_interface_debug_print("mfrc522: get timer auto failed.\n");
3170 (void)mfrc522_deinit(&gs_handle);
3171
3172 return 1;
3173 }
3174 mfrc522_interface_debug_print("mfrc522: check timer auto %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3175
3176 /* disable */
3177 res = mfrc522_set_timer_auto(&gs_handle, MFRC522_BOOL_FALSE);
3178 if (res != 0)
3179 {
3180 mfrc522_interface_debug_print("mfrc522: set timer auto failed.\n");
3181 (void)mfrc522_deinit(&gs_handle);
3182
3183 return 1;
3184 }
3185 mfrc522_interface_debug_print("mfrc522: set timer auto disable.\n");
3186 res = mfrc522_get_timer_auto(&gs_handle, &enable);
3187 if (res != 0)
3188 {
3189 mfrc522_interface_debug_print("mfrc522: get timer auto failed.\n");
3190 (void)mfrc522_deinit(&gs_handle);
3191
3192 return 1;
3193 }
3194 mfrc522_interface_debug_print("mfrc522: check timer auto %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3195
3196 /* mfrc522_set_timer_gated_mode/mfrc522_get_timer_gated_mode test */
3197 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_gated_mode/mfrc522_get_timer_gated_mode test.\n");
3198
3199 /* none */
3201 if (res != 0)
3202 {
3203 mfrc522_interface_debug_print("mfrc522: set timer gated mode failed.\n");
3204 (void)mfrc522_deinit(&gs_handle);
3205
3206 return 1;
3207 }
3208 mfrc522_interface_debug_print("mfrc522: set timer gated mode none.\n");
3209 res = mfrc522_get_timer_gated_mode(&gs_handle, &gated_mode);
3210 if (res != 0)
3211 {
3212 mfrc522_interface_debug_print("mfrc522: get timer gated mode failed.\n");
3213 (void)mfrc522_deinit(&gs_handle);
3214
3215 return 1;
3216 }
3217 mfrc522_interface_debug_print("mfrc522: check timer gated mode %s.\n", gated_mode == MFRC522_TIMER_GATED_MODE_NONE ? "ok" : "error");
3218
3219 /* mfin */
3221 if (res != 0)
3222 {
3223 mfrc522_interface_debug_print("mfrc522: set timer gated mode failed.\n");
3224 (void)mfrc522_deinit(&gs_handle);
3225
3226 return 1;
3227 }
3228 mfrc522_interface_debug_print("mfrc522: set timer gated mode mfin.\n");
3229 res = mfrc522_get_timer_gated_mode(&gs_handle, &gated_mode);
3230 if (res != 0)
3231 {
3232 mfrc522_interface_debug_print("mfrc522: get timer gated mode failed.\n");
3233 (void)mfrc522_deinit(&gs_handle);
3234
3235 return 1;
3236 }
3237 mfrc522_interface_debug_print("mfrc522: check timer gated mode %s.\n", gated_mode == MFRC522_TIMER_GATED_MODE_MFIN ? "ok" : "error");
3238
3239 /* aux1 */
3241 if (res != 0)
3242 {
3243 mfrc522_interface_debug_print("mfrc522: set timer gated mode failed.\n");
3244 (void)mfrc522_deinit(&gs_handle);
3245
3246 return 1;
3247 }
3248 mfrc522_interface_debug_print("mfrc522: set timer gated mode aux1.\n");
3249 res = mfrc522_get_timer_gated_mode(&gs_handle, &gated_mode);
3250 if (res != 0)
3251 {
3252 mfrc522_interface_debug_print("mfrc522: get timer gated mode failed.\n");
3253 (void)mfrc522_deinit(&gs_handle);
3254
3255 return 1;
3256 }
3257 mfrc522_interface_debug_print("mfrc522: check timer gated mode %s.\n", gated_mode == MFRC522_TIMER_GATED_MODE_AUX1 ? "ok" : "error");
3258
3259 /* mfrc522_set_timer_auto_restart/mfrc522_get_timer_auto_restart test */
3260 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_auto_restart/mfrc522_get_timer_auto_restart test.\n");
3261
3262 /* enable */
3264 if (res != 0)
3265 {
3266 mfrc522_interface_debug_print("mfrc522: set timer_auto restart failed.\n");
3267 (void)mfrc522_deinit(&gs_handle);
3268
3269 return 1;
3270 }
3271 mfrc522_interface_debug_print("mfrc522: set timer auto restart enable.\n");
3272 res = mfrc522_get_timer_auto_restart(&gs_handle, &enable);
3273 if (res != 0)
3274 {
3275 mfrc522_interface_debug_print("mfrc522: get timer_auto restart failed.\n");
3276 (void)mfrc522_deinit(&gs_handle);
3277
3278 return 1;
3279 }
3280 mfrc522_interface_debug_print("mfrc522: check timer auto restart %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3281
3282 /* disable */
3284 if (res != 0)
3285 {
3286 mfrc522_interface_debug_print("mfrc522: set timer_auto restart failed.\n");
3287 (void)mfrc522_deinit(&gs_handle);
3288
3289 return 1;
3290 }
3291 mfrc522_interface_debug_print("mfrc522: set timer auto restart disable.\n");
3292 res = mfrc522_get_timer_auto_restart(&gs_handle, &enable);
3293 if (res != 0)
3294 {
3295 mfrc522_interface_debug_print("mfrc522: get timer_auto restart failed.\n");
3296 (void)mfrc522_deinit(&gs_handle);
3297
3298 return 1;
3299 }
3300 mfrc522_interface_debug_print("mfrc522: check timer auto restart %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3301
3302 /* mfrc522_set_timer_prescaler/mfrc522_get_timer_prescaler test */
3303 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_prescaler/mfrc522_get_timer_prescaler test.\n");
3304
3305 t = rand() % 0xFFF;
3306 res = mfrc522_set_timer_prescaler(&gs_handle, t);
3307 if (res != 0)
3308 {
3309 mfrc522_interface_debug_print("mfrc522: set timer prescaler failed.\n");
3310 (void)mfrc522_deinit(&gs_handle);
3311
3312 return 1;
3313 }
3314 mfrc522_interface_debug_print("mfrc522: set timer prescaler 0x%04X.\n", t);
3315 res = mfrc522_get_timer_prescaler(&gs_handle, &t_check);
3316 if (res != 0)
3317 {
3318 mfrc522_interface_debug_print("mfrc522: get timer prescaler failed.\n");
3319 (void)mfrc522_deinit(&gs_handle);
3320
3321 return 1;
3322 }
3323 mfrc522_interface_debug_print("mfrc522: check timer prescaler %s.\n", t_check == t ? "ok" : "error");
3324
3325 /* mfrc522_set_timer_reload/mfrc522_get_timer_reload test */
3326 mfrc522_interface_debug_print("mfrc522: mfrc522_set_timer_reload/mfrc522_get_timer_reload test.\n");
3327
3328 t = rand() % 0xFFFFU;
3329 res = mfrc522_set_timer_reload(&gs_handle, t);
3330 if (res != 0)
3331 {
3332 mfrc522_interface_debug_print("mfrc522: set timer reload failed.\n");
3333 (void)mfrc522_deinit(&gs_handle);
3334
3335 return 1;
3336 }
3337 mfrc522_interface_debug_print("mfrc522: set timer reload 0x%04X.\n", t);
3338 res = mfrc522_get_timer_reload(&gs_handle, &t_check);
3339 if (res != 0)
3340 {
3341 mfrc522_interface_debug_print("mfrc522: get timer reload failed.\n");
3342 (void)mfrc522_deinit(&gs_handle);
3343
3344 return 1;
3345 }
3346 mfrc522_interface_debug_print("mfrc522: check timer reload %s.\n", t_check == t ? "ok" : "error");
3347
3348 /* mfrc522_get_timer_counter test */
3349 mfrc522_interface_debug_print("mfrc522: mfrc522_get_timer_counter test.\n");
3350
3351 res = mfrc522_get_timer_counter(&gs_handle, &t_check);
3352 if (res != 0)
3353 {
3354 mfrc522_interface_debug_print("mfrc522: get timer reload failed.\n");
3355 (void)mfrc522_deinit(&gs_handle);
3356
3357 return 1;
3358 }
3359 mfrc522_interface_debug_print("mfrc522: check timer reload 0x%04X.\n", t_check);
3360
3361 /* mfrc522_set_fifo_data/mfrc522_get_fifo_data test */
3362 mfrc522_interface_debug_print("mfrc522: mfrc522_set_fifo_data/mfrc522_get_fifo_data test.\n");
3363
3364 for (i = 0; i < 64; i++)
3365 {
3366 buf[i] = rand() % 256;
3367 }
3368 res = mfrc522_set_fifo_data(&gs_handle, buf, 64);
3369 if (res != 0)
3370 {
3371 mfrc522_interface_debug_print("mfrc522: set fifo data failed.\n");
3372 (void)mfrc522_deinit(&gs_handle);
3373
3374 return 1;
3375 }
3376 res = mfrc522_get_fifo_data(&gs_handle, buf_check, 64);
3377 if (res != 0)
3378 {
3379 mfrc522_interface_debug_print("mfrc522: set fifo data failed.\n");
3380 (void)mfrc522_deinit(&gs_handle);
3381
3382 return 1;
3383 }
3384 mfrc522_interface_debug_print("mfrc522: check fifo data %s.\n", memcmp(buf, buf_check, 64) == 0 ? "ok" : "error");
3385
3386 /* mfrc522_set_test_bus_signal_1/mfrc522_get_test_bus_signal_1 test */
3387 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_bus_signal_1/mfrc522_get_test_bus_signal_1 test.\n");
3388
3389 level = rand() % 8;
3390 res = mfrc522_set_test_bus_signal_1(&gs_handle, level);
3391 if (res != 0)
3392 {
3393 mfrc522_interface_debug_print("mfrc522: set test bus signal 1 failed.\n");
3394 (void)mfrc522_deinit(&gs_handle);
3395
3396 return 1;
3397 }
3398 mfrc522_interface_debug_print("mfrc522: set test bus signal 1 0x%02X.\n", level);
3399 res = mfrc522_get_test_bus_signal_1(&gs_handle, &level_check);
3400 if (res != 0)
3401 {
3402 mfrc522_interface_debug_print("mfrc522: get test bus signal 1 failed.\n");
3403 (void)mfrc522_deinit(&gs_handle);
3404
3405 return 1;
3406 }
3407 mfrc522_interface_debug_print("mfrc522: check test bus signal 1 %s.\n", level == level_check ? "ok" : "error");
3408
3409 /* mfrc522_set_test_bus_signal_2/mfrc522_get_test_bus_signal_2 test */
3410 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_bus_signal_2/mfrc522_get_test_bus_signal_2 test.\n");
3411
3412 level = rand() % 0x20;
3413 res = mfrc522_set_test_bus_signal_2(&gs_handle, level);
3414 if (res != 0)
3415 {
3416 mfrc522_interface_debug_print("mfrc522: set test bus signal 2 failed.\n");
3417 (void)mfrc522_deinit(&gs_handle);
3418
3419 return 1;
3420 }
3421 mfrc522_interface_debug_print("mfrc522: set test bus signal 2 0x%02X.\n", level);
3422 res = mfrc522_get_test_bus_signal_2(&gs_handle, &level_check);
3423 if (res != 0)
3424 {
3425 mfrc522_interface_debug_print("mfrc522: get test bus signal 2 failed.\n");
3426 (void)mfrc522_deinit(&gs_handle);
3427
3428 return 1;
3429 }
3430 mfrc522_interface_debug_print("mfrc522: check test bus signal 2 %s.\n", level == level_check ? "ok" : "error");
3431
3432 /* mfrc522_set_test_bus_flip/mfrc522_get_test_bus_flip test */
3433 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_bus_flip/mfrc522_get_test_bus_flip test.\n");
3434
3435 /* enable */
3437 if (res != 0)
3438 {
3439 mfrc522_interface_debug_print("mfrc522: set test bus flip failed.\n");
3440 (void)mfrc522_deinit(&gs_handle);
3441
3442 return 1;
3443 }
3444 mfrc522_interface_debug_print("mfrc522: set test bus flip enable.\n");
3445 res = mfrc522_get_test_bus_flip(&gs_handle, &enable);
3446 if (res != 0)
3447 {
3448 mfrc522_interface_debug_print("mfrc522: get test bus flip failed.\n");
3449 (void)mfrc522_deinit(&gs_handle);
3450
3451 return 1;
3452 }
3453 mfrc522_interface_debug_print("mfrc522: check test bus flip %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3454
3455 /* disable */
3457 if (res != 0)
3458 {
3459 mfrc522_interface_debug_print("mfrc522: set test bus flip failed.\n");
3460 (void)mfrc522_deinit(&gs_handle);
3461
3462 return 1;
3463 }
3464 mfrc522_interface_debug_print("mfrc522: set test bus flip disable.\n");
3465 res = mfrc522_get_test_bus_flip(&gs_handle, &enable);
3466 if (res != 0)
3467 {
3468 mfrc522_interface_debug_print("mfrc522: get test bus flip failed.\n");
3469 (void)mfrc522_deinit(&gs_handle);
3470
3471 return 1;
3472 }
3473 mfrc522_interface_debug_print("mfrc522: check test bus flip %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3474
3475 /* mfrc522_set_test_prbs9/mfrc522_get_test_prbs9 test */
3476 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_prbs9/mfrc522_get_test_prbs9 test.\n");
3477
3478 /* enable */
3479 res = mfrc522_set_test_prbs9(&gs_handle, MFRC522_BOOL_TRUE);
3480 if (res != 0)
3481 {
3482 mfrc522_interface_debug_print("mfrc522: set test prbs9 failed.\n");
3483 (void)mfrc522_deinit(&gs_handle);
3484
3485 return 1;
3486 }
3487 mfrc522_interface_debug_print("mfrc522: set test prbs9 enable.\n");
3488 res = mfrc522_get_test_prbs9(&gs_handle, &enable);
3489 if (res != 0)
3490 {
3491 mfrc522_interface_debug_print("mfrc522: get test prbs9 failed.\n");
3492 (void)mfrc522_deinit(&gs_handle);
3493
3494 return 1;
3495 }
3496 mfrc522_interface_debug_print("mfrc522: check test prbs9 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3497
3498 /* disable */
3499 res = mfrc522_set_test_prbs9(&gs_handle, MFRC522_BOOL_FALSE);
3500 if (res != 0)
3501 {
3502 mfrc522_interface_debug_print("mfrc522: set test prbs9 failed.\n");
3503 (void)mfrc522_deinit(&gs_handle);
3504
3505 return 1;
3506 }
3507 mfrc522_interface_debug_print("mfrc522: set test prbs9 disable.\n");
3508 res = mfrc522_get_test_prbs9(&gs_handle, &enable);
3509 if (res != 0)
3510 {
3511 mfrc522_interface_debug_print("mfrc522: get test prbs9 failed.\n");
3512 (void)mfrc522_deinit(&gs_handle);
3513
3514 return 1;
3515 }
3516 mfrc522_interface_debug_print("mfrc522: check test prbs9 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3517
3518 /* mfrc522_set_test_prbs15/mfrc522_get_test_prbs15 test */
3519 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_prbs15/mfrc522_get_test_prbs15 test.\n");
3520
3521 /* enable */
3522 res = mfrc522_set_test_prbs15(&gs_handle, MFRC522_BOOL_TRUE);
3523 if (res != 0)
3524 {
3525 mfrc522_interface_debug_print("mfrc522: set test prbs15 failed.\n");
3526 (void)mfrc522_deinit(&gs_handle);
3527
3528 return 1;
3529 }
3530 mfrc522_interface_debug_print("mfrc522: set test prbs15 enable.\n");
3531 res = mfrc522_get_test_prbs15(&gs_handle, &enable);
3532 if (res != 0)
3533 {
3534 mfrc522_interface_debug_print("mfrc522: get test prbs15 failed.\n");
3535 (void)mfrc522_deinit(&gs_handle);
3536
3537 return 1;
3538 }
3539 mfrc522_interface_debug_print("mfrc522: check test prbs15 %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3540
3541 /* disable */
3543 if (res != 0)
3544 {
3545 mfrc522_interface_debug_print("mfrc522: set test prbs15 failed.\n");
3546 (void)mfrc522_deinit(&gs_handle);
3547
3548 return 1;
3549 }
3550 mfrc522_interface_debug_print("mfrc522: set test prbs15 disable.\n");
3551 res = mfrc522_get_test_prbs15(&gs_handle, &enable);
3552 if (res != 0)
3553 {
3554 mfrc522_interface_debug_print("mfrc522: get test prbs15 failed.\n");
3555 (void)mfrc522_deinit(&gs_handle);
3556
3557 return 1;
3558 }
3559 mfrc522_interface_debug_print("mfrc522: check test prbs15 %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3560
3561 /* mfrc522_set_test_rs232_line/mfrc522_get_test_rs232_line test */
3562 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_rs232_line/mfrc522_get_test_rs232_line test.\n");
3563
3564 /* enable */
3566 if (res != 0)
3567 {
3568 mfrc522_interface_debug_print("mfrc522: set test rs232 line failed.\n");
3569 (void)mfrc522_deinit(&gs_handle);
3570
3571 return 1;
3572 }
3573 mfrc522_interface_debug_print("mfrc522: set test rs232 line enable.\n");
3574 res = mfrc522_get_test_rs232_line(&gs_handle, &enable);
3575 if (res != 0)
3576 {
3577 mfrc522_interface_debug_print("mfrc522: get test rs232 line failed.\n");
3578 (void)mfrc522_deinit(&gs_handle);
3579
3580 return 1;
3581 }
3582 mfrc522_interface_debug_print("mfrc522: check test rs232 line %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3583
3584 /* disable */
3586 if (res != 0)
3587 {
3588 mfrc522_interface_debug_print("mfrc522: set test rs232 line failed.\n");
3589 (void)mfrc522_deinit(&gs_handle);
3590
3591 return 1;
3592 }
3593 mfrc522_interface_debug_print("mfrc522: set test rs232 line disable.\n");
3594 res = mfrc522_get_test_rs232_line(&gs_handle, &enable);
3595 if (res != 0)
3596 {
3597 mfrc522_interface_debug_print("mfrc522: get test rs232 line failed.\n");
3598 (void)mfrc522_deinit(&gs_handle);
3599
3600 return 1;
3601 }
3602 mfrc522_interface_debug_print("mfrc522: check test rs232 line %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3603
3604 /* mfrc522_set_test_pin_enable/mfrc522_get_test_pin_enable test */
3605 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_pin_enable/mfrc522_get_test_pin_enable test.\n");
3606
3607 level = rand() % 0x40;
3608 res = mfrc522_set_test_pin_enable(&gs_handle, level);
3609 if (res != 0)
3610 {
3611 mfrc522_interface_debug_print("mfrc522: set test pin enable failed.\n");
3612 (void)mfrc522_deinit(&gs_handle);
3613
3614 return 1;
3615 }
3616 mfrc522_interface_debug_print("mfrc522: set test pin enable 0x%02X.\n", level);
3617 res = mfrc522_get_test_pin_enable(&gs_handle, &level_check);
3618 if (res != 0)
3619 {
3620 mfrc522_interface_debug_print("mfrc522: get test pin enable failed.\n");
3621 (void)mfrc522_deinit(&gs_handle);
3622
3623 return 1;
3624 }
3625 mfrc522_interface_debug_print("mfrc522: check test pin enable %s.\n", level == level_check ? "ok" : "error");
3626
3627 /* mfrc522_set_test_port_io/mfrc522_get_test_port_io test */
3628 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_port_io/mfrc522_get_test_port_io test.\n");
3629
3630 /* enable */
3632 if (res != 0)
3633 {
3634 mfrc522_interface_debug_print("mfrc522: set test port io failed.\n");
3635 (void)mfrc522_deinit(&gs_handle);
3636
3637 return 1;
3638 }
3639 mfrc522_interface_debug_print("mfrc522: set test port io enable.\n");
3640 res = mfrc522_get_test_port_io(&gs_handle, &enable);
3641 if (res != 0)
3642 {
3643 mfrc522_interface_debug_print("mfrc522: get test port io failed.\n");
3644 (void)mfrc522_deinit(&gs_handle);
3645
3646 return 1;
3647 }
3648 mfrc522_interface_debug_print("mfrc522: check test port io %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3649
3650 /* disable */
3652 if (res != 0)
3653 {
3654 mfrc522_interface_debug_print("mfrc522: set test port io failed.\n");
3655 (void)mfrc522_deinit(&gs_handle);
3656
3657 return 1;
3658 }
3659 mfrc522_interface_debug_print("mfrc522: set test port io disable.\n");
3660 res = mfrc522_get_test_port_io(&gs_handle, &enable);
3661 if (res != 0)
3662 {
3663 mfrc522_interface_debug_print("mfrc522: get test port io failed.\n");
3664 (void)mfrc522_deinit(&gs_handle);
3665
3666 return 1;
3667 }
3668 mfrc522_interface_debug_print("mfrc522: check test port io %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3669
3670 /* mfrc522_set_test_pin_value/mfrc522_get_test_pin_value test */
3671 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_pin_value/mfrc522_get_test_pin_value test.\n");
3672
3673 level = rand() % 0x40;
3674 res = mfrc522_set_test_pin_value(&gs_handle, level);
3675 if (res != 0)
3676 {
3677 mfrc522_interface_debug_print("mfrc522: set test pin value failed.\n");
3678 (void)mfrc522_deinit(&gs_handle);
3679
3680 return 1;
3681 }
3682 mfrc522_interface_debug_print("mfrc522: set test pin value 0x%02X.\n", level);
3683 res = mfrc522_get_test_pin_value(&gs_handle, &level_check);
3684 if (res != 0)
3685 {
3686 mfrc522_interface_debug_print("mfrc522: get test pin value failed.\n");
3687 (void)mfrc522_deinit(&gs_handle);
3688
3689 return 1;
3690 }
3691 mfrc522_interface_debug_print("mfrc522: check test pin value %s.\n", level == level_check ? "ok" : "error");
3692
3693 /* mfrc522_get_test_bus test */
3694 mfrc522_interface_debug_print("mfrc522: mfrc522_get_test_bus test.\n");
3695
3696 res = mfrc522_get_test_bus(&gs_handle, &level);
3697 if (res != 0)
3698 {
3699 mfrc522_interface_debug_print("mfrc522: get test bus failed.\n");
3700 (void)mfrc522_deinit(&gs_handle);
3701
3702 return 1;
3703 }
3704 mfrc522_interface_debug_print("mfrc522: get test bus 0x%02X.\n", level);
3705
3706 /* mfrc522_set_test_amp_rcv/mfrc522_get_test_amp_rcv test */
3707 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_amp_rcv/mfrc522_get_test_amp_rcv test.\n");
3708
3709 /* enable */
3711 if (res != 0)
3712 {
3713 mfrc522_interface_debug_print("mfrc522: set test amp rcv failed.\n");
3714 (void)mfrc522_deinit(&gs_handle);
3715
3716 return 1;
3717 }
3718 mfrc522_interface_debug_print("mfrc522: set test amp rcv enable.\n");
3719 res = mfrc522_get_test_amp_rcv(&gs_handle, &enable);
3720 if (res != 0)
3721 {
3722 mfrc522_interface_debug_print("mfrc522: get test amp rcv failed.\n");
3723 (void)mfrc522_deinit(&gs_handle);
3724
3725 return 1;
3726 }
3727 mfrc522_interface_debug_print("mfrc522: check test amp rcv %s.\n", enable == MFRC522_BOOL_TRUE ? "ok" : "error");
3728
3729 /* disable */
3731 if (res != 0)
3732 {
3733 mfrc522_interface_debug_print("mfrc522: set test amp rcv failed.\n");
3734 (void)mfrc522_deinit(&gs_handle);
3735
3736 return 1;
3737 }
3738 mfrc522_interface_debug_print("mfrc522: set test amp rcv disable.\n");
3739 res = mfrc522_get_test_amp_rcv(&gs_handle, &enable);
3740 if (res != 0)
3741 {
3742 mfrc522_interface_debug_print("mfrc522: get test amp rcv failed.\n");
3743 (void)mfrc522_deinit(&gs_handle);
3744
3745 return 1;
3746 }
3747 mfrc522_interface_debug_print("mfrc522: check test amp rcv %s.\n", enable == MFRC522_BOOL_FALSE ? "ok" : "error");
3748
3749 /* mfrc522_set_self_test/mfrc522_get_self_test test */
3750 mfrc522_interface_debug_print("mfrc522: mfrc522_set_self_test/mfrc522_get_self_test test.\n");
3751
3752 level = 0x00;
3753 res = mfrc522_set_self_test(&gs_handle, level);
3754 if (res != 0)
3755 {
3756 mfrc522_interface_debug_print("mfrc522: set self test failed.\n");
3757 (void)mfrc522_deinit(&gs_handle);
3758
3759 return 1;
3760 }
3761 mfrc522_interface_debug_print("mfrc522: set self test 0x%02X.\n", level);
3762 res = mfrc522_get_self_test(&gs_handle, &level_check);
3763 if (res != 0)
3764 {
3765 mfrc522_interface_debug_print("mfrc522: get self test failed.\n");
3766 (void)mfrc522_deinit(&gs_handle);
3767
3768 return 1;
3769 }
3770 mfrc522_interface_debug_print("mfrc522: check self test %s.\n", level == level_check ? "ok" : "error");
3771
3772 /* mfrc522_get_version test */
3773 mfrc522_interface_debug_print("mfrc522: mfrc522_get_version test.\n");
3774
3775 res = mfrc522_get_version(&gs_handle, &id, &version);
3776 if (res != 0)
3777 {
3778 mfrc522_interface_debug_print("mfrc522: get version failed.\n");
3779 (void)mfrc522_deinit(&gs_handle);
3780
3781 return 1;
3782 }
3783 mfrc522_interface_debug_print("mfrc522: id is 0x%02X, version is 0x%02X.\n", id, version);
3784
3785 /* mfrc522_set_test_analog_control_aux_1/mfrc522_get_test_analog_control_aux_1 test */
3786 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_analog_control_aux_1/mfrc522_get_test_analog_control_aux_1 test.\n");
3787
3788 /* 3 state */
3790 if (res != 0)
3791 {
3792 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3793 (void)mfrc522_deinit(&gs_handle);
3794
3795 return 1;
3796 }
3797 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 3 state.\n");
3798 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3799 if (res != 0)
3800 {
3801 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3802 (void)mfrc522_deinit(&gs_handle);
3803
3804 return 1;
3805 }
3806 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_3_STATE ? "ok" : "error");
3807
3808 /* output */
3810 if (res != 0)
3811 {
3812 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3813 (void)mfrc522_deinit(&gs_handle);
3814
3815 return 1;
3816 }
3817 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 output.\n");
3818 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3819 if (res != 0)
3820 {
3821 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3822 (void)mfrc522_deinit(&gs_handle);
3823
3824 return 1;
3825 }
3826 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_OUTPUT ? "ok" : "error");
3827
3828 /* test signal corr1 */
3830 if (res != 0)
3831 {
3832 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3833 (void)mfrc522_deinit(&gs_handle);
3834
3835 return 1;
3836 }
3837 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 test signal corr1.\n");
3838 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3839 if (res != 0)
3840 {
3841 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3842 (void)mfrc522_deinit(&gs_handle);
3843
3844 return 1;
3845 }
3846 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_TEST_SIGNAL_CORR1 ? "ok" : "error");
3847
3848 /* dac test signal min level */
3850 if (res != 0)
3851 {
3852 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3853 (void)mfrc522_deinit(&gs_handle);
3854
3855 return 1;
3856 }
3857 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 dac test signal min level.\n");
3858 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3859 if (res != 0)
3860 {
3861 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3862 (void)mfrc522_deinit(&gs_handle);
3863
3864 return 1;
3865 }
3866 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_MIN_LEVEL ? "ok" : "error");
3867
3868 /* dac test signal adc i */
3870 if (res != 0)
3871 {
3872 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3873 (void)mfrc522_deinit(&gs_handle);
3874
3875 return 1;
3876 }
3877 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 dac test signal adc i.\n");
3878 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3879 if (res != 0)
3880 {
3881 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3882 (void)mfrc522_deinit(&gs_handle);
3883
3884 return 1;
3885 }
3886 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_I ? "ok" : "error");
3887
3888 /* dac test signal adc q */
3890 if (res != 0)
3891 {
3892 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3893 (void)mfrc522_deinit(&gs_handle);
3894
3895 return 1;
3896 }
3897 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 dac test signal adc q.\n");
3898 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3899 if (res != 0)
3900 {
3901 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3902 (void)mfrc522_deinit(&gs_handle);
3903
3904 return 1;
3905 }
3906 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_Q ? "ok" : "error");
3907
3908 /* test signal for production */
3910 if (res != 0)
3911 {
3912 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3913 (void)mfrc522_deinit(&gs_handle);
3914
3915 return 1;
3916 }
3917 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 test signal for production.\n");
3918 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3919 if (res != 0)
3920 {
3921 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3922 (void)mfrc522_deinit(&gs_handle);
3923
3924 return 1;
3925 }
3926 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_SIGNAL_FOR_PRODUCTION ? "ok" : "error");
3927
3928 /* high */
3930 if (res != 0)
3931 {
3932 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3933 (void)mfrc522_deinit(&gs_handle);
3934
3935 return 1;
3936 }
3937 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 high.\n");
3938 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3939 if (res != 0)
3940 {
3941 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3942 (void)mfrc522_deinit(&gs_handle);
3943
3944 return 1;
3945 }
3946 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_HIGH ? "ok" : "error");
3947
3948 /* low */
3950 if (res != 0)
3951 {
3952 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3953 (void)mfrc522_deinit(&gs_handle);
3954
3955 return 1;
3956 }
3957 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 low.\n");
3958 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3959 if (res != 0)
3960 {
3961 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3962 (void)mfrc522_deinit(&gs_handle);
3963
3964 return 1;
3965 }
3966 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_LOW ? "ok" : "error");
3967
3968 /* tx active */
3970 if (res != 0)
3971 {
3972 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3973 (void)mfrc522_deinit(&gs_handle);
3974
3975 return 1;
3976 }
3977 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 tx active.\n");
3978 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3979 if (res != 0)
3980 {
3981 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
3982 (void)mfrc522_deinit(&gs_handle);
3983
3984 return 1;
3985 }
3986 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_TX_ACTIVE ? "ok" : "error");
3987
3988 /* rx active */
3990 if (res != 0)
3991 {
3992 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
3993 (void)mfrc522_deinit(&gs_handle);
3994
3995 return 1;
3996 }
3997 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 rx active.\n");
3998 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
3999 if (res != 0)
4000 {
4001 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
4002 (void)mfrc522_deinit(&gs_handle);
4003
4004 return 1;
4005 }
4006 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_RX_ACTIVE ? "ok" : "error");
4007
4008 /* subcarrier detected */
4010 if (res != 0)
4011 {
4012 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
4013 (void)mfrc522_deinit(&gs_handle);
4014
4015 return 1;
4016 }
4017 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 subcarrier detected.\n");
4018 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
4019 if (res != 0)
4020 {
4021 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
4022 (void)mfrc522_deinit(&gs_handle);
4023
4024 return 1;
4025 }
4026 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_SUBCARRIER_DETECTED ? "ok" : "error");
4027
4028 /* defined bit */
4030 if (res != 0)
4031 {
4032 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 failed.\n");
4033 (void)mfrc522_deinit(&gs_handle);
4034
4035 return 1;
4036 }
4037 mfrc522_interface_debug_print("mfrc522: set test analog control aux 1 defined bit.\n");
4038 res = mfrc522_get_test_analog_control_aux_1(&gs_handle, &control);
4039 if (res != 0)
4040 {
4041 mfrc522_interface_debug_print("mfrc522: get test analog control aux 1 failed.\n");
4042 (void)mfrc522_deinit(&gs_handle);
4043
4044 return 1;
4045 }
4046 mfrc522_interface_debug_print("mfrc522: check test analog control aux 1 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DEFINED_BIT ? "ok" : "error");
4047
4048 /* mfrc522_set_test_analog_control_aux_2/mfrc522_get_test_analog_control_aux_2 test */
4049 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_analog_control_aux_2/mfrc522_get_test_analog_control_aux_2 test.\n");
4050
4051 /* 3 state */
4053 if (res != 0)
4054 {
4055 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4056 (void)mfrc522_deinit(&gs_handle);
4057
4058 return 2;
4059 }
4060 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 3 state.\n");
4061 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4062 if (res != 0)
4063 {
4064 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4065 (void)mfrc522_deinit(&gs_handle);
4066
4067 return 2;
4068 }
4069 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_3_STATE ? "ok" : "error");
4070
4071 /* output */
4073 if (res != 0)
4074 {
4075 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4076 (void)mfrc522_deinit(&gs_handle);
4077
4078 return 2;
4079 }
4080 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 output.\n");
4081 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4082 if (res != 0)
4083 {
4084 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4085 (void)mfrc522_deinit(&gs_handle);
4086
4087 return 2;
4088 }
4089 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_OUTPUT ? "ok" : "error");
4090
4091 /* test signal corr1 */
4093 if (res != 0)
4094 {
4095 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4096 (void)mfrc522_deinit(&gs_handle);
4097
4098 return 2;
4099 }
4100 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 test signal corr1.\n");
4101 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4102 if (res != 0)
4103 {
4104 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4105 (void)mfrc522_deinit(&gs_handle);
4106
4107 return 2;
4108 }
4109 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_TEST_SIGNAL_CORR1 ? "ok" : "error");
4110
4111 /* dac test signal min level */
4113 if (res != 0)
4114 {
4115 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4116 (void)mfrc522_deinit(&gs_handle);
4117
4118 return 2;
4119 }
4120 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 dac test signal min level.\n");
4121 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4122 if (res != 0)
4123 {
4124 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4125 (void)mfrc522_deinit(&gs_handle);
4126
4127 return 2;
4128 }
4129 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_MIN_LEVEL ? "ok" : "error");
4130
4131 /* dac test signal adc i */
4133 if (res != 0)
4134 {
4135 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4136 (void)mfrc522_deinit(&gs_handle);
4137
4138 return 2;
4139 }
4140 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 dac test signal adc i.\n");
4141 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4142 if (res != 0)
4143 {
4144 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4145 (void)mfrc522_deinit(&gs_handle);
4146
4147 return 2;
4148 }
4149 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_I ? "ok" : "error");
4150
4151 /* dac test signal adc q */
4153 if (res != 0)
4154 {
4155 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4156 (void)mfrc522_deinit(&gs_handle);
4157
4158 return 2;
4159 }
4160 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 dac test signal adc q.\n");
4161 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4162 if (res != 0)
4163 {
4164 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4165 (void)mfrc522_deinit(&gs_handle);
4166
4167 return 2;
4168 }
4169 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_Q ? "ok" : "error");
4170
4171 /* test signal for production */
4173 if (res != 0)
4174 {
4175 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4176 (void)mfrc522_deinit(&gs_handle);
4177
4178 return 2;
4179 }
4180 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 test signal for production.\n");
4181 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4182 if (res != 0)
4183 {
4184 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4185 (void)mfrc522_deinit(&gs_handle);
4186
4187 return 2;
4188 }
4189 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_SIGNAL_FOR_PRODUCTION ? "ok" : "error");
4190
4191 /* high */
4193 if (res != 0)
4194 {
4195 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4196 (void)mfrc522_deinit(&gs_handle);
4197
4198 return 2;
4199 }
4200 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 high.\n");
4201 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4202 if (res != 0)
4203 {
4204 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4205 (void)mfrc522_deinit(&gs_handle);
4206
4207 return 2;
4208 }
4209 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_HIGH ? "ok" : "error");
4210
4211 /* low */
4213 if (res != 0)
4214 {
4215 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4216 (void)mfrc522_deinit(&gs_handle);
4217
4218 return 2;
4219 }
4220 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 low.\n");
4221 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4222 if (res != 0)
4223 {
4224 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4225 (void)mfrc522_deinit(&gs_handle);
4226
4227 return 2;
4228 }
4229 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_LOW ? "ok" : "error");
4230
4231 /* tx active */
4233 if (res != 0)
4234 {
4235 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4236 (void)mfrc522_deinit(&gs_handle);
4237
4238 return 2;
4239 }
4240 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 tx active.\n");
4241 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4242 if (res != 0)
4243 {
4244 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4245 (void)mfrc522_deinit(&gs_handle);
4246
4247 return 2;
4248 }
4249 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_TX_ACTIVE ? "ok" : "error");
4250
4251 /* rx active */
4253 if (res != 0)
4254 {
4255 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4256 (void)mfrc522_deinit(&gs_handle);
4257
4258 return 2;
4259 }
4260 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 rx active.\n");
4261 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4262 if (res != 0)
4263 {
4264 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4265 (void)mfrc522_deinit(&gs_handle);
4266
4267 return 2;
4268 }
4269 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_RX_ACTIVE ? "ok" : "error");
4270
4271 /* subcarrier detected */
4273 if (res != 0)
4274 {
4275 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4276 (void)mfrc522_deinit(&gs_handle);
4277
4278 return 2;
4279 }
4280 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 subcarrier detected.\n");
4281 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4282 if (res != 0)
4283 {
4284 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4285 (void)mfrc522_deinit(&gs_handle);
4286
4287 return 2;
4288 }
4289 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_SUBCARRIER_DETECTED ? "ok" : "error");
4290
4291 /* defined bit */
4293 if (res != 0)
4294 {
4295 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 failed.\n");
4296 (void)mfrc522_deinit(&gs_handle);
4297
4298 return 2;
4299 }
4300 mfrc522_interface_debug_print("mfrc522: set test analog control aux 2 defined bit.\n");
4301 res = mfrc522_get_test_analog_control_aux_2(&gs_handle, &control);
4302 if (res != 0)
4303 {
4304 mfrc522_interface_debug_print("mfrc522: get test analog control aux 2 failed.\n");
4305 (void)mfrc522_deinit(&gs_handle);
4306
4307 return 2;
4308 }
4309 mfrc522_interface_debug_print("mfrc522: check test analog control aux 2 %s.\n", control == MFRC522_TEST_ANALOG_CONTROL_DEFINED_BIT ? "ok" : "error");
4310
4311 /* mfrc522_set_test_dac_1/mfrc522_get_test_dac_1 test */
4312 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_dac_1/mfrc522_get_test_dac_1 test.\n");
4313
4314 level = rand() % 0x40;
4315 res = mfrc522_set_test_dac_1(&gs_handle, level);
4316 if (res != 0)
4317 {
4318 mfrc522_interface_debug_print("mfrc522: set test dac 1 failed.\n");
4319 (void)mfrc522_deinit(&gs_handle);
4320
4321 return 2;
4322 }
4323 mfrc522_interface_debug_print("mfrc522: set test dac 1 0x%02X.\n", level);
4324 res = mfrc522_get_test_dac_1(&gs_handle, &level_check);
4325 if (res != 0)
4326 {
4327 mfrc522_interface_debug_print("mfrc522: get test dac 1 failed.\n");
4328 (void)mfrc522_deinit(&gs_handle);
4329
4330 return 2;
4331 }
4332 mfrc522_interface_debug_print("mfrc522: check test dac 1 %s.\n", level == level_check ? "ok" : "error");
4333
4334 /* mfrc522_set_test_dac_2/mfrc522_get_test_dac_2 test */
4335 mfrc522_interface_debug_print("mfrc522: mfrc522_set_test_dac_2/mfrc522_get_test_dac_2 test.\n");
4336
4337 level = rand() % 0x40;
4338 res = mfrc522_set_test_dac_2(&gs_handle, level);
4339 if (res != 0)
4340 {
4341 mfrc522_interface_debug_print("mfrc522: set test dac 2 failed.\n");
4342 (void)mfrc522_deinit(&gs_handle);
4343
4344 return 2;
4345 }
4346 mfrc522_interface_debug_print("mfrc522: set test dac 2 0x%02X.\n", level);
4347 res = mfrc522_get_test_dac_2(&gs_handle, &level_check);
4348 if (res != 0)
4349 {
4350 mfrc522_interface_debug_print("mfrc522: get test dac 2 failed.\n");
4351 (void)mfrc522_deinit(&gs_handle);
4352
4353 return 2;
4354 }
4355 mfrc522_interface_debug_print("mfrc522: check test dac 2 %s.\n", level == level_check ? "ok" : "error");
4356
4357 /* mfrc522_get_test_adc test */
4358 mfrc522_interface_debug_print("mfrc522: mfrc522_get_test_adc test.\n");
4359
4360 res = mfrc522_get_test_adc(&gs_handle, &adc_i, &adc_q);
4361 if (res != 0)
4362 {
4363 mfrc522_interface_debug_print("mfrc522: get test adc failed.\n");
4364 (void)mfrc522_deinit(&gs_handle);
4365
4366 return 2;
4367 }
4368 mfrc522_interface_debug_print("mfrc522: test adc i is 0x%02X adc q is 0x%02X.\n", adc_i, adc_q);
4369
4370 /* finish register */
4371 mfrc522_interface_debug_print("mfrc522: finish register test.\n");
4372 (void)mfrc522_deinit(&gs_handle);
4373
4374 return 0;
4375}
driver mfrc522 register test header file
uint8_t mfrc522_get_timer_auto(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the timer auto status
mfrc522_interface_t
mfrc522 interface enumeration definition
uint8_t mfrc522_get_force_100_ask(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the force 100 ask status
uint8_t mfrc522_get_water_level(mfrc522_handle_t *handle, uint8_t *level)
get the water level
uint8_t mfrc522_set_interrupt2(mfrc522_handle_t *handle, mfrc522_interrupt2_t type, mfrc522_bool_t enable)
enable or disable the interrupt2
uint8_t mfrc522_set_fix_iq(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable fix iq
uint8_t mfrc522_get_collision_level(mfrc522_handle_t *handle, uint8_t *level)
get the collision level
uint8_t mfrc522_get_modulation_invert(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the modulation invert status
uint8_t mfrc522_get_interrupt2(mfrc522_handle_t *handle, mfrc522_interrupt2_t type, mfrc522_bool_t *enable)
get the interrupt2 status
uint8_t mfrc522_get_timer_constant_sync(mfrc522_handle_t *handle, uint8_t *t)
get the timer constant sync
uint8_t mfrc522_get_timer_counter(mfrc522_handle_t *handle, uint16_t *cnt)
get the timer counter
mfrc522_test_analog_control_t
mfrc522 test analog control enumeration definition
mfrc522_bool_t
mfrc522 bool enumeration definition
uint8_t mfrc522_init(mfrc522_handle_t *handle)
initialize the chip
uint8_t mfrc522_set_mifare_crypto1_on(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable mifare crypto1 on
uint8_t mfrc522_get_clear_temperature_error(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the clear temperature error status
uint8_t mfrc522_set_rx_multiple(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable rx multiple
uint8_t mfrc522_get_modulation_width(mfrc522_handle_t *handle, uint8_t *width)
get the modulation width
uint8_t mfrc522_get_timer_prescal_even(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the timer prescal even status
uint8_t mfrc522_set_timer_constant_sync(mfrc522_handle_t *handle, uint8_t t)
set the timer constant sync
uint8_t mfrc522_set_interface(mfrc522_handle_t *handle, mfrc522_interface_t interface)
set the chip interface
uint8_t mfrc522_get_serial_speed(mfrc522_handle_t *handle, uint8_t *t0, uint8_t *t1)
get the serial speed
uint8_t mfrc522_set_interrupt_pin_type(mfrc522_handle_t *handle, mfrc522_interrupt_pin_type_t type)
set the interrupt pin type
uint8_t mfrc522_get_crc_preset(mfrc522_handle_t *handle, mfrc522_crc_preset_t *preset)
get the crc preset
uint8_t mfrc522_get_tx_wait_rf(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the rf tx wait status
uint8_t mfrc522_set_force_iic_high_speed(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable force iic high speed
uint8_t mfrc522_set_channel_reception(mfrc522_handle_t *handle, mfrc522_channel_reception_t reception)
set the channel reception
uint8_t mfrc522_set_rx_wait(mfrc522_handle_t *handle, uint8_t t)
set the rx wait
mfrc522_timer_gated_mode_t
mfrc522 timer gated mode enumeration definition
uint8_t mfrc522_get_mfout_input(mfrc522_handle_t *handle, mfrc522_mfout_input_t *input)
get the mfout input
uint8_t mfrc522_set_force_100_ask(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable force 100 ask
uint8_t mfrc522_get_rx_no_error(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the rx no error status
uint8_t mfrc522_get_status2(mfrc522_handle_t *handle, uint8_t *status)
get the status2
uint8_t mfrc522_get_error(mfrc522_handle_t *handle, uint8_t *err)
get the error
uint8_t mfrc522_flush_fifo(mfrc522_handle_t *handle)
flush the fifo
uint8_t mfrc522_get_fix_iq(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the fix iq status
uint8_t mfrc522_get_collision_position_not_valid(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the collision position not valid bit status
uint8_t mfrc522_set_interrupt1(mfrc522_handle_t *handle, mfrc522_interrupt1_t type, mfrc522_bool_t enable)
enable or disable the interrupt1
uint8_t mfrc522_set_rx_speed(mfrc522_handle_t *handle, mfrc522_speed_t speed)
set the rx speed
uint8_t mfrc522_set_parity_disable(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable parity disable
uint8_t mfrc522_set_crc_preset(mfrc522_handle_t *handle, mfrc522_crc_preset_t preset)
set the crc preset
uint8_t mfrc522_get_crc(mfrc522_handle_t *handle, uint16_t *crc)
get the crc
uint8_t mfrc522_get_tx_last_bits(mfrc522_handle_t *handle, uint8_t *bits)
get the tx last bits
uint8_t mfrc522_get_tx_input(mfrc522_handle_t *handle, mfrc522_tx_input_t *input)
get the tx input
uint8_t mfrc522_set_water_level(mfrc522_handle_t *handle, uint8_t level)
set the water level
uint8_t mfrc522_set_tx_last_bits(mfrc522_handle_t *handle, uint8_t bits)
set the tx last bits
uint8_t mfrc522_set_interrupt1_pin_invert(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable interrupt1 pin invert
uint8_t mfrc522_set_rx_align(mfrc522_handle_t *handle, mfrc522_rx_align_t align)
set the rx align
uint8_t mfrc522_set_antenna_driver(mfrc522_handle_t *handle, mfrc522_antenna_driver_t driver, mfrc522_bool_t enable)
enable or disable the antenna driver
uint8_t mfrc522_set_modgsp(mfrc522_handle_t *handle, uint8_t n)
set the modgsp
mfrc522_tx_input_t
mfrc522 tx input enumeration definition
uint8_t mfrc522_get_interrupt1_pin_invert(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the interrupt1 pin invert status
uint8_t mfrc522_get_rx_align(mfrc522_handle_t *handle, mfrc522_rx_align_t *align)
get the rx align
uint8_t mfrc522_get_rx_last_bits(mfrc522_handle_t *handle, uint8_t *bits)
get the rx last bits
mfrc522_channel_reception_t
mfrc522 channel reception enumeration definition
mfrc522_interrupt_pin_type_t
mfrc522 interrupt pin type enumeration definition
uint8_t mfrc522_info(mfrc522_info_t *info)
get chip information
uint8_t mfrc522_get_timer_reload(mfrc522_handle_t *handle, uint16_t *reload)
get the timer reload
uint8_t mfrc522_set_mfin_polarity(mfrc522_handle_t *handle, mfrc522_mfin_polarity_t polarity)
set the mfin polarity
uint8_t mfrc522_get_rx_multiple(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the rx multiple status
uint8_t mfrc522_start_timer(mfrc522_handle_t *handle)
start the timer
mfrc522_crc_preset_t
mfrc522 crc preset enumeration definition
uint8_t mfrc522_set_timer_auto_restart(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable timer auto restart
uint8_t mfrc522_set_clear_temperature_error(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable clear temperature error
uint8_t mfrc522_get_rx_gain(mfrc522_handle_t *handle, mfrc522_rx_gain_t *gain)
get the rx gain
uint8_t mfrc522_get_timer_auto_restart(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the timer auto restart status
uint8_t mfrc522_set_modulation_invert(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable the modulation invert
uint8_t mfrc522_set_interrupt2_mark(mfrc522_handle_t *handle, mfrc522_interrupt_mark_t mark)
set the interrupt2 mark
uint8_t mfrc522_set_modulation_width(mfrc522_handle_t *handle, uint8_t width)
set the modulation width
mfrc522_modem_state_t
mfrc522 modem state enumeration definition
uint8_t mfrc522_get_modgsn(mfrc522_handle_t *handle, uint8_t *n)
get the modgsn
uint8_t mfrc522_set_value_clear_after_coll(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable value clear after coll
mfrc522_contactless_uart_input_t
mfrc522 contactless uart input enumeration definition
uint8_t mfrc522_get_status1(mfrc522_handle_t *handle, uint8_t *status)
get the status1
mfrc522_rx_gain_t
mfrc522 rx gain enumeration definition
uint8_t mfrc522_set_fifo_data(mfrc522_handle_t *handle, uint8_t *data, uint8_t len)
set the fifo data
uint8_t mfrc522_get_collision_position(mfrc522_handle_t *handle, uint8_t *pos)
get the collision position
uint8_t mfrc522_get_tx_crc_generation(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the tx crc generation status
uint8_t mfrc522_set_tx_input(mfrc522_handle_t *handle, mfrc522_tx_input_t input)
set the tx input
uint8_t mfrc522_set_rx_crc_generation(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable the rx crc generation
uint8_t mfrc522_set_tx_wait(mfrc522_handle_t *handle, uint8_t t)
set the tx wait
uint8_t mfrc522_get_tx_speed(mfrc522_handle_t *handle, mfrc522_speed_t *speed)
get the tx speed
uint8_t mfrc522_get_interface(mfrc522_handle_t *handle, mfrc522_interface_t *interface)
get the chip interface
uint8_t mfrc522_set_cwgsn(mfrc522_handle_t *handle, uint8_t n)
set the cwgsn
uint8_t mfrc522_get_value_clear_after_coll(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the value clear after coll status
mfrc522_rx_align_t
mfrc522 rx align enumeration definition
uint8_t mfrc522_get_parity_disable(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the parity disable status
uint8_t mfrc522_get_addr_pin(mfrc522_handle_t *handle, uint8_t *addr_pin)
get the iic address pin
uint8_t mfrc522_set_cwgsp(mfrc522_handle_t *handle, uint8_t n)
set the cwgsp
uint8_t mfrc522_set_timer_gated_mode(mfrc522_handle_t *handle, mfrc522_timer_gated_mode_t mode)
set the timer gated mode
uint8_t mfrc522_set_tx_speed(mfrc522_handle_t *handle, mfrc522_speed_t speed)
set the tx speed
uint8_t mfrc522_get_interrupt1_status(mfrc522_handle_t *handle, uint8_t *status)
get the interrupt1 status
uint8_t mfrc522_get_min_level(mfrc522_handle_t *handle, uint8_t *level)
get the min level
uint8_t mfrc522_get_mfin_polarity(mfrc522_handle_t *handle, mfrc522_mfin_polarity_t *polarity)
get the mfin polarity
uint8_t mfrc522_get_rx_wait(mfrc522_handle_t *handle, uint8_t *t)
get the rx wait
uint8_t mfrc522_get_timer_gated_mode(mfrc522_handle_t *handle, mfrc522_timer_gated_mode_t *mode)
get the timer gated mode
uint8_t mfrc522_get_cwgsn(mfrc522_handle_t *handle, uint8_t *n)
get the cwgsn
uint8_t mfrc522_set_addr_pin(mfrc522_handle_t *handle, uint8_t addr_pin)
set the iic address pin
uint8_t mfrc522_get_crc_msb_first(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the crc msb first
uint8_t mfrc522_set_tx_crc_generation(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable tx crc generation
uint8_t mfrc522_set_rx_gain(mfrc522_handle_t *handle, mfrc522_rx_gain_t gain)
set the rx gain
uint8_t mfrc522_get_timer_prescaler(mfrc522_handle_t *handle, uint16_t *t)
get the timer prescaler
uint8_t mfrc522_set_timer_auto(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable timer auto
uint8_t mfrc522_set_timer_reload(mfrc522_handle_t *handle, uint16_t reload)
set the timer reload
uint8_t mfrc522_get_contactless_uart_input(mfrc522_handle_t *handle, mfrc522_contactless_uart_input_t *input)
get the contactless uart input
struct mfrc522_handle_s mfrc522_handle_t
mfrc522 handle structure definition
uint8_t mfrc522_get_interrupt_pin_type(mfrc522_handle_t *handle, mfrc522_interrupt_pin_type_t *type)
get the interrupt pin type
uint8_t mfrc522_get_channel_reception(mfrc522_handle_t *handle, mfrc522_channel_reception_t *reception)
get the channel reception
uint8_t mfrc522_get_modem_state(mfrc522_handle_t *handle, mfrc522_modem_state_t *state)
get the modem state
uint8_t mfrc522_get_cwgsp(mfrc522_handle_t *handle, uint8_t *n)
get the cwgsp
uint8_t mfrc522_set_tx_wait_rf(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable the rf tx wait
uint8_t mfrc522_get_fifo_data(mfrc522_handle_t *handle, uint8_t *data, uint8_t len)
get the fifo data
uint8_t mfrc522_get_interrupt1(mfrc522_handle_t *handle, mfrc522_interrupt1_t type, mfrc522_bool_t *enable)
get the interrupt1 status
uint8_t mfrc522_set_serial_speed(mfrc522_handle_t *handle, uint8_t t0, uint8_t t1)
set the serial speed
uint8_t mfrc522_get_antenna_driver(mfrc522_handle_t *handle, mfrc522_antenna_driver_t driver, mfrc522_bool_t *enable)
get the antenna driver status
uint8_t mfrc522_set_receiver_analog(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable the analog part of the receiver
uint8_t mfrc522_get_fifo_level(mfrc522_handle_t *handle, uint8_t *level)
get the fifo level
uint8_t mfrc522_set_crc_msb_first(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable the crc msb first
uint8_t mfrc522_set_rx_no_error(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable rx no error
uint8_t mfrc522_get_interrupt2_status(mfrc522_handle_t *handle, uint8_t *status)
get the interrupt2 status
uint8_t mfrc522_get_rx_crc_generation(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the rx crc generation status
uint8_t mfrc522_set_collision_level(mfrc522_handle_t *handle, uint8_t level)
set the collision level
uint8_t mfrc522_set_min_level(mfrc522_handle_t *handle, uint8_t level)
set the min level
uint8_t mfrc522_deinit(mfrc522_handle_t *handle)
close the chip
uint8_t mfrc522_set_modgsn(mfrc522_handle_t *handle, uint8_t n)
set the modgsn
uint8_t mfrc522_get_modgsp(mfrc522_handle_t *handle, uint8_t *n)
get the modgsp
uint8_t mfrc522_get_receiver_analog(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the analog part of the receiver status
uint8_t mfrc522_get_force_iic_high_speed(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the iic high speed status
uint8_t mfrc522_start_send(mfrc522_handle_t *handle)
start the transmission of data
uint8_t mfrc522_get_rx_speed(mfrc522_handle_t *handle, mfrc522_speed_t *speed)
get the rx speed
uint8_t mfrc522_set_interrupt1_mark(mfrc522_handle_t *handle, mfrc522_interrupt_mark_t mark)
set the interrupt1 mark
uint8_t mfrc522_set_timer_prescaler(mfrc522_handle_t *handle, uint16_t t)
set the timer prescaler
mfrc522_speed_t
mfrc522 speed enumeration definition
uint8_t mfrc522_set_timer_constant_reception(mfrc522_handle_t *handle, uint8_t t)
set the timer constant reception
uint8_t mfrc522_stop_send(mfrc522_handle_t *handle)
stop the transmission of data
mfrc522_mfin_polarity_t
mfrc522 mfin polarity enumeration definition
uint8_t mfrc522_get_power_down(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get power down status
uint8_t mfrc522_get_tx_wait(mfrc522_handle_t *handle, uint8_t *t)
get the tx wait
mfrc522_mfout_input_t
mfrc522 mfout input enumeration definition
uint8_t mfrc522_set_contactless_uart_input(mfrc522_handle_t *handle, mfrc522_contactless_uart_input_t input)
set the contactless uart input
struct mfrc522_info_s mfrc522_info_t
mfrc522 information structure definition
uint8_t mfrc522_get_timer_constant_reception(mfrc522_handle_t *handle, uint8_t *t)
get the timer constant reception
uint8_t mfrc522_set_timer_prescal_even(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable timer prescal even
uint8_t mfrc522_set_power_down(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable power down
uint8_t mfrc522_set_mfout_input(mfrc522_handle_t *handle, mfrc522_mfout_input_t input)
set the mfout input
@ MFRC522_INTERFACE_SPI
@ MFRC522_INTERFACE_UART
@ MFRC522_INTERFACE_IIC
@ MFRC522_TEST_ANALOG_CONTROL_SUBCARRIER_DETECTED
@ MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_I
@ MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_ADC_Q
@ MFRC522_TEST_ANALOG_CONTROL_LOW
@ MFRC522_TEST_ANALOG_CONTROL_DAC_TEST_SIGNAL_MIN_LEVEL
@ MFRC522_TEST_ANALOG_CONTROL_OUTPUT
@ MFRC522_TEST_ANALOG_CONTROL_HIGH
@ MFRC522_TEST_ANALOG_CONTROL_RX_ACTIVE
@ MFRC522_TEST_ANALOG_CONTROL_SIGNAL_FOR_PRODUCTION
@ MFRC522_TEST_ANALOG_CONTROL_TX_ACTIVE
@ MFRC522_TEST_ANALOG_CONTROL_TEST_SIGNAL_CORR1
@ MFRC522_TEST_ANALOG_CONTROL_3_STATE
@ MFRC522_TEST_ANALOG_CONTROL_DEFINED_BIT
@ MFRC522_BOOL_TRUE
@ MFRC522_BOOL_FALSE
@ MFRC522_TIMER_GATED_MODE_MFIN
@ MFRC522_TIMER_GATED_MODE_AUX1
@ MFRC522_TIMER_GATED_MODE_NONE
@ MFRC522_TX_INPUT_MFIN_PIN
@ MFRC522_TX_INPUT_3_STATE
@ MFRC522_TX_INPUT_CONTROL
@ MFRC522_TX_INPUT_INTERNAL_ENCODER
@ MFRC522_CHANNEL_RECEPTION_STRONGER
@ MFRC522_CHANNEL_RECEPTION_STRONGER_FREEZE_SELECTED
@ MFRC522_INTERRUPT_PIN_TYPE_OPEN_DRAIN
@ MFRC522_INTERRUPT_PIN_TYPE_STANDARD_CMOS
@ MFRC522_CRC_PRESET_A671
@ MFRC522_CRC_PRESET_0000
@ MFRC522_CRC_PRESET_6363
@ MFRC522_CRC_PRESET_FFFF
@ MFRC522_CONTACTLESS_UART_INTERNAL_ANALOG_MODULE
@ MFRC522_CONTACTLESS_UART_INPUT_CONSTANT_LOW
@ MFRC522_CONTACTLESS_UART_MFIN_PIN
@ MFRC522_CONTACTLESS_UART_NRZ
@ MFRC522_RX_GAIN_48_DB
@ MFRC522_RX_GAIN_33_DB
@ MFRC522_RX_GAIN_38_DB
@ MFRC522_RX_GAIN_43_DB
@ MFRC522_RX_GAIN_18_DB
@ MFRC522_RX_GAIN_23_DB
@ MFRC522_ANTENNA_DRIVER_TX2_RF
@ MFRC522_ANTENNA_DRIVER_INV_TX1_RF_OFF
@ MFRC522_ANTENNA_DRIVER_TX2_CW
@ MFRC522_ANTENNA_DRIVER_INV_TX2_RF_ON
@ MFRC522_ANTENNA_DRIVER_TX1_RF
@ MFRC522_ANTENNA_DRIVER_INV_TX2_RF_OFF
@ MFRC522_ANTENNA_DRIVER_INV_TX1_RF_ON
@ MFRC522_RX_ALIGN_7
@ MFRC522_RX_ALIGN_0
@ MFRC522_RX_ALIGN_1
@ MFRC522_INTERRUPT2_CRC
@ MFRC522_INTERRUPT2_MFIN_ACT
@ MFRC522_INTERRUPT1_LO_ALERT
@ MFRC522_INTERRUPT1_IDLE
@ MFRC522_INTERRUPT1_TX
@ MFRC522_INTERRUPT1_TIMER
@ MFRC522_INTERRUPT1_HI_ALERT
@ MFRC522_INTERRUPT1_RX
@ MFRC522_INTERRUPT1_ERR
@ MFRC522_SPEED_848_KBD
@ MFRC522_SPEED_424_KBD
@ MFRC522_SPEED_106_KBD
@ MFRC522_SPEED_212_KBD
@ MFRC522_MFIN_POLARITY_LOW
@ MFRC522_MFIN_POLARITY_HIGH
@ MFRC522_MFOUT_INPUT_TEST
@ MFRC522_MFOUT_INPUT_HIGH
@ MFRC522_MFOUT_INPUT_TRANSMITTED
@ MFRC522_MFOUT_INPUT_LOW
@ MFRC522_MFOUT_INPUT_3_STATE
@ MFRC522_MFOUT_INPUT_INTERNAL_ENCODER
@ MFRC522_MFOUT_INPUT_RECEIVED
@ MFRC522_INTERRUPT_MARK_SET
@ MFRC522_INTERRUPT_MARK_CLEARED
uint8_t mfrc522_set_test_port_io(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test port io
uint8_t mfrc522_set_test_bus_signal_1(mfrc522_handle_t *handle, uint8_t s)
set the test bus signal 1
uint8_t mfrc522_get_test_bus_signal_1(mfrc522_handle_t *handle, uint8_t *s)
get the test bus signal 1
uint8_t mfrc522_set_test_dac_2(mfrc522_handle_t *handle, uint8_t dac)
set the test dac 2
uint8_t mfrc522_set_test_prbs15(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test prbs15
uint8_t mfrc522_get_test_prbs9(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test prbs9 status
uint8_t mfrc522_get_test_dac_2(mfrc522_handle_t *handle, uint8_t *dac)
get the test dac 2
uint8_t mfrc522_get_self_test(mfrc522_handle_t *handle, uint8_t *test)
get the self test
uint8_t mfrc522_get_test_pin_enable(mfrc522_handle_t *handle, uint8_t *pin)
get the test pin enable
uint8_t mfrc522_get_test_adc(mfrc522_handle_t *handle, uint8_t *adc_i, uint8_t *adc_q)
get the test adc
uint8_t mfrc522_get_test_port_io(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test port io status
uint8_t mfrc522_get_test_analog_control_aux_1(mfrc522_handle_t *handle, mfrc522_test_analog_control_t *control)
get the test analog control aux 1
uint8_t mfrc522_set_test_bus_signal_2(mfrc522_handle_t *handle, uint8_t s)
set the test bus signal 2
uint8_t mfrc522_set_test_analog_control_aux_2(mfrc522_handle_t *handle, mfrc522_test_analog_control_t control)
set the test analog control aux 2
uint8_t mfrc522_get_test_pin_value(mfrc522_handle_t *handle, uint8_t *value)
get the test pin value
uint8_t mfrc522_get_test_analog_control_aux_2(mfrc522_handle_t *handle, mfrc522_test_analog_control_t *control)
get the test analog control aux 2
uint8_t mfrc522_set_test_analog_control_aux_1(mfrc522_handle_t *handle, mfrc522_test_analog_control_t control)
set the test analog control aux 1
uint8_t mfrc522_get_test_amp_rcv(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test amp rcv status
uint8_t mfrc522_get_test_bus(mfrc522_handle_t *handle, uint8_t *bus)
get the test bus
uint8_t mfrc522_get_test_prbs15(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test prbs15 status
uint8_t mfrc522_set_test_amp_rcv(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test amp rcv
uint8_t mfrc522_get_test_bus_flip(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test bus flip status
uint8_t mfrc522_set_self_test(mfrc522_handle_t *handle, uint8_t test)
set the self test
uint8_t mfrc522_get_version(mfrc522_handle_t *handle, uint8_t *id, uint8_t *version)
get the version
uint8_t mfrc522_get_test_dac_1(mfrc522_handle_t *handle, uint8_t *dac)
get the test dac 1
uint8_t mfrc522_set_test_prbs9(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test prbs9
uint8_t mfrc522_set_test_pin_enable(mfrc522_handle_t *handle, uint8_t pin)
set the test pin enable
uint8_t mfrc522_get_test_bus_signal_2(mfrc522_handle_t *handle, uint8_t *s)
get the test bus signal 2
uint8_t mfrc522_set_test_dac_1(mfrc522_handle_t *handle, uint8_t dac)
set the test dac 1
uint8_t mfrc522_set_test_rs232_line(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test rs232 line
uint8_t mfrc522_set_test_pin_value(mfrc522_handle_t *handle, uint8_t value)
set the test pin value
uint8_t mfrc522_set_test_bus_flip(mfrc522_handle_t *handle, mfrc522_bool_t enable)
enable or disable test bus flip
uint8_t mfrc522_get_test_rs232_line(mfrc522_handle_t *handle, mfrc522_bool_t *enable)
get the test rs232 line status
uint8_t mfrc522_interface_uart_deinit(void)
interface uart deinit
void mfrc522_interface_receive_callback(uint16_t type)
interface receive callback
uint8_t mfrc522_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t mfrc522_interface_reset_gpio_deinit(void)
interface reset gpio deinit
uint8_t mfrc522_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t mfrc522_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
void mfrc522_interface_delay_ms(uint32_t ms)
interface delay ms
uint16_t mfrc522_interface_uart_read(uint8_t *buf, uint16_t len)
interface uart read
uint8_t mfrc522_interface_reset_gpio_init(void)
interface reset gpio init
uint8_t mfrc522_interface_spi_deinit(void)
interface spi bus deinit
uint8_t mfrc522_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t mfrc522_interface_spi_init(void)
interface spi bus init
uint8_t mfrc522_interface_uart_flush(void)
interface uart flush
uint8_t mfrc522_interface_reset_gpio_write(uint8_t value)
interface reset gpio write
uint8_t mfrc522_interface_iic_deinit(void)
interface iic bus deinit
uint8_t mfrc522_interface_iic_init(void)
interface iic bus init
void mfrc522_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t mfrc522_interface_uart_init(void)
interface uart init
uint8_t mfrc522_interface_uart_write(uint8_t *buf, uint16_t len)
interface uart write
uint8_t mfrc522_register_test(mfrc522_interface_t interface, uint8_t addr)
register test
uint32_t driver_version
char manufacturer_name[32]