mbed OS 5 example application using X-NUCLEO-NFC02A1
Dependencies: NDefLib X_NUCLEO_NFC02A1
Fork of HelloWorld_NFC02A1 by
Diff: Lib_NDEF/lib_NDEF_URI.cpp
- Revision:
- 1:11ae12d41082
- Parent:
- 0:892175366555
- Child:
- 2:6f1b1f7f8d12
--- a/Lib_NDEF/lib_NDEF_URI.cpp Wed Jul 27 09:25:33 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,550 +0,0 @@
-/**
- ******************************************************************************
- * @file lib_NDEF_URI.c
- * @author MMY Application Team
- * @version $Revision: 1583 $
- * @date $Date: 2016-02-03 15:06:51 +0100 (Wed, 03 Feb 2016) $
- * @brief This file help to manage NDEF file that represent URI.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
- *
- * Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/myliberty
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
- * AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "lib_NDEF_URI.h"
-#include <string.h>
-
-/** @addtogroup NFC_libraries
- * @{
- * @brief <b>This is the library used to manage the content of the TAG (data)
- * But also the specific feature of the tag, for instance
- * password, gpo... </b>
- */
-
-
-/** @addtogroup libNFC_FORUM
- * @{
- * @brief This part of the library manage data which follow NFC forum organisation.
- */
-
-/**
- * @brief This buffer contains the data send/received by TAG
- */
-extern uint8_t NDEF_Buffer [];
-
-
-
-/**
- * @brief This function read the URI information and store data in a structure.
- * @param pRecordStruct : Pointer on the record structure.
- * @param pURI : pointer on the structure to fill.
- */
-void NDEF_URI::NDEF_Parse_WellKnowType( sRecordInfo *pRecordStruct, sURI_Info* pURI )
-{
- uint32_t PayloadSize;
- uint8_t Offset;
- uint8_t* pPayload;
-
- pPayload = (uint8_t*)(pRecordStruct->PayloadBufferAdd);
-
- switch( *pPayload )
- {
- case URI_ID_0x01:
- memcpy( pURI->protocol, URI_ID_0x01_STRING, strlen(URI_ID_0x01_STRING) );
- Offset = strlen( URI_ID_0x01_STRING );
- break;
-
- case URI_ID_0x02:
- memcpy( pURI->protocol, URI_ID_0x02_STRING, strlen(URI_ID_0x02_STRING) );
- Offset = strlen( URI_ID_0x02_STRING );
- break;
-
- case URI_ID_0x03:
- memcpy( pURI->protocol, URI_ID_0x03_STRING, strlen(URI_ID_0x03_STRING) );
- Offset = strlen( URI_ID_0x03_STRING );
- break;
-
- case URI_ID_0x04:
- memcpy( pURI->protocol, URI_ID_0x04_STRING, strlen(URI_ID_0x04_STRING) );
- Offset = strlen( URI_ID_0x04_STRING );
- break;
-
- case URI_ID_0x05:
- memcpy( pURI->protocol, URI_ID_0x05_STRING, strlen(URI_ID_0x05_STRING) );
- Offset = strlen( URI_ID_0x05_STRING );
- break;
-
- case URI_ID_0x06:
- memcpy( pURI->protocol, URI_ID_0x06_STRING, strlen(URI_ID_0x06_STRING) );
- Offset = strlen( URI_ID_0x06_STRING );
- break;
-
- case URI_ID_0x07:
- memcpy( pURI->protocol, URI_ID_0x07_STRING, strlen(URI_ID_0x07_STRING) );
- Offset = strlen( URI_ID_0x07_STRING );
- break;
-
- case URI_ID_0x08:
- memcpy( pURI->protocol, URI_ID_0x08_STRING, strlen(URI_ID_0x08_STRING) );
- Offset = strlen( URI_ID_0x08_STRING );
- break;
-
- case URI_ID_0x09:
- memcpy( pURI->protocol, URI_ID_0x09_STRING, strlen(URI_ID_0x09_STRING) );
- Offset = strlen( URI_ID_0x09_STRING );
- break;
-
- case URI_ID_0x0A:
- memcpy( pURI->protocol, URI_ID_0x0A_STRING, strlen(URI_ID_0x0A_STRING) );
- Offset = strlen( URI_ID_0x0A_STRING );
- break;
-
- case URI_ID_0x0B:
- memcpy( pURI->protocol, URI_ID_0x0B_STRING, strlen(URI_ID_0x0B_STRING) );
- Offset = strlen( URI_ID_0x0B_STRING );
- break;
-
- case URI_ID_0x0C:
- memcpy( pURI->protocol, URI_ID_0x0C_STRING, strlen(URI_ID_0x0C_STRING) );
- Offset = strlen( URI_ID_0x0C_STRING );
- break;
-
- case URI_ID_0x0D:
- memcpy( pURI->protocol, URI_ID_0x0D_STRING, strlen(URI_ID_0x0D_STRING) );
- Offset = strlen( URI_ID_0x0D_STRING );
- break;
-
- case URI_ID_0x0E:
- memcpy( pURI->protocol, URI_ID_0x0E_STRING, strlen(URI_ID_0x0E_STRING) );
- Offset = strlen( URI_ID_0x0E_STRING );
- break;
-
- case URI_ID_0x0F:
- memcpy( pURI->protocol, URI_ID_0x0F_STRING, strlen(URI_ID_0x0F_STRING) );
- Offset = strlen( URI_ID_0x0F_STRING );
- break;
-
- case URI_ID_0x10:
- memcpy( pURI->protocol, URI_ID_0x10_STRING, strlen(URI_ID_0x10_STRING) );
- Offset = strlen( URI_ID_0x10_STRING );
- break;
-
- case URI_ID_0x11:
- memcpy( pURI->protocol, URI_ID_0x11_STRING, strlen(URI_ID_0x11_STRING) );
- Offset = strlen( URI_ID_0x11_STRING );
- break;
-
- case URI_ID_0x12:
- memcpy( pURI->protocol, URI_ID_0x12_STRING, strlen(URI_ID_0x12_STRING) );
- Offset = strlen( URI_ID_0x12_STRING );
- break;
-
- case URI_ID_0x13:
- memcpy( pURI->protocol, URI_ID_0x13_STRING, strlen(URI_ID_0x13_STRING) );
- Offset = strlen( URI_ID_0x13_STRING );
- break;
-
- case URI_ID_0x14:
- memcpy( pURI->protocol, URI_ID_0x14_STRING, strlen(URI_ID_0x14_STRING) );
- Offset = strlen( URI_ID_0x14_STRING );
- break;
-
- case URI_ID_0x15:
- memcpy( pURI->protocol, URI_ID_0x15_STRING, strlen(URI_ID_0x15_STRING) );
- Offset = strlen( URI_ID_0x15_STRING );
- break;
-
- case URI_ID_0x16:
- memcpy( pURI->protocol, URI_ID_0x16_STRING, strlen(URI_ID_0x16_STRING) );
- Offset = strlen( URI_ID_0x16_STRING );
- break;
-
- case URI_ID_0x17:
- memcpy( pURI->protocol, URI_ID_0x17_STRING, strlen(URI_ID_0x17_STRING) );
- Offset = strlen( URI_ID_0x17_STRING );
- break;
-
- case URI_ID_0x18:
- memcpy( pURI->protocol, URI_ID_0x18_STRING, strlen(URI_ID_0x18_STRING) );
- Offset = strlen( URI_ID_0x18_STRING );
- break;
-
- case URI_ID_0x19:
- memcpy( pURI->protocol, URI_ID_0x19_STRING, strlen(URI_ID_0x19_STRING) );
- Offset = strlen( URI_ID_0x19_STRING );
- break;
-
- case URI_ID_0x1A:
- memcpy( pURI->protocol, URI_ID_0x1A_STRING, strlen(URI_ID_0x1A_STRING) );
- Offset = strlen( URI_ID_0x1A_STRING );
- break;
-
- case URI_ID_0x1B:
- memcpy( pURI->protocol, URI_ID_0x1B_STRING, strlen(URI_ID_0x1B_STRING) );
- Offset = strlen( URI_ID_0x1B_STRING );
- break;
-
- case URI_ID_0x1C:
- memcpy( pURI->protocol, URI_ID_0x1C_STRING, strlen(URI_ID_0x1C_STRING) );
- Offset = strlen( URI_ID_0x1C_STRING );
- break;
-
- case URI_ID_0x1D:
- memcpy( pURI->protocol, URI_ID_0x1D_STRING, strlen(URI_ID_0x1D_STRING) );
- Offset = strlen( URI_ID_0x1D_STRING );
- break;
-
- case URI_ID_0x1E:
- memcpy( pURI->protocol, URI_ID_0x1E_STRING, strlen(URI_ID_0x1E_STRING) );
- Offset = strlen( URI_ID_0x1E_STRING );
- break;
-
- case URI_ID_0x1F:
- memcpy( pURI->protocol, URI_ID_0x1F_STRING, strlen(URI_ID_0x1F_STRING) );
- Offset = strlen( URI_ID_0x1F_STRING );
- break;
-
- case URI_ID_0x20:
- memcpy( pURI->protocol, URI_ID_0x20_STRING, strlen(URI_ID_0x20_STRING) );
- Offset = strlen( URI_ID_0x20_STRING );
- break;
-
- case URI_ID_0x21:
- memcpy( pURI->protocol, URI_ID_0x21_STRING, strlen(URI_ID_0x21_STRING) );
- Offset = strlen( URI_ID_0x21_STRING );
- break;
-
- case URI_ID_0x22:
- memcpy( pURI->protocol, URI_ID_0x22_STRING, strlen(URI_ID_0x22_STRING) );
- Offset = strlen( URI_ID_0x22_STRING );
- break;
-
- case URI_ID_0x23:
- memcpy( pURI->protocol, URI_ID_0x23_STRING, strlen(URI_ID_0x23_STRING) );
- Offset = strlen( URI_ID_0x23_STRING );
- break;
-
- default:
- Offset = 0;
- /* Should not happened */
- break;
- }
- /* add end of string character */
- pURI->protocol[Offset] = '\0';
-
- pPayload++; /* go after well know byte */
-
- PayloadSize = ((uint32_t)(pRecordStruct->PayloadLength3) << 24) | ((uint32_t)(pRecordStruct->PayloadLength2) << 16) |
- ((uint32_t)(pRecordStruct->PayloadLength1) << 8) | pRecordStruct->PayloadLength0;
-
- PayloadSize = PayloadSize - 1; /* remove well know byte */
-
- memcpy( pURI->URI_Message, pPayload, PayloadSize );
- /* add end of string character */
- pURI->URI_Message[PayloadSize] = '\0';
-
-}
-
-/**
- * @}
- */
-
-/** @defgroup libURI_Public_Functions
- * @{
- * @brief This file is used to manage URI (stored or loaded in tag)
- */
-
-/**
- * @brief This function read NDEF and retrieve URI information if any.
- * @param pRecordStruct : Pointer on the record structure.
- * @param pURI : pointer on the structure to fill.
- * @retval NDEF_OK : URI information from NDEF have been retrieved.
- * @retval NDEF_ERROR : Not able to retrieve URI information.
- */
-uint16_t NDEF_URI::NDEF_ReadURI( sRecordInfo *pRecordStruct, sURI_Info *pURI )
-{
- uint16_t status = NDEF_ERROR;
- sRecordInfo *pSPRecordStruct;
- uint32_t PayloadSize, RecordPosition;
- uint8_t* pData;
-
- if( pRecordStruct->NDEF_Type == WELL_KNOWN_ABRIDGED_URI_TYPE )
- {
- NDEF_Parse_WellKnowType( pRecordStruct, pURI );
- status = NDEF_OK;
- }
- else if( pRecordStruct->NDEF_Type == SMARTPOSTER_TYPE )
- {
- for( RecordPosition = 0; RecordPosition < pRecordStruct->NbOfRecordInSPPayload; RecordPosition++ )
- {
- pSPRecordStruct = pRecordStruct->SPRecordStructAdd[RecordPosition];
- if( pSPRecordStruct->NDEF_Type == WELL_KNOWN_ABRIDGED_URI_TYPE )
- {
- NDEF_Parse_WellKnowType( pSPRecordStruct, pURI );
- status = NDEF_OK;
- }
- if( pSPRecordStruct->NDEF_Type == TEXT_TYPE )
- {
- PayloadSize = ((uint32_t)(pSPRecordStruct->PayloadLength3) << 24) | ((uint32_t)(pSPRecordStruct->PayloadLength2) << 16) |
- ((uint32_t)(pSPRecordStruct->PayloadLength1) << 8) | pSPRecordStruct->PayloadLength0;
-
- /* The instruction content the UTF-8 language code that is not used here */
- pData = (uint8_t*)pSPRecordStruct->PayloadBufferAdd;
- PayloadSize -= *pData + 1; /* remove not usefull data */
- pData += *pData + 1;
-
- memcpy( pURI->Information, pData, PayloadSize );
- }
- }
- }
- else
- {
- status = NDEF_ERROR;
- }
-
- return status;
-}
-
-/**
- * @brief This function prepare the NDEF message with the URI data given in the structure.
- * @param pURI : pointer on structure that contain the URI information.
- * @param pNDEFMessage : pointer on the NDEF message.
- * @param size : to store the size of the NDEF message generated.
- */
-void NDEF_URI::NDEF_PrepareURIMessage( sURI_Info *pURI, uint8_t *pNDEFMessage, uint16_t *size )
-{
- uint32_t uriSize, totalSize, Offset = 0;
- uint32_t infoSize = 0;
- char type;
-
- /* An URI can be included in a smart poster to add text to give instruction to user for instance */
-
- /* URI (smart poster) Record Header */
-/************************************/
-/* 7 | 6 | 5 | 4 | 3 | 2 1 0 */
-/*----------------------------------*/
-/* MB ME CF SR IL TNF */ /* <---- CF=0, IL=0 and SR=1 TNF=1 NFC Forum Well-known type*/
-/*----------------------------------*/
-/* TYPE LENGTH */
-/*----------------------------------*/
-/* PAYLOAD LENGTH 3 */ /* <---- Used only if SR=0 */
-/*----------------------------------*/
-/* PAYLOAD LENGTH 2 */ /* <---- Used only if SR=0 */
-/*----------------------------------*/
-/* PAYLOAD LENGTH 1 */ /* <---- Used only if SR=0 */
-/*----------------------------------*/
-/* PAYLOAD LENGTH 0 */
-/*----------------------------------*/
-/* ID LENGTH */ /* <---- Not Used */
-/*----------------------------------*/
-/* TYPE */
-/*----------------------------------*/
-/* ID */ /* <---- Not Used */
-/************************************/
-
- /* We need to know the URI type in order to define if an abreviation is available */
- type = getUriType( pURI->protocol );
-
- /* URI : 1+URI for abreviate protocol*/
- if( type != URI_ID_0x00 )
- uriSize = 1 + strlen(pURI->URI_Message);
- else /*: 1+protocol+URI else*/
- uriSize = 1 + strlen(pURI->protocol) + strlen(pURI->URI_Message);
-
- /* Check if a Smart poster is needed */
- if( pURI->Information[0] != '\0' )
- {
- /* Info : 1+2+info */
- infoSize = 1 + ISO_ENGLISH_CODE_STRING_LENGTH + strlen(pURI->Information);
- /* Total */
- totalSize = 4 + uriSize + 4 + infoSize;
- if( uriSize > 255 ) totalSize += 3; /* Normal URI size */
- if( infoSize > 255 ) totalSize += 3; /* Normal Info size */
-
- /* SmartPoster header */
- if( totalSize > 255 )
- {
- pNDEFMessage[Offset++] = 0xC1;
- pNDEFMessage[Offset++] = SMART_POSTER_TYPE_STRING_LENGTH;
- pNDEFMessage[Offset++] = (totalSize & 0xFF000000) >> 24;
- pNDEFMessage[Offset++] = (totalSize & 0x00FF0000) >> 16;
- pNDEFMessage[Offset++] = (totalSize & 0x0000FF00) >> 8;
- pNDEFMessage[Offset++] = totalSize & 0x000000FF;
- }
- else
- {
- pNDEFMessage[Offset++] = 0xD1;
- pNDEFMessage[Offset++] = SMART_POSTER_TYPE_STRING_LENGTH;
- pNDEFMessage[Offset++] = (uint8_t)totalSize;
- }
- memcpy( &pNDEFMessage[Offset], SMART_POSTER_TYPE_STRING, SMART_POSTER_TYPE_STRING_LENGTH );
- Offset += SMART_POSTER_TYPE_STRING_LENGTH;
- }
-
- /* URI header */
- pNDEFMessage[Offset] = 0x81;
- if( uriSize < 256 ) pNDEFMessage[Offset] |= 0x10; // Set the SR bit
- if( pURI->Information[0] == '\0' ) pNDEFMessage[Offset] |= 0x40; // Set the ME bit
- Offset++;
-
- pNDEFMessage[Offset++] = URI_TYPE_STRING_LENGTH;
- if( uriSize > 255 )
- {
- pNDEFMessage[Offset++] = (uriSize & 0xFF000000) >> 24;
- pNDEFMessage[Offset++] = (uriSize & 0x00FF0000) >> 16;
- pNDEFMessage[Offset++] = (uriSize & 0x0000FF00) >> 8;
- pNDEFMessage[Offset++] = uriSize & 0x000000FF;
- }
- else
- {
- pNDEFMessage[Offset++] = (uint8_t)uriSize;
- }
- memcpy( &pNDEFMessage[Offset], URI_TYPE_STRING, URI_TYPE_STRING_LENGTH );
- Offset += URI_TYPE_STRING_LENGTH;
-
- pNDEFMessage[Offset++] = type;
- if( type == URI_ID_0x00 ) // No abreviation
- {
- memcpy( &pNDEFMessage[Offset], pURI->protocol, strlen(pURI->protocol) );
- Offset += strlen(pURI->protocol);
- }
-
- memcpy( &pNDEFMessage[Offset], pURI->URI_Message, strlen(pURI->URI_Message) );
- Offset += strlen(pURI->URI_Message);
-
- /* Information header */
- if( pURI->Information[0] != '\0' )
- {
- if( infoSize > 255 )
- {
- pNDEFMessage[Offset++] = 0x41;
- pNDEFMessage[Offset++] = TEXT_TYPE_STRING_LENGTH;
- pNDEFMessage[Offset++] = (infoSize & 0xFF000000) >> 24;
- pNDEFMessage[Offset++] = (infoSize & 0x00FF0000) >> 16;
- pNDEFMessage[Offset++] = (infoSize & 0x0000FF00) >> 8;
- pNDEFMessage[Offset++] = infoSize & 0x000000FF;
- }
- else
- {
- pNDEFMessage[Offset++] = 0x51;
- pNDEFMessage[Offset++] = TEXT_TYPE_STRING_LENGTH;
- pNDEFMessage[Offset++] = (uint8_t)infoSize;
- }
-
- memcpy( &pNDEFMessage[Offset], TEXT_TYPE_STRING, TEXT_TYPE_STRING_LENGTH );
- Offset+=TEXT_TYPE_STRING_LENGTH;
- pNDEFMessage[Offset++] = ISO_ENGLISH_CODE_STRING_LENGTH; /* UTF-8 with x byte language code */
- memcpy( &pNDEFMessage[Offset], ISO_ENGLISH_CODE_STRING, ISO_ENGLISH_CODE_STRING_LENGTH );
- Offset += ISO_ENGLISH_CODE_STRING_LENGTH;
-
- /* Information payload */
- memcpy( &pNDEFMessage[Offset], pURI->Information, strlen(pURI->Information) );
- Offset += strlen(pURI->Information);
- }
-
- *size = Offset;
-
-}
-/**
- * @brief This function write the NDEF file with the URI data given in the structure.
- * @param pURI : pointer on structure that contain the URI information.
- * @retval NDEF_OK : NDEF file data written in the tag.
- * @retval NDEF_ERROR : not able to store NDEF in tag.
- * @retval NDEF_ERROR_MEMORY_INTERNAL : Cannot write to tag.
- * @retval NDEF_ERROR_NOT_FORMATED : CCFile data not supported or not present.
- * @retval NDEF_ERROR_MEMORY_TAG : Size not compatible with memory.
- * @retval NDEF_ERROR_LOCKED : Tag locked, cannot be write.
- */
-uint16_t NDEF_URI::NDEF_WriteURI( sURI_Info *pURI )
-{
- uint16_t status = NDEF_ERROR, Offset = 0;
-
- NDEF_PrepareURIMessage( pURI, &NDEF_Buffer[FIRST_RECORD_OFFSET], &Offset );
-
- /* Write NDEF */
- NDEF_Buffer[0] = (Offset & 0xFF00) >> 8;
- NDEF_Buffer[1] = Offset & 0x00FF;
-
- status = WriteData( 0x00, Offset + FIRST_RECORD_OFFSET, NDEF_Buffer );
-
- return status;
-}
-
-char NDEF_URI::getUriType( char *protocol )
-{
- if( !memcmp( protocol, URI_ID_0x01_STRING, strlen(URI_ID_0x01_STRING) ) ) return URI_ID_0x01;
- else if( !memcmp( protocol, URI_ID_0x02_STRING, strlen(URI_ID_0x02_STRING) ) ) return URI_ID_0x02;
- else if( !memcmp( protocol, URI_ID_0x03_STRING, strlen(URI_ID_0x03_STRING) ) ) return URI_ID_0x03;
- else if( !memcmp( protocol, URI_ID_0x04_STRING, strlen(URI_ID_0x04_STRING) ) ) return URI_ID_0x04;
- else if( !memcmp( protocol, URI_ID_0x05_STRING, strlen(URI_ID_0x05_STRING) ) ) return URI_ID_0x05;
- else if( !memcmp( protocol, URI_ID_0x06_STRING, strlen(URI_ID_0x06_STRING) ) ) return URI_ID_0x06;
- else if( !memcmp( protocol, URI_ID_0x07_STRING, strlen(URI_ID_0x07_STRING) ) ) return URI_ID_0x07;
- else if( !memcmp( protocol, URI_ID_0x08_STRING, strlen(URI_ID_0x08_STRING) ) ) return URI_ID_0x08;
- else if( !memcmp( protocol, URI_ID_0x09_STRING, strlen(URI_ID_0x09_STRING) ) ) return URI_ID_0x09;
- else if( !memcmp( protocol, URI_ID_0x0A_STRING, strlen(URI_ID_0x0A_STRING) ) ) return URI_ID_0x0A;
- else if( !memcmp( protocol, URI_ID_0x0B_STRING, strlen(URI_ID_0x0B_STRING) ) ) return URI_ID_0x0B;
- else if( !memcmp( protocol, URI_ID_0x0C_STRING, strlen(URI_ID_0x0C_STRING) ) ) return URI_ID_0x0C;
- else if( !memcmp( protocol, URI_ID_0x0D_STRING, strlen(URI_ID_0x0D_STRING) ) ) return URI_ID_0x0D;
- else if( !memcmp( protocol, URI_ID_0x0E_STRING, strlen(URI_ID_0x0E_STRING) ) ) return URI_ID_0x0E;
- else if( !memcmp( protocol, URI_ID_0x0F_STRING, strlen(URI_ID_0x0F_STRING) ) ) return URI_ID_0x0F;
- else if( !memcmp( protocol, URI_ID_0x10_STRING, strlen(URI_ID_0x10_STRING) ) ) return URI_ID_0x10;
- else if( !memcmp( protocol, URI_ID_0x11_STRING, strlen(URI_ID_0x11_STRING) ) ) return URI_ID_0x11;
- else if( !memcmp( protocol, URI_ID_0x12_STRING, strlen(URI_ID_0x12_STRING) ) ) return URI_ID_0x12;
- else if( !memcmp( protocol, URI_ID_0x13_STRING, strlen(URI_ID_0x13_STRING) ) ) return URI_ID_0x13;
- else if( !memcmp( protocol, URI_ID_0x14_STRING, strlen(URI_ID_0x14_STRING) ) ) return URI_ID_0x14;
- else if( !memcmp( protocol, URI_ID_0x15_STRING, strlen(URI_ID_0x15_STRING) ) ) return URI_ID_0x15;
- else if( !memcmp( protocol, URI_ID_0x16_STRING, strlen(URI_ID_0x16_STRING) ) ) return URI_ID_0x16;
- else if( !memcmp( protocol, URI_ID_0x17_STRING, strlen(URI_ID_0x17_STRING) ) ) return URI_ID_0x17;
- else if( !memcmp( protocol, URI_ID_0x18_STRING, strlen(URI_ID_0x18_STRING) ) ) return URI_ID_0x18;
- else if( !memcmp( protocol, URI_ID_0x19_STRING, strlen(URI_ID_0x19_STRING) ) ) return URI_ID_0x19;
- else if( !memcmp( protocol, URI_ID_0x1A_STRING, strlen(URI_ID_0x1A_STRING) ) ) return URI_ID_0x1A;
- else if( !memcmp( protocol, URI_ID_0x1B_STRING, strlen(URI_ID_0x1B_STRING) ) ) return URI_ID_0x1B;
- else if( !memcmp( protocol, URI_ID_0x1C_STRING, strlen(URI_ID_0x1C_STRING) ) ) return URI_ID_0x1C;
- else if( !memcmp( protocol, URI_ID_0x1D_STRING, strlen(URI_ID_0x1D_STRING) ) ) return URI_ID_0x1D;
- else if( !memcmp( protocol, URI_ID_0x1E_STRING, strlen(URI_ID_0x1E_STRING) ) ) return URI_ID_0x1E;
- else if( !memcmp( protocol, URI_ID_0x1F_STRING, strlen(URI_ID_0x1F_STRING) ) ) return URI_ID_0x1F;
- else if( !memcmp( protocol, URI_ID_0x20_STRING, strlen(URI_ID_0x20_STRING) ) ) return URI_ID_0x20;
- else if( !memcmp( protocol, URI_ID_0x21_STRING, strlen(URI_ID_0x21_STRING) ) ) return URI_ID_0x21;
- else if( !memcmp( protocol, URI_ID_0x22_STRING, strlen(URI_ID_0x22_STRING) ) ) return URI_ID_0x22;
- else if( !memcmp( protocol, URI_ID_0x23_STRING, strlen(URI_ID_0x23_STRING) ) ) return URI_ID_0x23;
- else return URI_ID_0x00; // No abreviation for this protocol
-}
-
-NFCTAG_StatusTypeDef NDEF_URI::NFCTAG_ReadData( uint8_t * const pData, const uint16_t TarAddr, const uint16_t Size )
-{
- return(mM24LRp->i2c_ReadData(pData, TarAddr, Size ));
-}
-NFCTAG_StatusTypeDef NDEF_URI::NFCTAG_WriteData( const uint8_t * const pData, const uint16_t TarAddr, const uint16_t Size )
-{
- return(mM24LRp->i2c_WriteData( pData, TarAddr, Size ));
-}
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/
