mbed OS 5 example application using X-NUCLEO-NFC02A1
Dependencies: NDefLib X_NUCLEO_NFC02A1
Fork of HelloWorld_NFC02A1 by
Lib_NDEF/tagtype5_wrapper.h@0:892175366555, 2016-07-27 (annotated)
- 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?
| User | Revision | Line number | New 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>© 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****/ |
