From 0d7f74ce18aa6cd2efe87a91c4238cdc94d56a40 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ji=C5=99=C3=AD=20Mat=C4=9Bj=C3=A1k?= Date: Mon, 23 Apr 2018 17:57:20 +0200 Subject: [PATCH] doc --- Makefile | 7 ++++--- mt_rfid.c | 17 +++-------------- mt_rfid.h | 41 ++++++++++++++++++++++++++++++++++++----- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 34bece4..1c44f7e 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +SOURCE_FILES = mt_rfid.c OUTPUT_FILE = mt-rfid ifeq ($(OS),Windows_NT) @@ -8,10 +9,10 @@ else UFR_LIB = -luFCoder-armhf endif -all: mt_rfid.c mt_rfid.h - $(CC) $(CFLAGS) -o $(OUTPUT_FILE) mt_rfid.c $(UFR_LIB) +all: $(SOURCE_FILES) + $(CC) $(CFLAGS) -o $(OUTPUT_FILE) $(SOURCE_FILES) $(UFR_LIB) .PHONY: clean clean: - rm $(OUTPUT_FILE) + rm -f $(OUTPUT_FILE) diff --git a/mt_rfid.c b/mt_rfid.c index 328350c..3d4ab3b 100644 --- a/mt_rfid.c +++ b/mt_rfid.c @@ -1,11 +1,6 @@ -/* - ============================================================================ - Name : main.c - Author : Digital Logic - Version : 1.0 - Copyright : - Description : Very simple test of uFR library - ============================================================================ +/** + * mt_rfid.c + * poll the uFR reader and print JSON formatted card info to stdout. */ #include @@ -17,12 +12,6 @@ #include "mt_rfid.h" #include "uFCoder.h" -#define READER_TYPE 1 //uFR type (1Mbps) -#ifndef PORT_NAME -#define PORT_NAME "/dev/ttyUSB0" //"" for auto -#endif -#define PORT_INTERFACE 1 //Serial - // really simple JSON helpers #define JSON_NUM(NAME) printf("\"" #NAME "\": %d", NAME) #define JSON_STR(NAME) printf("\"" #NAME "\": \"%s\"", NAME) diff --git a/mt_rfid.h b/mt_rfid.h index c325a07..60c4515 100644 --- a/mt_rfid.h +++ b/mt_rfid.h @@ -1,14 +1,45 @@ +/** + * mt_rfid.h + * Start your own mt-rfid pthread. + */ + #ifndef MT_RFID_H #define MT_RFID_H +// setup structure +// it might tempt you to run multiple instances with one reader, don't. +// running each instance with its own reader (port name) should fine. typedef struct { - unsigned reader_type; - char *port_name; - unsigned port_interface; - unsigned beep; - unsigned run; + unsigned reader_type; // 0: auto, 1: 1Mbps, 2,3: slooow + char *port_name; // "COM9", "/dev/ttyUSB0", "" for auto selection + unsigned port_interface; // 0: auto, 1: serial, 2: ftdi + unsigned beep; // beep when a card is beeing read + unsigned run; // polling condition } mt_rfid_t; +// macros for convenience +#define READER_TYPE 1 // uFR type (1Mbps) +#define PORT_INTERFACE 1 // serial +#ifndef PORT_NAME +#define PORT_NAME "/dev/ttyUSB0" +#endif + +// poll the uFR reader and print JSON formatted card info to stdout. +// run it directly or using pthreads. void *mt_rfid_run(void *ptr); +//example +/* + +pthread_t t; +mt_rfid_t ufr = {READER_TYPE, PORT_NAME, PORT_INTERFACE, 0, 1}; + +if (!pthread_create(&t, NULL, mt_rfid_run, (void *)&ufr)) { + getchar(); + ufr.run = 0; + pthread_join(t, NULL); +} + +*/ + #endif -- 2.39.2