# メソッド ## `sharedInstance` ASR033Wオブジェクトを作成・初期化します(シングルトン)。 ASR033Wを使用する前に必ず呼び出してインスタンスを取得してください。 ::::{tab-set} ::: {tab-item} Swift ```swift class func sharedInstance() -> ASR033W ``` ::: ::: {tab-item} Objective-C ```objectivec + (ASR033W *)sharedInstance; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033W` - 取得したASR033Wのインスタンス ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let asr033w = ASR033W.sharedInstance() ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033W *asr033w = [ASR033W sharedInstance]; ``` ::: :::: --- ## `setDelegate` ASR033WDelegateを設定します。 デリゲートを登録することで、接続状態やRFID読み取り結果などのイベントを受け取れます。 ::::{tab-set} ::: {tab-item} Swift ```swift func setDelegate(delegate: ASR033WDelegate) ``` ::: ::: {tab-item} Objective-C ```objectivec - (void)setDelegate:(id)delegate; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `delegate` - ASR033WDelegate - イベントを受け取るデリゲートオブジェクト [`ASR033WDelegate`](delegate.md)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift asr033w.setDelegate(delegate: self) ``` ::: ::: {tab-item} Objective-C ```objectivec [asr033w setDelegate:self]; ``` ::: :::: --- ## `getASR033WPrinter` ASR033WPrinterオブジェクトを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getPrinter() -> ASR033WPrinter! ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WPrinter *)getASR033WPrinter; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WPrinter` - [`ASR033WPrinter`](../ASR033WPrinter/index.rst)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let printer = asr033w.getASR033WPrinter() // printer は ASR033WPrinter オブジェクト ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WPrinter *printer = [asr033w getASR033WPrinter]; // printer は ASR033WPrinter オブジェクト ``` ::: :::: --- ## `getSDKVersion` SDKのバージョンを取得します。 SDKの互換性チェックやログ出力時に使用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getSDKVersion() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)getSDKVersion; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `String` - SDKのバージョン文字列 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let version = asr033w.getSDKVersion() print("SDK Version: \(version)") ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *sdkString = [asr033w getSDKVersion]; // sdkString は SDKのバージョン ``` ::: :::: --- ## `setSearchDeviceTimeout` 検索時のタイムアウト時間を設定します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setSearchDeviceTimeout(_ timeout: TimeInterval) ``` ::: ::: {tab-item} Objective-C ```objectivec - (void)setSearchDeviceTimeout:(NSTimeInterval)timeout; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `timeout` - NSTimeInterval - タイムアウト時間(秒) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift asr033w.setSearchDeviceTimeout(10) ``` ::: ::: {tab-item} Objective-C ```objectivec [asr033w setSearchDeviceTimeout:10]; ``` ::: :::: --- ## `startSearchDevice` ASR-033Wデバイスの検索を開始します。 DHCPでIPアドレスが割り振られたASR-033Wを検出する際に呼び出します。 実行後、以下のデリゲートメソッドが呼ばれます。 - [`receivedASR033WSearchInformation:isFinish:`](delegate.md#receivedasr033wsearchinformationisfinish) - [`receivedASR033WSearchDeviceInfo:`](delegate.md#receivedasr033wsearchdeviceinfo) ::::{tab-set} ::: {tab-item} Swift ```swift func startSearchDevice() ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)startSearchDevice; ``` ::: :::: ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.startSearchDevice() if resultCode == .ASR033WResultNoError { // 実行成功 } else { // 実行失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w startSearchDevice]; if (resultCode == ASR033WResultNoError){ // 実行成功 }else{ // 実行失敗 } ``` ::: :::: --- ## `stopSearchDevice` ASR-033Wの検索を停止します。 ::::{tab-set} ::: {tab-item} Swift ```swift func stopSearchDevice() -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)stopSearchDevice; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - ASR033WResultCode - メソッドの実行結果 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.stopSearchDevice() if resultCode == .ASR033WResultNoError { // 実行成功 } else { // 実行失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w stopSearchDevice]; if (resultCode == ASR033WResultNoError){ // 実行成功 }else{ // 実行失敗 } ``` ::: :::: --- ## `connectServerWithIP` 指定したIPアドレスとポートでASR-033Wに接続します。 ネットワーク経由でASR-033Wと通信する際に使用します。 このメソッド実行後、デリゲートメソッド[`receivedASR033WNetworkState:error:`](delegate.md#receivedasr033wnetworkstate-error)が呼び出されます。 ::::{tab-set} ::: {tab-item} Swift ```swift func connectServer(withIP IP: String!, remoteport port: Int32) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)connectServerWithIP:(NSString *)IP remoteport:(int)port; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `IP` - String - 接続するIPアドレス * - `port` - Int - ポート番号(デフォルト: 9600) ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.connectServer(withIP: "192.168.10.199", remoteport: 9600) if resultCode == .ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w connectServerWithIP:@"192.168.10.199" remoteport:9600]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## `disconnectServer` ASR-033Wとの接続を切断します。 接続終了時やアプリ終了時に呼び出します。 このメソッド実行後、デリゲート[`receivedASR033WNetworkState:error:`](delegate.md#receivedasr033wnetworkstate-error)が呼び出されます。 ::::{tab-set} ::: {tab-item} Swift ```swift func disconnectServer() -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)disconnectServer; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.disconnectServer() if resultCode == .ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w disconnectServer]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## `startInventoryWithAntenna1` 指定したアンテナを使用してインベントリを開始します。 使用するアンテナを選択して呼び出してください。 > ASR-P351N をご使用の場合、アンテナ 5~8 を選択してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func startInventory( withAntenna1 antenna1: Bool, antenna2: Bool, antenna3: Bool, antenna4: Bool, antenna5: Bool, antenna6: Bool, antenna7: Bool, antenna8: Bool, tid TID: Bool ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)startInventoryWithAntenna1:(BOOL)antenna1 antenna2:(BOOL)antenna2 antenna3:(BOOL)antenna3 antenna4:(BOOL)antenna4 antenna5:(BOOL)antenna5 antenna6:(BOOL)antenna6 antenna7:(BOOL)antenna7 antenna8:(BOOL)antenna8 TID:(BOOL)TID; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `antenna1`〜`antenna8` - BOOL - 各アンテナを使用するかどうか選択します(YES:使用、NO:不使用)。 * - `TID` - BOOL - TIDを使用するかどうか選択します(YES:使用、NO:不使用)。 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.startInventory( withAntenna1: true, antenna2: false, antenna3: false, antenna4: false, antenna5: false, antenna6: false, antenna7: false, antenna8: false, tid: false ) if result == ASR033WResultNoError { print("正常に実行できました") } else if result == ASR033WResultTimeout { print("タイムアウトしました") } else { print("エラー: \(result)") } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w startInventoryWithAntenna1:YES antenna2:YES antenna3:YES antenna4:YES antenna5:YES antenna6:YES antenna7:YES antenna8:YES TID:YES]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## `stopInventory` インベントリを停止します。 インベントリ中に呼び出すと、読み取りを即座に停止できます。 ::::{tab-set} ::: {tab-item} Swift ```swift func stopInventory() -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)stopInventory; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.stopInventory() if result == ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w stopInventory]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## `startReceiveRFIDData` データ受信を開始します。 AsReaderとの接続完了後に呼び出してください。 > このメソッドを実行しないと、AsReaderからのレスポンス全般が受信できません。 ::::{tab-set} ::: {tab-item} Swift ```swift func startReceiveRFIDData() -> Bool ``` ::: ::: {tab-item} Objective-C ```objectivec - (BOOL)startReceiveRFIDData; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `Bool` - コマンド送信成功の可否(YES: 成功 / NO: 失敗) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let status = asr033w.startReceiveRFIDData() if status { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec BOOL status = [asr033w startReceiveRFIDData]; if (status) { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: :::: --- ## `stopReceiveRFIDData` RFIDデータの受信を停止します。 受信終了時に呼び出してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func stopReceiveRFIDData() -> Bool ``` ::: ::: {tab-item} Objective-C ```objectivec - (BOOL)stopReceiveRFIDData; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `Bool` - コマンド送信成功の可否(YES: 成功 / NO: 失敗) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let status = asr033w.stopReceiveRFIDData() if status { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec BOOL status = [asr033w stopReceiveRFIDData]; if (status) { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: :::: --- ## `startReceiveHIDData` HIDデータの受信を開始します。 呼び出すタイミングはHID受信開始時です。 ::::{tab-set} ::: {tab-item} Swift ```swift func startReceiveHIDData() -> Bool ``` ::: ::: {tab-item} Objective-C ```objectivec - (BOOL)startReceiveHIDData; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `Bool` - コマンド送信成功の可否(YES: 成功 / NO: 失敗) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let status = asr033w.startReceiveHIDData() if status { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec BOOL status = [asr033w startReceiveHIDData]; if (status) { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: :::: --- ## `stopReceiveHIDData` HIDデータの受信を停止します。 受信終了時に呼び出してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func stopReceiveHIDData() -> Bool ``` ::: ::: {tab-item} Objective-C ```objectivec - (BOOL)stopReceiveHIDData; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - コマンド送信成功の可否(YES:成功 / NO:失敗) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let status = asr033w.stopReceiveHIDData() if status { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec BOOL status = [asr033w stopReceiveHIDData]; if (status) { // コマンド送信成功 } else { // コマンド送信失敗 } ``` ::: :::: --- ## `regionName` デバイスの地域情報を取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func regionName() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)regionName; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - デバイスの地域情報 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let regionString = asr033w.regionName ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *regionString = [asr033w regionName]; ``` ::: :::: --- ## `serialNumber` デバイスのシリアル番号を取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func serialNumber() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)serialNumber; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - デバイスのシリアル番号 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let serial = asr033w.serialNumber ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *serialNumberString = [asr033w serialNumber]; ``` ::: :::: --- ## `hardwareVersion` デバイスのハードウェアバージョンを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func hardwareVersion() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)hardwareVersion; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - デバイスのハードウェアバージョン ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let hwVersion = asr033w.hardwareVersion ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *hardwareString = [asr033w hardwareVersion]; ``` ::: :::: --- ## `rFModuleVersion` RFIDモジュールのバージョンを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func rFModuleVersion() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)rFModuleVersion; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - RFモジュールのバージョン ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let rfVersion = asr033w.rFModuleVersion ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *rFModuleString = [asr033w rFModuleVersion]; ``` ::: :::: --- ## `firmwareVersion` ASR-033Wのファームウェアバージョンを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func firmwareVersion() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)firmwareVersion; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - ASR-033Wののファームウェアバージョン ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let fwVersion = asr033w.firmwareVersion ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *firmwareString = [asr033w firmwareVersion]; ``` ::: :::: --- ## `macAddress` MACアドレスを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func macAddress() -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)macAddress; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString` - デバイスのMACアドレス ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let mac = asr033w.macAddress ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *macString = [asr033w macAddress]; // macString: MACアドレス ``` ::: :::: --- ## `getMessageWithASR033WResultCode` エラーコードに応じたエラー内容を返します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getMessageWith(_ code: ASR033WResultCode) -> String! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSString *)getMessageWithASR033WResultCode:(ASR033WResultCode)code; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSString *` - エラー内容 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let errorString: String? = asr033w.getMessageWith(ASR033WResultOtherError) ``` ::: ::: {tab-item} Objective-C ```objectivec NSString *errorString = [asr033w getMessageWithASR033WResultCode:code]; ``` ::: :::: --- ## `readMemory` Read コマンドを実行します。 実行後にデリゲート `accessASR033WResult:actionState:epc:data:rssi:phase:frequency:` が呼び出されます。 > ASR-P351N をご使用の場合、アンテナ 5~8 を選択してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func readMemory( bank: ASR033WMemoryBank, offset: Int, length: Int, epc: Data, pc: Data, password: Int, antenna1: Bool, antenna2: Bool, antenna3: Bool, antenna4: Bool, antenna5: Bool, antenna6: Bool, antenna7: Bool, antenna8: Bool ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)readMemory:(ASR033WMemoryBank)bank offset:(int)offset length:(int)length epc:(NSData *)epc pc:(NSData *)pc password:(int)password antenna1:(BOOL)antenna1 antenna2:(BOOL)antenna2 antenna3:(BOOL)antenna3 antenna4:(BOOL)antenna4 antenna5:(BOOL)antenna5 antenna6:(BOOL)antenna6 antenna7:(BOOL)antenna7 antenna8:(BOOL)antenna8; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WMemoryBank` - 列挙型[`ASR033WMemoryBank`](enum.md#asr033wmemorybank)を参照 * - `int` - 読み取り開始アドレス(単位: word) * - `int` - 読み取るデータの長さ(単位: word) * - `NSData *` - EPCデータ * - `NSData *` - PCデータ * - `int` - アクセスパスワード(デフォルト: 0)。10進数で指定します(例: FFFFFFFF → 4294967295, 00000000 → 0)。 * - `BOOL` - アンテナ1〜8を使用するかどうか選択します(YES: 使用する, NO: 使用しない)。 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.readMemory( ASR033WMemoryBank_Reserved, offset: 0, length: 2, epc: epcs, pc: pcs, password: 0, antenna1: true, antenna2: true, antenna3: true, antenna4: true, antenna5: true, antenna6: true, antenna7: true, antenna8: true ) if resultCode == .noError { // 成功 } else { // 失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w readMemory:ASR033WMemoryBank_Reserved offset:0 length:2 epc:epcs pc:pcs password:0 antenna1:YES antenna2:YES antenna3:YES antenna4:YES antenna5:YES antenna6:YES antenna7:YES antenna8:YES]; if (resultCode == ASR033WResultNoError){ // 成功 }else{ // 失敗 } ``` ::: :::: --- ## `writeMemory` Write コマンドを実行します。 実行後にデリゲート `receivedASR033WActionState:resultCode:` が呼び出されます。 > ASR-P351N をご使用の場合、アンテナ 5~8 を選択してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func writeMemory( _ bank: ASR033WMemoryBank, offset: Int32, length: Int32, write writeData: Data!, epc: Data!, cw: Bool, password: Int32, antenna1: Bool, antenna2: Bool, antenna3: Bool, antenna4: Bool, antenna5: Bool, antenna6: Bool, antenna7: Bool, antenna8: Bool ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)writeMemory:(ASR033WMemoryBank)bank offset:(int)offset length:(int)length writeData:(NSData *)writeData epc:(NSData *)epc cw:(BOOL)cw password:(int)password antenna1:(BOOL)antenna1 antenna2:(BOOL)antenna2 antenna3:(BOOL)antenna3 antenna4:(BOOL)antenna4 antenna5:(BOOL)antenna5 antenna6:(BOOL)antenna6 antenna7:(BOOL)antenna7 antenna8:(BOOL)antenna8; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `bank` - `ASR033WMemoryBank` - 対象のメモリバンク * - `offset` - `int` - 読み取り開始アドレス(単位: word) * - `length` - `int` - 書き込むデータの長さ(単位: word) * - `writeData` - `NSData` - 書き込むデータ * - `epc` - `NSData` - EPCデータ * - `cw` - `BOOL` - Write 成功率を上げるため、搬送波を長く発射する機能を使用するか選択します (YES: 使用, NO: 不使用)。 ※北米では使用できません。 * - `password` - `int` - アクセスパスワード(デフォルト: 0)。10進数で指定します (例: FFFFFFFF → 4294967295, 00000000 → 0)。 * - `antenna1〜antenna8` - `BOOL` - 各アンテナを使用するかどうか選択します。 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - 列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.writeMemory(ASR033WMemoryBank_EPC, offset: 0, length: 2, write: Data(), epc: Data(), cw: true, password: 0, antenna1: true, antenna2: true, antenna3: true, antenna4: true, antenna5: true, antenna6: true, antenna7: true, antenna8: true) if resultCode == ASR033WResultNoError { // 成功 } else { // 失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w writeMemory:ASR033WMemoryBank_EPC offset:0 length:2 writeData:data epc:epcs cw:YES password:0 antenna1:YES antenna2:YES antenna3:YES antenna4:YES antenna5:YES antenna6:YES antenna7:YES antenna8:YES]; if (resultCode == ASR033WResultNoError){ // 成功 }else{ // 失敗 } ``` ::: :::: --- ## `lockMemory` > ASR-P351N をご使用の場合、アンテナ 5~8 を選択してください。 Lock コマンドを実行します。 実行後にデリゲート `receivedASR033WActionState:resultCode:` が呼び出されます。 ::::{tab-set} ::: {tab-item} Swift ```swift func lockMemory( _ lockBank: ASR033WLockBank, lockType: ASR033WLockType, epc: Data!, password: Int32, antenna1: Bool, antenna2: Bool, antenna3: Bool, antenna4: Bool, antenna5: Bool, antenna6: Bool, antenna7: Bool, antenna8: Bool ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)lockMemory:(ASR033WLockBank)lockBank lockType:(ASR033WLockType)lockType epc:(NSData *)epc password:(int)password antenna1:(BOOL)antenna1 antenna2:(BOOL)antenna2 antenna3:(BOOL)antenna3 antenna4:(BOOL)antenna4 antenna5:(BOOL)antenna5 antenna6:(BOOL)antenna6 antenna7:(BOOL)antenna7 antenna8:(BOOL)antenna8; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `lockBank` - ASR033WLockBank - ロック対象のメモリバンク([ASR033WLockBank](enum.md#asr033wlockbank)参照) * - `lockType` - ASR033WLockType - ロック種別([ASR033WLockType](enum.md#asr033wlocktype)参照) * - `epc` - NSData - EPCデータ * - `password` - int - アクセスパスワード(デフォルト: 0)。10進数で指定します(例: FFFFFFFF → 4294967295, 00000000 → 0)。 * - `antenna1`〜`antenna8` - BOOL - 各アンテナを使用するかどうか選択します(YES: 使用する、NO: 使用しない)。 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.lockMemory( lockBank: .epc, lockType: .permanent, epc: epcs, password: 0, antenna1: true, antenna2: true, antenna3: true, antenna4: true, antenna5: true, antenna6: true, antenna7: true, antenna8: true ) if resultCode == .noError { // 実行成功 } else { // 実行失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w lockMemory:ASR033WLockBank_EPC lockType:ASR033WLockType_Permanent epc:epcs password:0 antenna1:YES antenna2:YES antenna3:YES antenna4:YES antenna5:YES antenna6:YES antenna7:YES antenna8:YES]; if (resultCode == ASR033WResultNoError){ // 実行成功 }else{ // 実行失敗 } ``` ::: :::: --- ## `killMemory` > ASR-P351N をご使用の場合、アンテナ 5~8 を選択してください。 Kill コマンドを実行します。 使用するアンテナを指定して操作します。 ::::{tab-set} ::: {tab-item} Swift ```swift func killMemory( _ epc: Data!, password: Int32, antenna1: Bool, antenna2: Bool, antenna3: Bool, antenna4: Bool, antenna5: Bool, antenna6: Bool, antenna7: Bool, antenna8: Bool ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)killMemory:(NSData *)epc password:(int)password antenna1:(BOOL)antenna1 antenna2:(BOOL)antenna2 antenna3:(BOOL)antenna3 antenna4:(BOOL)antenna4 antenna5:(BOOL)antenna5 antenna6:(BOOL)antenna6 antenna7:(BOOL)antenna7 antenna8:(BOOL)antenna8; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `epc` - NSData - 対象のEPCデータ * - `password` - int - アクセスパスワード(デフォルト: 0)。10進数で指定します(例: FFFFFFFF → 4294967295, 00000000 → 0)。 * - `antenna1`〜`antenna8` - BOOL - 各アンテナを使用するかどうか選択します(YES: 使用、NO: 不使用)。 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - 実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.killMemory(epc: epcData, password: 0, antenna1: true, antenna2: true, antenna3: true, antenna4: true, antenna5: true, antenna6: true, antenna7: true, antenna8: true) if result == ASR033WResultNoError { // 実行成功 } else { // 実行失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w killMemory:epcData password:0 antenna1:YES antenna2:YES antenna3:YES antenna4:YES antenna5:YES antenna6:YES antenna7:YES antenna8:YES]; if (resultCode == ASR033WResultNoError){ // 実行成功 }else{ // 実行失敗 } ``` ::: :::: --- ## `sendData` ASR-033Wにデータを送信します。 送信後、デリゲート `receivedASR033WData:` が呼び出されます。 ::::{tab-set} ::: {tab-item} Swift ```swift func send(_ data: Data!) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)sendData:(NSData *)data; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `data` - NSData - 送信データ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - ASR033WResultCode - 実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.send(data) if resultCode == ASR033WResultNoError { // 実行成功 } else { // 実行失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w sendData:data]; if (resultCode == ASR033WResultNoError){ // 実行成功 }else{ // 実行失敗 } ``` ::: :::: --- ## setSession Session 値を設定します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setSession(_ session: ASR033WSessionType) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setSession:(ASR033WSessionType)session; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `session` - `ASR033WSessionType` - Session値。列挙型 [`ASR033WSessionType`](enum.md#asr033wsessiontype)を参照 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.setSession(ASR033WSessionType_S0) if resultCode == ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setSession:ASR033WSessionType_S0]; if (resultCode == ASR033WResultNoError) { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## getSession 現在設定されている Session 値を取得します。 設定されている Session 値を確認したい場合に使用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getSession() -> ASR033WSessionType ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WSessionType)getSession; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WSessionType` - 現在設定されているSession値。列挙型[`ASR033WSessionType`](enum.md#asr033wsessiontype)を返します。 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let type: ASR033WSessionType = asr033w.getSession() // 現在設定されている Session 値が type に格納される ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WSessionType type = [asr033w getSession]; // 現在設定されている Session 値が type に格納される ``` ::: :::: --- ## setSessionFlag インベントリ対象の Session フラグを設定します。 特定の Session フラグを有効または無効にする場合に使用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setSessionFlag(_ session: ASR033WSessionFlag) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setSessionFlag:(ASR033WSessionFlag)session; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `session` - `ASR033WSessionFlag` - 設定する Session フラグを指定します。[`ASR033WSessionFlag`](enum.md#asr033wsessionflag)を参照 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッド実行結果を返します。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.setSessionFlag(ASR033WSessionFlag_AB) if result == ASR033WResultNoError { // 成功時の処理 } else { // 失敗時の処理 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setSessionFlag:ASR033WSessionFlag_AB]; if (resultCode == ASR033WResultNoError) { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## getSessionFlag 現在インベントリ対象に設定されている Session フラグを取得します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getSessionFlag() -> ASR033WSessionFlag ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WSessionFlag)getSessionFlag; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WSessionFlag` - 現在インベントリ対象に設定されている Session フラグを返します。[`ASR033WSessionFlag`](enum.md#asr033wsessionflag)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let flag: ASR033WSessionFlag = asr033w.getSessionFlag() // 現在インベントリ対象に設定されている Session フラグが flag に格納される ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WSessionFlag flag = [asr033w getSessionFlag]; // 現在インベントリ対象に設定されている Session フラグが flag に格納される ``` ::: :::: --- ## setLinkProfile RFIDモジュールの Link Profile 値を設定します。 モジュールの通信プロファイルを変更する場合に使用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setLinkProfile(_ linkProfile: Int32) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setLinkProfile:(int)linkProfile; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `linkProfile` - `Int` - 設定するRFIDモジュールの Link Profile 値 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッド実行結果を返します。成功・失敗が含まれます。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.setLinkProfile(5) if result == ASR033WResultNoError { // 成功時の処理 } else { // 失敗時の処理 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setLinkProfile:5]; if (resultCode == ASR033WResultNoError) { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: :::: --- ## `getLinkProfile` RFIDモジュールに設定されている Link Profile 値を取得します。 呼び出すと現在の Link Profile 値を返します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getLinkProfile() -> Int32 ``` ::: ::: {tab-item} Objective-C ```objectivec - (int)getLinkProfile; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `int` - RFIDモジュールに設定されている Link Profile 値 - 0: Tari=25µs, FM0, LHF=40KHz - 1: Tari=25µs, Miller4, LHF=250KHz - 2: Tari=25µs, Miller4, LHF=300KHz - 3: Tari=6.25µs, FM0, LHF=400KHz - 4: Tari=20µs, Miller2, LHF=320KHz ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let linkProfile = asr033w.getLinkProfile() // linkProfile にRFIDモジュールに設定されているLink Profile値が格納される ``` ::: ::: {tab-item} Objective-C ```objectivec int linkProfile = [asr033w getLinkProfile]; // linkProfile にRFIDモジュールに設定されている Link Profile 値が格納される ``` ::: :::: --- ## `setQValue` Q値を設定します。 指定したQ値をRFIDモジュールに適用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setQValue(_ QValue: Int32) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setQValue:(int)QValue; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `QValue` - `int` - 設定するRFIDモジュールのQ値 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.setQValue(5) if resultCode == ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setQValue:5]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 }else{ // メソッド実行に失敗 } ``` ::: :::: --- ## `getQValue` Q値を取得します。 呼び出すとRFIDモジュールに設定されているQ値を返します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getQValue() -> Int32 ``` ::: ::: {tab-item} Objective-C ```objectivec - (int)getQValue; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `int` - RFIDモジュールのQ値 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let qValue = asr033w.getQValue() // qValue にRFIDモジュールのQ値が格納される ``` ::: ::: {tab-item} Objective-C ```objectivec int value = [asr033w getQValue]; // value にRFIDモジュールのQ値が格納される ``` ::: :::: --- ## `setIdleTime` 読取休止時間を設定します。 指定した時間をRFIDモジュールに適用します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setIdleTime(_ time: Int32) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setIdleTime:(int)time; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `time` - `int` - 読取休止時間 (単位: 10ms) ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.setIdleTime(5) // 50ms if resultCode == ASR033WResultNoError { // メソッド実行に成功 } else { // メソッド実行に失敗 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setIdleTime:5]; // 50ms if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 }else{ // メソッド実行に失敗 } ``` ::: :::: --- ## `getIdleTime` 読取休止時間を取得します。 呼び出すとRFIDモジュールに設定されている読取休止時間を返します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getIdleTime() -> Int32 ``` ::: ::: {tab-item} Objective-C ```objectivec - (int)getIdleTime; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `int` - 読取休止時間 (単位: 10ms) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let idleTime = asr033w.getIdleTime() // idleTime にRFIDモジュールの読取休止時間が格納される ``` ::: ::: {tab-item} Objective-C ```objectivec int idleTime = [asr033w getIdleTime]; // idleTime にRFIDモジュールの読取休止時間が格納される ``` ::: :::: --- ## `setAntenna1Power` アンテナポートの送信出力を設定するメソッドです。 各アンテナポートの出力値を指定して呼び出すことで、送信出力を調整できます。 > 設定可能な値は下記の通りです: > - ASR-033W: 0 ~ 23 dBm > - ASR-053W: 0 ~ 30 dBm > - ASR-P351N: 0 ~ 23 dBm (日本版) / 0 ~ 30 dBm (北米版) > ASR-P351N をご使用の場合、アンテナ 5~8 の出力を設定してください。 ::::{tab-set} ::: {tab-item} Swift ```swift func setAntenna1Power( _ antenna1Power: Int32, antenna2Power: Int32, antenna3Power: Int32, antenna4Power: Int32, antenna5Power: Int32, antenna6Power: Int32, antenna7Power: Int32, antenna8Power: Int32 ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setAntennaPower:(int)antenna1Power antenna2Power:(int)antenna2Power antenna3Power:(int)antenna3Power antenna4Power:(int)antenna4Power antenna5Power:(int)antenna5Power antenna6Power:(int)antenna6Power antenna7Power:(int)antenna7Power antenna8Power:(int)antenna8Power; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `antenna1Power` - Int - アンテナポート1の出力 (単位: dBm) * - `antenna2Power` - Int - アンテナポート2の出力 (単位: dBm) * - `antenna3Power` - Int - アンテナポート3の出力 (単位: dBm) * - `antenna4Power` - Int - アンテナポート4の出力 (単位: dBm) * - `antenna5Power` - Int - アンテナポート5の出力 (単位: dBm) * - `antenna6Power` - Int - アンテナポート6の出力 (単位: dBm) * - `antenna7Power` - Int - アンテナポート7の出力 (単位: dBm) * - `antenna8Power` - Int - アンテナポート8の出力 (単位: dBm) ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッドの実行結果。列挙型 [`ASR033WResultCode`](enum.md#asr033wresultcode) を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let result = asr033w.setAntenna1Power( 10, antenna2Power: 10, antenna3Power: 10, antenna4Power: 10, antenna5Power: 10, antenna6Power: 10, antenna7Power: 10, antenna8Power: 10 ) if result == ASR033WResultNoError { // 成功時の処理 } else { // 失敗時の処理 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setAntenna1Power:10 antenna2Power:10 antenna3Power:10 antenna4Power:10 antenna5Power:10 antenna6Power:10 antenna7Power:10 antenna8Power:10]; if (resultCode == ASR033WResultNoError){ // メソッド実行に成功 }else{ // メソッド実行に失敗 } ``` ::: :::: --- ## `getAntennaPower` アンテナポートの送信出力を取得するメソッドです。 各アンテナの電波出力を確認したいタイミングで呼び出します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getAntennaPower() -> [String: Int]! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSDictionary *)getAntennaPower; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSDictionary` - アンテナの電波出力を取得します。キーは `"Antenna1Power"` 〜 `"Antenna8Power"`。 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift if let powerDic = asr033w.getAntennaPower() { let ant1 = powerDic["Antenna1Power"] let ant2 = powerDic["Antenna2Power"] let ant3 = powerDic["Antenna3Power"] let ant4 = powerDic["Antenna4Power"] let ant5 = powerDic["Antenna5Power"] let ant6 = powerDic["Antenna6Power"] let ant7 = powerDic["Antenna7Power"] let ant8 = powerDic["Antenna8Power"] } ``` ::: ::: {tab-item} Objective-C ```objectivec NSDictionary *powerDic = [asr033w getAntennaPower]; NSNumber *ant1 = powerDic[@"Antenna1Power"]; NSNumber *ant2 = powerDic[@"Antenna2Power"]; NSNumber *ant3 = powerDic[@"Antenna3Power"]; NSNumber *ant4 = powerDic[@"Antenna4Power"]; NSNumber *ant5 = powerDic[@"Antenna5Power"]; NSNumber *ant6 = powerDic[@"Antenna6Power"]; NSNumber *ant7 = powerDic[@"Antenna7Power"]; NSNumber *ant8 = powerDic[@"Antenna8Power"]; ``` ::: :::: --- ## `setLBT` 周波数リストを設定するメソッドです。 使用する周波数帯を変更したい場合に呼び出します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setLBT(_ table: [Any]!) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setLBT:(NSArray *)table; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `table` - NSArray - 設定する周波数のリスト。NSArrayで指定します。 ``` 以下のうち、設定したい周波数に対応した値を `table` に格納して指定します。 > 値は`getLBTMask`メソッドの戻り値(NSArray)の要素のインデックスに対応します。 - Japan(1W) ```c 0 // 916.8 MHz 1 // 918.0 MHz 2 // 919.2 MHz 3 // 920.4 MHz 4 // 920.6 MHz 5 // 920.8 MHz ``` - Japan(200mW) ```c 0 // 916.8 MHz 1 // 918.0 MHz 2 // 919.2 MHz 3 // 920.4 MHz 4 // 920.6 MHz 5 // 920.8 MHz 6 // 921.0 MHz 7 // 921.2 MHz 8 // 921.4 MHz 9 // 921.6 MHz 10 // 921.8 MHz 11 // 922.0 MHz ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッド実行の結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.setLBT(array) if resultCode == ASR033WResultNoError { // 成功時の処理 } else { // 失敗時の処理 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setLBT:array]; if (resultCode == ASR033WResultNoError){ // 成功時の処理 }else{ // 失敗時の処理 } ``` ::: :::: --- ## `getLBT` 現在設定されている周波数を取得するメソッドです。 ::::{tab-set} ::: {tab-item} Swift ```swift func getLBT() -> [Any]! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSArray *)getLBT; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSArray` - 現在設定されている周波数のリスト ``` 以下のうち、現在設定されている周波数に対応した値を格納して返します. > 値は`getLBTMask`メソッドの戻り値(NSArray)の要素のインデックスに対応します。 - Japan(1W) ```c 0 // 916.8 MHz 1 // 918.0 MHz 2 // 919.2 MHz 3 // 920.4 MHz 4 // 920.6 MHz 5 // 920.8 MHz ``` - Japan(200mW) ```c 0 // 916.8 MHz 1 // 918.0 MHz 2 // 919.2 MHz 3 // 920.4 MHz 4 // 920.6 MHz 5 // 920.8 MHz 6 // 921.0 MHz 7 // 921.2 MHz 8 // 921.4 MHz 9 // 921.6 MHz 10 // 921.8 MHz 11 // 922.0 MHz ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let array = asr033w.getLBT() // arrayに現在設定されている周波数に対応した値が格納される ``` ::: ::: {tab-item} Objective-C ```objectivec NSArray *array = [asr033w getLBT]; // arrayに現在設定されている周波数に対応した値が格納される ``` ::: :::: --- ## `getLBTMask` 使用可能な周波数リストを取得するメソッドです。 使用可能な周波数帯域を確認したい場合に呼び出します。 ::::{tab-set} ::: {tab-item} Swift ```swift func getLBTMask() -> [Any]! ``` ::: ::: {tab-item} Objective-C ```objectivec - (NSArray *)getLBTMask; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `NSArray` - 利用可能な周波数のリスト ``` 設定可能な周波数を格納して返します。 **例:** - Japan(200mW) ```objective-c ( "916.8", "918.0", "919.2", "920.4", "920.6", "920.8", "921.0", "921.2", "921.4", "921.6", "921.8", "922.0" ) ``` - Japan(1W) ```objective-c ( "916.8", "918.0", "919.2", "920.4", "920.6", "920.8" ) ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let array = asr033w.getLBTMask() // arrayに使用可能な周波数のリストが格納される ``` ::: ::: {tab-item} Objective-C ```objectivec NSArray *array = [asr033w getLBTMask]; // arrayに使用可能な周波数のリストが格納される ``` ::: :::: --- ## `setIPStatus` デバイスのIPアドレス、サブネットマスク、ゲートウェイ情報を設定するメソッドです。 動的/静的IPの切り替えやネットワーク情報を更新したい場合に呼び出します。 ::::{tab-set} ::: {tab-item} Swift ```swift func setIPStatus( _ status: ASR033WIPStatus, ip: String!, subnet: String!, gateway: String! ) -> ASR033WResultCode ``` ::: ::: {tab-item} Objective-C ```objectivec - (ASR033WResultCode)setIPStatus:(ASR033WIPStatus)status IP:(NSString *)ip Subnet:(NSString *)subnet Gateway:(NSString *)gateway; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `status` - ASR033WIPStatus - IPの状態を指定する列挙型。静的/動的IPなどの情報を設定します。[`ASR033WIPStatus`](enum.md#asr033wipstatus)を参照 * - `ip` - NSString - 設定するIPアドレス * - `subnet` - NSString - 設定するサブネットマスク * - `gateway` - NSString - 設定するゲートウェイ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `ASR033WResultCode` - メソッド実行の結果。列挙型[`ASR033WResultCode`](enum.md#asr033wresultcode)を参照 ``` ### サンプルコード ::::{tab-set} ::: {tab-item} Swift ```swift let resultCode = asr033w.setIPStatus( ASR033WIPStatus_DHCP, ip: "192.168.1.100", subnet: "255.255.255.0", gateway: "192.168.1.1" ) if resultCode == ASR033WResultNoError { // 成功時の処理 } else { // 失敗時の処理 } ``` ::: ::: {tab-item} Objective-C ```objectivec ASR033WResultCode resultCode = [asr033w setIPStatus:ASR033WIPStatus_STATIC IP:ip Subnet:sub Gateway:gw]; if (resultCode == ASR033WResultNoError){ // 成功時の処理 }else{ // 失敗時の処理 } ``` ::: :::: ---