PN532 NFC library for Seeed Studio's NFC Shield

Fork of PN532 by Yihui Xiong

Committer:
yihui
Date:
Tue Oct 08 08:33:22 2013 +0000
Revision:
0:9c6b9280c0e1
Child:
1:b8cab5222fd0
initial, ported from https://github.com/Seeed-Studio/PN532

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 0:9c6b9280c0e1 1
yihui 0:9c6b9280c0e1 2 #ifndef __PN532_SPI_H__
yihui 0:9c6b9280c0e1 3 #define __PN532_SPI_H__
yihui 0:9c6b9280c0e1 4
yihui 0:9c6b9280c0e1 5 #include "mbed.h"
yihui 0:9c6b9280c0e1 6 #include "PN532Interface.h"
yihui 0:9c6b9280c0e1 7
yihui 0:9c6b9280c0e1 8 class PN532_SPI : public PN532Interface {
yihui 0:9c6b9280c0e1 9 public:
yihui 0:9c6b9280c0e1 10 PN532_SPI(SPI &spi, PinName ss);
yihui 0:9c6b9280c0e1 11 PN532_SPI(SPI *spi, PinName ss);
yihui 0:9c6b9280c0e1 12
yihui 0:9c6b9280c0e1 13 virtual void begin();
yihui 0:9c6b9280c0e1 14 virtual void wakeup();
yihui 0:9c6b9280c0e1 15 virtual int8_t writeCommand(const uint8_t buf[], uint8_t len);
yihui 0:9c6b9280c0e1 16 virtual int16_t readResponse(uint8_t buf[], uint8_t len, uint16_t timeout);
yihui 0:9c6b9280c0e1 17
yihui 0:9c6b9280c0e1 18 private:
yihui 0:9c6b9280c0e1 19 SPI* _spi;
yihui 0:9c6b9280c0e1 20 DigitalOut _ss;
yihui 0:9c6b9280c0e1 21 uint8_t command;
yihui 0:9c6b9280c0e1 22
yihui 0:9c6b9280c0e1 23 bool isReady();
yihui 0:9c6b9280c0e1 24 void writeFrame(const uint8_t buf[], uint8_t len);
yihui 0:9c6b9280c0e1 25 int8_t readAckFrame();
yihui 0:9c6b9280c0e1 26
yihui 0:9c6b9280c0e1 27 inline void write(uint8_t data) { REVERSE_BITS_ORDER(data); _spi->write(data); }
yihui 0:9c6b9280c0e1 28 inline uint8_t read() { uint8_t data = _spi->write(0); REVERSE_BITS_ORDER(data); return data; }
yihui 0:9c6b9280c0e1 29 };
yihui 0:9c6b9280c0e1 30
yihui 0:9c6b9280c0e1 31 #endif