SPIKE-RT C++ API Reference
Loading...
Searching...
No Matches
spikeapi::Motor Class Reference

#include <Motor.h>

Public Types

enum class  EDirection { CLOCKWISE = PUP_DIRECTION_CLOCKWISE , COUNTERCLOCKWISE = PUP_DIRECTION_COUNTERCLOCKWISE }

Public Member Functions

 Motor (EPort port, EDirection direction=EDirection::CLOCKWISE, bool reset_count=true)
void resetCount () const
int32_t getCount () const
int32_t getSpeed () const
void setSpeed (int speed) const
int32_t getPower () const
void setPower (int power) const
void stop () const
void brake () const
void hold () const
bool isStalled () const
int32_t setDutyLimit (int duty_limit) const
void restoreDutyLimit (int old_value) const
bool hasError ()

Detailed Description

SPIKE モータクラス

Constructor & Destructor Documentation

◆ Motor()

spikeapi::Motor::Motor ( EPort port,
EDirection direction = EDirection::CLOCKWISE,
bool reset_count = true )
inline

コンストラクタ

Parameters
portPUPポートID
directionモータの回転方向
reset_countカウントをリセットするか pup_motor_setup()を複数回呼ぶとハングするため、コンストラクタで一回だけ呼ぶことでエラーを回避する

Member Function Documentation

◆ brake()

void spikeapi::Motor::brake ( ) const
inline

ブレーキをかけてモータを止める

Returns
-

◆ getCount()

int32_t spikeapi::Motor::getCount ( ) const
inline

エンコーダの値を取得する

Returns
エンコーダの値 [°]

◆ getPower()

int32_t spikeapi::Motor::getPower ( ) const
inline

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

Returns
パワー値(-100 ~ +100)

◆ getSpeed()

int32_t spikeapi::Motor::getSpeed ( ) const
inline

モータの回転速度を取得する

Returns
回転速度 [°/秒]

◆ hasError()

bool spikeapi::Motor::hasError ( )
inline

インスタンス生成が正常にできたかどうかを確認するための共通メソッド

◆ hold()

void spikeapi::Motor::hold ( ) const
inline

モータを止めて角度を維持する

Returns
-

◆ isStalled()

bool spikeapi::Motor::isStalled ( ) const
inline

モータがストールしているか調べる

Returns
true ストールしている
false ストールしていない

◆ resetCount()

void spikeapi::Motor::resetCount ( ) const
inline

エンコーダをリセットする

Returns
-

◆ restoreDutyLimit()

void spikeapi::Motor::restoreDutyLimit ( int old_value) const
inline

モータのデューティ値を元に戻す

Parameters
old_valuepup_motor_set_duty_limitの戻り値

◆ setDutyLimit()

int32_t spikeapi::Motor::setDutyLimit ( int duty_limit) const
inline

モータのデューティ値を下げる

Parameters
duty_limit新しいデューティ値(0-100)
Returns
元の状態に戻すための最大電圧

◆ setPower()

void spikeapi::Motor::setPower ( int power) const
inline

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

Parameters
powerモータのパワー値(-100 ~ +100)
Returns
-

◆ setSpeed()

void spikeapi::Motor::setSpeed ( int speed) const
inline

モータの回転速度を設定する

Parameters
speedモータの回転速度 [°/秒]
Returns
-

◆ stop()

void spikeapi::Motor::stop ( ) const
inline

モータを止める

Returns
-

The documentation for this class was generated from the following file: