Simple NFC test projekt
Dependencies: AppNearMe_MuNFC_PN532 mbed-rtos mbed
Fork of AppNearMe_MuNFC_PN532_Test by
Diff: main.cpp
- Revision:
- 3:e35b0e15e6b3
- Parent:
- 2:e433bf524c24
- Child:
- 4:5ceb737b006b
--- 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); + }*/ } }