AsReaderRFIDDeviceDelegate¶
⚠️ 注意:
本 delegate メソッド群は、AsReader デバイスが正常に接続されており、かつ対応するメソッドを呼び出した後にコールバックされます。
非対応モデルや接続されていない場合は、コールバックは発生しません。
pcEpcReceived
¶
タグデータを受信します。
startScan
実行後にコールバックで実行結果を返します。
- (void)pcEpcReceived:(NSData *)pcEpc;
パラメータ¶
項目名 |
型 |
説明 |
|
NSData |
受信した PC および EPC データ(バイナリ形式) |
サンプルコード¶
- (void)pcEpcReceived:(NSData *)pcEpc{
// 受信した PC+EPC データを処理
}
pcEpcRssiReceived
¶
RSSI付きのタグデータを受信します。
startReadTagsAndRssiWithTagNum
実行後にコールバックで実行結果を返します。
- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi;
パラメータ¶
項目名 |
型 |
説明 |
---|---|---|
|
NSData |
受信した PC および EPC データ(バイナリ形式) |
|
int |
RSSI(RFIDタグからの応答波の信号強度、単位: dBm) |
サンプルコード¶
- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi{
//pcEpc pcEPCデータ
//rssi RSSIデータ
}
didSetOutputPowerLevel
¶
setOutputPowerLevel
実行後にコールバックで実行結果を返します。
- (void)didSetOutputPowerLevel:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
出力の設定結果 |
サンプルコード¶
- (void)didSetOutputPowerLevel:(int)status{
//status 0:成功、0以外:失敗
}
didSetChannelParamReceived
¶
setChannel
実行後にコールバックで実行結果を返します。
- (void)didSetChannelParamReceived:(int)statusCode;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
チャンネルパラメータの設定結果 |
サンプルコード¶
- (void)didSetChannelParamReceived:(int)statusCode{
//statusCode 0:成功、0以外:失敗
}
didSetAntiCollision
¶
setAnticollision
後にコールバックで実行結果を返します。
- (void)didSetAntiCollision:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
アンチコリジョンの設定結果 |
サンプルコード¶
- (void)didSetAntiCollision:(int)status{
//status 0:成功、0以外:失敗
}
didSetSession
¶
setSession
実行後にコールバックで実行結果を返します。
- (void)didSetSession:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
セッションの設定結果 |
サンプルコード¶
- (void)didSetSession:(int)status{
//status 0:成功、0以外:失敗
}
channelReceived
¶
getChannel
実行後にコールバックで実行結果を返します。
- (void)channelReceived:(int)channel channelOffset:(int)channelOffset;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
RFIDモジュールのチャンネル |
|
int |
RFIDモジュールのチャンネルオフセット |
サンプルコード¶
- (void)channelReceived:(int)channel channelOffset:(int)channelOffset{
//channel RFIDモジュールのチャンネル
//channelOffset RFIDモジュールのチャンネルオフセット
}
anticolParamReceived
¶
getAnticollision
実行後にコールバックで実行結果を返します。
- (void)anticolParamReceived:(int)mode Counter:(int)counter;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
0:固定Q、1:動的Q |
|
int |
カウンター |
サンプルコード¶
- (void)anticolParamReceived:(int)mode Counter:(int)counter{
//mode 0:固定Q、1:動的Q
//counter カウンター
}
txPowerLevelReceived
¶
getOutputPowerLevel
実行後にコールバックで実行結果を返します。
- (void)txPowerLevelReceived:(NSData*)power;
パラメータ¶
項目名 |
型 |
説明 |
|
NSData |
SDKがdataデータを解析し、AsReaderInfoクラスに保存します。 |
サンプルコード¶
- (void)txPowerLevelReceived:(NSData*)power{
//power SDKがdataデータを解析し、AsReaderInfoクラスに保存します。このとき、rfidPower、rfidPowerMax、rfidPowerMinの値が更新されます。
}
regionReceived
¶
getRegion
実行後に、現在設定されている地域コードをコールバックで返します。
- (void)regionReceived:(int)region;
パラメータ¶
項目名 |
型 |
説明 |
|
int |
地域コード |
サンプルコード¶
- (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 |
データ構成: |
サンプルコード¶
- (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の設定結果 |
サンプルコード¶
- (void)didSetFhLbt:(int)status{
//status 0:成功、0以外:失敗
}
didSetOptiFreqHPTable
¶
setFreqHoppingTable
実行後にコールバックで実行結果を返します。
- (void)didSetOptiFreqHPTable:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
status |
int |
最適周波数ホッピングテーブルの設定結果 |
サンプルコード¶
- (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クラスに保存します。 |
サンプルコード¶
- (void)rfidOnOffTimeReceived:(NSData*)data{
//data SDKがdataデータを解析し、AsReaderInfoクラスに保存します。このとき、rfidOnTime、rfidOffTime、carrierSenseTime、rfidListenBeforeTalk、rfidContinuousWave、rfidFrequencyHoppingの値が更新されます。
}
writtenReceived
¶
writeTagMemoryWithEPC
実行後にコールバックで実行結果を返します。
- (void)writtenReceived:(int)statusCode;
パラメータ¶
項目名 |
型 |
説明 |
statusCode |
int |
タグメモリ書き込みの設定結果 |
サンプルコード¶
- (void)writtenReceived:(int)statusCode{
//statusCode 0:成功、0以外:失敗
}
sessionReceived
¶
getSession
実行後にコールバックで実行結果を返します。
- (void)sessionReceived:(int)session;
パラメータ¶
項目名 |
型 |
説明 |
session |
int |
セッション値 |
サンプルコード¶
- (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 |
タグの破棄設定結果 |
サンプルコード¶
- (void)killedReceived:(int)statusCode{
//statusCode 0:成功、0以外:失敗
}
lockedReceived
¶
lockTagMemoryWithAccessPassword
実行後にコールバックで実行結果を返します。
- (void)lockedReceived:(int)statusCode;
パラメータ¶
項目名 |
型 |
説明 |
statusCode |
int |
タグメモリのロック設定結果 |
サンプルコード¶
- (void)lockedReceived:(int)statusCode{
//statusCode 0:成功、0以外:失敗
}
responseReboot
¶
デバイスが再起動に入った後にコールバックで実行結果を返します(ファームウェア更新)。
- (void)responseReboot:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
status |
int |
デバイスの再起動設定結果 |
サンプルコード¶
- (void)responseReboot:(int)status{
//status 0:成功、0以外:失敗
}
updatedRegistry
¶
updateRegistry
実行後にコールバックで実行結果を返します。
- (void)updatedRegistry:(int)statusCode;
パラメータ¶
項目名 |
型 |
説明 |
statusCode |
int |
レジストリの更新設定結果 |
サンプルコード¶
- (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 |
タグメモリ書き込みの結果 |
サンプルコード¶
didSetModulation:
¶
setModulationBLF
実行後にコールバックで実行結果を返します。
- (void)didSetModulation:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
status |
int |
変調設定結果 |
サンプルコード¶
- (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 |
設定結果 |
サンプルコード¶
- (void)didSetAutoOffTime:(int)status{
// status 0:成功、0以外:失敗
}
didGetContinuousModeReceived:
¶
getContinuousMode
実行後にコールバックで実行結果を返します。
- (void)didGetContinuousModeReceived:(BOOL)continuousMode;
パラメータ¶
項目名 |
型 |
説明 |
continuousMode |
BOOL |
YES:連続モード |
サンプルコード¶
- (void)didGetContinuousModeReceived:(BOOL)continuousMode{
// continuousMode :YES:連続モード、NO:単発モード
}
didSetContinuousMode:
¶
setContinuousMode
実行後にコールバックで実行結果を返します。
- (void)didSetContinuousMode:(int)status;
パラメータ¶
項目名 |
型 |
説明 |
status |
int |
設定結果 |
サンプルコード¶
- (void)didSetContinuousMode:(int)status{
// status 0:成功、0以外:失敗
}