AppNearMe µNFC stack for the NXP PN532 chip License: You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!
Dependents: IOT_sensor_nfc AppNearMe_MuNFC_PN532_Test p2p_nfc_test NFCMoodLamp ... more
License
You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!
PN532/munfc/drv/pn532/pn532_cmd.h@10:2af578c635cd, 2012-11-07 (annotated)
- Committer:
- AppNearMe
- Date:
- Wed Nov 07 18:18:52 2012 +0000
- Revision:
- 10:2af578c635cd
Updated library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AppNearMe | 10:2af578c635cd | 1 | /* |
AppNearMe | 10:2af578c635cd | 2 | pn532_cmd.h |
AppNearMe | 10:2af578c635cd | 3 | Copyright (c) Donatien Garnier 2012 |
AppNearMe | 10:2af578c635cd | 4 | donatien.garnier@appnearme.com |
AppNearMe | 10:2af578c635cd | 5 | http://www.appnearme.com/ |
AppNearMe | 10:2af578c635cd | 6 | */ |
AppNearMe | 10:2af578c635cd | 7 | |
AppNearMe | 10:2af578c635cd | 8 | |
AppNearMe | 10:2af578c635cd | 9 | #ifndef PN532_CMD_H_ |
AppNearMe | 10:2af578c635cd | 10 | #define PN532_CMD_H_ |
AppNearMe | 10:2af578c635cd | 11 | |
AppNearMe | 10:2af578c635cd | 12 | #ifdef __cplusplus |
AppNearMe | 10:2af578c635cd | 13 | extern "C" { |
AppNearMe | 10:2af578c635cd | 14 | #endif |
AppNearMe | 10:2af578c635cd | 15 | |
AppNearMe | 10:2af578c635cd | 16 | #include "core/fwk.h" |
AppNearMe | 10:2af578c635cd | 17 | |
AppNearMe | 10:2af578c635cd | 18 | // Commands |
AppNearMe | 10:2af578c635cd | 19 | int pn532_cmd_get_firmware_version( uint8_t* pIc, uint16_t* pVersion, int timeout ); |
AppNearMe | 10:2af578c635cd | 20 | |
AppNearMe | 10:2af578c635cd | 21 | #define PN532_PARAMETERS_NONE 0x00 |
AppNearMe | 10:2af578c635cd | 22 | #define PN532_PARAMETERS_NAD_USED 0x01 |
AppNearMe | 10:2af578c635cd | 23 | #define PN532_PARAMETERS_DID_USED 0x02 |
AppNearMe | 10:2af578c635cd | 24 | #define PN532_PARAMETERS_AUTO_ATR_RES 0x04 |
AppNearMe | 10:2af578c635cd | 25 | #define PN532_PARAMETERS_AUTO_RATS 0x10 |
AppNearMe | 10:2af578c635cd | 26 | #define PN532_PARAMETERS_ISO_14443_4_EMU 0x20 |
AppNearMe | 10:2af578c635cd | 27 | #define PN532_PARAMETERS_NO_PRE_POSTAMBLE 0x40 |
AppNearMe | 10:2af578c635cd | 28 | |
AppNearMe | 10:2af578c635cd | 29 | int pn532_cmd_set_parameters( uint8_t flags, int timeout ); |
AppNearMe | 10:2af578c635cd | 30 | |
AppNearMe | 10:2af578c635cd | 31 | int pn532_cmd_sam_configuration( uint8_t mode, int timeout ); |
AppNearMe | 10:2af578c635cd | 32 | |
AppNearMe | 10:2af578c635cd | 33 | //Target mode selection |
AppNearMe | 10:2af578c635cd | 34 | #define PN532_TARGET_PASSIVE_ONLY 0x01 |
AppNearMe | 10:2af578c635cd | 35 | #define PN532_TARGET_DEP_ONLY 0x02 |
AppNearMe | 10:2af578c635cd | 36 | #define PN532_TARGET_PICC_ONLY 0x04 |
AppNearMe | 10:2af578c635cd | 37 | |
AppNearMe | 10:2af578c635cd | 38 | //Target mode |
AppNearMe | 10:2af578c635cd | 39 | #define PN532_TARGET_BAUDRATE_MASK 0x70 |
AppNearMe | 10:2af578c635cd | 40 | #define PN532_TARGET_BAUDRATE_106K 0x00 |
AppNearMe | 10:2af578c635cd | 41 | #define PN532_TARGET_BAUDRATE_212K 0x01 |
AppNearMe | 10:2af578c635cd | 42 | #define PN532_TARGET_BAUDRATE_414K 0x02 |
AppNearMe | 10:2af578c635cd | 43 | #define PN532_TARGET_ISO_14443_4_PICC 0x08 |
AppNearMe | 10:2af578c635cd | 44 | #define PN532_TARGET_DEP 0x04 |
AppNearMe | 10:2af578c635cd | 45 | #define PN532_TARGET_FRAMING_MASK 0x03 |
AppNearMe | 10:2af578c635cd | 46 | #define PN532_TARGET_FRAMING_MIFARE 0x00 |
AppNearMe | 10:2af578c635cd | 47 | #define PN532_TARGET_FRAMING_ACTIVE 0x01 |
AppNearMe | 10:2af578c635cd | 48 | #define PN532_TARGET_FRAMING_FELICA 0x02 |
AppNearMe | 10:2af578c635cd | 49 | |
AppNearMe | 10:2af578c635cd | 50 | //Initiator mode |
AppNearMe | 10:2af578c635cd | 51 | #define PN532_READER_MODE_ISO14443A_106K 0x00 |
AppNearMe | 10:2af578c635cd | 52 | #define PN532_READER_MODE_FELICA_212K 0x01 |
AppNearMe | 10:2af578c635cd | 53 | #define PN532_READER_MODE_FELICA_424K 0x02 |
AppNearMe | 10:2af578c635cd | 54 | #define PN532_READER_MODE_ISO14443B_106K 0x03 |
AppNearMe | 10:2af578c635cd | 55 | #define PN532_READER_MODE_JEWEL_106K 0x04 |
AppNearMe | 10:2af578c635cd | 56 | |
AppNearMe | 10:2af578c635cd | 57 | // pMifareParams : 6 bytes long, pFelicaParams : 18, pNfcId3 : 10 |
AppNearMe | 10:2af578c635cd | 58 | int pn532_cmd_target_init( uint8_t outMode, buffer* pMifareParams, buffer* pFelicaParams, |
AppNearMe | 10:2af578c635cd | 59 | buffer* pNfcId3, buffer* pAtrG, buffer* pAtrT, uint8_t* pInMode, buffer* pData, int timeout); |
AppNearMe | 10:2af578c635cd | 60 | |
AppNearMe | 10:2af578c635cd | 61 | int pn532_cmd_target_get( buffer* pData, uint8_t* pStatus, int timeout ); |
AppNearMe | 10:2af578c635cd | 62 | |
AppNearMe | 10:2af578c635cd | 63 | int pn532_cmd_target_respond( buffer* pData, uint8_t* pStatus, int timeout ); |
AppNearMe | 10:2af578c635cd | 64 | |
AppNearMe | 10:2af578c635cd | 65 | //PN532 handles framing |
AppNearMe | 10:2af578c635cd | 66 | int pn532_cmd_target_data_get( buffer* pData, uint8_t* pStatus, int timeout ); |
AppNearMe | 10:2af578c635cd | 67 | |
AppNearMe | 10:2af578c635cd | 68 | int pn532_cmd_target_data_respond( buffer* pData, uint8_t* pStatus, int timeout ); |
AppNearMe | 10:2af578c635cd | 69 | |
AppNearMe | 10:2af578c635cd | 70 | int pn532_cmd_target_status( uint8_t* pState, uint8_t* pBaudrate, int timeout ); |
AppNearMe | 10:2af578c635cd | 71 | |
AppNearMe | 10:2af578c635cd | 72 | int pn532_cmd_reader_poll( uint8_t mode, uint8_t* pTargetDetected, buffer* pInitiatorData, int timeout ); |
AppNearMe | 10:2af578c635cd | 73 | |
AppNearMe | 10:2af578c635cd | 74 | //PN532 handles framing |
AppNearMe | 10:2af578c635cd | 75 | int pn532_cmd_reader_data_transceive( buffer* pDataOut, buffer* pDataIn, uint8_t* pStatus, int timeout ); |
AppNearMe | 10:2af578c635cd | 76 | |
AppNearMe | 10:2af578c635cd | 77 | int pn532_cmd_register_read( uint16_t address, uint8_t* pData, int timeout ); |
AppNearMe | 10:2af578c635cd | 78 | |
AppNearMe | 10:2af578c635cd | 79 | int pn532_cmd_register_write( uint16_t address, uint8_t data, int timeout ); |
AppNearMe | 10:2af578c635cd | 80 | |
AppNearMe | 10:2af578c635cd | 81 | int pn532_cmd_set_rf_field( bool on, int timeout ); |
AppNearMe | 10:2af578c635cd | 82 | |
AppNearMe | 10:2af578c635cd | 83 | int pn532_cmd_set_rf_iso14443a_params( buffer* pData, int timeout ); |
AppNearMe | 10:2af578c635cd | 84 | |
AppNearMe | 10:2af578c635cd | 85 | int pn532_cmd_get_status( uint8_t* pErr, uint8_t* pField, int timeout ); |
AppNearMe | 10:2af578c635cd | 86 | |
AppNearMe | 10:2af578c635cd | 87 | // Low-level command |
AppNearMe | 10:2af578c635cd | 88 | int pn532_cmd_exec( buffer* pDataOut, buffer* pDataIn, int timeout ); |
AppNearMe | 10:2af578c635cd | 89 | |
AppNearMe | 10:2af578c635cd | 90 | #ifdef __cplusplus |
AppNearMe | 10:2af578c635cd | 91 | } |
AppNearMe | 10:2af578c635cd | 92 | #endif |
AppNearMe | 10:2af578c635cd | 93 | |
AppNearMe | 10:2af578c635cd | 94 | #endif /* PN532_CMD_H_ */ |