EV3RT C API Reference  Beta 7
An RTOS-based development platform for LEGO Mindstorms EV3.
サーボモータ

モータ制御に関するAPI. [詳解]

列挙型

enum  motor_port_t {
  EV3_PORT_A = 0,
  EV3_PORT_B = 1,
  EV3_PORT_C = 2,
  EV3_PORT_D = 3,
  TNUM_MOTOR_PORT = 4
}
 モータポートを表す番号 [詳解]
 
enum  motor_type_t {
  NONE_MOTOR = 0,
  MEDIUM_MOTOR,
  LARGE_MOTOR,
  UNREGULATED_MOTOR,
  TNUM_MOTOR_TYPE
}
 サポートするモータタイプ [詳解]
 

関数

ER ev3_motor_config (motor_port_t port, motor_type_t type)
 モータポートを設定する. [詳解]
 
ER_UINT ev3_motor_get_type (motor_port_t port)
 モータポートのモータタイプを取得する. [詳解]
 
int32_t ev3_motor_get_counts (motor_port_t port)
 モータの角位置を取得する. [詳解]
 
ER ev3_motor_reset_counts (motor_port_t port)
 モータの角位置をゼロにリセットする. [詳解]
 
ER ev3_motor_set_power (motor_port_t port, int power)
 モータのパワーを設定する [詳解]
 
int ev3_motor_get_power (motor_port_t port)
 モータのパワーを取得する [詳解]
 
ER ev3_motor_stop (motor_port_t port, bool_t brake)
 モータを停止する [詳解]
 
ER ev3_motor_rotate (motor_port_t port, int degrees, uint32_t speed_abs, bool_t blocking)
 モータを指定した角度だけ回転させる [詳解]
 
ER ev3_motor_steer (motor_port_t left_motor, motor_port_t right_motor, int power, int turn_ratio)
 2つのモータでロボットのステアリング操作を行う. [詳解]
 

詳解

モータ制御に関するAPI.

列挙型詳解

モータポートを表す番号

列挙値
EV3_PORT_A 

ポートA

EV3_PORT_B 

ポートB

EV3_PORT_C 

ポートC

EV3_PORT_D 

ポートD

TNUM_MOTOR_PORT 

モータポートの数

サポートするモータタイプ

列挙値
NONE_MOTOR 

モータ未接続

MEDIUM_MOTOR 

サーボモータM

LARGE_MOTOR 

サーボモータL

UNREGULATED_MOTOR 

未調整モータ

TNUM_MOTOR_TYPE 

モータタイプの数

関数詳解

ER ev3_motor_config ( motor_port_t  port,
motor_type_t  type 
)

モータポートを設定する.

モータポートに接続しているモータのタイプを設定する.既に設定した場合も新しいモータタイプを指定できる.

引数
portモータポート番号
typeモータタイプ
戻り値
E_OK正常終了
E_ID不正のモータポート番号
E_PAR不正のモータタイプ
int32_t ev3_motor_get_counts ( motor_port_t  port)

モータの角位置を取得する.

不正のモータポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portモータポート番号
戻り値
モータの角位置(単位は度),マイナスの値は逆方向に回転されたことを指す
int ev3_motor_get_power ( motor_port_t  port)

モータのパワーを取得する

不正のモータポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portモータポート番号
戻り値
モータのパワー
ER_UINT ev3_motor_get_type ( motor_port_t  port)

モータポートのモータタイプを取得する.

引数
portモータポート番号
戻り値
>=0指定したモータポートのモータタイプ
E_ID不正のモータポート番号
ER ev3_motor_reset_counts ( motor_port_t  port)

モータの角位置をゼロにリセットする.

モータの角位置センサの値を設定するだけ,モータの実際のパワーと位置に影響を与えない.

引数
portモータポート番号
戻り値
E_OK正常終了
E_ID不正のモータポート番号
E_OBJモータ未接続
ER ev3_motor_rotate ( motor_port_t  port,
int  degrees,
uint32_t  speed_abs,
bool_t  blocking 
)

モータを指定した角度だけ回転させる

引数
portモータポート番号
degrees回転角度,マイナスの値でモータを逆方向に回転させることができる
speed_abs回転速度,モータポートのフルスピードのパーセント値.範囲:0から+100.
blockingtrue (関数は回転が完了してからリターン),false (関数は回転操作を待たずにリターン)
戻り値
E_OK正常終了
E_ID不正のモータポート番号
E_OBJモータ未接続
ER ev3_motor_set_power ( motor_port_t  port,
int  power 
)

モータのパワーを設定する

引数
portモータポート番号
powerモータのフルパワーのパーセント値.範囲:-100から+100.マイナスの値でモータを逆方向に回転させることができる.
戻り値
E_OK正常終了
E_ID不正のモータポート番号
E_OBJモータ未接続

Start the motor

ER ev3_motor_steer ( motor_port_t  left_motor,
motor_port_t  right_motor,
int  power,
int  turn_ratio 
)

2つのモータでロボットのステアリング操作を行う.

引数
left_motor左モータのモータポート番号
right_motor右モータのモータポート番号
powerモータのパワー.範囲:-100から+100.マイナスの値は後退.
turn_ratioステアリングの度合い.範囲:-100から+100.マイナスの値は左への転回,プラスの値は右への転回になる. 具体的に言えば,このパラメータはこの左右モータのパワーの差の度合いである.例えば,turn_ratio は+25である場合, 左モータのパワーはpower で,右モータのパワーはpower の75%になり,ロボットは右へ転回する.
戻り値
E_OK正常終了
E_ID不正のモータID
E_OBJモータ未接続
ER ev3_motor_stop ( motor_port_t  port,
bool_t  brake 
)

モータを停止する

引数
portモータポート番号
brakeブレーキモードの指定,true (ブレーキモード), false (フロートモード)
戻り値
E_OK正常終了
E_ID不正のモータポート番号
E_OBJモータ未接続