LEER TAG
Dependents: NFC_HTM_READ EMULAR_TAGS Escribir_tag NFC_HTM_READ-WRITE
PN532Interface.h@1:a549ef8b142a, 2015-04-24 (annotated)
- Committer:
- mauroar211
- Date:
- Fri Apr 24 19:02:44 2015 +0000
- Revision:
- 1:a549ef8b142a
- Parent:
- 0:b805b487fbef
SE RESTAURARON LOS ARCHIVO DE LA LIBRER?A;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mauroar211 | 0:b805b487fbef | 1 | |
mauroar211 | 0:b805b487fbef | 2 | |
mauroar211 | 0:b805b487fbef | 3 | #ifndef __PN532_INTERFACE_H__ |
mauroar211 | 0:b805b487fbef | 4 | #define __PN532_INTERFACE_H__ |
mauroar211 | 0:b805b487fbef | 5 | |
mauroar211 | 0:b805b487fbef | 6 | #include <stdint.h> |
mauroar211 | 0:b805b487fbef | 7 | |
mauroar211 | 0:b805b487fbef | 8 | #define PN532_PREAMBLE (0x00) |
mauroar211 | 0:b805b487fbef | 9 | #define PN532_STARTCODE1 (0x00) |
mauroar211 | 0:b805b487fbef | 10 | #define PN532_STARTCODE2 (0xFF) |
mauroar211 | 0:b805b487fbef | 11 | #define PN532_POSTAMBLE (0x00) |
mauroar211 | 0:b805b487fbef | 12 | |
mauroar211 | 0:b805b487fbef | 13 | #define PN532_HOSTTOPN532 (0xD4) |
mauroar211 | 0:b805b487fbef | 14 | #define PN532_PN532TOHOST (0xD5) |
mauroar211 | 0:b805b487fbef | 15 | |
mauroar211 | 0:b805b487fbef | 16 | #define PN532_ACK_WAIT_TIME (10) // ms, timeout of waiting for ACK |
mauroar211 | 0:b805b487fbef | 17 | |
mauroar211 | 0:b805b487fbef | 18 | #define PN532_INVALID_ACK (-1) |
mauroar211 | 0:b805b487fbef | 19 | #define PN532_TIMEOUT (-2) |
mauroar211 | 0:b805b487fbef | 20 | #define PN532_INVALID_FRAME (-3) |
mauroar211 | 0:b805b487fbef | 21 | #define PN532_NO_SPACE (-4) |
mauroar211 | 0:b805b487fbef | 22 | |
mauroar211 | 0:b805b487fbef | 23 | #define REVERSE_BITS_ORDER(b) b = (b & 0xF0) >> 4 | (b & 0x0F) << 4; \ |
mauroar211 | 0:b805b487fbef | 24 | b = (b & 0xCC) >> 2 | (b & 0x33) << 2; \ |
mauroar211 | 0:b805b487fbef | 25 | b = (b & 0xAA) >> 1 | (b & 0x55) << 1 |
mauroar211 | 0:b805b487fbef | 26 | |
mauroar211 | 0:b805b487fbef | 27 | /** |
mauroar211 | 0:b805b487fbef | 28 | * The PN532Interface class |
mauroar211 | 0:b805b487fbef | 29 | */ |
mauroar211 | 0:b805b487fbef | 30 | class PN532Interface |
mauroar211 | 0:b805b487fbef | 31 | { |
mauroar211 | 0:b805b487fbef | 32 | public: |
mauroar211 | 0:b805b487fbef | 33 | virtual void begin() = 0; |
mauroar211 | 0:b805b487fbef | 34 | virtual void wakeup() = 0; |
mauroar211 | 0:b805b487fbef | 35 | |
mauroar211 | 0:b805b487fbef | 36 | /** |
mauroar211 | 0:b805b487fbef | 37 | * @brief write a command and check ack |
mauroar211 | 0:b805b487fbef | 38 | * @param header packet header |
mauroar211 | 0:b805b487fbef | 39 | * @param hlen length of header |
mauroar211 | 0:b805b487fbef | 40 | * @param body packet body |
mauroar211 | 0:b805b487fbef | 41 | * @param blen length of body |
mauroar211 | 0:b805b487fbef | 42 | * @return 0 success |
mauroar211 | 0:b805b487fbef | 43 | * not 0 failed |
mauroar211 | 0:b805b487fbef | 44 | */ |
mauroar211 | 0:b805b487fbef | 45 | virtual int8_t writeCommand(const uint8_t *header, uint8_t hlen, const uint8_t *body = 0, uint8_t blen = 0) = 0; |
mauroar211 | 0:b805b487fbef | 46 | |
mauroar211 | 0:b805b487fbef | 47 | /** |
mauroar211 | 0:b805b487fbef | 48 | * @brief read the response of a command, strip prefix and suffix |
mauroar211 | 0:b805b487fbef | 49 | * @param buf to contain the response data |
mauroar211 | 0:b805b487fbef | 50 | * @param len lenght to read |
mauroar211 | 0:b805b487fbef | 51 | * @param timeout max time to wait, 0 means no timeout |
mauroar211 | 0:b805b487fbef | 52 | * @return >=0 length of response without prefix and suffix |
mauroar211 | 0:b805b487fbef | 53 | * <0 failed to read response |
mauroar211 | 0:b805b487fbef | 54 | */ |
mauroar211 | 0:b805b487fbef | 55 | virtual int16_t readResponse(uint8_t buf[], uint8_t len, uint16_t timeout = 1000) = 0; |
mauroar211 | 0:b805b487fbef | 56 | }; |
mauroar211 | 0:b805b487fbef | 57 | |
mauroar211 | 0:b805b487fbef | 58 | #endif |
mauroar211 | 0:b805b487fbef | 59 |