Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers protocols.h Source File

protocols.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2013-2018, ARM Limited, All Rights Reserved
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License"); you may
00006  * not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  * http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00013  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 /**
00018  * \file protocols.h
00019  * \copyright Copyright (c) ARM Ltd 2013
00020  * \author Donatien Garnier
00021  * \details List of RF protocols
00022  */
00023 
00024 /** \addtogroup Transceiver
00025  *  @{
00026  *  \name Protocols and RF configuration
00027  *  @{
00028  */
00029 
00030 #ifndef PROTOCOLS_H_
00031 #define PROTOCOLS_H_
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #include "stack/nfc_common.h"
00038 
00039 typedef enum __RF_PROTOCOL {
00040     __RF_PROTOCOL_UNKNOWN = 0,
00041     //Reader
00042     RF_PROTOCOL_ISO_14443_A_READER,
00043     RF_PROTOCOL_ISO_14443_B_READER,
00044     RF_PROTOCOL_INNOVATRON_READER,
00045     RF_PROTOCOL_ISO_15693_READER,
00046     RF_PROTOCOL_FELICA_READER,
00047     //... add other protocols here
00048     RF_PROTOCOL_ISO_14443_A_TARGET,
00049     RF_PROTOCOL_ISO_14443_B_TARGET,
00050     RF_PROTOCOL_INNOVATRON_TARGET,
00051     RF_PROTOCOL_ISO_15693_TARGET,
00052     RF_PROTOCOL_FELICA_TARGET,
00053     RF_PROTOCOL_ISO_DEP_TARGET, //ISO 14443-4 transport protocol
00054     RF_PROTOCOL_NFC_DEP_TARGET, //NFC-IP 1 transport protocol
00055     //... add other protocols here
00056 
00057 } RF_PROTOCOL;
00058 
00059 #define RF_PROTOCOL_IS_TARGET(x) ((x)>=RF_PROTOCOL_ISO_14443_A_TARGET)
00060 #define RF_PROTOCOL_IS_READER(x) (!RF_PROTOCOL_IS_TARGET(x))
00061 
00062 typedef uint32_t RF_OPTION;
00063 //These options can be ORed
00064 #define RF_OPTION_NONE            0x00
00065 #define RF_OPTION_COMPUTE_CRC     0x01
00066 #define RF_OPTION_COMPUTE_PARITY  0x02
00067 #define RF_OPTION_CHECK_CRC       0x04
00068 #define RF_OPTION_CHECK_PARITY    0x08
00069 #define RF_OPTION_CLOSE           0x10 //Last frame
00070 
00071 typedef enum __RF_BITRATE {
00072     RF_BITRATE_106K = 0x00,
00073     RF_BITRATE_212K = 0x01,
00074     RF_BITRATE_424K = 0x02,
00075     RF_BITRATE_848K = 0x03,
00076 
00077 } RF_BITRATE;
00078 
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082 
00083 #endif /* PROTOCOLS_H_ */
00084 
00085 /**
00086  * @}
00087  * @}
00088  * */
00089