AsReaderRFIDDeviceDelegate

⚠️ 注意:
本 delegate メソッド群は、AsReader デバイスが正常に接続されており、かつ対応するメソッドを呼び出した後にコールバックされます。
非対応モデルや接続されていない場合は、コールバックは発生しません。


pcEpcReceived

タグデータを受信します。
startScan実行後にコールバックで実行結果を返します。

- (void)pcEpcReceived:(NSData *)pcEpc;

パラメータ

項目名

説明

pcEpc

NSData

受信した PC および EPC データ(バイナリ形式)

サンプルコード

- (void)pcEpcReceived:(NSData *)pcEpc{
    // 受信した PC+EPC データを処理
}

pcEpcRssiReceived

RSSI付きのタグデータを受信します。
startReadTagsAndRssiWithTagNum実行後にコールバックで実行結果を返します。

- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi;

パラメータ

項目名

説明

pcEpc

NSData

受信した PC および EPC データ(バイナリ形式)

rssi

int

RSSI(RFIDタグからの応答波の信号強度、単位: dBm)

サンプルコード

- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi{
    //pcEpc pcEPCデータ
    //rssi RSSIデータ
}

didSetOutputPowerLevel

setOutputPowerLevel実行後にコールバックで実行結果を返します。

- (void)didSetOutputPowerLevel:(int)status;

パラメータ

項目名

説明

status

int

出力の設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetOutputPowerLevel:(int)status{
    //status 0:成功、0以外:失敗
}

didSetChannelParamReceived

setChannel 実行後にコールバックで実行結果を返します。

- (void)didSetChannelParamReceived:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

チャンネルパラメータの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetChannelParamReceived:(int)statusCode{
    //statusCode 0:成功、0以外:失敗
}

didSetAntiCollision

setAnticollision 後にコールバックで実行結果を返します。

- (void)didSetAntiCollision:(int)status;

パラメータ

項目名

説明

status

int

アンチコリジョンの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetAntiCollision:(int)status{
    //status 0:成功、0以外:失敗
}

didSetSession

setSession実行後にコールバックで実行結果を返します。

- (void)didSetSession:(int)status;

パラメータ

項目名

説明

status

int

セッションの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetSession:(int)status{
    //status 0:成功、0以外:失敗
}

channelReceived

getChannel実行後にコールバックで実行結果を返します。

- (void)channelReceived:(int)channel channelOffset:(int)channelOffset;

パラメータ

項目名

説明

channel

int

RFIDモジュールのチャンネル

channelOffset

int

RFIDモジュールのチャンネルオフセット

サンプルコード

- (void)channelReceived:(int)channel channelOffset:(int)channelOffset{
    //channel RFIDモジュールのチャンネル
    //channelOffset RFIDモジュールのチャンネルオフセット
}

anticolParamReceived

getAnticollision実行後にコールバックで実行結果を返します。

- (void)anticolParamReceived:(int)mode Counter:(int)counter;

パラメータ

項目名

説明

mode

int

0:固定Q、1:動的Q

counter

int

カウンター

サンプルコード

- (void)anticolParamReceived:(int)mode Counter:(int)counter{
    //mode 0:固定Q、1:動的Q
    //counter カウンター
}

txPowerLevelReceived

getOutputPowerLevel実行後にコールバックで実行結果を返します。

- (void)txPowerLevelReceived:(NSData*)power;

パラメータ

項目名

説明

power

NSData

SDKがdataデータを解析し、AsReaderInfoクラスに保存します。
このとき、rfidPower、rfidPowerMax、rfidPowerMinの値が更新されます。

サンプルコード

- (void)txPowerLevelReceived:(NSData*)power{
    //power SDKがdataデータを解析し、AsReaderInfoクラスに保存します。このとき、rfidPower、rfidPowerMax、rfidPowerMinの値が更新されます。
}

regionReceived

getRegion実行後に、現在設定されている地域コードをコールバックで返します。

- (void)regionReceived:(int)region;

パラメータ

項目名

説明

region

int

地域コード
17:韓国
33:北米
34:米国
49:ヨーロッパ
65:日本
82:中国
97:ブラジル

サンプルコード

- (void)regionReceived:(int)region{
    //region 地域。17:韓国、33:北米、34:米国、49:ヨーロッパ、65:日本、82:中国、97:ブラジル。
}

onOffTimeChanged

setReadTime実行後に、読み取り時間設定変更を通知するためにコールバックされます。

- (void)onOffTimeChanged;

サンプルコード

- (void)onOffTimeChanged{
}

fhLbtReceived

getFhLbtParameter 実行後に、FH/LBTパラメータ取得結果をコールバックで返します。

- (void)fhLbtReceived:(NSData *)fhLb;

パラメータ

項目名

説明

fhLb

NSData

データ構成:
・読み取り時間(16bit)
・アイドル時間(16bit
・キャリアセンス時間(16bit)
・目標RFパワーサイズ(16bit)
・FH(8bit)
・LBT(8bit)
・CW(8bit)

サンプルコード

- (void)fhLbtReceived:(NSData *)fhLb{
    //fhLb データ構成:読み取り時間(16bit)、停止時間(16bit)、キャリアセンス時間(16bit)、目標RFパワーサイズ(16bit)、FH(8bit)、LBT(8bit)、CW(8bit)
}

hoppingTableReceived

getFrequencyHoppingTable実行後にコールバックで実行結果を返します。

- (void)hoppingTableReceived:(NSData *)table;

パラメータ

項目名

説明

table

NSData

テーブルサイズ(8bit)

サンプルコード

- (void)hoppingTableReceived:(NSData *)table{
    //table テーブルサイズ(8bit)
}

didSetFhLbt

setHoppingOnOff実行後にコールバックで実行結果を返します。

- (void)didSetFhLbt:(int)status;

パラメータ

項目名

説明

status

int

FH/LBTの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetFhLbt:(int)status{
    //status 0:成功、0以外:失敗
}

didSetOptiFreqHPTable

setFreqHoppingTable実行後にコールバックで実行結果を返します。

- (void)didSetOptiFreqHPTable:(int)status;

パラメータ

項目名

説明

status

int

最適周波数ホッピングテーブルの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetOptiFreqHPTable:(int)status{
    //status 0:成功、0以外:失敗
}

didSetFHmodeChanged

setFrequencyHoppingMode実行後にコールバックします。

- (void)didSetFHmodeChanged;

### サンプルコード

```objectivec
- (void)didSetFHmodeChanged{
}

rfidModuleVersionReceived

getRFIDModuleVersion実行後にコールバックします。

- (void)rfidModuleVersionReceived;

### サンプルコード

```objectivec
- (void)rfidModuleVersionReceived{
}

rfidOnOffTimeReceived

getFhLbtParameter実行後にコールバックで実行結果を返します。

- (void)rfidOnOffTimeReceived:(NSData*)data;

パラメータ

項目名

説明

data

NSData

SDKがdataデータを解析し、AsReaderInfoクラスに保存します。
このとき、以下の値が更新されます。
・rfidOnTime
・rfidOffTime
・carrierSenseTime
・rfidListenBeforeTalk
・rfidContinuousWave
・rfidFrequencyHopping

サンプルコード

- (void)rfidOnOffTimeReceived:(NSData*)data{
    //data SDKがdataデータを解析し、AsReaderInfoクラスに保存します。このとき、rfidOnTime、rfidOffTime、carrierSenseTime、rfidListenBeforeTalk、rfidContinuousWave、rfidFrequencyHoppingの値が更新されます。
}

writtenReceived

writeTagMemoryWithEPC実行後にコールバックで実行結果を返します。

- (void)writtenReceived:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

タグメモリ書き込みの設定結果
0:成功
0以外:失敗

サンプルコード

- (void)writtenReceived:(int)statusCode{
    //statusCode 0:成功、0以外:失敗
}

sessionReceived

getSession実行後にコールバックで実行結果を返します。

- (void)sessionReceived:(int)session;

パラメータ

項目名

説明

session

int

セッション値
0:S0
1:S1
2:S2
3:S3 240:開発モード

サンプルコード

- (void)sessionReceived:(int)session{
    //session 0:S0、1:S1、2:S2、3:S3、240:開発モード
}

tagMemoryReceived

readTagWithAccessPassword実行後にコールバックで実行結果を返します。

- (void)tagMemoryReceived:(NSData *)data;

パラメータ

項目名

説明

data

NSData

タグの記憶内容

サンプルコード

- (void)tagMemoryReceived:(NSData *)data{
    //data タグの記憶内容
}

killedReceived

killTagWithPassword実行後にコールバックで実行結果を返します。

- (void)killedReceived:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

タグの破棄設定結果
0:成功
0以外:失敗

サンプルコード

- (void)killedReceived:(int)statusCode{
    //statusCode 0:成功、0以外:失敗
}

lockedReceived

lockTagMemoryWithAccessPassword実行後にコールバックで実行結果を返します。

- (void)lockedReceived:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

タグメモリのロック設定結果
0:成功
0以外:失敗

サンプルコード

- (void)lockedReceived:(int)statusCode{
    //statusCode 0:成功、0以外:失敗
}

responseReboot

デバイスが再起動に入った後にコールバックで実行結果を返します(ファームウェア更新)。

- (void)responseReboot:(int)status;

パラメータ

項目名

説明

status

int

デバイスの再起動設定結果
0:成功
0以外:失敗

サンプルコード

- (void)responseReboot:(int)status{
    //status 0:成功、0以外:失敗
}

updatedRegistry

updateRegistry実行後にコールバックで実行結果を返します。

- (void)updatedRegistry:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

レジストリの更新設定結果
0:成功
0以外:失敗

サンプルコード

- (void)updatedRegistry:(int)statusCode{
    //statusCode 0:成功、0以外:失敗
}

pcEpcSensorDataReceived

startReadTagsRFM実行後にコールバックで実行結果を返します。

- (void)pcEpcSensorDataReceived:(NSData *)pcEpc sensorData:(NSData *)sensorData;

パラメータ

項目名

説明

pcEpc

NSData

温度タグ/湿度タグデータ

sensorData

NSData

温度/湿度データ

サンプルコード

- (void)pcEpcSensorDataReceived:(NSData *)pcEpc sensorData:(NSData *)sensorData {
    int codeType; // タグタイプ、2(湿度タグ)/3(温度タグ)
    int onChipRssiCodeValue; // タグチップのRSSIデータ
    int sensorCodeValue; // 温度/湿度データ(16進数)
    double calcTemp; // 温度(摂氏)
    NSMutableString *tmptagid; // タグのpcepcデータ(16進数) 
    NSData *tagid = pcEpc;
    NSData *taghex = sensorData;
    // pcepc NSDataをNSStringに変換
    tmptagid = [[NSMutableString alloc] init];
    unsigned char* ptrtagid = (unsigned char*)[tagid bytes];
    for(int i = 0; i < tagid.length; i++)
        [tmptagid appendFormat:@"%02X", *ptrtagid++ & 0xFF ];
  
    // 温湿度データの解析
    Byte *b = (Byte*)[taghex bytes];
    codeType = b[0];
    onChipRssiCodeValue = (b[1] << 8) | b[2];
    sensorCodeValue = (b[3] << 8) | b[4];
    double code1 = 0;
    double temp1 = 0;
    double code2 = 0;
    double temp2 = 0;
    double tempCode = sensorCodeValue;
    if (codeType == 3) {
        int temp = b[7] << 4;
        code1 = temp + ((b[8] >> 4) & 0x0F);
        temp = (b[8] & 0x0F) << 7;
        temp1 = temp + ((b[9] >> 1) & 0x7F);
        temp = (b[9] & 0x01) << 8;
        temp = (temp + b[10]) << 3;
        code2 = temp + ((b[11] >> 5) & 0x07);
        temp = (b[11] & 0x1F) << 6;
        temp2 = temp + ((b[12] >> 2) & 0x3F);
        calcTemp = ((temp2 - temp1) / (code2 - code1) * (tempCode - code1) + temp1 - 800) / 10;
    }
}

selectParamReceived

select機能を取得した後にこのメソッドをコールバックします。getSelectParameter実行後にコールバックで実行結果を返します。

- (void)selectParamReceived:(NSData *)selParam;

パラメータ

項目名

ビット長

説明

target

3bit

セッション:S0(000), S1(001), S2(010), S3(011), SL(100)

action

3bit

ISO18000-6C規格に準拠したアクション指定

memoryBank

2bit

メモリ領域:RFU(00), EPC(01), TID(10), User(11)

pointer

32bit

フィルタ対象メモリの開始アドレス

length

8bit

フィルタリング対象データの長さ

truncate

1bit

フィルタ一致時にタグデータを切り捨てる:有効(1), 無効(0)

reserve

7bit

予約(未使用)

mask

可変(0〜255bit)

フィルタリングデータ本体

サンプルコード

- (void)selectParamReceived:(NSData *)selParam{
    // selParam データ構成:
    // target(3bit):セッション:S0 (000), S1 (001), S2 (010), S3 (011), SL (100)
    // action(3bit):ISO18000 - 6C規格を参照
    // memoryBank(2bit):領域:RFU (00), EPC (01), TID (10), User (11)
    // pointer(32bit):フィルタリングの開始アドレス
    // length(8bit):フィルタリングデータの長さ
    // truncate(1bit):フィルタリング条件に合致するタグデータを切り捨てるかどうかを制御:有効(1),無効(0)
    // reserve(7bit):予約
    // mask(0~255bit):フィルタリングデータ
}

epcReceived:tid:

startReadTagAndTidWithTagNum実行後にコールバックで実行結果を返します。

- (void)epcReceived:(NSData *)epc tid:(NSData *)tid;

パラメータ

項目名

説明

epc

NSData

epcデータ

tid

NSData

tidデータ

サンプルコード

- (void)epcReceived:(NSData *)epc tid:(NSData *)tid{
    // epc epcデータ
    // tid tidデータ
}

modulationParamReceived:rxMod:dr:

getModulation実行後にコールバックで実行結果を返します。

- (void)modulationParamReceived:(int)blf rxMod:(int)rxMod dr:(int)dr;

パラメータ

項目名

説明

blf

int

160:BLF_160, 250:BLF_250, 320:BLF_320, 640:BLF_640

rxMod

int

0:FM0,1:M2,2:M4,3:M8

dr

int

0:8,1:64/3

サンプルコード

- (void)modulationParamReceived:(int)blf rxMod:(int)rxMod dr:(int)dr{
    // blf 160:BLF_160, 250:BLF_250, 320:BLF_320, 640:BLF_640
    // rxMod 0:FM0,1:M2,2:M4,3:M8
    // dr 0:8,1:64/3
}

rssiThresholdReceived:

getRSSIThreshold実行後にコールバックで実行結果を返します。

- (void)rssiThresholdReceived:(uint16_t)threshold; 

パラメータ

項目名

説明

threshold

uint16_t

RSSI値

サンプルコード

- (void)rssiThresholdReceived:(uint16_t)threshold{
    // threshold RSSI値
}

writtenReceived:

writeTagMemoryWithAccessPasswordまたはwriteTagMemoryWithEPC実行後にコールバックで実行結果を返します。

- (void)writtenReceived:(int)statusCode;

パラメータ

項目名

説明

statusCode

int

タグメモリ書き込みの結果
0:成功
0以外:失敗

サンプルコード


didSetModulation:

setModulationBLF実行後にコールバックで実行結果を返します。

- (void)didSetModulation:(int)status;

パラメータ

項目名

説明

status

int

変調設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetModulation:(int)status{
    // status 0:成功、0以外:失敗
}

didGetAutoOffTimeReceived:

getAutoOffTime実行後にコールバックで実行結果を返します。

- (void)didGetAutoOffTimeReceived:(int)time;

パラメータ

項目名

説明

time

int

デバイスの自動オフ時間

サンプルコード

- (void)didGetAutoOffTimeReceived:(int)time{
    // time :デバイスのスリープ時間
}

didSetAutoOffTime:

setAutoOffTime実行後にコールバックで実行結果を返します。

- (void)didSetAutoOffTime:(int)status;

パラメータ

項目名

説明

status

int

設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetAutoOffTime:(int)status{
    // status 0:成功、0以外:失敗
}

didGetContinuousModeReceived:

getContinuousMode実行後にコールバックで実行結果を返します。

- (void)didGetContinuousModeReceived:(BOOL)continuousMode;

パラメータ

項目名

説明

continuousMode

BOOL

YES:連続モード
NO:単発モード

サンプルコード

- (void)didGetContinuousModeReceived:(BOOL)continuousMode{
    // continuousMode :YES:連続モード、NO:単発モード
}

didSetContinuousMode:

setContinuousMode実行後にコールバックで実行結果を返します。

- (void)didSetContinuousMode:(int)status;

パラメータ

項目名

説明

status

int

設定結果
0:成功
0以外:失敗

サンプルコード

- (void)didSetContinuousMode:(int)status{
    // status 0:成功、0以外:失敗
}