Simple NFC test projekt
Dependencies: AppNearMe_MuNFC_PN532 mbed-rtos mbed
Fork of AppNearMe_MuNFC_PN532_Test by
Revision 3:e35b0e15e6b3, committed 2012-11-22
- Comitter:
- thomasjanke
- Date:
- Thu Nov 22 13:56:12 2012 +0000
- Parent:
- 2:e433bf524c24
- Child:
- 4:5ceb737b006b
- Commit message:
- First fully integrated NFC payment.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Nov 08 13:57:40 2012 +0000
+++ b/main.cpp Thu Nov 22 13:56:12 2012 +0000
@@ -1,6 +1,6 @@
#include "mbed.h"
#include "rtos/rtos.h"
-
+#include <string>
#include "MuNFC.h"
DigitalOut led_alive(LED1);
@@ -10,11 +10,14 @@
Semaphore s(1);
MuNFC nfc("00000003RdfgT390", 1, p11, p12, p13, p19, p18);
+Serial arduino(p9, p10); // tx, rx
#define DEFAULT_PACKET 1
-char inputText[24];
-
+char messageFromNFC[24];
+char c;
+string messageFromArduino;
+string messageToNFC;
//Encode callback
void encode_cb(TLVList* tlv, void *)
@@ -22,7 +25,7 @@
static uint32_t counter = 0;
counter++;
tlv->putUInt8( DEFAULT_PACKET ); //First uint8_t is packet type
- tlv->putString("mBed says hello to android app");
+ tlv->putString((char*)messageToNFC.c_str());
tlv->putUInt32( counter );
}
@@ -39,7 +42,7 @@
{
return;
}
- tlv->getString(inputText, 23);
+ tlv->getString(messageFromNFC, 23);
}
s.release();
}
@@ -63,7 +66,7 @@
led_progress=0;
led_ok=0;
led_failed=1;
- break;
+ break;
}
}
@@ -76,7 +79,7 @@
bool ret = nfc.init();
if(ret)
{
- printf("\nAppNearMe/MuNFC stack initialized\n");
+ printf("MuNFC stack initialized\n");
}
else
@@ -84,13 +87,42 @@
printf("Could not initialize stack\n");
}
+ messageFromNFC[0] = '\0';
+ messageToNFC = "cancel";
+
nfc.run(); //Start thread
+
+
while(1) {
led_alive = !led_alive;
+
+
+ // read messages from arduino
+ while(arduino.readable()){
+
+ c = arduino.getc();
+ if (c != '\n'){
+ messageFromArduino += c;
+ } else {
+ if (messageFromArduino.length() > 1){
+
+ messageToNFC = messageFromArduino;
+ printf("Set message to: %s\n",messageToNFC);
+ }
+ messageFromArduino = "";
+ }
+ }
+
+ if (messageFromNFC[0] != '\0'){
+ arduino.printf("%s\n",messageFromNFC);
+ messageFromNFC[0] = '\0';
+ }
+
+ /*
if(s.wait(200) > 0)
{
- printf("Got: %s\n",inputText);
- }
+ printf("Got: %s\n",messageFromNFC);
+ }*/
}
}
