Jose Marquez
/
mbed-os-wiegand-example
Example of the usage of the mbed-os-wiegand library.
Diff: main.cpp
- 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(); +}