Coordinator v2

Dependencies:   NerfUSXbee PinDetect EthernetInterface JSON MFRC522 WebSocketClient mbed-rtos mbed

Revision:
2:019d8848cf7e
Child:
3:501120a68c11
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/includes/Rfid.hpp	Tue Apr 11 12:40:05 2017 -0400
@@ -0,0 +1,40 @@
+#include "ports.hpp"
+#include "MFRC522.h"
+#include "serverEvents.hpp"
+
+class Rfid 
+{
+    public:
+        Thread rfid_thread;
+
+        Rfid(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName reset) : RfChip(mosi, miso, sclk, cs, reset)
+        {
+            RfChip.PCD_Init();
+            rfid_thread = Thread(osPriorityNormal, 850);
+            rfid_thread.start(this, &Rfid::read_rfid);
+        }
+
+        void read_rfid()
+        {
+            ServerEvent event;
+            strcpy(event.event, "gun");
+            while(1)
+            {
+                if (RfChip.PICC_IsNewCardPresent() && RfChip.PICC_ReadCardSerial())
+                {                   
+                    for (uint8_t i = 0; i < RfChip.uid.size; i++)
+                    {
+                        itoa(RfChip.uid.uidByte[i], &(event.data.rfid_code[i]), 10);
+                    }
+                    event.data.rfid_code[RfChip.uid.size] = '\0';
+                    //toPc("RFID received, sending event name: %s, size: %i", event.event, RfChip.uid.size);
+                    websocket_message_send(event);
+                }
+                Thread::wait(500);
+            }
+        }
+
+    private:
+        MFRC522 RfChip;
+        
+};
\ No newline at end of file