APIリファレンス
WLAN APIs
| コマンドID | コマンド名 | 機能 | 
|---|---|---|
| 0x0001 | iSDIO_WLAN_Scan | 接続可能な無線LANの探索をします。 | 
| 0x0002 | iSDIO_WLAN_Connect | ステーションとしての無線LANの接続をします。 | 
| 0x0003 | iSDIO_WLAN_Establish | アクセスポイントとしての無線LAN接続の確立をします。 | 
| 0x0005 | iSDIO_WLAN_StartWPS | ステーションとしてのWPSによる無線LAN接続設定の開始をします。 | 
| 0x0007 | iSDIO_WLAN_Disconnect | 無線LANを切断します。 | 
Common APIs
| コマンドID | コマンド名 | 機能 | 
|---|---|---|
| 0x0011 | iSDIO_WLAN_SetCurrentTime | FlashAirの日時設定を行います。 | 
| 0x0015 | iSDIO_WLAN_SetChannel | アクセスポイントのチャンネル番号の設定を行います。 | 
Server Upload APIs
| コマンド名 | 機能 | 
|---|---|
| iSDIO_WLAN_Request | 各HTTPメッセージの送信を行います。 | 
Original APIs
| コマンドID | コマンド名 | 機能 | 
|---|---|---|
| 0xE200 | iSDIO_WLAN_Bridge | ブリッジモードを起動します。 | 
| 0xE201 | iSDIO_WLAN_BridgeGetByRegister | ブリッジモード情報を取得します。 | 
Other APIs
| コマンド名 | 機能 | 
|---|---|
| iSDIO_WLAN_GetSSIDs | アクセスポイント数を取得します。 | 
| iSDIO_WLAN_GetSSID | アクセスポイント名を取得します。 | 
| iSDIO_WLAN_GetStatusData | Status Registerの出力データを取得します。 | 
| iSDIO_WLAN_GetResponseData | Response Data Register Portの出力データを取得します。 | 
| iSDIO_WLAN_GetVersion | バージョン情報を取得します。 | 
| iSDIO_WLAN_SetWaitResponseTime | Response待機のタイムアウト値を変更します。 | 
| iSDIO_WLAN_Check_WLANConnect | WLAN接続をチェックします。 | 
| iSDIO_WLAN_Check_WLAN | WLANのOn/Off状態をチェックします。 | 
| iSDIO_WLAN_Get_WLAN_Status | Status Registerの”WLAN”データを取得します。 | 
共有メモリ
| コマンド名 | 機能 | 
|---|---|
| iSDIO_WLAN_ReadSharedMemory | Shared Memoryを読み込みます。 | 
| iSDIO_WLAN_WriteSharedMemory | Shared Memoryへ書き込みます。 | 
| iSDIO_WLAN_GetFlashAirVersion | CIDからFlashAirのバージョンと容量確認を行います。 | 
iSDIO_WLAN_Scan
接続可能な無線LANを探索します。探索した結果はレスポンス取得を行う必要があります。
書式
int32_t iSDIO_WLAN_Scan(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
コマンドID
0x0001
iSDIO_WLAN_Connect
ステーションとして指定されたアクセスポイントのSSID、ネットワークキーで無線LANを接続します。
書式
int32_t iSDIO_WLAN_Connect(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        uint8_t                     *ssid,
        uint16_t                    ssid_size,
        uint8_t                     *ntwk_key,
        uint32_t                    ntwk_key_size
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] *ssid
接続先アクセスポイントのSSID (最大32byte)
[in] ssid_size
接続先アクセスポイントのSSIDのバイト数
[in] *ntwk_key
ネットワークキー (最大64byte)
[in] ntwk_key_size
ネットワークキーのバイト数(0の場合は暗号化なし)
戻り値
E_iSDIO_OK
正常終了
E_iSDIO_INVALID_PARAM
不正パラメータ
E_iSDIO_CMD_BUF_OVERFLOW
コマンドバッファ不足
E_iSDIO_TIMEOUT
タイムアウト発生
E_iSDIO_DEVICE_ERROR
デバイスエラー
E_iSDIO_UNKNOWN_ERROR
不明なエラー
コマンドID
0x0002
iSDIO_WLAN_Establish
アクセスポイントとして指定されたアクセスポイントのSSID、ネットワークキーで無線LAN接続を確立します。
書式
int32_t iSDIO_WLAN_Establish(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        uint8_t                     *ssid,
        uint16_t                    ssid_size,
        uint8_t                     *ntwk_key,
        uint32_t                    ntwk_key_size,
        iSDIO_WLAN_EcnMode_t        encMode
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] *ssid
接続先アクセスポイントのSSID (最大32byte)
[in] ssid_size
接続先アクセスポイントのSSIDのバイト数
[in] *ntwk_key
ネットワークキー (最大64byte)
[in] ntwk_key_size
ネットワークキーのバイト数(0の場合は暗号化なし)
[in] encMod
暗号モード
- 
    iSDIO_WLAN_ENCMODE_NO_ENCRYPTION = 0x00暗号化なし 
- 
    iSDIO_WLAN_ENCMODE_OPEN_SYSTEM_AND_WEP = 0x01Open System and WEP 
- 
    iSDIO_WLAN_ENCMODE_SHARED_KEY_AND_WEP = 0x02Shared Key and WEP 
- 
    iSDIO_WLAN_ENCMODE_WPA_PSK_AND_TKIP = 0x03WPA-PSK and TKIP 
- 
    iSDIO_WLAN_ENCMODE_WPA_PSK_AND_AES = 0x04WPA-PSK and AES 
- 
    iSDIO_WLAN_ENCMODE_WPA2_PSK_AND_TKIP = 0x05WPA2-PSK and TKIP 
- 
    iSDIO_WLAN_ENCMODE_WPA2_PSK_AND_AES = 0x06WPA2-PSK and AES 
戻り値
E_iSDIO_OK
正常終了
E_iSDIO_INVALID_PARAM
不正パラメータ
E_iSDIO_CMD_BUF_OVERFLOW
コマンドバッファ不足
E_iSDIO_TIMEOUT
タイムアウト発生
E_iSDIO_DEVICE_ERROR
デバイスエラー
E_iSDIO_UNKNOWN_ERROR
不明なエラー
コマンドID
0x0003
iSDIO_WLAN_StartWPS
ステーションとして、WPSによる無線LAN接続設定を開始します。
書式
int32_t iSDIO_WLAN_StartWPS(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        uint8_t                     *ssid,
        uint16_t                    ssid_size,
        iSDIO_WLAN_WPSMode_t        wpsMode,
        uint8_t                     *pin,
        uint32_t                    pin_size
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] *ssid
接続先アクセスポイントのSSID (最大32byte)
[in] ssid_size
接続先アクセスポイントのSSIDのバイト数
[in] wpsMode
WPSモード
- 
    iSDIO_WLAN_WPSMODE_WITH_PIN = 0x01WPS with PIN 
- 
    iSDIO_WLAN_WPSMODE_WITH_PBC = 0x02WPS with PBX 
[in] *pin
PINコード (最大byte)
[in] pin_size
PINコードのバイト数
戻り値
E_iSDIO_OK
正常終了
E_iSDIO_INVALID_PARAM
不正パラメータ
E_iSDIO_CMD_BUF_OVERFLOW
コマンドバッファ不足
E_iSDIO_TIMEOUT
タイムアウト発生
E_iSDIO_DEVICE_ERROR
デバイスエラー
E_iSDIO_UNKNOWN_ERROR
不明なエラー
コマンドID
0x0005
注意点
wpsModeでiSDIO_WLAN_WPSMODE_WITH_PBCを指定する場合、ssid, pinにはNULL、ssid_size, pin_sizeには0を指定してください。
iSDIO_WLAN_Disconnect
無線LANを切断します。
書式
int32_t iSDIO_WLAN_Disconnect(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
コマンドID
0x0007
iSDIO_WLAN_SetCurrentTime
FlashAirの日時設定を行います。
書式
int32_t iSDIO_WLAN_SetCurrentTime(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        iSDIO_WLAN_Date_t           currentDate,
        iSDIO_WLAN_Time_t           currentTime
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] currentDate
日付
typedef struct iSDIO_WLAN_Date_s {
  uint16_t day:5;   //!< 日
  uint16_t month:4; //!< 月
  uint16_t year:7;  //!< 年(1980年からの経過年)
} iSDIO_WLAN_Date_t;
[in] currentTime
時間
typedef struct iSDIO_WLAN_Time_s {
  uint16_t second:5;  //!< 秒
  uint16_t minute:6;  //!< 分
  uint16_t hour:5;    //!< 時
} iSDIO_WLAN_Time_t;
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
コマンドID
0x0011
iSDIO_WLAN_SetChannel
アクセスポイントのチャンネル番号の設定を行います。FlashAirが一部のチャンネルをサポートしていない場合、このコマンドは拒否されます。
 
Capability Registerの”Channel Support”を確認する必要があります。
iSDIO Capability Register for Wireless LANを参照してください。
書式
int32_t iSDIO_WLAN_SetChannel(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        uint8_t                     ch
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] ch
チャンネル番号
- 
    0x00自動 
- 
    0x01チャンネル1 
- …
- 
    0x0Eチャンネル14 
- 
    0x24チャンネル36 
- …
- 
    0xA1チャンネル161 
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
コマンドID
0x0015
iSDIO_WLAN_Request
指定されたパラメータによって、各HTTPメッセージの送信を行います。
書式
int32_t iSDIO_WLAN_Request(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        iSDIO_WLAN_httpType_t       host_type,
        uint8_t                     *hostname,
        uint32_t                    hostname_size,
        iSDIO_WLAN_MessageType_t    msg_type,
        uint8_t                     *message,
        uint32_t                    message_size,
        uint8_t                     *apnd_filename,
        uint32_t                    apnd_filename_size,
        iSDIO_WLAN_HeaderRemoval_t  headerRemoval
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] host_type
ホストタイプ
- 
    HTTP通信iSDIO_WLAN_HTTP(0x00) 
- 
    HTTPS通信iSDIO_WLAN_HTTPSSL 
[in] *hostname
ホスト名
host_typeがHTTP通信の場合は、HTTPリクエストメッセージが送信されHTTPレスポンスメッセージを受信するホスト名を意味します。
プロキシサーバが使用される場合を除いて、ポート番号は80が使われます。
host_typeがHTTPS通信の場合は、SSL経由でHTTPメッセージをリクエストする以外は、HTTP通信と同じです。
プロキシサーバが使用される場合を除いて、ポート番号は443が使われます。
[in] hostname_size
ホスト名のバイト数
[in] msg_type
メッセージタイプ
- 
    レジスタから読み出しiSDIO_WLAN_MSG_REGISTER(0x00) 
- 
    ファイルから読み出しiSDIO_WLAN_MSG_FILE(0x01) 
[in] *message
メッセージ(ファイル名)
HTTPリクエストラインとHTTPメッセージヘッダー、HTTPメッセージボディで構成されるHTTPリクエストメッセージを意味します。
メッセージの格納先はレジスタまたはファイルから取得するので、msg_typeで格納場所を指定します。
レジスタ指定の場合は格納先のアドレスを指定、ファイル指定の場合は、ファイル格納先のパスとファイル名を指定します。
[in] message_size
メッセージ(ファイル名)のバイト数
[in] *apnd_filename
添付ファイル名
[in] apnd_filename_size
添付ファイル名のバイト数
[in] headerRemoval
ヘッダ付加情報
- 
    HTTPヘッダ有りiSDIO_WLAN_WITH_HEADER(0x00) 
- 
    HTTPヘッダ無しiSDIO_WLAN_ONLY_BODY(0x01) 
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
備考
指定されたパラメータによって、各HTTPメッセージの送信を行います。パラメータは下記の組み合わせのみ有効です。
レジスタから読み込んだHTTPメッセージを送信
(処理詳細はiSDIO_WLAN_SendHTTPMessageByRegisterを参照)
| host_type | iSDIO_WLAN_HTTP | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_REGISTER | 
| *message | メッセージが格納されているバッファの先頭アドレス | 
| message_size | メッセージデータ長 | 
| *apnd_filename | NULL | 
| apnd_filename_size | 0 | 
| headerRemoval | 設定不要 | 
レジスタから読み込んだHTTPメッセージをファイル付きで送信
(処理詳細はiSDIO_WLAN_SendHTTPFileByRegisterを参照)
| host_type | iSDIO_WLAN_HTTP | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_REGISTER | 
| *message | メッセージが格納されているバッファの先頭アドレス | 
| message_size | メッセージデータ長 | 
| *apnd_filename | サーバに送信するファイルのパス | 
| apnd_filename_size | apnd_filenameのデータ長 | 
| headerRemoval | 設定不要 | 
SSLありで、レジスタから読み込んだHTTPメッセージを送信
(処理詳細はiSDIO_WLAN_SendHTTPSSLMessageByRegisterを参照)
| host_type | iSDIO_WLAN_HTTPSSL | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_REGISTER | 
| *message | メッセージが格納されているバッファの先頭アドレス | 
| message_size | メッセージデータ長 | 
| *apnd_filename | NULL | 
| apnd_filename_size | 0 | 
| headerRemoval | 設定不要 | 
SSLありで、レジスタから読み込んだHTTPメッセージをファイル付きで送信
(処理詳細はiSDIO_WLAN_SendHTTPSSLFileByRegisterを参照)
| host_type | iSDIO_WLAN_HTTPSSL | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_REGISTER | 
| *message | メッセージが格納されているバッファの先頭アドレス | 
| message_size | メッセージデータ長 | 
| *apnd_filename | サーバに送信するファイルのパス | 
| apnd_filename_size | apnd_filenameのデータ長 | 
| headerRemoval | 設定不要 | 
ファイルから読み込んだHTTPメッセージを送信
(処理詳細はiSDIO_WLAN_SendHTTPMessageByFileを参照)
| host_type | iSDIO_WLAN_HTTP | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_FILE | 
| *message | 送信メッセージファイルのパス | 
| message_size | パスのデータ長 | 
| *apnd_filename | NULL | 
| apnd_filename_size | 0 | 
| headerRemoval | iSDIO_WLAN_WITH_HEADER or iSDIO_WLAN_ONLY_BODY | 
ファイルから読み込んだHTTPメッセージをファイル付きで送信
(処理詳細はiSDIO_WLAN_SendHTTPFileByFileを参照)
| host_type | iSDIO_WLAN_HTTP | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_FILE | 
| *message | 送信メッセージファイルのパス | 
| message_size | パスのデータ長 | 
| *apnd_filename | サーバに送信するファイルのパス | 
| apnd_filename_size | apnd_filenameのデータ長 | 
| headerRemoval | iSDIO_WLAN_WITH_HEADER or iSDIO_WLAN_ONLY_BODY | 
SSLありで、ファイルから読み込んだHTTPメッセージを送信
(処理詳細はiSDIO_WLAN_SendHTTPSSLMessageByFileを参照)
| host_type | iSDIO_WLAN_HTTPSSL | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_FILE | 
| *message | 送信メッセージファイルのパス情報 | 
| message_size | パスのデータ長 | 
| *apnd_filename | NULL | 
| apnd_filename_size | 0 | 
| headerRemoval | iSDIO_WLAN_WITH_HEADER or iSDIO_WLAN_ONLY_BODY | 
SSLありで、ファイルから読み込んだHTTPメッセージをファイル付きで送信
(処理詳細はiSDIO_WLAN_SendHTTPSSLFileByFileを参照)
| host_type | iSDIO_WLAN_HTTPSSL | 
|---|---|
| *hostname | ホスト名が格納されているバッファの先頭アドレス | 
| hostname_size | ホスト名のデータ長 | 
| msg_type | iSDIO_WLAN_MSG_FILE | 
| *message | 送信メッセージファイルのパス情報 | 
| message_size | パスのデータ長 | 
| *apnd_filename | サーバに送信するファイルのパス | 
| apnd_filename_size | apnd_filenameのデータ長 | 
| headerRemoval | iSDIO_WLAN_WITH_HEADER or iSDIO_WLAN_ONLY_BODY | 
注意事項
SSLありの場合は、本API実行前にiSDIO_WLAN_SetCertificateまたはiSDIO_WLAN_SetCertificateByFileでルート認証を設定することを推奨します。
ルート認証を設定せずに本APIを実行した場合、ルート認証によるサーバ証明書を認証しないまま、FlashAirはコマンドを実行します。
iSDIO_WLAN_Bridge
ブリッジモードを起動します。
brgssidで指定されたSTAに接続し、その後apssidを使用したAPを起動します。
書式
int32_t iSDIO_WLAN_Bridge(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id,
        uint8_t                     *apssid,
        uint8_t                     *apnetworkKey,
        iSDIO_WLAN_EcnMode_t        encMode,
        uint8_t                     *brgssid,
        uint8_t                     *brgnetworkKey
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
[in] *apssid
AirNetから接続するためのSSID (最大32byte)
[in] *apnetworkKey
AirNetから接続するためのネットワークキー(最大64byte)
[in] encMode
暗号モード
ブリッジモードでは、下記が設定値となります。
  iSDIO_WLAN_ENCMODE_WPA_PSK_AND_TKIP(0x03)
  iSDIO_WLAN_ENCMODE_WPA2_PSK_AND_AES(0x06)
[in] *brgssid
TopNetへ接続するためのSSID(最大32byte)
[in] *brgnetworkKey
TopNetへ接続するためのネットワークキー(最大64byte)
戻り値
E_iSDIO_OK
正常終了
E_iSDIO_INVALID_PARAM
不正パラメータ
E_iSDIO_CMD_BUF_OVERFLOW
コマンドバッファ不足
E_iSDIO_TIMEOUT
タイムアウト発生
E_iSDIO_DEVICE_ERROR
デバイスエラー
E_iSDIO_UNKNOWN_ERROR
不明なエラー
コマンドID
0xE200
注意事項
- BridgeはDisconnect状態でないと実行できません。
- FlashAirが別の機器につながっている場合は、まずiSDIO_WLAN_Disconnectを実行してください。
- Disconnect後、再度Bridgeを実行するには6秒後に実行してください。
iSDIO_WLAN_BridgeGetByRegister
ブリッジモード情報を取得します。取得したブリッジモード情報はResponse Data Register Portの出力データに設定されます。
書式
int32_t iSDIO_WLAN_BridgeGetByRegister(
        iSDIO_INFO_t                *info,
        uint32_t                    seq_id
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] seq_id
iSDIOコマンドシーケンスID
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
コマンドID
0xE201
備考
ブリッジモード情報の構造は以下となります。
typedef struct iSDIO_WLAN_BridgeListItem_s {
        uint32_t    status;
        uint8_t     appssid[32+4];
        uint8_t     appnetworkKey[64+4];
        uint8_t     ipaddr[4];
        uint8_t     subnetMask[4];
        uint8_t     defGateWay[4];
        uint8_t     prefDnsServer[4];
        uint8_t     altDnsServer[4];
        uint8_t     brgssid[32+4];
        uint8_t     brgnetworkKey[64+4];
        uint8_t     brgIpaddr[4];
        uint8_t     brgsunetMask[4];
        uint8_t     brgdefGateWay[4];
        uint8_t     brgprefDnsServer[4];
        uint8_t     brgaltDnsServer[4];
} iSDIO_WLAN_BridgeListItem_t;
注意事項
本APIはブリッジモード情報をResponse Data Register Portに出力するためのものです。実際にブリッジモード情報を取得する場合はResponseData Register Portを読み出す必要があります。
iSDIO_WLAN_GetSSIDs
Scanしたアクセスポイント数を取得します。
書式
int32_t iSDIO_WLAN_GetSSIDs(
        iSDIO_INFO_t                *info,
        uint8_t                     *num
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *num
アクセスポイント数
iSDIO_WLAN_Scan実行時のアクセスポイント数が取得されます。
戻り値
E_iSDIO_OK
正常終了
注意事項
iSDIO_WLAN_Scanのレスポンス取得後に実行する必要があります。
それ以外の状態で実施してもアクセスポイント数は正しく取得できません。
iSDIO_WLAN_GetSSID
Scanした指定番号に対応するアクセスポイント名を取得します。
書式
int32_t iSDIO_WLAN_GetSSID(
        iSDIO_INFO_t                *info,
        uint8_t                     number,
        uint8_t                     *ssid
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] number
指定番号(有効範囲は0~(Max-1)) 
指定番号オーバーの場合は、戻り値が不正パラメータとなります。
[out] *ssid
アクセスポイント名を格納するバッファの先頭アドレス
SSIDは最大32byteのため、最低32byteのバッファを準備してください。
iSDIO_WLAN_Scan実行時の指定番号のアクセスポイント名が取得されます。
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
注意事項
iSDIO_WLAN_Scanのレスポンス取得後に実行する必要があります。
それ以外の状態で実施してもアクセスポイント数は正しく取得できません。
iSDIO_WLAN_GetStatusData
Status Registerの出力データを取得します。引数getbufで指定されたアドレスに現在のStatus Registerの情報が格納されます。
書式
int32_t iSDIO_WLAN_GetStatusData(
        iSDIO_INFO_t                *info,
        uint8_t                     *getbuf
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *getbuf
取得バッファポインタ
StatusRegisterの出力データを格納するため512バイトのバッファが必要です。
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_GetResponseData
Response Data Register Portの出力データを取得します。引数getbufで指定されたアドレスに現在のResponse Data Register Portの情報が格納されます。
書式
int32_t iSDIO_WLAN_GetResponseData(
        iSDIO_INFO_t                *info,
        uint8_t                     *getbuf
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *getbuf
取得バッファポインタ
Response Data Register Portの出力データを格納するため512byteのバッファが必要です。
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_GetVersion
Status Registerに格納されているバージョン情報(0x005f0-0x005ff)を読み出します。
書式
int32_t iSDIO_WLAN_GetVersion(
        iSDIO_INFO_t                *info,
        uint8_t                     *getbuf
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *getbuf
取得バッファポインタ
バージョン情報を格納するために16byteのバッファが必要です。
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_SetWaitResponseTime
Response待機のタイムアウト値を変更します。タイムアウト値はmsで設定します。
書式
void iSDIO_WLAN_SetWaitResponseTime(
        uint32_t                     time
)
引数
[in] time
Response待機のタイムアウト値(ms)
戻り値
なし
iSDIO_WLAN_Check_WLANConnect
WLAN接続をチェックします。接続状態は、Status Registerの0506h(bit7)のConnectedで判断します。
書式
int32_t iSDIO_WLAN_Check_WLANConnect(
        iSDIO_INFO_t                *info,
        iSDIO_WLAN_Connect_t        *connect
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] connect
接続状態
- 
    WLAN接続状態iSDIO_WLAN_CONNECTED(0x01) 
- 
    WLAN未接続状態iSDIO_WLAN_NO_CONNECTION(0x00) 
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_Check_WLAN
WLANのOn/Off状態をチェックします。接続状態は、Status Registerの0506h(bit6-5)のInfra-Directで判断します。
※00:OFF、01/10:ON
書式
int32_t iSDIO_WLAN_Check_WLAN(
        iSDIO_INFO_t                *info,
        iSDIO_WLAN_OnOFF_t          *onoff
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *onoff
無線LAN動作状態
- 
    WLAN OniSDIO_WLAN_ON(0x01) 
- 
    WLAN OFFiSDIO_WLAN_OFF(0x00) 
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_Get_WLAN_Status
Status Registerの”WLAN”データを取得します。WLAN情報はStatus Registerの0506hを取得します。
書式
int32_t iSDIO_WLAN_Get_WLAN_Status(
        iSDIO_INFO_t                *info,
        uint8_t                     *param
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] *param
WLANデータ
StatusRegisterのWLAN情報を格納するため1バイトのバッファが必要です。
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_ReadSharedMemory
Shared Memory(共有メモリ)からデータの読み込みを行います。
書式
int32_t iSDIO_WLAN_ReadSharedMemory(
        iSDIO_INFO_t                *info,
        uint32_t                    addr,
        uint32_t                    len,
        uint8_t                     buf
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] addr
読み出しアドレス(0~2047)
[in] len
データ長(1~2048)byte
[out] buf
読み出しデータ
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_WriteSharedMemory
Shared Memory(共有メモリ)へデータの書き込みを行います。
書式
int32_t iSDIO_WLAN_WriteSharedMemory(
        iSDIO_INFO_t                *info,
        uint32_t                    addr,
        uint32_t                    len,
        uint8_t                     buf
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[in] addr
書き込みアドレス(0~2047)
[in] len
データ長(1~2048)byte
[in] buf
書き込みデータ
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
iSDIO_WLAN_GetFlashAirVersion
CIDからFlashAirのバージョンと容量確認を行います。
書式
int32_t iSDIO_WLAN_GetFlashAirVersion(
        iSDIO_INFO_t                *info,
        uint8_t                     cardver,
        uint16_t                    cardsize
)
引数
[in] *info
iSDIOカード制御情報へのポインタ
[out] cardver
カードバージョン
[out] cardsize
カード容量
戻り値
E_iSDIO_OK
正常終了
その他
エラー発生
備考
cardver、cardsizeとFlashAirのバージョンと容量の関係は以下の通りとなります。
| cardver | cardsize | バージョンと容量 | 
|---|---|---|
| 2 | 8 | FlashAir W02 8G | 
| 2 | 16 | FlashAir W02 16G | 
| 2 | 32 | FlashAir W02 32G | 
| 3 | 8 | FlashAir W03 8G | 
| 3 | 16 | FlashAir W03 16G | 
| 3 | 32 | FlashAir W03 32G | 
| 4 | 16 | FlashAir W04 16G | 
| 4 | 32 | FlashAir W04 32G | 
| 4 | 64 | FlashAir W04 64G | 
| 255 | 0以外 | バージョン不明でcardsize容量のFlashAir | 
| 255 | 0 | バージョン、容量不明のFlashAir | 
| 0 | 0 | FlashAirではない | 
注意
本関数はSDカードスロットが1スロットのシステムで、デバイスファイルが/dev/mmcblk0にある場合に使用可能です。