CR95F X-Nucleo NFC03A1 Shield STM
Dependents: Nucleo_NFC03A1_Demo
Diff: CR95HF.cpp
- 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