ファイルシステムに関するAPI. [詳解]
データ構造 | |
| struct | memfile_t |
| メモリファイルの構造体.メモリファイルのデータは,SDカードではなく,メモリに格納される. [詳解] | |
| struct | fileinfo_t |
| ファイル情報の構造体. [詳解] | |
マクロ定義 | |
| #define | TMAX_FILENAME_LEN (255) |
| ファイル名の最大の長さ | |
列挙型 | |
| enum | serial_port_t { EV3_SERIAL_DEFAULT = 0, EV3_SERIAL_UART = 1, EV3_SERIAL_BT = 2 } |
| シリアルポートを表す番号 [詳解] | |
関数 | |
| ER_ID | ev3_sdcard_opendir (const char *path) |
| ディレクトリをオープンする. [詳解] | |
| ER | ev3_sdcard_readdir (ID dirid, fileinfo_t *p_fileinfo) |
| ディレクトリ内のファイル情報を読み込む. [詳解] | |
| ER | ev3_sdcard_closedir (ID dirid) |
| ディレクトリをクローズする. [詳解] | |
| ER | ev3_memfile_load (const char *path, memfile_t *p_memfile) |
| SDカードのファイルをメモリファイルとしてロードする. [詳解] | |
| ER | ev3_memfile_free (memfile_t *p_memfile) |
| メモリファイルを解放する. [詳解] | |
| FILE * | ev3_serial_open_file (serial_port_t port) |
| シリアルポートをファイルとしてオープンする. [詳解] | |
| bool_t | ev3_bluetooth_is_connected () |
| Bluetooth (Serial Port Profile)が接続されているかどうかをチェックする. [詳解] | |
ファイルシステムに関するAPI.
このページは本プラットフォーム独自のAPIしか記述しないが,fopen()等標準Cライブラリのファイル操作関数もサポートする.
| enum serial_port_t |
| bool_t ev3_bluetooth_is_connected | ( | ) |
Bluetooth (Serial Port Profile)が接続されているかどうかをチェックする.
| true | 接続済み.Bluetooth仮想シリアルポートで通信できる. |
| false | 接続切れ. |
| ER ev3_memfile_free | ( | memfile_t * | p_memfile | ) |
メモリファイルを解放する.
メモリファイルにより確保されたリソース(メモリ領域)を解放する.正常終了の場合,p_memfile の buffer はNULLにクリアする.
| p_memfile | 解放するメモリファイルのポインタ |
| E_OK | 正常終了 |
| E_MACV | メモリアクセス違反(p_memfile) |
| E_OBJ | p_memfile で指定したメモリファイルは無効 |
| ER ev3_memfile_load | ( | const char * | path, |
| memfile_t * | p_memfile | ||
| ) |
SDカードのファイルをメモリファイルとしてロードする.
メモリファイルのオブジェクトを生成して,指定したファイルをSDカードからこのメモリファイルに読み込む.エラーが発生する場合,p_memfile の buffer はNULLにクリアする.
| path | ファイルのパス |
| p_memfile | 生成したメモリファイルのオブジェクトを格納する場所へのポインタ |
| E_OK | 正常終了 |
| E_MACV | メモリアクセス違反(pathかp_memfile) |
| E_NOMEM | メモリ不足 |
| E_PAR | パス名は無効 |
| E_SYS | I/Oエラーが発生した(SDカード不良の可能性が高い) |
Open file
Get file size & allocate memory
Perform reading
| ER ev3_sdcard_closedir | ( | ID | dirid | ) |
ディレクトリをクローズする.
成功した場合,オープンされたディレクトリのリソースを解放して,そのIDは使えなくなる.
| dirid | ディレクトリのID |
| E_OK | 正常終了 |
| E_CTX | 非タスクコンテストから呼び出す |
| E_ID | 不正ID番号 |
| E_SYS | I/Oエラーが発生した(SDカード不良の可能性が高い) |
| ER_ID ev3_sdcard_opendir | ( | const char * | path | ) |
ディレクトリをオープンする.
成功した場合,オープンされたディレクトリのIDを戻り値として返す.このIDはディレクトリ内のファイル情報を取得するために使える.
| path | ディレクトリのパス |
| >0 | オープンされたディレクトリのID |
| E_CTX | 非タスクコンテストから呼び出す |
| E_MACV | メモリアクセス違反(path) |
| E_NOID | ID番号不足 |
| E_PAR | パス名は無効 |
| E_SYS | I/Oエラーが発生した(SDカード不良の可能性が高い) |
dirent.h
| ER ev3_sdcard_readdir | ( | ID | dirid, |
| fileinfo_t * | p_fileinfo | ||
| ) |
ディレクトリ内のファイル情報を読み込む.
オープンされたディレクトリから次のファイルの情報を返す.
| dirid | ディレクトリのID |
| p_fileinfo | ファイル情報を格納する場所へのポインタ |
| E_OK | 正常終了 |
| E_CTX | 非タスクコンテストから呼び出す |
| E_ID | 不正ID番号 |
| E_MACV | メモリアクセス違反(p_fileinfo) |
| E_OBJ | これ以上読み込めるファイルの情報がない |
| E_SYS | I/Oエラーが発生した(SDカード不良の可能性が高い) |
| FILE* ev3_serial_open_file | ( | serial_port_t | port | ) |
シリアルポートをファイルとしてオープンする.
失敗の場合,NULLを返す(エラーログが出力される).
| port | シリアルポート番号 |