com.gary.rfid.proto

## Class RFIDPnPacket

- java.lang.Object
- - com.gary.rfid.proto.RFIDPnPacket

-     public class RFIDPnPacket
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `AUTHENTICATION_ERR`
    `static int` | `COMOPEN_ERR`
    `static int` | `FORMART_ERR`
    `USBOp` | `mUSBOp`
    `static int[]` | `PACKET`
    `static int` | `PARAMETER_ERR`
    `static int` | `PURSE_FORMAT_ERR`
    `static int` | `READ_CARD_ERR`
    `static int` | `READ_ERR`
    `static int` | `READ_FORMAT_ERR`
    `static int` | `SUCCESS`
    `static int` | `TRANSFER_ERR`
    `static int` | `WRITE_ERR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RFIDPnPacket(UsbManager manager, Context context, java.lang.String AppName)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `buildPackage(int[] inTFI, int inTFILen, int[] inData, int inDataLen)`
    `static java.lang.String` | `convert2String(int[] data, int length)`
    `int` | `PN_RF_CPU_APDU(int[] inApduData, int inApduDataLen, int[] outApduData, int inTimeOut)`
    `int` | `PN_RF_CPU_Search(int inTimeOut)` 函数功能： 寻非接CPU卡
    `int` | `PN_RF_M1_Authentication(int inBlock, int[] inCardNo, int inCardNoLen, int[] inCardKey, int inCardKeyLen, int inTimeOut)` 函数功能： 验证秘钥
    `long` | `PN_RF_M1_PurseBalance(int inBlock, int inTimeOut)` 函数功能： 读取钱包余额
    `int` | `PN_RF_M1_PurseDecrease(int inBlock, long inAmount, int inTimeOut)` 函数功能： 电子钱包扣款
    `int` | `PN_RF_M1_PurseIncrease(int inBlock, long inAmount, int inTimeOut)` 函数功能： 电子钱包充值
    `int` | `PN_RF_M1_PurseInit(int inBlock, long inAmount, int inTimeOut)` 函数功能： 初始化电子钱包
    `int` | `PN_RF_M1_Read(int inBlock, int[] outCardNoData, int inTimeOut)` 函数功能： 读S50卡片
    `int` | `PN_RF_M1_Search(int[] outCardNoData, int inTimeOut)` 函数功能： 寻卡
    `int` | `PN_RF_M1_Write(int inBlock, int[] inCardNoData, int inCardNoDataLen, int inTimeOut)` 函数功能： 写卡
    `int` | `PN_RF_Set(int inMode)` 功能：打开或者关闭天线
    `static int` | `resolveConfigData(int[] configData)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PACKET

          public static int[] PACKET

    - #### SUCCESS

          public static final int SUCCESS

      See Also:
        Constant Field Values

    - #### PARAMETER_ERR

          public static final int PARAMETER_ERR

      See Also:
        Constant Field Values

    - #### READ_ERR

          public static final int READ_ERR

      See Also:
        Constant Field Values

    - #### WRITE_ERR

          public static final int WRITE_ERR

      See Also:
        Constant Field Values

    - #### COMOPEN_ERR

          public static final int COMOPEN_ERR

      See Also:
        Constant Field Values

    - #### FORMART_ERR

          public static final int FORMART_ERR

      See Also:
        Constant Field Values

    - #### AUTHENTICATION_ERR

          public static final int AUTHENTICATION_ERR

      See Also:
        Constant Field Values

    - #### READ_FORMAT_ERR

          public static final int READ_FORMAT_ERR

      See Also:
        Constant Field Values

    - #### READ_CARD_ERR

          public static final int READ_CARD_ERR

      See Also:
        Constant Field Values

    - #### PURSE_FORMAT_ERR

          public static final int PURSE_FORMAT_ERR

      See Also:
        Constant Field Values

    - #### TRANSFER_ERR

          public static final int TRANSFER_ERR

      See Also:
        Constant Field Values

    - #### mUSBOp

          public USBOp mUSBOp

  - ### Constructor Detail

    - #### RFIDPnPacket

          public RFIDPnPacket(UsbManager manager,
                              Context context,
                              java.lang.String AppName)

  - ### Method Detail

    - #### buildPackage

          public static int buildPackage(int[] inTFI,
                                         int inTFILen,
                                         int[] inData,
                                         int inDataLen)

    - #### resolveConfigData

          public static int resolveConfigData(int[] configData)

    - #### convert2String

          public static java.lang.String convert2String(int[] data,
                                                        int length)

    - #### PN_RF_Set

          public int PN_RF_Set(int inMode)

      功能：打开或者关闭天线
      Parameters:
        `inMode` - 0 = 打开天线 1 = 关闭天线
      Returns:
        0 = SUCCESS 其他值错误

    - #### PN_RF_M1_Search

          public int PN_RF_M1_Search(int[] outCardNoData,
                                     int inTimeOut)

      函数功能： 寻卡
      Parameters:
        `outCardNoData` -
      Returns:

    - #### PN_RF_M1_Authentication

          public int PN_RF_M1_Authentication(int inBlock,
                                             int[] inCardNo,
                                             int inCardNoLen,
                                             int[] inCardKey,
                                             int inCardKeyLen,
                                             int inTimeOut)

      函数功能： 验证秘钥
      Parameters:
        `inBlock` - 块号 --input
        `inCardNo` - 卡号 --input
        `inCardNoLen` - 卡号长度 --input
        `inCardKey` - 秘钥 --input
        `inCardKeyLen` - 秘钥长度 --input
        `inTimeOut` - 超时 --input
      Returns:
        成功 0 失败 负数

    - #### PN_RF_M1_Read

          public int PN_RF_M1_Read(int inBlock,
                                   int[] outCardNoData,
                                   int inTimeOut)

      函数功能： 读S50卡片
      Parameters:
        `inBlock` - 块号
        `outCardNoData` - 读到的卡片数据
        `inTimeOut` - 读卡超时
      Returns:
        失败 负数 成功 返回读到的卡片数据长度

    - #### PN_RF_M1_Write

          public int PN_RF_M1_Write(int inBlock,
                                    int[] inCardNoData,
                                    int inCardNoDataLen,
                                    int inTimeOut)

      函数功能： 写卡
      Parameters:
        `inBlock` - 写卡块号
        `inCardNoData` - 写入的数据
        `inCardNoDataLen` - 写入的数据长度
        `inTimeOut` - 超时
      Returns:
        成功 0 失败 负数

    - #### PN_RF_M1_PurseInit

          public int PN_RF_M1_PurseInit(int inBlock,
                                        long inAmount,
                                        int inTimeOut)

      函数功能： 初始化电子钱包
      Parameters:
        `inBlock` - 用作钱包的块号
        `inAmount` - 初始化钱包金额
        `inTimeOut` - 超时
      Returns:
        成功 0 失败 负数

    - #### PN_RF_M1_PurseBalance

          public long PN_RF_M1_PurseBalance(int inBlock,
                                            int inTimeOut)

      函数功能： 读取钱包余额
      Parameters:
        `inBlock` - 钱包的块号
        `inTimeOut` - 读钱包余额超时
      Returns:
        >=0 钱包金额 <0 读取钱包余额失败

    - #### PN_RF_M1_PurseIncrease

          public int PN_RF_M1_PurseIncrease(int inBlock,
                                            long inAmount,
                                            int inTimeOut)

      函数功能： 电子钱包充值
      Parameters:
        `inBlock` - 钱包的块号
        `inAmount` - 充值金额
        `inTimeOut` - 钱包充值超时
      Returns:
        成功 0 失败 负数

    - #### PN_RF_M1_PurseDecrease

          public int PN_RF_M1_PurseDecrease(int inBlock,
                                            long inAmount,
                                            int inTimeOut)

      函数功能： 电子钱包扣款
      Parameters:
        `inBlock` - 钱包的块号
        `inAmount` - 扣款金额
        `inTimeOut` - 钱包扣款超时
      Returns:
        成功 0 失败 负数

    - #### PN_RF_CPU_Search

          public int PN_RF_CPU_Search(int inTimeOut)

      函数功能： 寻非接CPU卡
      Parameters:
        `inTimeOut` - 寻卡超时时间
      Returns:
        成功 0 失败 负数

    - #### PN_RF_CPU_APDU

          public int PN_RF_CPU_APDU(int[] inApduData,
                                    int inApduDataLen,
                                    int[] outApduData,
                                    int inTimeOut)