Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: AppNearMe_MuNFC_PN532 mbed-rtos mbed
main.cpp
00001 #include "mbed.h" 00002 00003 #include "MuNFC.h" 00004 00005 DigitalOut led_alive(LED1); 00006 DigitalOut led_progress(LED2); 00007 DigitalOut led_ok(LED3); 00008 DigitalOut led_failed(LED4); 00009 00010 PwmOut red(p26); 00011 PwmOut green(p24); 00012 PwmOut blue(p25); 00013 00014 MuNFC nfc("00000001aZSe2vF5", 1, p11, p12, p13, p19, p18); 00015 00016 #define DEFAULT_PACKET 1 00017 00018 uint8_t r; 00019 uint8_t g; 00020 uint8_t b; 00021 00022 //Encode callback 00023 void encode_cb(TLVList* tlv, void *) 00024 { 00025 tlv->putUInt8( DEFAULT_PACKET); //First uint8_t is packet type 00026 tlv->putUInt8(r); 00027 tlv->putUInt8(g); 00028 tlv->putUInt8(b); 00029 } 00030 00031 //Decode callback 00032 void decode_cb(TLVList* tlv, void *) 00033 { 00034 if(tlv->getNext() != UINT8) 00035 { 00036 return; 00037 } 00038 if(tlv->getUInt8() == DEFAULT_PACKET) //First uint8_t is packet type 00039 { 00040 if(tlv->getNext() != UINT8) 00041 { 00042 return; 00043 } 00044 r=tlv->getUInt8(); 00045 if(tlv->getNext() != UINT8) 00046 { 00047 return; 00048 } 00049 g=tlv->getUInt8(); 00050 if(tlv->getNext() != UINT8) 00051 { 00052 return; 00053 } 00054 b=tlv->getUInt8(); 00055 } 00056 ///////////////////////// 00057 //SET RGB LEDS PWM HERE// 00058 ///////////////////////// 00059 red = pow((float)r, 2.0f) / (255.0*255.0); 00060 green = pow((float)g, 2.0f) / (255.0*255.0); 00061 blue = pow((float)b, 2.0f) / (255.0*255.0); 00062 00063 } 00064 00065 //NFC event 00066 void event_cb(NFCEvent event, void*) 00067 { 00068 switch(event) 00069 { 00070 case NFC_TRANSACTION_STARTED: 00071 led_progress=1; 00072 led_ok=0; 00073 led_failed=0; 00074 break; 00075 case NFC_TRANSACTION_SUCCESSFUL: 00076 led_progress=0; 00077 led_ok=1; 00078 led_failed=0; 00079 break; 00080 case NFC_TRANSACTION_FAILED: 00081 led_progress=0; 00082 led_ok=0; 00083 led_failed=1; 00084 break; 00085 } 00086 } 00087 00088 int main() { 00089 r=g=b=0; 00090 00091 nfc.encode(encode_cb, NULL); 00092 nfc.decode(decode_cb, NULL); 00093 nfc.event(event_cb, NULL); 00094 00095 printf("Hello"); 00096 00097 bool ret = nfc.init(); 00098 if(ret) 00099 { 00100 printf("AppNearMe/MuNFC stack initialized\n"); 00101 00102 } 00103 else 00104 { 00105 printf("Could not initialize stack\n"); 00106 } 00107 00108 nfc.run(); 00109 00110 while(1) { 00111 led_alive = 1; 00112 wait(0.2); 00113 led_alive = 0; 00114 wait(0.2); 00115 } 00116 }
Generated on Sat Jul 16 2022 11:44:54 by
1.7.2