EV3RT C API Reference  Beta 7
An RTOS-based development platform for LEGO Mindstorms EV3.
ファイルシステム

ファイルシステムに関する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ライブラリのファイル操作関数もサポートする.

列挙型詳解

シリアルポートを表す番号

列挙値
EV3_SERIAL_DEFAULT 

デフォルトのシリアルポート(ログタスク用ポート)

EV3_SERIAL_UART 

UARTポート(センサポート1)

EV3_SERIAL_BT 

Bluetooth仮想シリアルポート

関数詳解

bool_t ev3_bluetooth_is_connected ( )

Bluetooth (Serial Port Profile)が接続されているかどうかをチェックする.

戻り値
true接続済み.Bluetooth仮想シリアルポートで通信できる.
false接続切れ.
ER ev3_memfile_free ( memfile_t p_memfile)

メモリファイルを解放する.

メモリファイルにより確保されたリソース(メモリ領域)を解放する.正常終了の場合,p_memfilebuffer はNULLにクリアする.

引数
p_memfile解放するメモリファイルのポインタ
戻り値
E_OK正常終了
E_MACVメモリアクセス違反(p_memfile)
E_OBJp_memfile で指定したメモリファイルは無効
ER ev3_memfile_load ( const char *  path,
memfile_t p_memfile 
)

SDカードのファイルをメモリファイルとしてロードする.

メモリファイルのオブジェクトを生成して,指定したファイルをSDカードからこのメモリファイルに読み込む.エラーが発生する場合,p_memfilebuffer はNULLにクリアする.

引数
pathファイルのパス
p_memfile生成したメモリファイルのオブジェクトを格納する場所へのポインタ
戻り値
E_OK正常終了
E_MACVメモリアクセス違反(pathかp_memfile)
E_NOMEMメモリ不足
E_PARパス名は無効
E_SYSI/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_SYSI/Oエラーが発生した(SDカード不良の可能性が高い)
ER_ID ev3_sdcard_opendir ( const char *  name)

ディレクトリをオープンする.

成功した場合,オープンされたディレクトリのIDを戻り値として返す.このIDはディレクトリ内のファイル情報を取得するために使える.

引数
pathディレクトリのパス
戻り値
>0オープンされたディレクトリのID
E_CTX非タスクコンテストから呼び出す
E_MACVメモリアクセス違反(path)
E_NOIDID番号不足
E_PARパス名は無効
E_SYSI/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_SYSI/Oエラーが発生した(SDカード不良の可能性が高い)
FILE* ev3_serial_open_file ( serial_port_t  port)

シリアルポートをファイルとしてオープンする.

失敗の場合,NULLを返す(エラーログが出力される).

引数
portシリアルポート番号
戻り値
シリアルポートのファイル