]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blobdiff - mt_rfid.h
Store offline data in an array rather than in a hash
[coffee/mt-apps.git] / mt_rfid.h
index 2c98dd709f37c267b67297cef345fb1ac48c2cbe..01acb9b7bcb2586e917b6a2a22de2b3a9be71fb4 100644 (file)
--- a/mt_rfid.h
+++ b/mt_rfid.h
@@ -1,36 +1,39 @@
-/**
- * mt_rfid.h
- */
-
 #ifndef MT_RFID_H
 #define MT_RFID_H
 
 #include <ev.h>
-
-// reader open parameters, see uFR manual
-#define READER_TYPE    1 // uFR type (1Mbps)
-#define PORT_INTERFACE 1 // serial, auto -> ftdi -> FAIL (some shity drivers missing)
-#define PORT_NAME "/dev/ttyUSB0"
-
-// async uid sending parameters
-#define ASYNC_SUFFIX            0 // keep it zero: + separates uids, + terminates strings
-#define ASYNC_BAUD_RATE   1000000 // 1Mbps, otherwise UFR_COMMUNICATION_BREAK
-
-//#define UFR_BEEP // define this to annoy people
+#include <stdint.h>
 
 typedef struct ev_io_ufr {
-    ev_io w;
-    char uid_data[24]; // this is enough (10 bytes max)
-    char *uid;
-    int fd;
+    ev_io w;           // fd watcher
+    char uid_data[24]; // store uid here (uid is 10 bytes max)
+    char *uid;         // current position in uid_data
+    int fd;            // PORT_NAME file descriptor
 } ev_io_ufr;
 
 typedef struct mt_rfid_t {
-    ev_io_ufr w;
-    int fd;
+    ev_io_ufr w; // reader watcher
+    int fd;      // print JSON output here
 } mt_rfid_t;
 
+// reader open parameters, see uFR manual
+#define UFR_READER_TYPE     1       // uFR type (1Mbps)
+#define UFR_PORT_INTERFACE  1       // serial; auto->ftdi->FAIL
+#define UFR_PORT_NAME       "/dev/ttyUSB0" // reader device
+#define UFR_ASYNC_BAUD_RATE 1000000 // 1Mbps, otherwise UFR_COMMUNICATION_BREAK
+
+#define UFR_BEEP // define this to annoy people
+
+// connect to the reader, add self to loop and make it write to fd
+// return 0 on success, negative number otherwise
 int mt_rfid_init(mt_rfid_t *self, struct ev_loop *loop, int fd);
+
+// disconnect from reader
 void mt_rfid_deinit(mt_rfid_t *self);
 
+#else
+
+#define mt_rfid_init(self, loop, fd) 0
+#define mt_rfid_deinit(self) 0
+
 #endif