mbed OS 5 example application using X-NUCLEO-NFC02A1

Dependencies:   NDefLib X_NUCLEO_NFC02A1

Fork of HelloWorld_NFC02A1 by ST

Committer:
rosarium
Date:
Wed Jul 27 09:25:33 2016 +0000
Revision:
0:892175366555
first release of the complete mbed library for HelloWorld_NFC02A1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rosarium 0:892175366555 1 /**
rosarium 0:892175366555 2 ******************************************************************************
rosarium 0:892175366555 3 * @file tagtype5_wrapper.h
rosarium 0:892175366555 4 * @author MMY Application Team
rosarium 0:892175366555 5 * @version $Revision: 1638 $
rosarium 0:892175366555 6 * @date $Date: 2016-02-10 16:41:05 +0100 (Wed, 10 Feb 2016) $
rosarium 0:892175366555 7 * @brief Interface for tagtype5 in order to use NDEF lib
rosarium 0:892175366555 8 ******************************************************************************
rosarium 0:892175366555 9 * @attention
rosarium 0:892175366555 10 *
rosarium 0:892175366555 11 * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
rosarium 0:892175366555 12 *
rosarium 0:892175366555 13 * Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
rosarium 0:892175366555 14 * You may not use this file except in compliance with the License.
rosarium 0:892175366555 15 * You may obtain a copy of the License at:
rosarium 0:892175366555 16 *
rosarium 0:892175366555 17 * http://www.st.com/myliberty
rosarium 0:892175366555 18 *
rosarium 0:892175366555 19 * Unless required by applicable law or agreed to in writing, software
rosarium 0:892175366555 20 * distributed under the License is distributed on an "AS IS" BASIS,
rosarium 0:892175366555 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
rosarium 0:892175366555 22 * AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
rosarium 0:892175366555 23 * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
rosarium 0:892175366555 24 * See the License for the specific language governing permissions and
rosarium 0:892175366555 25 * limitations under the License.
rosarium 0:892175366555 26 *
rosarium 0:892175366555 27 ******************************************************************************
rosarium 0:892175366555 28 */
rosarium 0:892175366555 29
rosarium 0:892175366555 30 /* Define to prevent recursive inclusion -------------------------------------*/
rosarium 0:892175366555 31 #ifndef __TAGTYPE5_WRAPPER_H
rosarium 0:892175366555 32 #define __TAGTYPE5_WRAPPER_H
rosarium 0:892175366555 33
rosarium 0:892175366555 34 #include <stdint.h>
rosarium 0:892175366555 35 #include "common.h"
rosarium 0:892175366555 36
rosarium 0:892175366555 37 typedef enum
rosarium 0:892175366555 38 {
rosarium 0:892175366555 39 TT5_NO_NDEF = 0,
rosarium 0:892175366555 40 TT5_INITIALIZED,
rosarium 0:892175366555 41 TT5_READ_WRITE,
rosarium 0:892175366555 42 TT5_READ
rosarium 0:892175366555 43 } TT5_State;
rosarium 0:892175366555 44
rosarium 0:892175366555 45 /**
rosarium 0:892175366555 46 * @brief CCfile structure
rosarium 0:892175366555 47 */
rosarium 0:892175366555 48 typedef struct
rosarium 0:892175366555 49 {
rosarium 0:892175366555 50 uint8_t MagicNumber; /* Magic Number should be E1h or E2h */
rosarium 0:892175366555 51 uint8_t Version;
rosarium 0:892175366555 52 uint8_t MemorySize;
rosarium 0:892175366555 53 uint8_t TT5Tag;
rosarium 0:892175366555 54 uint8_t rsved1;
rosarium 0:892175366555 55 uint8_t rsved2;
rosarium 0:892175366555 56 uint16_t ExtMemorySize;
rosarium 0:892175366555 57 TT5_State State;
rosarium 0:892175366555 58 uint32_t NDEF_offset;
rosarium 0:892175366555 59 }sCCFileInfo;
rosarium 0:892175366555 60
rosarium 0:892175366555 61 /* Exported constants --------------------------------------------------------*/
rosarium 0:892175366555 62 #define NFCT5_MAGICNUMBER_E1_CCFILE 0xE1
rosarium 0:892175366555 63 #define NFCT5_MAGICNUMBER_E2_CCFILE 0xE2
rosarium 0:892175366555 64 #define NFCT5_EXTENDED_CCFILE 0xFF
rosarium 0:892175366555 65 #define NFCT5_VERSION_V1_0 0x40
rosarium 0:892175366555 66 #define NFCT5_READ_ACCESS 0x0C
rosarium 0:892175366555 67 #define NFCT5_WRITE_ACCESS 0x03
rosarium 0:892175366555 68
rosarium 0:892175366555 69 #define NFCT5_NDEF_MSG_TLV 0x03
rosarium 0:892175366555 70 #define NFCT5_PROPRIETARY_TLV 0xFD
rosarium 0:892175366555 71 #define NFCT5_TERMINATOR_TLV 0xFE
rosarium 0:892175366555 72 #define NFCT5_3_BYTES_L_TLV 0xFF
rosarium 0:892175366555 73
rosarium 0:892175366555 74 /* Exported macro ------------------------------------------------------------*/
rosarium 0:892175366555 75 /* External variables --------------------------------------------------------*/
rosarium 0:892175366555 76 /* Exported functions ------------------------------------------------------- */
rosarium 0:892175366555 77
rosarium 0:892175366555 78 //typedef enum
rosarium 0:892175366555 79 //{
rosarium 0:892175366555 80 // NFCTAG_OK = 0,
rosarium 0:892175366555 81 // NFCTAG_ERROR = 1,
rosarium 0:892175366555 82 // NFCTAG_BUSY = 2,
rosarium 0:892175366555 83 // NFCTAG_TIMEOUT = 3
rosarium 0:892175366555 84 //} NFCTAG_StatusTypeDef;
rosarium 0:892175366555 85 class NFCType5 {
rosarium 0:892175366555 86
rosarium 0:892175366555 87
rosarium 0:892175366555 88 public:
rosarium 0:892175366555 89 sCCFileInfo CCFileStruct;
rosarium 0:892175366555 90
rosarium 0:892175366555 91
rosarium 0:892175366555 92 uint16_t NfcType5_WriteCCFile( const uint8_t * const pCCBuffer );
rosarium 0:892175366555 93 uint16_t NfcType5_ReadCCFile( uint8_t * const pCCBuffer );
rosarium 0:892175366555 94 uint16_t NfcType5_TT5Init( void );
rosarium 0:892175366555 95 uint16_t NfcType5_NDEFDetection( void );
rosarium 0:892175366555 96
rosarium 0:892175366555 97
rosarium 0:892175366555 98 virtual NFCTAG_StatusTypeDef NFCTAG_ReadData( uint8_t * const pData, const uint16_t TarAddr, const uint16_t Size )=0;
rosarium 0:892175366555 99 virtual NFCTAG_StatusTypeDef NFCTAG_WriteData( const uint8_t * const pData, const uint16_t TarAddr, const uint16_t Size )=0;
rosarium 0:892175366555 100
rosarium 0:892175366555 101 uint16_t ReadData( uint16_t Offset , uint16_t DataSize , uint8_t* pData );
rosarium 0:892175366555 102 uint16_t WriteData( uint16_t Offset , uint32_t DataSize , uint8_t *pData );
rosarium 0:892175366555 103
rosarium 0:892175366555 104 };
rosarium 0:892175366555 105 #endif /* __TAGTYPE5_WRAPPER_H */
rosarium 0:892175366555 106 /**
rosarium 0:892175366555 107 * @}
rosarium 0:892175366555 108 */
rosarium 0:892175366555 109
rosarium 0:892175366555 110 /**
rosarium 0:892175366555 111 * @}
rosarium 0:892175366555 112 */
rosarium 0:892175366555 113
rosarium 0:892175366555 114 /**
rosarium 0:892175366555 115 * @}
rosarium 0:892175366555 116 */
rosarium 0:892175366555 117
rosarium 0:892175366555 118 /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/