共通コマンド

コマンドID コマンド名 機能
0011h SetCurrentTime(currentDate, currentTime) 現在時刻の設定
0012h Abort(sequenceID) 特定のiSDIOコマンドの実行を停止
0013h ReadResponse(sequenceID) レスポンスデータの読み取り
0014h SetPowerSaveMode(powerMode) パワーセーブモードの設定(オン/オフ)
0015h SetChannel(channelNum) APモードで使用する無線チャネルの設定

SetCurrentTime(currentDate, currentTime)

FlashAirに現在時刻を設定するためのホストリクエストです。FlashAirの内部の時計の数字からカウントが始まります。時刻を設定、修正、アクセスしたときに、ファイルやディレクトリにタイムスタンプが設定されます。

コマンドID

0011h

引数

Name Type Size Description
現在時刻 integer (little endian) 2バイト currentDateはFlashAirに設定する時刻です。フォーマットは以下のとおりです。
  • Bits 0 to 4: 日の設定、有効な数値は1~31
  • Bits 5 to 8: 月の設定、有効な数値は1~12
  • Bits 9 to 15: 年の設定、有効な数値は0~127(1980~2107)
現在時刻 integer (little endian) 2バイト currentDateはFlashAirに設定する時刻です。フォーマットは以下のとおりです。

  • Bits 0 to 4: 秒の設定(2秒?)、有効な数値は0~29(0~58秒) 2-second count
  • Bits 5 to 10: 分の設定、有効な数値は0~59
  • Bits 11 to 15: 時の設定、有効な数値は0~23、設定可能な時刻は深夜00:00:00~23:59:58

レスポンス

無し


Abort(sequenceID)

特定のiSDIOコマンドの実行を停止するためのホストリクエストです。FlashAirがこのコマンドを受信すると、現在プロセス中のコマンドは発行されていないものとみなして動作します。しかし、NANDメモリーモジュールの中にファイルを作るコマンド(”SendHTTPMessageByFile”、”SendHTTPFileByFile”、”SendHTTPSSLMessageByFile”、”SendHTTPSSLFileByFile”、”DLNA_AcceptUpload”、”GetFile” and “PTP_ReceiveFile”など)があっても、FlashAirはプロセスが完全に終わっていなくてもファイルを除く必要はありません。これは、FlashAirがすべてのデータを保存しているとは限らないということです。そのためプロセス中断後、ホストは完了していないファイルを適切に処理します。さらに、FlashAirはファイルアロケーションテーブル、ディレクトリーエントリーなどのファイルシステムのメタデータを継続的に維持します。このコマンドは、受信された場合、現在のプロセス中のコマンドより先に実行されます。このコマンドのためのCommand Response Status はCommand Response Status Queue に登録されません。しかし、中断したコマンドのCommand Response Statusは”04h: Process Terminated”に変換されます。つまり、このコマンドが発行されていても、いずれのコマンドのステータスはキューにから除かれないということです。例えば、複数のコマンドがプロセス中で、そのうちの一つが中断されたとき、他のコマンドは影響を受けずプロセスを継続します。

コマンドが発行されたタイミングによって、このコマンドは無視され、中断されたターゲットコマンドはプロセスを完了します。ターゲットコマンドのコマンドレスポンスステータスは”03h: Process Succeeded”または “80h to FFh: Process Failed”になります。この場合も “Abort”コマンドのプロセス時間は変わりません。

無線LAN接続の終了またはPeer-to-Peer File Transferアプリケーションの終了には、”Disconnect”コマンドを使用することが推奨されています。

コマンドID

0012h

引数

Name Type Size 説明
sequenceID integer 4-byte sequenceIDは、コマンド発行時ホストによって特定された、コマンドのiSDIOコマンドシークエンスIDを意味します。値は “00 00 00 00h”から”FF FFFF FFh”となります。

レスポンス

無し


ReadResponse(sequenceID)

指定のiSDIOコマンドシークエンスIDによって発行されたコマンドに対応して、レスポンスデータを読み取るためのホストリクエストです。レスポンスデータは、バッファオーバーフローでない限り、Response Data Register Portから取得可能です。このコマンドは特定のコマンドが完了しCommand Response Status Queueにあるときにのみ有効です。さらに、このコマンドのプロセスは、現在プロセス中のコマンドより優先され、このコマンドのコマンドレスポンスステータスはCommand Response Status Queueに登録されません。つまり、このコマンドが発行されても、いずれのコマンドステータスもキューから除かれることはありません。

コマンドID

0013h

引数

Name Type Size 説明
sequenceID integer 4-byte sequenceIDは、コマンド発行時ホストによって特定された、コマンドのiSDIOコマンドシークエンスIDを意味します。値は “00 00 00 00h”から”FF FFFF FFh”となります。

レスポンス

レスポンスデータは特定のiSDIOコマンドによります。(2.2.2.3 iSDIO Command Response Data in [iSDIO]を参照してください)。

Command Response Status Queueにある最初のコマンドにおいて、コマンドレスポンスステータス#1のレスポンスデータはResponse Data Register Portにデフォルトでマップされます。また#2~8のコマンドレスポンスステータスについては、このコマンドは特定のレスポンスデータがResponse Register Portにマップされるよう発行されます。(もしホストがCommand Write DataにあるひとつのiSDIOコマンドを、キューのプロセス無しで発行した場合、ホストはこのコマンドを使う必要がなくなります。)このコマンドはResponse DataをCommand Response Status #1にマップするために発行されることが可能です。

さらに、現在のレスポンスデータの読み込みが完了する前に、このコマンドが発行された場合でも、新しいレスポンスデータはデータの最初から読み取りが可能です。つまり、同じコマンドのうち、一つがこのコマンドによって特定され、現在のレスポンスデータの読み込みが完了する前でも、レスポンスデータは最初から読み取りが可能です。


SetPowerSaveMode(powerMode)

FlashAirのパワーセーブモードを変更するためのホストリクエストです。モードがオンのとき、FlashAirはパワーセーブモードで機能します。(パワーセービングの認識はFlashAir実行によります。データ移行など他の動作が行われていた場合はFlashAirによってはこのモードが低くなります。)

コマンドID

0014h

引数

Name Type Size 説明
パワーモード integer 1-byte powerModeはパワーセーブモードを意味します。
00h
パワーセーブモード Off
01h
パワーセーブモード On
<section>
    ### レスポンス

    無し
</section>

</section>

## SetChannel(channelNum)
FlashAirのAPにチャンネルを設定するためのホストリクエストです。FlashAirが一部のチャンネルをサポートしていない場合、このコマンドは拒否されます。ホストはCapability Registerの"Channel Support"を確認する必要があります。iSDIO Capability Register for Wireless LANを参照してください。
### コマンドID 0015h
### 引数 Name | Type | Size | 説明 ------------------------------------------------------ | ------------------------------------------------------ | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- チャンネル番号 | integer | 1-byte | `channelNum`はチャンネルの番号を意味します。
00h
チャンネル番号は自動的に設定されます。
01h
チャンネル 1 …​
0Eh
チャンネル 14
24h
チャンネル 36 …​
A1h
チャンネル 161
### レスポンス 無し