Complete mbed library/workspace for HelloWorld_NFC02A1

Dependencies:   NDefLib X_NUCLEO_NFC02A1 mbed

Fork of HelloWorld_NFC02A1 by ST Expansion SW Team

X-NUCLEO-NFC02A1 Dynamic NFC Tag Expansion Board Firmware Package

Introduction

This firmware package includes Components Device Drivers, Board Support Package and example applications for STMicroelectronics X-NUCLEO-NFC02A1 Dynamic NFC Tag Expansion Board based on M24LR.

Example Application

This is just a simple "hello world" style program for the X-NUCLEO-NFC02A1 Dynamic NFC Tag Expansion Board. The program writes a URI link to the M24LR dynamic tag using the synchronous programming model. It then reads back the URI from the tag to display it on terminal. The URI can also be retrieved from an NFC enabled smartphone/tablet.

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****/