mbed OS 5 example application using X-NUCLEO-NFC02A1
Dependencies: NDefLib X_NUCLEO_NFC02A1
Fork of HelloWorld_NFC02A1 by
Lib_NDEF/lib_NDEF.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 lib_NDEF.h |
| rosarium | 0:892175366555 | 4 | * @author MMY Application Team |
| rosarium | 0:892175366555 | 5 | * @version $Revision: 1329 $ |
| rosarium | 0:892175366555 | 6 | * @date $Date: 2015-11-05 10:34:25 +0100 (Thu, 05 Nov 2015) $ |
| rosarium | 0:892175366555 | 7 | * @brief This file help to manage NDEF file. |
| 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 __LIB_NDEF_H |
| rosarium | 0:892175366555 | 32 | #define __LIB_NDEF_H |
| rosarium | 0:892175366555 | 33 | |
| rosarium | 0:892175366555 | 34 | |
| rosarium | 0:892175366555 | 35 | /* Includes ------------------------------------------------------------------*/ |
| rosarium | 0:892175366555 | 36 | /* include file which match the HW configuration */ |
| rosarium | 0:892175366555 | 37 | //#include "common.h" |
| rosarium | 0:892175366555 | 38 | //#include "lib_wrapper.h" |
| rosarium | 0:892175366555 | 39 | #include <stdint.h> |
| rosarium | 0:892175366555 | 40 | #include "tagtype5_wrapper.h" |
| rosarium | 0:892175366555 | 41 | |
| rosarium | 0:892175366555 | 42 | #define NDEF_ACTION_COMPLETED 0x9000 |
| rosarium | 0:892175366555 | 43 | |
| rosarium | 0:892175366555 | 44 | #ifndef errorchk |
| rosarium | 0:892175366555 | 45 | #define errorchk(fCall) if (status = (fCall), status != NDEF_ACTION_COMPLETED) \ |
| rosarium | 0:892175366555 | 46 | {goto Error;} else |
| rosarium | 0:892175366555 | 47 | #endif |
| rosarium | 0:892175366555 | 48 | |
| rosarium | 0:892175366555 | 49 | /* Error codes for Higher level */ |
| rosarium | 0:892175366555 | 50 | |
| rosarium | 0:892175366555 | 51 | |
| rosarium | 0:892175366555 | 52 | #define NFCTAG_4M_SIZE 0x200 |
| rosarium | 0:892175366555 | 53 | #define NFCTAG_16M_SIZE 0x800 |
| rosarium | 0:892175366555 | 54 | #define NFCTAG_64M_SIZE 0x2000 |
| rosarium | 0:892175366555 | 55 | #ifndef MIN |
| rosarium | 0:892175366555 | 56 | #define MIN(x, y) (((x) < (y)) ? (x) : (y)) |
| rosarium | 0:892175366555 | 57 | #endif |
| rosarium | 0:892175366555 | 58 | |
| rosarium | 0:892175366555 | 59 | /* Exported constants --------------------------------------------------------*/ |
| rosarium | 0:892175366555 | 60 | #define MAX_NDEF_MEM 0x200 |
| rosarium | 0:892175366555 | 61 | #define M24LR_MAX_SIZE NFCTAG_4M_SIZE |
| rosarium | 0:892175366555 | 62 | #define M24LR_NDEF_MAX_SIZE MIN(M24LR_MAX_SIZE,MAX_NDEF_MEM) |
| rosarium | 0:892175366555 | 63 | #define NFC_DEVICE_MAX_NDEFMEMORY M24LR_NDEF_MAX_SIZE |
| rosarium | 0:892175366555 | 64 | |
| rosarium | 0:892175366555 | 65 | #define NDEF_OK 0x00 |
| rosarium | 0:892175366555 | 66 | #define NDEF_ERROR 1 |
| rosarium | 0:892175366555 | 67 | #define NDEF_ERROR_MEMORY_TAG 2 |
| rosarium | 0:892175366555 | 68 | #define NDEF_ERROR_MEMORY_INTERNAL 3 |
| rosarium | 0:892175366555 | 69 | #define NDEF_ERROR_LOCKED 4 |
| rosarium | 0:892175366555 | 70 | #define NDEF_ERROR_NOT_FORMATED 5 |
| rosarium | 0:892175366555 | 71 | |
| rosarium | 0:892175366555 | 72 | #define NDEF_MAX_SIZE NFC_DEVICE_MAX_NDEFMEMORY |
| rosarium | 0:892175366555 | 73 | |
| rosarium | 0:892175366555 | 74 | #define NDEF_SIZE_OFFSET 0 |
| rosarium | 0:892175366555 | 75 | #define FIRST_RECORD_OFFSET 2 |
| rosarium | 0:892175366555 | 76 | |
| rosarium | 0:892175366555 | 77 | #define RECORD_FLAG_FIELD 1 |
| rosarium | 0:892175366555 | 78 | #define TYPE_LENGTH_FIELD 1 |
| rosarium | 0:892175366555 | 79 | #define ID_LENGTH_FIELD 1 |
| rosarium | 0:892175366555 | 80 | |
| rosarium | 0:892175366555 | 81 | |
| rosarium | 0:892175366555 | 82 | #define MB_Mask ((uint8_t)(0x80)) |
| rosarium | 0:892175366555 | 83 | #define ME_Mask ((uint8_t)(0x40)) |
| rosarium | 0:892175366555 | 84 | #define CF_Mask ((uint8_t)(0x20)) |
| rosarium | 0:892175366555 | 85 | #define SR_Mask ((uint8_t)(0x10)) |
| rosarium | 0:892175366555 | 86 | #define IL_Mask ((uint8_t)(0x08)) |
| rosarium | 0:892175366555 | 87 | #define TNF_Mask ((uint8_t)(0x07)) |
| rosarium | 0:892175366555 | 88 | |
| rosarium | 0:892175366555 | 89 | #define TNF_Empty 0x00 |
| rosarium | 0:892175366555 | 90 | #define TNF_WellKnown 0x01 |
| rosarium | 0:892175366555 | 91 | #define TNF_MediaType 0x02 |
| rosarium | 0:892175366555 | 92 | #define TNF_AbsoluteURI 0x03 |
| rosarium | 0:892175366555 | 93 | #define TNF_NFCForumExternal 0x04 |
| rosarium | 0:892175366555 | 94 | #define TNF_Unknown 0x05 |
| rosarium | 0:892175366555 | 95 | #define TNF_Unchanged 0x06 |
| rosarium | 0:892175366555 | 96 | #define TNF_Reserved 0x07 |
| rosarium | 0:892175366555 | 97 | |
| rosarium | 0:892175366555 | 98 | #define SP_MAX_RECORD 4 |
| rosarium | 0:892175366555 | 99 | |
| rosarium | 0:892175366555 | 100 | #define AAR_TYPE_STRING "android.com:pkg" |
| rosarium | 0:892175366555 | 101 | #define AAR_TYPE_STRING_LENGTH 15 |
| rosarium | 0:892175366555 | 102 | |
| rosarium | 0:892175366555 | 103 | #define M24SR_DISCOVERY_APP_STRING "st.com:m24sr_discovery_democtrl" |
| rosarium | 0:892175366555 | 104 | #define M24SR_DISCOVERY_APP_STRING_LENGTH 31 |
| rosarium | 0:892175366555 | 105 | |
| rosarium | 0:892175366555 | 106 | #define VCARD_TYPE_STRING "text/vcard" |
| rosarium | 0:892175366555 | 107 | #define VCARD_TYPE_STRING_LENGTH 10 |
| rosarium | 0:892175366555 | 108 | |
| rosarium | 0:892175366555 | 109 | #define XVCARD_TYPE_STRING "text/x-vCard" |
| rosarium | 0:892175366555 | 110 | #define XVCARD_TYPE_STRING_LENGTH 12 |
| rosarium | 0:892175366555 | 111 | |
| rosarium | 0:892175366555 | 112 | #define XVCARD2_TYPE_STRING "text/x-vcard" |
| rosarium | 0:892175366555 | 113 | #define XVCARD2_TYPE_STRING_LENGTH 12 |
| rosarium | 0:892175366555 | 114 | |
| rosarium | 0:892175366555 | 115 | #define SMART_POSTER_TYPE_STRING "Sp" |
| rosarium | 0:892175366555 | 116 | #define SMART_POSTER_TYPE_STRING_LENGTH 2 |
| rosarium | 0:892175366555 | 117 | |
| rosarium | 0:892175366555 | 118 | #define URI_TYPE_STRING "U" |
| rosarium | 0:892175366555 | 119 | #define URI_TYPE_STRING_LENGTH 1 |
| rosarium | 0:892175366555 | 120 | |
| rosarium | 0:892175366555 | 121 | #define SMS_TYPE_STRING "sms:" |
| rosarium | 0:892175366555 | 122 | #define SMS_TYPE_STRING_LENGTH 4 |
| rosarium | 0:892175366555 | 123 | |
| rosarium | 0:892175366555 | 124 | #define GEO_TYPE_STRING "geo:" |
| rosarium | 0:892175366555 | 125 | #define GEO_TYPE_STRING_LENGTH 4 |
| rosarium | 0:892175366555 | 126 | |
| rosarium | 0:892175366555 | 127 | #define URI_LATITUDE_END "," |
| rosarium | 0:892175366555 | 128 | #define URI_LATITUDE_END_LENGTH 1 |
| rosarium | 0:892175366555 | 129 | |
| rosarium | 0:892175366555 | 130 | #define EMAIL_TYPE_STRING "mailto:" |
| rosarium | 0:892175366555 | 131 | #define EMAIL_TYPE_STRING_LENGTH 7 |
| rosarium | 0:892175366555 | 132 | |
| rosarium | 0:892175366555 | 133 | #define URI_FIRST_DATA_END "?" |
| rosarium | 0:892175366555 | 134 | #define URI_FIRST_DATA_END_LENGTH 1 |
| rosarium | 0:892175366555 | 135 | |
| rosarium | 0:892175366555 | 136 | #define SUBJECT_BEGIN_STRING "subject=" |
| rosarium | 0:892175366555 | 137 | #define SUBJECT_BEGIN_STRING_LENGTH 8 |
| rosarium | 0:892175366555 | 138 | |
| rosarium | 0:892175366555 | 139 | #define MESSAGE_BEGIN_STRING "body=" |
| rosarium | 0:892175366555 | 140 | #define MESSAGE_BEGIN_STRING_LENGTH 5 |
| rosarium | 0:892175366555 | 141 | |
| rosarium | 0:892175366555 | 142 | #define URI_SECOND_DATA_END "&" |
| rosarium | 0:892175366555 | 143 | #define URI_SECOND_DATA_END_LENGTH 1 |
| rosarium | 0:892175366555 | 144 | |
| rosarium | 0:892175366555 | 145 | #define TEXT_TYPE_STRING "T" |
| rosarium | 0:892175366555 | 146 | #define TEXT_TYPE_STRING_LENGTH 1 |
| rosarium | 0:892175366555 | 147 | |
| rosarium | 0:892175366555 | 148 | #define ISO_ENGLISH_CODE_STRING "en" |
| rosarium | 0:892175366555 | 149 | #define ISO_ENGLISH_CODE_STRING_LENGTH 2 |
| rosarium | 0:892175366555 | 150 | |
| rosarium | 0:892175366555 | 151 | |
| rosarium | 0:892175366555 | 152 | #define URI_ID_0x00 0x00 |
| rosarium | 0:892175366555 | 153 | #define URI_ID_0x01 0x01 |
| rosarium | 0:892175366555 | 154 | #define URI_ID_0x02 0x02 |
| rosarium | 0:892175366555 | 155 | #define URI_ID_0x03 0x03 |
| rosarium | 0:892175366555 | 156 | #define URI_ID_0x04 0x04 |
| rosarium | 0:892175366555 | 157 | #define URI_ID_0x05 0x05 |
| rosarium | 0:892175366555 | 158 | #define URI_ID_0x06 0x06 |
| rosarium | 0:892175366555 | 159 | #define URI_ID_0x07 0x07 |
| rosarium | 0:892175366555 | 160 | #define URI_ID_0x08 0x08 |
| rosarium | 0:892175366555 | 161 | #define URI_ID_0x09 0x09 |
| rosarium | 0:892175366555 | 162 | #define URI_ID_0x0A 0x0A |
| rosarium | 0:892175366555 | 163 | #define URI_ID_0x0B 0x0B |
| rosarium | 0:892175366555 | 164 | #define URI_ID_0x0C 0x0C |
| rosarium | 0:892175366555 | 165 | #define URI_ID_0x0D 0x0D |
| rosarium | 0:892175366555 | 166 | #define URI_ID_0x0E 0x0E |
| rosarium | 0:892175366555 | 167 | #define URI_ID_0x0F 0x0F |
| rosarium | 0:892175366555 | 168 | #define URI_ID_0x10 0x10 |
| rosarium | 0:892175366555 | 169 | #define URI_ID_0x11 0x11 |
| rosarium | 0:892175366555 | 170 | #define URI_ID_0x12 0x12 |
| rosarium | 0:892175366555 | 171 | #define URI_ID_0x13 0x13 |
| rosarium | 0:892175366555 | 172 | #define URI_ID_0x14 0x14 |
| rosarium | 0:892175366555 | 173 | #define URI_ID_0x15 0x15 |
| rosarium | 0:892175366555 | 174 | #define URI_ID_0x16 0x16 |
| rosarium | 0:892175366555 | 175 | #define URI_ID_0x17 0x17 |
| rosarium | 0:892175366555 | 176 | #define URI_ID_0x18 0x18 |
| rosarium | 0:892175366555 | 177 | #define URI_ID_0x19 0x19 |
| rosarium | 0:892175366555 | 178 | #define URI_ID_0x1A 0x1A |
| rosarium | 0:892175366555 | 179 | #define URI_ID_0x1B 0x1B |
| rosarium | 0:892175366555 | 180 | #define URI_ID_0x1C 0x1C |
| rosarium | 0:892175366555 | 181 | #define URI_ID_0x1D 0x1D |
| rosarium | 0:892175366555 | 182 | #define URI_ID_0x1E 0x1E |
| rosarium | 0:892175366555 | 183 | #define URI_ID_0x1F 0x1F |
| rosarium | 0:892175366555 | 184 | #define URI_ID_0x20 0x20 |
| rosarium | 0:892175366555 | 185 | #define URI_ID_0x21 0x21 |
| rosarium | 0:892175366555 | 186 | #define URI_ID_0x22 0x22 |
| rosarium | 0:892175366555 | 187 | #define URI_ID_0x23 0x23 |
| rosarium | 0:892175366555 | 188 | #define URI_RFU 0x24 |
| rosarium | 0:892175366555 | 189 | |
| rosarium | 0:892175366555 | 190 | #define URI_ID_0x01_STRING "http://www.\0" |
| rosarium | 0:892175366555 | 191 | #define URI_ID_0x02_STRING "https://www.\0" |
| rosarium | 0:892175366555 | 192 | #define URI_ID_0x03_STRING "http://\0" |
| rosarium | 0:892175366555 | 193 | #define URI_ID_0x04_STRING "https://\0" |
| rosarium | 0:892175366555 | 194 | #define URI_ID_0x05_STRING "tel:\0" |
| rosarium | 0:892175366555 | 195 | #define URI_ID_0x06_STRING "mailto:\0" |
| rosarium | 0:892175366555 | 196 | #define URI_ID_0x07_STRING "ftp://anonymous:anonymous@\0" |
| rosarium | 0:892175366555 | 197 | #define URI_ID_0x08_STRING "ftp://ftp.\0" |
| rosarium | 0:892175366555 | 198 | #define URI_ID_0x09_STRING "ftps://\0" |
| rosarium | 0:892175366555 | 199 | #define URI_ID_0x0A_STRING "sftp://\0" |
| rosarium | 0:892175366555 | 200 | #define URI_ID_0x0B_STRING "smb://\0" |
| rosarium | 0:892175366555 | 201 | #define URI_ID_0x0C_STRING "nfs://\0" |
| rosarium | 0:892175366555 | 202 | #define URI_ID_0x0D_STRING "ftp://\0" |
| rosarium | 0:892175366555 | 203 | #define URI_ID_0x0E_STRING "dav://\0" |
| rosarium | 0:892175366555 | 204 | #define URI_ID_0x0F_STRING "news:\0" |
| rosarium | 0:892175366555 | 205 | #define URI_ID_0x10_STRING "telnet://\0" |
| rosarium | 0:892175366555 | 206 | #define URI_ID_0x11_STRING "imap:\0" |
| rosarium | 0:892175366555 | 207 | #define URI_ID_0x12_STRING "rtsp://\0" |
| rosarium | 0:892175366555 | 208 | #define URI_ID_0x13_STRING "urn:\0" |
| rosarium | 0:892175366555 | 209 | #define URI_ID_0x14_STRING "pop:\0" |
| rosarium | 0:892175366555 | 210 | #define URI_ID_0x15_STRING "sip:\0" |
| rosarium | 0:892175366555 | 211 | #define URI_ID_0x16_STRING "sips:\0" |
| rosarium | 0:892175366555 | 212 | #define URI_ID_0x17_STRING "tftp:\0" |
| rosarium | 0:892175366555 | 213 | #define URI_ID_0x18_STRING "btspp://\0" |
| rosarium | 0:892175366555 | 214 | #define URI_ID_0x19_STRING "btl2cap://\0" |
| rosarium | 0:892175366555 | 215 | #define URI_ID_0x1A_STRING "btgoep://\0" |
| rosarium | 0:892175366555 | 216 | #define URI_ID_0x1B_STRING "tcpobex://\0" |
| rosarium | 0:892175366555 | 217 | #define URI_ID_0x1C_STRING "irdaobex://\0" |
| rosarium | 0:892175366555 | 218 | #define URI_ID_0x1D_STRING "file://\0" |
| rosarium | 0:892175366555 | 219 | #define URI_ID_0x1E_STRING "urn:epc:id:\0" |
| rosarium | 0:892175366555 | 220 | #define URI_ID_0x1F_STRING "urn:epc:tag\0" |
| rosarium | 0:892175366555 | 221 | #define URI_ID_0x20_STRING "urn:epc:pat:\0" |
| rosarium | 0:892175366555 | 222 | #define URI_ID_0x21_STRING "urn:epc:raw:\0" |
| rosarium | 0:892175366555 | 223 | #define URI_ID_0x22_STRING "urn:epc:\0" |
| rosarium | 0:892175366555 | 224 | #define URI_ID_0x23_STRING "urn:nfc:\0" |
| rosarium | 0:892175366555 | 225 | |
| rosarium | 0:892175366555 | 226 | typedef enum |
| rosarium | 0:892175366555 | 227 | { |
| rosarium | 0:892175366555 | 228 | UNKNOWN_TYPE = 0, |
| rosarium | 0:892175366555 | 229 | VCARD_TYPE, |
| rosarium | 0:892175366555 | 230 | WELL_KNOWN_ABRIDGED_URI_TYPE, |
| rosarium | 0:892175366555 | 231 | URI_SMS_TYPE, |
| rosarium | 0:892175366555 | 232 | URI_GEO_TYPE, |
| rosarium | 0:892175366555 | 233 | URI_EMAIL_TYPE, |
| rosarium | 0:892175366555 | 234 | SMARTPOSTER_TYPE, |
| rosarium | 0:892175366555 | 235 | URL_TYPE, |
| rosarium | 0:892175366555 | 236 | TEXT_TYPE, |
| rosarium | 0:892175366555 | 237 | BT_TYPE, |
| rosarium | 0:892175366555 | 238 | /* list of "external type" known by this demo, other external type will be addressed as UNKNWON_TYPE */ |
| rosarium | 0:892175366555 | 239 | M24SR_DISCOVERY_APP_TYPE |
| rosarium | 0:892175366555 | 240 | } NDEF_TypeDef; |
| rosarium | 0:892175366555 | 241 | |
| rosarium | 0:892175366555 | 242 | //typedef struct sRecordInfo sRecordInfo; |
| rosarium | 0:892175366555 | 243 | typedef struct sRecordInfo |
| rosarium | 0:892175366555 | 244 | { |
| rosarium | 0:892175366555 | 245 | uint8_t RecordFlags; |
| rosarium | 0:892175366555 | 246 | uint8_t TypeLength; |
| rosarium | 0:892175366555 | 247 | uint8_t PayloadLength3; |
| rosarium | 0:892175366555 | 248 | uint8_t PayloadLength2; |
| rosarium | 0:892175366555 | 249 | uint8_t PayloadLength1; |
| rosarium | 0:892175366555 | 250 | uint8_t PayloadLength0; |
| rosarium | 0:892175366555 | 251 | uint8_t IDLength; |
| rosarium | 0:892175366555 | 252 | uint8_t Type[0xFF]; |
| rosarium | 0:892175366555 | 253 | uint8_t ID[0xFF]; |
| rosarium | 0:892175366555 | 254 | uint16_t PayloadOffset; |
| rosarium | 0:892175366555 | 255 | uint32_t PayloadBufferAdd; /* add where payload content has been stored */ |
| rosarium | 0:892175366555 | 256 | NDEF_TypeDef NDEF_Type; /* to store identification ID for application */ |
| rosarium | 0:892175366555 | 257 | sRecordInfo *SPRecordStructAdd[SP_MAX_RECORD]; /*in case of smart poster array to store add of other sRecordInfo struct */ |
| rosarium | 0:892175366555 | 258 | uint8_t NbOfRecordInSPPayload; |
| rosarium | 0:892175366555 | 259 | }sRecordInfo; |
| rosarium | 0:892175366555 | 260 | |
| rosarium | 0:892175366555 | 261 | class NDEF : public NFCType5 { |
| rosarium | 0:892175366555 | 262 | public: |
| rosarium | 0:892175366555 | 263 | |
| rosarium | 0:892175366555 | 264 | uint16_t NDEF_IsNDEFPresent( void ); |
| rosarium | 0:892175366555 | 265 | uint16_t NDEF_ParseRecordHeader( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 266 | void NDEF_ParseWellKnownType( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 267 | void NDEF_ParseMediaType( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 268 | void NDEF_ParseForumExternalType( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 269 | void NDEF_ParseURI( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 270 | void NDEF_ParseSP( sRecordInfo *pRecordStruct ); |
| rosarium | 0:892175366555 | 271 | uint16_t NDEF_IdentifySPRecord( sRecordInfo *pRecordStruct, uint8_t* pPayload ); |
| rosarium | 0:892175366555 | 272 | uint16_t NDEF_IdentifyNDEF( sRecordInfo *pRecordStruct, uint8_t* pNDEF ); |
| rosarium | 0:892175366555 | 273 | uint16_t NDEF_ReadNDEF( uint8_t* pNDEF ); |
| rosarium | 0:892175366555 | 274 | uint16_t NDEF_WriteNDEF( uint8_t *pNDEF ); |
| rosarium | 0:892175366555 | 275 | uint16_t NDEF_IdentifyBuffer( sRecordInfo *pRecordStruct, uint8_t* pNDEF ); |
| rosarium | 0:892175366555 | 276 | |
| rosarium | 0:892175366555 | 277 | void NDEF_initialize(void); |
| rosarium | 0:892175366555 | 278 | uint8_t NDEF_Buffer [NDEF_MAX_SIZE]; |
| rosarium | 0:892175366555 | 279 | |
| rosarium | 0:892175366555 | 280 | NDEF() |
| rosarium | 0:892175366555 | 281 | { |
| rosarium | 0:892175366555 | 282 | SPRecordStructAdd[0] = &SPRecordStruct1; |
| rosarium | 0:892175366555 | 283 | SPRecordStructAdd[1] = &SPRecordStruct2; |
| rosarium | 0:892175366555 | 284 | SPRecordStructAdd[2] = &SPRecordStruct3; |
| rosarium | 0:892175366555 | 285 | SPRecordStructAdd[3] = &SPRecordStruct4; |
| rosarium | 0:892175366555 | 286 | |
| rosarium | 0:892175366555 | 287 | } |
| rosarium | 0:892175366555 | 288 | |
| rosarium | 0:892175366555 | 289 | /* In case of smart Poster composed with different record, 3 records supported so far */ |
| rosarium | 0:892175366555 | 290 | sRecordInfo SPRecordStruct1, SPRecordStruct2, SPRecordStruct3, SPRecordStruct4; |
| rosarium | 0:892175366555 | 291 | sRecordInfo *SPRecordStructAdd[SP_MAX_RECORD]; |
| rosarium | 0:892175366555 | 292 | }; |
| rosarium | 0:892175366555 | 293 | |
| rosarium | 0:892175366555 | 294 | #endif /* __LIB_NDEF_H */ |
| rosarium | 0:892175366555 | 295 | |
| rosarium | 0:892175366555 | 296 | |
| rosarium | 0:892175366555 | 297 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ |
