Example of the usage of the mbed-os-wiegand library.

Dependencies:   mbed-os-wiegand

Revision:
0:bf6b79d0e255
Child:
1:26991d042db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Apr 28 00:03:56 2019 +0000
@@ -0,0 +1,35 @@
+#include "mbed.h"
+#include "wiegand.h"
+
+RawSerial serial(USBTX, USBRX);
+Thread wiegandThread;
+EventQueue*  wiegandQueue = new EventQueue (64 * EVENTS_EVENT_SIZE);
+
+void onTag(void);
+
+Wiegand wiegandReader(PE_13, PF_15, wiegandQueue, &onTag, 32);
+
+int main(){
+    serial.printf("\r\n******************* Wiegand reader example *******************\r\n");
+    wiegandThread.start(callback( wiegandQueue, &EventQueue::dispatch_forever));
+}
+
+void onTag(void){
+    long double rawInt = wiegandReader.getRawInt();
+    serial.printf("Integer:             %.0Lf\r\n",rawInt);
+
+    unsigned char decDigits = wiegandReader.getDecDigits();
+    volatile char* decimalString = new volatile char [decDigits+1];
+    memset((char*)decimalString,'\0',decDigits+1);
+    wiegandReader.getDecString(decimalString);
+    serial.printf("Decimal String:      %s\r\n",decimalString);
+    delete[] decimalString;
+
+    unsigned char hexDigits = wiegandReader.getHexDigits();
+    volatile char* hexadecimalString = new volatile char [hexDigits+1];
+    memset((char*)hexadecimalString,'\0',hexDigits+1);
+    wiegandReader.getHexString(hexadecimalString);
+    serial.printf("Hexadecimal String:  %s\r\n\n",hexadecimalString);
+    delete[] hexadecimalString;
+    wiegandReader.reset();
+}