Fingerprint Scanner API using GT511C3 fingerprint scanner.

Dependencies:   4DGL-uLCD-SE GT511C3 SDFileSystem mbed

Fork of GT511C3test by Toshihisa T

The fingerprint scanner is designed to take attendance over a group of students. It requires a the group owner to store a preloaded list of student id numbers in a .txt file to the memory (SD card) in return of a 5 digits keypass to gain access to the database when taking attendance.

While there may exist multiple group owner and a group owner with multiple databases, each group will be uniquely identified by the 5 digits keypass. The program limits each scanner to open ONE session at a time where only one group will be able to take attendance during its session. Once a session is closed, a report of the attendance taken during the open session is generated and sent via ethernet to owner and there is no way to reopen the session again.

For the initial setup, each fingerprint database needs to be populated by the students. This set up can be done continuously during a session while taking attendance that session.

Revision:
8:a1ba925cf903
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpr121.h	Tue Dec 01 19:10:10 2015 +0000
@@ -0,0 +1,58 @@
+/*
+    MPR121.h
+    April 8, 2010
+    by: Jim Lindblom
+*/
+
+// MPR121 Register Defines
+#define MHD_R   0x2B
+#define NHD_R   0x2C
+#define NCL_R   0x2D
+#define FDL_R   0x2E
+#define MHD_F   0x2F
+#define NHD_F   0x30
+#define NCL_F   0x31
+#define FDL_F   0x32
+#define ELE0_T  0x41
+#define ELE0_R  0x42
+#define ELE1_T  0x43
+#define ELE1_R  0x44
+#define ELE2_T  0x45
+#define ELE2_R  0x46
+#define ELE3_T  0x47
+#define ELE3_R  0x48
+#define ELE4_T  0x49
+#define ELE4_R  0x4A
+#define ELE5_T  0x4B
+#define ELE5_R  0x4C
+#define ELE6_T  0x4D
+#define ELE6_R  0x4E
+#define ELE7_T  0x4F
+#define ELE7_R  0x50
+#define ELE8_T  0x51
+#define ELE8_R  0x52
+#define ELE9_T  0x53
+#define ELE9_R  0x54
+#define ELE10_T 0x55
+#define ELE10_R 0x56
+#define ELE11_T 0x57
+#define ELE11_R 0x58
+#define FIL_CFG 0x5D
+#define ELE_CFG 0x5E
+#define GPIO_CTRL0  0x73
+#define GPIO_CTRL1  0x74
+#define GPIO_DATA   0x75
+#define GPIO_DIR    0x76
+#define GPIO_EN     0x77
+#define GPIO_SET    0x78
+#define GPIO_CLEAR  0x79
+#define GPIO_TOGGLE 0x7A
+#define ATO_CFG0    0x7B
+#define ATO_CFGU    0x7D
+#define ATO_CFGL    0x7E
+#define ATO_CFGT    0x7F
+
+
+// Global Constants
+#define TOU_THRESH  0x0F
+#define REL_THRESH  0x0A
\ No newline at end of file