![]() |
VEXcode IQ C++ Unofficial documentation for version 3.0.4.1
|
Use the motor class to control motor devices. More...
#include <vex_motor.h>
Public Member Functions | |
motor (int32_t index) | |
Creates a new motor object on the port specified. | |
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. | |
motor (int32_t index, double gearRatio) | |
Creates a new motor object on the port specified and sets the output gear ratio. | |
motor (int32_t index, double gearRatio, bool reverse) | |
Creates a new motor object on the port specified and sets the output gear ratio and reverse flag. | |
void | setReversed (bool value) |
Sets the motor mode to "reverse", which will make motor commands spin the motor in the opposite direction. | |
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. | |
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. | |
void | setBrake (brakeType mode) |
void | setStopping (brakeType mode) |
Sets the stopping mode of the motor by passing a brake mode as a parameter. | |
void | resetPosition (void) |
Resets the motor's encoder to the value of zero. | |
void | setPosition (double value, rotationUnits units) |
Sets the value of the motor's encoder to the value specified in the parameter. | |
void | setTimeout (int32_t 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. | |
void | spin (directionType dir) |
Turns the motor on, and spins it in the specified direction. | |
void | spin (directionType dir, double velocity, velocityUnits units) |
Turns on the motor and spins it in a specified direction and a specified velocity. | |
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. | |
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. | |
bool | spinToPosition (double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
bool | spinTo (double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to an absolute target rotation value. | |
bool | spinToPosition (double rotation, rotationUnits units, bool waitForCompletion=true) |
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. | |
bool | spinFor (directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true) |
bool | spinFor (double rotation, rotationUnits units, bool waitForCompletion=true) |
Turns on the motor and spins it to a relative target rotation value. | |
bool | spinFor (directionType dir, double rotation, rotationUnits units, bool waitForCompletion=true) |
bool | 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. | |
bool | spinFor (directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v) |
bool | spinFor (double time, timeUnits units) |
Turns on the motor and spins it to a relative target time value. | |
bool | spinFor (directionType dir, double time, timeUnits units) |
bool | isSpinning (void) |
Checks to see if the motor is rotating to a specific target. | |
bool | isDone (void) |
Checks to see if the motor is done rotating to a specific target. | |
bool | isSpinningMode (void) |
void | stop (void) |
Stops the motor using the default brake mode. | |
void | stop (brakeType mode) |
Stops the motor using a specified brake mode. | |
void | setMaxTorque (double value, percentUnits units) |
Sets the max torque of the motor. | |
void | setMaxTorque (double value, torqueUnits units) |
Sets the max torque of the motor. | |
void | setMaxTorque (double value, currentUnits units) |
Sets the max torque of the motor. | |
directionType | direction (void) |
Gets which direction the motor is spinning. | |
double | position (rotationUnits units) |
Gets the current position of the motor's encoder. | |
double | velocity (velocityUnits units) |
Gets the current velocity of the motor. | |
double | velocity (percentUnits units) |
double | current (currentUnits units=currentUnits::amp) |
Gets the electrical current of the motor. | |
double | current (percentUnits units) |
Gets the electrical current of the motor in percentage of maximum. | |
double | voltage (voltageUnits units=voltageUnits::volt) |
Gets the electrical voltage of the motor. | |
double | power (powerUnits units=powerUnits::watt) |
Gets the power of the motor. | |
double | torque (torqueUnits units=torqueUnits::Nm) |
Gets the torque of the motor. | |
double | efficiency (percentUnits units=percentUnits::pct) |
Gets the efficiency of the motor. | |
double | temperature (percentUnits units=percentUnits::pct) |
Gets the temperature of the motor. | |
double | temperature (temperatureUnits units) |
Gets the temperature of the motor. | |
![]() | |
device (int32_t index) | |
IQ_DeviceType | type () |
int32_t | index () |
void | init (int32_t index) |
int32_t | readDigitalPin () |
int32_t | readAnalogPin () |
Protected Member Functions | |
int32_t | getTimeout () |
double | getVelocity (velocityUnits units) |
![]() | |
void | setPollInterval (int32_t value) |
bool | pollValid (bool bSave) |
Additional Inherited Members | |
![]() | |
int16_t | _index |
Use the motor class to control motor devices.
Definition at line 34 of file vex_motor.h.
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 | ( | 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, |
double | gearRatio ) |
Creates a new motor object on the port specified and sets the output gear ratio.
index | The port index for this motor. The index is zero-based. |
gearRatio | the theoretical gear ration of the motor. |
vex::motor::motor | ( | int32_t | index, |
double | gearRatio, | ||
bool | reverse ) |
Creates a new motor object on the port specified and sets the output gear ratio and reverse flag.
index | The port index for this motor. The index is zero-based. |
gearRatio | the theoretical gear ration of the motor. |
reverse | Sets the reverse flag for the new motor object. |
double vex::motor::current | ( | currentUnits | units = currentUnits::amp | ) |
Gets the electrical current of the motor.
units | The measurement unit for the current. |
double vex::motor::current | ( | percentUnits | units | ) |
Gets the electrical current of the motor in percentage of maximum.
units | The measurement unit for the current. |
directionType vex::motor::direction | ( | void | ) |
Gets which direction the motor is spinning.
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. |
|
virtual |
Reimplemented from vex::device.
bool vex::motor::isDone | ( | void | ) |
Checks to see if the motor is done rotating to a specific target.
bool vex::motor::isSpinning | ( | void | ) |
Checks to see if the motor is rotating to a specific target.
double vex::motor::position | ( | rotationUnits | units | ) |
Gets the current position of the motor's encoder.
units | The measurement unit for the position. |
double vex::motor::power | ( | powerUnits | units = powerUnits::watt | ) |
Gets the power of the motor.
units | The measurement unit for the power. |
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. |
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::setPosition | ( | double | value, |
rotationUnits | units ) |
Sets the value of the motor's encoder to the value specified in the parameter.
value | Sets the current position of the motor. |
units | The measurement unit for the position value. |
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::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::setTimeout | ( | int32_t | 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. |
|
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. |
Definition at line 86 of file vex_motor.h.
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. |
void vex::motor::spin | ( | directionType | dir | ) |
Turns the motor on, and spins it in the specified direction.
dir | The direction to spin the motor. |
|
inline |
Definition at line 134 of file vex_motor.h.
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. |
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::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 | ( | 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 | ( | double | time, |
timeUnits | units ) |
Turns on the motor and spins it to a relative target time value.
time | Sets the amount of time. |
units | The measurement unit for the time value. |
bool 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. |
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::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. |
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. |
double vex::motor::temperature | ( | percentUnits | units = percentUnits::pct | ) |
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. |
double vex::motor::torque | ( | torqueUnits | units = torqueUnits::Nm | ) |
Gets the torque of the motor.
units | The measurement unit for the torque. |
|
virtual |
Reimplemented from vex::device.
|
inline |
Definition at line 284 of file vex_motor.h.
double vex::motor::velocity | ( | velocityUnits | units | ) |
Gets the current velocity of the motor.
units | The measurement unit for the velocity. |
double vex::motor::voltage | ( | voltageUnits | units = voltageUnits::volt | ) |
Gets the electrical voltage of the motor.
units | The measurement unit for the voltage. |