FeliCa Link library sample

Dependencies:   RCS730 SB1602E mbed

FeliCa Link Library using sample (NUCLEO-F411RE).

  • SCL/D15 ... SCL
  • SDA/D14 ... SDA
  • D8(PA_9) ... IRQ
  • D7(PA_8) ... RFDET (LED blink)

SB1602E is used for debugging. Not necessary.

Files at this revision

API Documentation at this revision

Comitter:
hiro99ma
Date:
Sun Mar 29 06:27:14 2015 +0000
Parent:
0:6efd0ff1fcbe
Commit message:
import miss fix

Changed in this revision

RCS730.cpp Show diff for this revision Revisions of this file
RCS730.h Show diff for this revision Revisions of this file
diff -r 6efd0ff1fcbe -r ae718eabf3a7 RCS730.cpp
--- a/RCS730.cpp	Sun Mar 29 06:13:12 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-#include "RCS730.h"
-
-
-namespace {
-    const int I2C_SLV_ADDR = 0x80;      //Default Slave Address(8bit)
-    const int RETRY_NUM = 5;            //max I2C Retry count
-
-
-    inline int set_tag_rf_send_enable(RCS730 *pRcs)
-    {
-        uint32_t val = 0x00000001;
-        return pRcs->pageWrite(RCS730::REG_TAG_TX_CTRL, reinterpret_cast<const uint8_t*>(&val), sizeof(val));
-    }
-
-    int read_rf_buf(RCS730 *pRcs, uint8_t *pData)
-    {
-        const int LEN_FIRST = 16;
-        int len = 0;
-        int ret;
-
-        //read from LEN
-        ret = pRcs->sequentialRead(RCS730::BUF_RF_COMM, pData, LEN_FIRST);
-        if (ret == 0) {
-            len = pData[0];
-        }
-        if ((ret == 0) && (pData[0] > LEN_FIRST)) {
-            ret = pRcs->sequentialRead(RCS730::BUF_RF_COMM + LEN_FIRST, pData + LEN_FIRST, pData[0] - LEN_FIRST);
-            if (ret != 0) {
-                len = 0;
-            }
-        }
-
-        return len;
-    }
-}
-
-
-RCS730::RCS730(I2C &I2c)
-    : _i2c(I2c), _slvAddr(I2C_SLV_ADDR)
-{
-    _cbTable.pUserData = 0;
-    _cbTable.pCbRxHTRDone = 0;
-    _cbTable.pCbRxHTWDone = 0;
-}
-
-RCS730::~RCS730()
-{
-}
-
-
-void RCS730::setCallbackTable(const callbacktable_t *pInitTable)
-{
-    _cbTable = *pInitTable;
-}
-
-
-int RCS730::byteWrite(uint16_t MemAddr, uint8_t Data)
-{
-    int ret;
-    int retry = RETRY_NUM;
-    char buf[3];
-
-    buf[0] = (char)(MemAddr >> 8);
-    buf[1] = (char)(MemAddr & 0xff);
-    buf[2] = (char)Data;
-
-    do {
-        ret = _i2c.write(_slvAddr, buf, (int)sizeof(buf));
-    } while ((ret != 0) && (retry--));
-
-    return ret;
-}
-
-
-int RCS730::pageWrite(uint16_t MemAddr, const uint8_t *pData, int Length)
-{
-    int ret;
-    int retry = RETRY_NUM;
-    char buf[2];
-
-    buf[0] = (char)(MemAddr >> 8);
-    buf[1] = (char)(MemAddr & 0xff);
-
-    do {
-        ret = _i2c.write(_slvAddr, buf, (int)sizeof(buf), true);
-    } while ((ret != 0) && (retry--));
-    if (ret == 0) {
-        for (int i = 0; i < Length; i++) {
-            ret = !_i2c.write(pData[i]);        //I2C::write(b) return 1 if success.
-            if (ret != 0) {
-                break;
-            }
-        }
-    }
-    _i2c.stop();
-
-    return ret;
-}
-
-
-int RCS730::randomRead(uint16_t MemAddr, uint8_t *pData)
-{
-    return sequentialRead(MemAddr, pData, 1);
-}
-
-
-int RCS730::sequentialRead(uint16_t MemAddr, uint8_t *pData, int Length)
-{
-    int ret;
-    int retry = RETRY_NUM;
-    char buf[2];
-
-    buf[0] = (char)(MemAddr >> 8);
-    buf[1] = (char)(MemAddr & 0xff);
-
-    do {
-        ret = _i2c.write(_slvAddr, buf, (int)sizeof(buf), true);
-    } while ((ret != 0) && (retry--));
-    if (ret == 0) {
-        ret = _i2c.read(_slvAddr | 1, reinterpret_cast<char*>(pData), Length);
-    }
-
-    return ret;
-}
-
-
-int RCS730::currentAddrRead(uint8_t *pData)
-{
-    int ret;
-    int retry = RETRY_NUM;
-
-    do {
-        ret = _i2c.read((int)(_slvAddr | 1), reinterpret_cast<char*>(pData), 1);
-    } while ((ret != 0) && (retry--));
-
-    return ret;
-}
-
-
-inline int RCS730::readRegister(uint16_t Reg, uint32_t* pData)
-{
-    return sequentialRead(Reg, reinterpret_cast<uint8_t*>(pData), sizeof(uint32_t));
-}
-
-
-inline int RCS730::writeRegisterForce(uint16_t Reg, uint32_t Data)
-{
-    return pageWrite(Reg, reinterpret_cast<const uint8_t*>(&Data), sizeof(Data));
-}
-
-
-int RCS730::writeRegister(uint16_t Reg, uint32_t Data, uint32_t Mask/*=0xffffffff*/)
-{
-    int ret;
-    uint32_t cur;   //current register value
-
-    ret = readRegister(Reg, &cur);
-    if (ret == 0) {
-        if ((cur & Mask) != Data) {
-            // change value
-            Data |= cur & ~Mask;
-            ret = writeRegisterForce(Reg, Data);
-        }
-    }
-
-    return ret;
-}
-
-
-int RCS730::setRegOpMode(OpMode Mode)
-{
-    return writeRegister(REG_OPMODE, static_cast<uint32_t>(Mode));
-}
-
-
-int RCS730::setRegSlaveAddr(int SAddr)
-{
-    int ret;
-
-    ret = writeRegister(REG_I2C_SLAVE_ADDR, static_cast<uint32_t>(SAddr));
-
-    if (ret == 0) {
-        _slvAddr = SAddr << 1;
-    }
-
-    return ret;
-}
-
-
-int RCS730::setRegInterruptMask(uint32_t Mask, uint32_t Value)
-{
-    return writeRegister(REG_INT_MASK, Value, Mask);
-}
-
-
-int RCS730::setRegPlugSysCode(PlugSysCode SysCode)
-{
-    return writeRegister(REG_PLUG_CONF1, static_cast<uint32_t>(SysCode), 0x00000002);
-}
-
-
-int RCS730::goToInitializeStatus()
-{
-    return writeRegisterForce(REG_INIT_CTRL, 0x0000004a);
-}
-
-
-int RCS730::initFTMode(OpMode Mode)
-{
-    int ret;
-
-    if (OPMODE_PLUG < Mode) {
-        return -1;
-    }
-
-    ret = setRegOpMode(Mode);
-    if (ret == 0) {
-        //ret = setRegInterruptMask(MSK_INT_TAG_TX_DONE | MSK_INT_TAG_RW_RX_DONE2, 0);
-        ret = setRegInterruptMask(MSK_INT_TAG_RW_RX_DONE2, 0);
-    }
-
-    return ret;
-}
-
-
-#if 0
-int RCS730::initNfcDepMode()
-{
-    int ret;
-
-    ret = setRegOpMode(OPMODE_NFCDEP);
-    if (ret == 0) {
-        ret = setRegInterruptMask(MSK_INT_TAG_TX_DONE | MSK_INT_TAG_NFC_DEP_RX_DONE, 0);
-    }
-
-    return ret;
-}
-#endif
-
-
-void RCS730::isrIrq()
-{
-    int ret;
-    bool b_send = false;
-    uint32_t intstat;
-    uint8_t rf_buf[256];
-
-    ret = readRegister(REG_INT_STATUS, &intstat);
-    if (ret == 0) {
-
-        if (intstat & MSK_INT_TAG_RW_RX_DONE2) {
-            //Read or Write w/o Enc Rx done for HT block
-            int len = read_rf_buf(this, rf_buf);
-            if (len > 0) {
-                switch (rf_buf[1]) {
-                    case 0x06:  //Read w/o Enc
-                        if (_cbTable.pCbRxHTRDone) {
-                            b_send = (*_cbTable.pCbRxHTRDone)(_cbTable.pUserData, rf_buf, len);
-                        }
-                        break;
-                    case 0x08:  //Write w/o Enc;
-                        if (_cbTable.pCbRxHTWDone) {
-                            b_send = (*_cbTable.pCbRxHTWDone)(_cbTable.pUserData, rf_buf, len);
-                        }
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-#if 0
-        if (_cbTable.pCbRxDepDone && (intstat & MSK_INT_TAG_NFC_DEP_RX_DONE)) {
-            //DEP command Rx done
-            int len = read_rf_buf(this, rf_buf);
-            (*_cbTable.pCbRxDepDone)(_cbTable.pUserData, rf_buf, len);
-        }
-        if (_cbTable.pCbTxDone && (intstat & MSK_INT_TAG_TX_DONE)) {
-            //Tx Done
-            int len = read_rf_buf(this, rf_buf);
-            (*_cbTable.pCbTxDone)(_cbTable.pUserData, rf_buf, len);
-        }
-
-        uint32_t intother = intstat & ~(MSK_INT_TAG_TX_DONE | MSK_INT_TAG_NFC_DEP_RX_DONE | MSK_INT_TAG_RW_RX_DONE2);
-        if (_cbTable.pCbOther && intother) {
-            (*_cbTable.mCbOther)(_cbTable.pUserData, 0, intother);
-        }
-#endif
-
-        //response
-        if (b_send) {
-            ret = pageWrite(BUF_RF_COMM, rf_buf, rf_buf[0]);
-            if (ret == 0) {
-                set_tag_rf_send_enable(this);
-            }
-        }
-
-        writeRegisterForce(REG_INT_CLEAR, intstat);
-    }
-}
-
-
-
-
diff -r 6efd0ff1fcbe -r ae718eabf3a7 RCS730.h
--- a/RCS730.h	Sun Mar 29 06:13:12 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/** FeliCa Link(RC-S730) Library
- *
- * @file    RCS730.h
- * @author  hiro99ma
- * @version 1.00
- */
-
-#ifndef RCS730_H
-#define RCS730_H
-
-#include "mbed.h"
-
-/** callback function type */
-typedef bool (*RCS730_CALLBACK_T)(void *pUser, uint8_t *pData, uint8_t Len);
-
-
-/** FeliCa Link(RC-S730) class
- *
- * @class RCS730
- */
-class RCS730 {
-public:
-    static const uint16_t BLK_PAD0 = 0x0000;        //!< [addr]PAD0
-    static const uint16_t BLK_PAD1 = 0x0001;        //!< [addr]PAD1
-    static const uint16_t BLK_PAD2 = 0x0002;        //!< [addr]PAD2
-    static const uint16_t BLK_PAD3 = 0x0003;        //!< [addr]PAD3
-    static const uint16_t BLK_PAD4 = 0x0004;        //!< [addr]PAD4
-    static const uint16_t BLK_PAD5 = 0x0005;        //!< [addr]PAD5
-    static const uint16_t BLK_PAD6 = 0x0006;        //!< [addr]PAD6
-    static const uint16_t BLK_PAD7 = 0x0007;        //!< [addr]PAD7
-    static const uint16_t BLK_PAD8 = 0x0008;        //!< [addr]PAD8
-    static const uint16_t BLK_PAD9 = 0x0009;        //!< [addr]PAD9
-    static const uint16_t BLK_PAD10 = 0x000a;       //!< [addr]PAD10
-    static const uint16_t BLK_PAD11 = 0x000b;       //!< [addr]PAD11
-    static const uint16_t BLK_PAD12 = 0x000c;       //!< [addr]PAD12
-    static const uint16_t BLK_PAD13 = 0x000d;       //!< [addr]PAD13
-    static const uint16_t BLK_REG = 0x000e;         //!< [addr]REG
-    static const uint16_t BLK_RC = 0x0080;          //!< [addr]RC
-    static const uint16_t BLK_MAC = 0x0081;         //!< [addr]MAC
-    static const uint16_t BLK_ID = 0x0082;          //!< [addr]ID
-    static const uint16_t BLK_D_ID = 0x0083;        //!< [addr]D_ID
-    static const uint16_t BLK_SER_C = 0x0084;       //!< [addr]SER_C
-    static const uint16_t BLK_SYS_C = 0x0085;       //!< [addr]SYS_C
-    static const uint16_t BLK_CKV = 0x0086;         //!< [addr]CKV
-    static const uint16_t BLK_CK = 0x0087;          //!< [addr]CK
-    static const uint16_t BLK_MC = 0x0088;          //!< [addr]MC
-    static const uint16_t BLK_WCNT = 0x0090;        //!< [addr]WCNT
-    static const uint16_t BLK_MAC_A = 0x0091;       //!< [addr]MAC_A
-    static const uint16_t BLK_STATE = 0x0092;       //!< [addr]STATE
-    static const uint16_t BLK_CRC_CHECK = 0x00a0;   //!< [addr]CRC_CHECK
-
-    static const uint16_t REG_OPMODE = 0x0b00;              //!< [addr]Operation Mode register
-    static const uint16_t REG_TAG_TX_CTRL = 0x0b04;         //!< [addr]Tag TX Control register
-    static const uint16_t REG_TAG_RX_CTRL = 0x0b08;         //!< [addr]Tag RX Control register
-    static const uint16_t REG_RF_STATUS = 0x0b0c;           //!< [addr]RF Status register
-    static const uint16_t REG_I2C_SLAVE_ADDR = 0x0b10;      //!< [addr]I2C Slave Address register
-    static const uint16_t REG_I2C_BUFF_CTRL = 0x0b14;       //!< [addr]I2C Buffer Control register
-    static const uint16_t REG_I2C_STATUS = 0x0b18;          //!< [addr]I2C Status register
-    static const uint16_t REG_INT_MASK = 0x0b20;            //!< [addr]Interrupt Mask register
-    static const uint16_t REG_INT_RAW_STATUS = 0x0b24;      //!< [addr]Interrupt Raw Status register
-    static const uint16_t REG_INT_STATUS = 0x0b28;          //!< [addr]Interrupt Status register
-    static const uint16_t REG_INT_CLEAR = 0x0b2c;           //!< [addr]Interrupt Clear register
-    static const uint16_t REG_WRT_PROTECT = 0x0b30;         //!< [addr]Write Protect register
-    static const uint16_t REG_STBY_CTRL = 0x0b34;           //!< [addr]Standby Control register
-    static const uint16_t REG_INIT_CTRL = 0x0b38;           //!< [addr]Initialize Control register
-    static const uint16_t REG_HOST_IF_SECURITY = 0x0b40;    //!< [addr]Host Interface Security register
-    static const uint16_t REG_HOST_IF_WCNT = 0x0b44;        //!< [addr]Host Interface WCNT register
-    static const uint16_t REG_RF_PARAM = 0x0b50;            //!< [addr]RF Parameter register
-    static const uint16_t REG_LITES_HT_CONF = 0x0b60;       //!< [addr]Lite-S Host Through Configration register
-    static const uint16_t REG_LITES_PMM = 0x0b64;           //!< [addr]Lite-S PMm register
-    static const uint16_t REG_PLUG_CONF1 = 0x0b80;          //!< [addr]Plug Configration 1 register
-    static const uint16_t REG_PLUG_CONF2 = 0x0b84;          //!< [addr]Plug Configration 2 register
-    static const uint16_t REG_PLUG_CONF3 = 0x0b88;          //!< [addr]Plug Configration 3 register
-    static const uint16_t REG_DEP_CONF = 0x0ba0;            //!< [addr]DEP Configration register
-    static const uint16_t REG_DEP_PMM1 = 0x0ba4;            //!< [addr]DEP PMm1 register
-    static const uint16_t REG_DEP_PMM2 = 0x0ba8;            //!< [addr]DEP PMm2 register
-    static const uint16_t REG_RW_CONF = 0x0bc0;             //!< [addr]RW Configration register
-    static const uint16_t REG_RW_CTRL = 0x0b4c;             //!< [addr]RW Control register
-    static const uint16_t REG_RW_TIMEOUT = 0x0bc8;          //!< [addr]RW Timeout register
-
-    static const uint16_t BUF_RF_COMM = 0x0c00;                         //!< [addr]RF Communication
-    static const uint16_t BUF_I2CFELICA_COMM = 0x0d00;                  //!< [addr]I2C FeliCa Communication
-
-    static const uint32_t MSK_MODE_CHANGED = 0x80000000;                //!< OPMODE changed
-    static const uint32_t MSK_INT_RW_RX_ERROR = 0x00080000;             //!< [R/W]
-    static const uint32_t MSK_INT_RW_RX_TIMEOUT = 0x00040000;           //!< [R/W]
-    static const uint32_t MSK_INT_RW_RX_DONE = 0x00020000;              //!< [R/W]
-    static const uint32_t MSK_INT_RW_TX_DONE = 0x00010000;              //!< [R/W]
-    static const uint32_t MSK_INT_I2C_FELICA_CMD_ERROR = 0x00000200;    //!< [I2C]
-    static const uint32_t MSK_INT_I2C_FELICA_CMD_DONE = 0x00000100;     //!< [I2C]
-    static const uint32_t MSK_INT_TAG_TX_DONE = 0x00000040;             //!< [tag/DEP]Tx done
-    static const uint32_t MSK_INT_TAG_NFC_DEP_RX_DONE = 0x00000020;     //!< [DEP]D4 command Rx done
-    static const uint32_t MSK_INT_TAG_RW_RX_DONE3 = 0x00000010;         //!< [tag]Write w/o Enc Rx done for HT block
-    static const uint32_t MSK_INT_TAG_RW_RX_DONE2 = 0x00000008;         //!< [tag]Read or Write w/o Enc Rx done for HT block
-    static const uint32_t MSK_INT_TAG_RW_RX_DONE1 = 0x00000004;         //!< [tag]Write w/o Enc Rx done for User block
-    static const uint32_t MSK_INT_TAG_PL_RX_DONE = 0x00000002;          //!< [tag]Polling Rx done
-    static const uint32_t MSK_INT_TAG_RX_DONE = 0x00000001;             //!< [tag]Read or Write w/o Enc Rx done
-    static const uint32_t MSK_ALL = 0x800f037f;
-
-public:
-
-    /** Operation Mode
-     *
-     * @enum    OpMode
-     */
-    enum OpMode {
-        OPMODE_LITES_HT = 0x00,        //!< Lite-S HT mode
-        OPMODE_PLUG = 0x01,            //!< Plug mode
-        OPMODE_NFCDEP = 0x02,          //!< NFC-DEP mode
-        OPMODE_LITES = 0x03            //!< Lite-S mode
-    };
-
-
-    /** System Code in Plug mode
-     *
-     * @enum    PlugSysCode
-     */
-    enum PlugSysCode {
-        PLUG_SYS_CODE_FEEL = 0,     //!< 0xFEE1
-        PLUG_SYS_CODE_NDEF = 2,     //!< 0x12FC
-    };
-
-
-    /** Callback Table
-     *
-     * @struct  callbacktable_t
-     */
-    struct callbacktable_t {
-        void                    *pUserData;         //!< User Data pointer
-        RCS730_CALLBACK_T       pCbRxHTRDone;       //!< Rx Done(Read w/o Enc[HT mode])
-        RCS730_CALLBACK_T       pCbRxHTWDone;       //!< Rx Done(Write w/o Enc[HT mode])
-#if 0
-        RCS730_CALLBACK_T       pCbTxDone;          //!< Tx Done
-        RCS730_CALLBACK_T       pCbRxDepDone;       //!< Rx Done(DEP mode)
-        RCS730_CALLBACK_T       pCbOther;           //!< Other IRQ interrupt
-#endif
-    };
-
-public:
-    /** constructor
-     *
-     * @param   [in,out]    I2c     I2C
-     */
-    RCS730(I2C &I2c);
-    
-    /** destructor
-     */
-    virtual ~RCS730();
-
-    /** Set Callback Table
-     *
-     * @param   [in]        pInitTable      callback table
-     */
-    void setCallbackTable(const callbacktable_t *pInitTable);
-
-
-public:
-    /** Byte Write(1byte)
-     *
-     * @param   [in]    MemAddr     memory address to write
-     * @param   [in]    pData       data to write
-     * @retval  0       success
-     */
-    int byteWrite(uint16_t MemAddr, uint8_t Data);
-
-
-    /** Page Write
-     *
-     * @param   [in]    MemAddr     memory address to write
-     * @param   [in]    pData       data to write
-     * @param   [in]    Length      pData Length
-     * @retval  0       success
-     */
-    int pageWrite(uint16_t MemAddr, const uint8_t *pData, int Length);
-
-
-    /** Random Read(1byte)
-     *
-     * @param   [in]    MemAddr     memory address to read
-     * @param   [out]   pData       data buffer to read
-     * @retval  0       success
-     */
-    int randomRead(uint16_t MemAddr, uint8_t *pData);
-
-
-    /** Sequential Read
-     *
-     * @param   [in]    MemAddr     memory address to read
-     * @param   [out]   pData       data buffer to read
-     * @param   [in]    Length      pData Length
-     * @retval  0       success
-     */
-    int sequentialRead(uint16_t MemAddr, uint8_t *pData, int Length);
-
-
-    /** Current Address Read(1byte)
-     *
-     * @param   [out]   pData       data buffer to read
-     * @retval  0       success
-     */
-    int currentAddrRead(uint8_t *pData);
-
-
-    /** Read Register
-     *
-     * @param   [in]    Reg         FeliCa Link Register
-     * @param   [out]   pData       data buffer to read
-     * @retval  0       success
-     */
-    inline int readRegister(uint16_t Reg, uint32_t *pData);
-
-
-    /** Write Register Force
-     *
-     * @param   [in]    Reg         FeliCa Link Register
-     * @param   [in]    Data        data buffer to write
-     * @retval  0       success
-     */
-    inline int writeRegisterForce(uint16_t Reg, uint32_t Data);
-
-
-    /** Write Register
-     *
-     * Write Register if not same.
-     *
-     * @param   [in]    Reg         FeliCa Link Register
-     * @param   [in]    Data        data buffer to write
-     * @param   [in]    Mask        write mask(default: 0xffffffff)
-     * @retval  0       success
-     *
-     * @note
-     *      - this API like below:
-     *          @code
-     *              uint32_t val = REG[Reg];
-     *              REG[Reg] = (val & ~Mask) | Data;
-     *          @endcode
-     */
-    int writeRegister(uint16_t Reg, uint32_t Data, uint32_t Mask=0xffffffff);
-
-
-    /** Set FeliCa Lite operation mode
-     *
-     * @param   [in]    Mode        Operation Mode
-     * @retval  0       success
-     *
-     * @note
-     *      - This value is written to non-volatile memory in FeliCa Link.
-     */
-    int setRegOpMode(OpMode Mode);
-
-
-    /** Set I2C Slave Address
-     *
-     * @param   [in]    SAddr       Slave Address(7bit address)
-     * @retval  0       success
-     *
-     * @attention
-     *      - SAddr is "7bit" address(not 8bit address).
-     *
-     * @note
-     *      - This value is written to non-volatile memory in FeliCa Link.
-     *      - Default slave address is 0x40.
-     */
-    int setRegSlaveAddr(int SAddr);
-
-
-    /** Set FeliCa Lite interrupt mask
-     *
-     * @param   [in]    Mask        Bit Mask
-     * @param   [in]    Value       Set value to Mask
-     * @retval  0       success
-     *
-     * @note
-     *      - This value is written to non-volatile memory in FeliCa Link.
-     */
-    int setRegInterruptMask(uint32_t Mask, uint32_t Value);
-
-
-    /** Set System Code in Plug mode
-     *
-     * @param   [in]    SysCode     System Code
-     * @retval  0       success
-     *
-     * @note
-     *      - This value is written to non-volatile memory in FeliCa Link.
-     */
-    int setRegPlugSysCode(PlugSysCode SysCode);
-
-
-    /** go to initialize status
-     *
-     * @retval  0       success
-     */
-    int goToInitializeStatus();
-
-
-    /** initialize to FeliCa Through mode
-     *
-     * @param   [in]    Mode    Operation Mode(OPMODE_LITES_HT or OPMODE_PLUG)
-     * @retval  0       success
-     */
-    int initFTMode(OpMode Mode);
-
-
-#if 0
-    /** initialize to NFC-DEP mode
-     *
-     * @retval  0       success
-     */
-    int initNfcDepMode();
-#endif
-
-
-    /** Interrupt Service Routine(IRQ pin)
-     *
-     */
-    void isrIrq();
-
-
-private:
-    I2C&                    _i2c;           //!< I2C
-    int                     _slvAddr;       //!< Slave Address(8bit)
-    callbacktable_t         _cbTable;       //!< Callback Table
-};
-
-#endif /* RCS730_H */
-
-
-
-