VEX V5 C++ API
|
Use the motor class to control motor devices. More...
Inherits vex::device.
Public Member Functions | |
motor (int32_t index) | |
Creates a new motor object on the port specified. More... | |
~motor () | |
bool | installed () |
int32_t | value () |
motor (int32_t index, bool reverse) | |
Creates a new motor object on the port specified and sets the reversed flag. More... | |
motor (int32_t index, gearSetting gears) | |
Creates a new motor object on the port specified and sets the gear setting. More... | |
motor (int32_t index, gearSetting gears, bool reverse) | |
Creates a new motor object on the port specified Sets the reversed flag and the gear setting for the new motor object. More... | |
void | setReversed (bool value) |
Sets the motor mode to "reverse", which will make motor commands spin the motor in the opposite direction. More... | |
void | setVelocity (double velocity, velocityUnits units) |
Sets the velocity of the motor based on the parameters set in the command. This command will not run the motor. Any subsequent call that does not contain a specified motor velocity will use this value. More... | |
void | setVelocity (double velocity, percentUnits units) |
Sets the velocity of the motor based on the parameters set in the command. This command will not run the motor. Any subsequent call that does not contain a specified motor velocity will use this value. More... | |
void | setStopping (brakeType mode) |
Sets the stopping mode of the motor by passing a brake mode as a parameter. More... | |
void | resetRotation (void) |
Resets the motor's encoder to the value of zero. More... | |
void | setRotation (double value, rotationUnits units) |
Sets the value of the motor's encoder to the value specified in the parameter. More... | |
void | setTimeout (double time, timeUnits units) |
Sets the timeout for the motor. If the motor does not reach its commanded position prior to the completion of the timeout, the motor will stop. More... | |
double | timeout (timeUnits units) |
bool | didTimeout (void) |
brakeType | _getBrakeMode () |
void | spin (directionType dir) |
Turns the motor on, and spins it in the specified direction. More... | |
void | spin (directionType dir, double velocity, velocityUnits units) |
Turns on the motor and spins it in a specified direction and a specified velocity. More... | |
void | spin (directionType dir, double velocity, percentUnits units) |
void | spin (directionType dir, double voltage, voltageUnits units) |
Turns on the motor and spins it in a specified direction and a specified voltage. More... | |
bool | spinTo (double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
Turns on the motor and spins it to an absolute target rotation value at a specified velocity. More... | |
bool | spinTo (double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to an absolute target rotation value. More... | |
bool | spinToPosition (double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
Turns on the motor and spins it to an absolute target rotation value at a specified velocity. Same as spinTo . More... | |
bool | spinToPosition (double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to an absolute target rotation value. Same as spinTo . More... | |
bool | spinFor (double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
Turns on the motor and spins it to a relative target rotation value at a specified velocity. More... | |
bool | spinFor (directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
Turns on the motor and spins it to a relative target rotation value at a specified velocity. More... | |
bool | spinFor (double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to a relative target rotation value. More... | |
bool | spinFor (directionType dir, double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to a relative target rotation value. More... | |
void | spinFor (double time, timeUnits units, double velocity, velocityUnits units_v) |
Turns on the motor and spins it to a relative target time value at a specified velocity. More... | |
void | spinFor (directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v) |
Turns on the motor and spins it to a relative target time value at a specified velocity. More... | |
void | spinFor (double time, timeUnits units) |
void | spinFor (directionType dir, double time, timeUnits units) |
void | startSpinTo (double rotation, rotationUnits units, double velocity, velocityUnits units_v) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target. More... | |
void | startSpinTo (double rotation, rotationUnits units) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target.. More... | |
void | startSpinToPosition (double rotation, rotationUnits units, double velocity, velocityUnits units_v) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target. Same as startSpinTo . More... | |
void | startSpinToPosition (double rotation, rotationUnits units) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target. Same as startSpinTo . More... | |
void | startSpinFor (double rotation, rotationUnits units, double velocity, velocityUnits units_v) |
Starts spinning a motor to a relative target rotation but does not wait for the motor to reach that target. More... | |
void | startSpinFor (directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v) |
Starts spinning a motor to a relative target rotation but does not wait for the motor to reach that target. More... | |
void | startSpinFor (double rotation, rotationUnits units) |
Starts spinning a motor to a relative target but does not wait for the motor to reach that target. More... | |
void | startSpinFor (directionType dir, double rotation, rotationUnits units) |
Starts spinning a motor to a relative target but does not wait for the motor to reach that target. More... | |
bool | isSpinning () |
Checks to see if a spinFor/spinTo command is still in process, i.e. the motor is still spinning and hasn't yet reached its target position. More... | |
bool | isDone () |
Determines if a spinFor/spinTo command has reached its target position. More... | |
void | stop (void) |
Stops the motor using the default brake mode. More... | |
void | stop (brakeType mode) |
Stops the motor using a specified brake mode. More... | |
void | setMaxTorque (double value, percentUnits units) |
Sets the max torque of the motor. More... | |
void | setMaxTorque (double value, torqueUnits units) |
Sets the max torque of the motor. More... | |
void | setMaxTorque (double value, currentUnits units) |
Sets the max torque of the motor. More... | |
directionType | direction (void) |
Gets which direction the motor is spinning. More... | |
double | rotation (rotationUnits units) |
Gets the current rotation of the motor's encoder. More... | |
double | velocity (velocityUnits units) |
Gets the current velocity of the motor. More... | |
double | velocity (percentUnits units) |
double | current (currentUnits units) |
Gets the electrical current of the motor. More... | |
double | voltage (voltageUnits units) |
Gets the electrical voltage being applied to the motor. More... | |
double | power (powerUnits units) |
Gets the power of the motor. More... | |
double | torque (torqueUnits units) |
Gets the torque of the motor. More... | |
double | efficiency (percentUnits units=percentUnits::pct) |
Gets the efficiency of the motor. More... | |
double | temperature (percentUnits units) |
Gets the temperature of the motor. More... | |
double | temperature (temperatureUnits units) |
Gets the temperature of the motor. More... | |
![]() | |
device () | |
device (int32_t index) | |
~device () | |
V5_DeviceType | type () |
void | init (int32_t index) |
Static Public Member Functions | |
static void | disableAll () |
Stops all motors, as if a competition switch was put in the Disabled state. More... | |
Friends | |
class | motor_group |
Additional Inherited Members | |
![]() | |
int32_t | _index |
Use the motor class to control motor devices.
vex::motor::motor | ( | int32_t | index | ) |
Creates a new motor object on the port specified.
index | The port index for this motor. The index is zero-based. |
vex::motor::~motor | ( | ) |
vex::motor::motor | ( | int32_t | index, |
bool | reverse | ||
) |
Creates a new motor object on the port specified and sets the reversed flag.
index | The port index for this motor. The index is zero-based. |
reverse | Sets the reverse flag for the new motor object. |
vex::motor::motor | ( | int32_t | index, |
gearSetting | gears | ||
) |
Creates a new motor object on the port specified and sets the gear setting.
index | The port index for this motor. The index is zero-based. |
gears | Sets the gear's setting for the new motor object. |
vex::motor::motor | ( | int32_t | index, |
gearSetting | gears, | ||
bool | reverse | ||
) |
Creates a new motor object on the port specified Sets the reversed flag and the gear setting for the new motor object.
index | The port index for this motor. The index is zero-based. |
gears | Sets the gear's setting for the new motor object. |
reverse | Sets the reverse flag for the new motor object. |
|
static |
Stops all motors, as if a competition switch was put in the Disabled state.
|
virtual |
Reimplemented from vex::device.
|
virtual |
Reimplemented from vex::device.
void vex::motor::setReversed | ( | bool | value | ) |
Sets the motor mode to "reverse", which will make motor commands spin the motor in the opposite direction.
value | If set to true, motor commands spin the motor in the opposite direction. |
void vex::motor::setVelocity | ( | double | velocity, |
velocityUnits | units | ||
) |
Sets the velocity of the motor based on the parameters set in the command. This command will not run the motor. Any subsequent call that does not contain a specified motor velocity will use this value.
velocity | Sets the amount of velocity. |
units | The measurement unit for the velocity value. |
|
inline |
Sets the velocity of the motor based on the parameters set in the command. This command will not run the motor. Any subsequent call that does not contain a specified motor velocity will use this value.
velocity | Sets the amount of velocity. |
units | The measurement unit for the velocity value. |
void vex::motor::setStopping | ( | brakeType | mode | ) |
Sets the stopping mode of the motor by passing a brake mode as a parameter.
mode | The stopping mode can be set to coast, brake, or hold. |
void vex::motor::resetRotation | ( | void | ) |
Resets the motor's encoder to the value of zero.
void vex::motor::setRotation | ( | double | value, |
rotationUnits | units | ||
) |
Sets the value of the motor's encoder to the value specified in the parameter.
value | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
void vex::motor::setTimeout | ( | double | time, |
timeUnits | units | ||
) |
Sets the timeout for the motor. If the motor does not reach its commanded position prior to the completion of the timeout, the motor will stop.
time | Sets the amount of time. |
units | The measurement unit for the time value. |
double vex::motor::timeout | ( | timeUnits | units | ) |
bool vex::motor::didTimeout | ( | void | ) |
brakeType vex::motor::_getBrakeMode | ( | ) |
void vex::motor::spin | ( | directionType | dir | ) |
Turns the motor on, and spins it in the specified direction.
dir | The direction to spin the motor. |
void vex::motor::spin | ( | directionType | dir, |
double | velocity, | ||
velocityUnits | units | ||
) |
Turns on the motor and spins it in a specified direction and a specified velocity.
dir | The direction to spin the motor. |
velocity | Sets the amount of velocity. |
units | The measurement unit for the velocity value. |
|
inline |
void vex::motor::spin | ( | directionType | dir, |
double | voltage, | ||
voltageUnits | units | ||
) |
Turns on the motor and spins it in a specified direction and a specified voltage.
dir | The direction to spin the motor. |
voltage | Sets the amount of volts. |
units | The measurement unit for the voltage value. |
bool vex::motor::spinTo | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to an absolute target rotation value at a specified velocity.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinTo | ( | double | rotation, |
rotationUnits | units, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to an absolute target rotation value.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinToPosition | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to an absolute target rotation value at a specified velocity. Same as spinTo
.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinToPosition | ( | double | rotation, |
rotationUnits | units, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to an absolute target rotation value. Same as spinTo
.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinFor | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to a relative target rotation value at a specified velocity.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinFor | ( | directionType | dir, |
double | rotation, | ||
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to a relative target rotation value at a specified velocity.
dir | The direction to spin the motor. |
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinFor | ( | double | rotation, |
rotationUnits | units, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to a relative target rotation value.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
bool vex::motor::spinFor | ( | directionType | dir, |
double | rotation, | ||
rotationUnits | units, | ||
bool | waitForCompletion = true |
||
) |
Turns on the motor and spins it to a relative target rotation value.
dir | The direction to spin the motor. |
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
waitForCompletion | (Optional) If true, your program will wait until the motor reaches the target rotational value. If false, the program will continue after calling this function. By default, this parameter is true. |
void vex::motor::spinFor | ( | double | time, |
timeUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Turns on the motor and spins it to a relative target time value at a specified velocity.
time | Sets the amount of time. |
units | The measurement unit for the time value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::spinFor | ( | directionType | dir, |
double | time, | ||
timeUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Turns on the motor and spins it to a relative target time value at a specified velocity.
dir | The direction to spin the motor. |
time | Sets the amount of time. |
units | The measurement unit for the time value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::spinFor | ( | double | time, |
timeUnits | units | ||
) |
time | Sets the amount of time. |
units | The measurement unit for the time value. |
void vex::motor::spinFor | ( | directionType | dir, |
double | time, | ||
timeUnits | units | ||
) |
dir | The direction to spin the motor. |
time | Sets the amount of time. |
units | The measurement unit for the time value. |
void vex::motor::startSpinTo | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::startSpinTo | ( | double | rotation, |
rotationUnits | units | ||
) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target..
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
void vex::motor::startSpinToPosition | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target. Same as startSpinTo
.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::startSpinToPosition | ( | double | rotation, |
rotationUnits | units | ||
) |
Starts spinning a motor to an absolute target rotation but does not wait for the motor to reach that target. Same as startSpinTo
.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
void vex::motor::startSpinFor | ( | double | rotation, |
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Starts spinning a motor to a relative target rotation but does not wait for the motor to reach that target.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::startSpinFor | ( | directionType | dir, |
double | rotation, | ||
rotationUnits | units, | ||
double | velocity, | ||
velocityUnits | units_v | ||
) |
Starts spinning a motor to a relative target rotation but does not wait for the motor to reach that target.
dir | The direction to spin the motor. |
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
velocity | Sets the amount of velocity. |
units_v | The measurement unit for the velocity value. |
void vex::motor::startSpinFor | ( | double | rotation, |
rotationUnits | units | ||
) |
Starts spinning a motor to a relative target but does not wait for the motor to reach that target.
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
void vex::motor::startSpinFor | ( | directionType | dir, |
double | rotation, | ||
rotationUnits | units | ||
) |
Starts spinning a motor to a relative target but does not wait for the motor to reach that target.
dir | The direction to spin the motor. |
rotation | Sets the amount of rotation. |
units | The measurement unit for the rotation value. |
bool vex::motor::isSpinning | ( | ) |
Checks to see if a spinFor/spinTo command is still in process, i.e. the motor is still spinning and hasn't yet reached its target position.
bool vex::motor::isDone | ( | ) |
Determines if a spinFor/spinTo command has reached its target position.
void vex::motor::stop | ( | void | ) |
Stops the motor using the default brake mode.
void vex::motor::stop | ( | brakeType | mode | ) |
Stops the motor using a specified brake mode.
mode | The brake mode can be set to coast, brake, or hold. |
void vex::motor::setMaxTorque | ( | double | value, |
percentUnits | units | ||
) |
Sets the max torque of the motor.
value | Sets the amount of torque. |
units | The measurement unit for the torque value. |
void vex::motor::setMaxTorque | ( | double | value, |
torqueUnits | units | ||
) |
Sets the max torque of the motor.
value | Sets the amount of torque. |
units | The measurement unit for the torque value. |
void vex::motor::setMaxTorque | ( | double | value, |
currentUnits | units | ||
) |
Sets the max torque of the motor.
value | Sets the amount of torque. |
units | The measurement unit for the torque value. |
directionType vex::motor::direction | ( | void | ) |
Gets which direction the motor is spinning.
double vex::motor::rotation | ( | rotationUnits | units | ) |
Gets the current rotation of the motor's encoder.
units | The measurement unit for the rotation. |
double vex::motor::velocity | ( | velocityUnits | units | ) |
Gets the current velocity of the motor.
units | The measurement unit for the velocity. |
|
inline |
double vex::motor::current | ( | currentUnits | units | ) |
Gets the electrical current of the motor.
units | The measurement unit for the current. |
double vex::motor::voltage | ( | voltageUnits | units | ) |
Gets the electrical voltage being applied to the motor.
units | The measurement unit for the voltage. |
double vex::motor::power | ( | powerUnits | units | ) |
Gets the power of the motor.
units | The measurement unit for the power. |
double vex::motor::torque | ( | torqueUnits | units | ) |
Gets the torque of the motor.
units | The measurement unit for the torque. |
double vex::motor::efficiency | ( | percentUnits | units = percentUnits::pct | ) |
Gets the efficiency of the motor.
units | (Optional) The measurement unit for the efficiency. By default, this parameter is a percentage. |
double vex::motor::temperature | ( | percentUnits | units | ) |
Gets the temperature of the motor.
units | The measurement unit for the temperature. |
double vex::motor::temperature | ( | temperatureUnits | units | ) |
Gets the temperature of the motor.
units | The measurement unit for the temperature. |
|
friend |