CR95F X-Nucleo NFC03A1 Shield STM

Dependents:   Nucleo_NFC03A1_Demo

Revision:
1:549e63ac990c
Parent:
0:57769c77d24e
Child:
2:c7006765c441
diff -r 57769c77d24e -r 549e63ac990c CR95HF.cpp
--- a/CR95HF.cpp	Fri Aug 24 13:12:48 2018 +0000
+++ b/CR95HF.cpp	Thu Aug 30 11:43:43 2018 +0000
@@ -2,70 +2,66 @@
 #include "main.h"
 
 DigitalOut InterfacePin(D9);
-DigitalOut myLed4(D4);
 
-CR95HF::CR95HF(PinName tx, PinName rx) : serial(tx,rx) 
+DigitalOut led1(D7);
+DigitalOut led2(D6);
+DigitalOut led3(D5);
+DigitalOut led4(D4);
+
+CR95HF::CR95HF(PinName tx, PinName rx) : nfcDevice(tx,rx) 
 {
-    /* Set Uart on Interface Pin */
     InterfacePin = false;
 }
 
 CR95HF::~CR95HF() {};
         
-uint8_t CR95HF::CR95HF_Init()
+uint8_t CR95HF::Init()
 {   
-    char commandInfo[] = {0x01, 0x00};
-    char commandSetProtocoll[] = {0x02, 0x01, 0x02, 0x00};
-
-    
-    uint8_t position;
+    uint8_t commandInfo[] = {0x01, 0x00};
+    uint8_t commandSetProtocoll[] = {0x02, 0x01, 0x02, 0x00};
     
     printf("CR95HF_Init\r\n");
     
-    serial.baud(57600);
+    nfcDevice.baud(57600);
 
-    serial.attach(this, &CR95HF::readLineCallback);
+    nfcDevice.attach(this, &CR95HF::rxCallbackNFC);
 
-    wait_ms(500);
-    for(position=0;position<2;position++)
-    {
-        wait_us(10);
-        serial.putc(commandInfo[position]);
-    }
-
-    wait_ms(500);
-    for(position=0;position<4;position++)
-    {
-        wait_us(10);
-        serial.putc(commandSetProtocoll[position]);
-    }
+    wait(1);
+    nfcWrite(commandInfo, 2);
+    wait(1);
+    nfcWrite(commandSetProtocoll, 4);
     
 
 
     return(0);       
 }
 
-uint8_t CR95HF::CR95HF_ConfigManagerTagHunting()
+uint8_t CR95HF::ConfigManagerTagHunting()
 {
     uint8_t returnValue = false;
-    uint8_t position;
 
-    char detectCard[] = {0x00, 0x04, 0x02, 0x26, 0x07};
+    uint8_t detectCard[] = {0x00, 0x04, 0x02, 0x26, 0x07};
     
-    wait_ms(500);
-    for(position=0;position<5;position++)
-    {
-        wait_us(10);
-        serial.putc(detectCard[position]);
-    }
+    nfcWrite(detectCard, 5);
     
     return(returnValue);
 }
 
 /** private functions */
 
-void CR95HF::readLineCallback()
+void CR95HF::nfcWrite(uint8_t cmd[], uint8_t len)
 {
-    myLed4 = !myLed4;
-    printf("%u", serial.getc());
+  for(int pos=0; pos<len;pos++)
+  {
+    nfcDevice.putc(cmd[pos]);
+  }
+}
+
+void CR95HF::rxCallbackNFC()
+{
+  uint8_t chr;
+  while(nfcDevice.readable()) {
+    printf("%c", nfcDevice.getc());
+    led3 = !led3;
+  }
 }
\ No newline at end of file