#include "uFCoder.h"
-#define READER_TYPE 1 //uFR type (1Mbps)
-#define PORT_NAME "/dev/ttyUSB0" //"NULL" for all
-#define PORT_INTERFACE 1 //Serial
+#define READER_TYPE 1 //uFR type (1Mbps)
+#define PORT_NAME "/dev/ttyUSB0" //"" to check all
+#define PORT_INTERFACE 1 //Serial
int main(void)
{
- UFR_STATUS status;
-
- puts("Test ReaderOpen version 1.0\n");
- //--------------------------------------------------------------
- printf("* uFCoder library version: %s\n\n", GetDllVersionStr());
- //--------------------------------------------------------------
-
- puts("Test opening Digital Logic shield uFR RS232 on RPi:");
- status = ReaderOpenEx(READER_TYPE, PORT_NAME, PORT_INTERFACE, 0);
- printf("ReaderOpen():> %s\n", UFR_Status2String(status));
-
- status = ReaderUISignal(3, 3);
- printf("ReaderUISignal(3, 3):> %s\n", UFR_Status2String(status));
-
- puts(GetReaderDescription());
-
- status = ReaderClose();
- printf("ReaderClose():> %s\n", UFR_Status2String(status));
-
- puts(".");
-
- return EXIT_SUCCESS;
+ UFR_STATUS status;
+
+ printf("uFCoder library version: %s\n", GetDllVersionStr());
+
+ status = ReaderOpenEx(READER_TYPE, PORT_NAME, PORT_INTERFACE, 0);
+ printf("ReaderOpenEx: %s\n", UFR_Status2String(status));
+
+ //status = ReaderUISignal(0, 0);
+ //printf("ReaderUISignal: %s\n", UFR_Status2String(status));
+
+ puts(GetReaderDescription());
+
+ uint8_t lpucCardType;
+ status = GetDlogicCardType(&lpucCardType);
+ printf("GetDlogicCardType: %s\n", UFR_Status2String(status));
+ if (status != UFR_OK) {
+ return status;
+ }
+ printf("card type: %x\n", lpucCardType);
+
+ uint8_t lpucSak;
+ uint8_t aucUid[10];
+ uint8_t lpucUidSize;
+ status = GetCardIdEx(&lpucSak, aucUid, &lpucUidSize);
+ printf("GetCardIdEx: %s\n", UFR_Status2String(status));
+ if (status != UFR_OK) {
+ return status;
+ }
+ printf("lpucSak: %d, lpucUidSize: %d, aucUid: ", lpucSak, lpucUidSize);
+ for (uint8_t i = 0; i < lpucUidSize; i++) {
+ printf("%x", aucUid[i]);
+ }
+ printf("\n");
+
+ status = ReaderClose();
+ printf("ReaderClose: %s\n", UFR_Status2String(status));
+
+ return status;
}
-