|
VEX IQ C++ API
|
Inherited by vex::smartdrive.
Public Member Functions | |
| drivetrain (vex::motor_group &leftMotors, vex::motor_group &rightMotors, float wheelTravel=200, float trackWidth=176, float wheelBase=50, distanceUnits unit=distanceUnits::mm, float externalGearRatio=1.0) | |
| Creates a new drivetrain object. More... | |
| drivetrain (vex::motor &leftMotor, vex::motor &rightMotor, float wheelTravel=200, float trackWidth=176, float wheelBase=50, distanceUnits unit=distanceUnits::mm, float externalGearRatio=1.0) | |
| ~drivetrain () | |
| void | setGearRatio (float ratio) |
| Sets the external gear ratio of the drivetrain. More... | |
| void | setDriveVelocity (float velocity, velocityUnits units) |
| Sets the velocity of the drive 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 | setDriveVelocity (float velocity, percentUnits units) |
| void | setTurnVelocity (float velocity, velocityUnits units) |
| Sets the turn velocity of the drive based on the parameters set in the command. This command will not run the motor. More... | |
| void | setTurnVelocity (float velocity, percentUnits units) |
| void | setTimeout (float time, timeUnits units) |
| Sets the timeout for the motor group. If the motor group does not reach its commanded position prior to the completion of the timeout, the motors will stop. More... | |
| float | timeout (timeUnits units) |
| bool | didTimeout () |
| void | setStopping (brakeType mode) |
| Sets the stopping mode of the motor group by passing a brake mode as a parameter. More... | |
| void | drive (directionType dir) |
| Turns the motors on, and drive in the specified direction. More... | |
| void | drive (directionType dir, float velocity, velocityUnits units) |
| Turn on the motors and drive in the specified direction and a specified velocity. More... | |
| bool | driveFor (float distance, distanceUnits units, bool waitForCompletion=true) |
| Turn on the motors and drive a distance at the default velocity. More... | |
| bool | driveFor (directionType dir, float distance, distanceUnits units, bool waitForCompletion=true) |
| Turn on the motors and drive a distance at the default velocity. More... | |
| bool | driveFor (float distance, distanceUnits units, float velocity, velocityUnits units_v, bool waitForCompletion=true) |
| Turn on the motors and drive a distance at a specified velocity. More... | |
| bool | driveFor (directionType dir, float distance, distanceUnits units, float velocity, velocityUnits units_v, bool waitForCompletion=true) |
| Turn on the motors and drive a distance at a specified velocity. More... | |
| void | startDriveFor (float distance, distanceUnits distUnit) |
| Start driving a distance at a pre-set velocity. More... | |
| void | startDriveFor (directionType dir, float distance, distanceUnits distUnit) |
| Start driving a distance at a pre-set velocity. More... | |
| void | startDriveFor (float distance, distanceUnits distUnit, float velocity, velocityUnits velUnit) |
| Start driving a distance at a specified velocity. More... | |
| void | startDriveFor (directionType dir, float distance, distanceUnits distUnit, float velocity, velocityUnits velUnit) |
| Start driving a distance at a specified velocity. More... | |
| void | turn (turnType dir) |
| Turns the motors on, and rotate in the specified direction. More... | |
| void | turn (turnType dir, float velocity, velocityUnits units) |
| Turns the motors on, and rotate in the specified direction and a specified velocity. More... | |
| virtual bool | turnFor (float angle, rotationUnits units, bool waitForCompletion=true) |
| Turn on the motors and rotate an angle at the default velocity. More... | |
| virtual bool | turnFor (turnType dir, float angle, rotationUnits units, bool waitForCompletion=true) |
| Turn on the motors and rotate an angle at the default velocity. More... | |
| virtual bool | turnFor (float angle, rotationUnits units, float velocity, velocityUnits units_v, bool waitForCompletion=true) |
| Turn on the motors and rotate an angle at a specified velocity. More... | |
| virtual bool | turnFor (turnType dir, float angle, rotationUnits units, float velocity, velocityUnits units_v, bool waitForCompletion=true) |
| Turn on the motors and rotate an angle at a specified velocity. More... | |
| virtual void | startTurnFor (float angle, rotationUnits angleUnit) |
| Start turning the drivetrain for a given angle. More... | |
| virtual void | startTurnFor (turnType dir, float angle, rotationUnits angleUnit) |
| Start turning the drivetrain for a given angle. More... | |
| virtual void | startTurnFor (float angle, rotationUnits angleUnit, float velocity, velocityUnits velUnit) |
| Start turning the drivetrain for a given angle at a given velocity. More... | |
| virtual void | startTurnFor (turnType dir, float angle, rotationUnits angleUnit, float velocity, velocityUnits velUnit) |
| Start turning the drivetrain for a given angle at a given velocity. More... | |
| virtual bool | isMoving (void) |
| Checks to see if any of the motors are rotating to a specific target. More... | |
| bool | isDone (void) |
| Checks to see if all the motor are done rotating to a specific target. More... | |
| void | stop () |
| Stops the drive using the default brake mode. More... | |
| void | stop (brakeType mode) |
| Stops the drive using a specified brake mode. More... | |
| void | arcade (float drivePower, float turnPower, percentUnits units=percentUnits::pct) |
| Drive in arcade mode, normally corresponding to two controller joystick axis values. More... | |
| float | velocity (velocityUnits units) |
| Gets the average velocity of the drivetrain;. More... | |
| float | velocity (percentUnits units) |
| float | current (currentUnits units=currentUnits::amp) |
| Gets the total current of the drivetrain;. More... | |
Protected Attributes | |
| Drivetrain_t | _dt |
| vex::drivetrain::drivetrain | ( | vex::motor_group & | leftMotors, |
| vex::motor_group & | rightMotors, | ||
| float | wheelTravel = 200, |
||
| float | trackWidth = 176, |
||
| float | wheelBase = 50, |
||
| distanceUnits | unit = distanceUnits::mm, |
||
| float | externalGearRatio = 1.0 |
||
| ) |
Creates a new drivetrain object.
| leftMotors | motor group driving the left side of the drivetrain |
| rightMotors | motor group driving the right side of the drivetrain |
| wheelTravel | circumference of the wheel type used |
| trackWidth | distance between the wheels on opposite sides |
| wheelBase | |
| unit | distance unit for wheelTravel and trackWith |
| externalGearRatio | external gear ratio, usually 1.0 |
| vex::drivetrain::drivetrain | ( | vex::motor & | leftMotor, |
| vex::motor & | rightMotor, | ||
| float | wheelTravel = 200, |
||
| float | trackWidth = 176, |
||
| float | wheelBase = 50, |
||
| distanceUnits | unit = distanceUnits::mm, |
||
| float | externalGearRatio = 1.0 |
||
| ) |
| vex::drivetrain::~drivetrain | ( | ) |
| void vex::drivetrain::setGearRatio | ( | float | ratio | ) |
Sets the external gear ratio of the drivetrain.
| ratio | gear ratio value, usually 1.0 |
| void vex::drivetrain::setDriveVelocity | ( | float | velocity, |
| velocityUnits | units | ||
| ) |
Sets the velocity of the drive 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::drivetrain::setDriveVelocity | ( | float | velocity, |
| percentUnits | units | ||
| ) |
| void vex::drivetrain::setTurnVelocity | ( | float | velocity, |
| velocityUnits | units | ||
| ) |
Sets the turn velocity of the drive based on the parameters set in the command. This command will not run the motor.
| velocity | Sets the amount of velocity. |
| units | The measurement unit for the velocity value. |
| void vex::drivetrain::setTurnVelocity | ( | float | velocity, |
| percentUnits | units | ||
| ) |
| void vex::drivetrain::setTimeout | ( | float | time, |
| timeUnits | units | ||
| ) |
Sets the timeout for the motor group. If the motor group does not reach its commanded position prior to the completion of the timeout, the motors will stop.
| time | Sets the amount of time. |
| units | The measurement unit for the time value. |
| float vex::drivetrain::timeout | ( | timeUnits | units | ) |
| bool vex::drivetrain::didTimeout | ( | ) |
| void vex::drivetrain::setStopping | ( | brakeType | mode | ) |
Sets the stopping mode of the motor group by passing a brake mode as a parameter.
| mode | The stopping mode can be set to coast, brake, or hold. |
| void vex::drivetrain::drive | ( | directionType | dir | ) |
Turns the motors on, and drive in the specified direction.
| dir | The direction to drive. |
| void vex::drivetrain::drive | ( | directionType | dir, |
| float | velocity, | ||
| velocityUnits | units | ||
| ) |
Turn on the motors and drive in the specified direction and a specified velocity.
| dir | The direction to drive. |
| velocity | Sets the amount of velocity. |
| units | The measurement unit for the velocity value. |
| bool vex::drivetrain::driveFor | ( | float | distance, |
| distanceUnits | units, | ||
| bool | waitForCompletion = true |
||
| ) |
Turn on the motors and drive a distance at the default velocity.
| distance | Sets the distance to drive. |
| units | The measurement unit for the distance 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::drivetrain::driveFor | ( | directionType | dir, |
| float | distance, | ||
| distanceUnits | units, | ||
| bool | waitForCompletion = true |
||
| ) |
Turn on the motors and drive a distance at the default velocity.
| dir | The direction to drive in. |
| distance | Sets the distance to drive. |
| units | The measurement unit for the distance 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::drivetrain::driveFor | ( | float | distance, |
| distanceUnits | units, | ||
| float | velocity, | ||
| velocityUnits | units_v, | ||
| bool | waitForCompletion = true |
||
| ) |
Turn on the motors and drive a distance at a specified velocity.
| distance | Sets the distance to drive. |
| units | The measurement unit for the distance 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::drivetrain::driveFor | ( | directionType | dir, |
| float | distance, | ||
| distanceUnits | units, | ||
| float | velocity, | ||
| velocityUnits | units_v, | ||
| bool | waitForCompletion = true |
||
| ) |
Turn on the motors and drive a distance at a specified velocity.
| dir | The direction to drive in. |
| distance | Sets the distance to drive. |
| units | The measurement unit for the distance 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::drivetrain::startDriveFor | ( | float | distance, |
| distanceUnits | distUnit | ||
| ) |
Start driving a distance at a pre-set velocity.
| distance | Sets the distance to drive. |
| distUnit | The measurement unit for the distance value. |
| void vex::drivetrain::startDriveFor | ( | directionType | dir, |
| float | distance, | ||
| distanceUnits | distUnit | ||
| ) |
Start driving a distance at a pre-set velocity.
| dir | The direction to drive in. |
| distance | Sets the distance to drive. |
| distUnit | The measurement unit for the distance value. |
| void vex::drivetrain::startDriveFor | ( | float | distance, |
| distanceUnits | distUnit, | ||
| float | velocity, | ||
| velocityUnits | velUnit | ||
| ) |
Start driving a distance at a specified velocity.
| distance | Sets the distance to drive. |
| distUnit | The measurement unit for the distance value. |
| velocity | Sets the amount of velocity. |
| velUnit | The measurement unit for the velocity value. |
| void vex::drivetrain::startDriveFor | ( | directionType | dir, |
| float | distance, | ||
| distanceUnits | distUnit, | ||
| float | velocity, | ||
| velocityUnits | velUnit | ||
| ) |
Start driving a distance at a specified velocity.
| dir | The direction to drive in. |
| distance | Sets the distance to drive. |
| distUnit | The measurement unit for the distance value. |
| velocity | Sets the amount of velocity. |
| velUnit | The measurement unit for the velocity value. |
| void vex::drivetrain::turn | ( | turnType | dir | ) |
Turns the motors on, and rotate in the specified direction.
| dir | The direction to rotate the robot. |
| void vex::drivetrain::turn | ( | turnType | dir, |
| float | velocity, | ||
| velocityUnits | units | ||
| ) |
Turns the motors on, and rotate in the specified direction and a specified velocity.
| dir | The direction to rotate the robot. |
| velocity | Sets the amount of velocity. |
| units | The measurement unit for the velocity value. |
|
virtual |
Turn on the motors and rotate an angle at the default velocity.
| angle | Sets the angle to turn. |
| units | The measurement unit for the angle 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. |
Reimplemented in vex::smartdrive.
|
virtual |
Turn on the motors and rotate an angle at the default velocity.
| dir | Direction to turn in, left or right. |
| angle | Sets the angle to turn. |
| units | The measurement unit for the angle 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. |
Reimplemented in vex::smartdrive.
|
virtual |
Turn on the motors and rotate an angle at a specified velocity.
| angle | Sets the angle to turn. |
| units | The measurement unit for the angle 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. |
Reimplemented in vex::smartdrive.
|
virtual |
Turn on the motors and rotate an angle at a specified velocity.
| dir | Direction to turn in, left or right. |
| angle | Sets the angle to turn. |
| units | The measurement unit for the angle 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. |
Reimplemented in vex::smartdrive.
|
virtual |
Start turning the drivetrain for a given angle.
| angle | Sets the angle to turn. |
| angleUnit | The measurement unit for the angle value. |
Reimplemented in vex::smartdrive.
|
virtual |
Start turning the drivetrain for a given angle.
| dir | Direction to turn in, left or right. |
| angle | Sets the angle to turn. |
| angleUnit | The measurement unit for the angle value. |
Reimplemented in vex::smartdrive.
|
virtual |
Start turning the drivetrain for a given angle at a given velocity.
| angle | Sets the angle to turn. |
| angleUnit | The measurement unit for the angle value. |
| velocity | Sets the amount of velocity. |
| velUnit | The measurement unit for the velocity value. |
Reimplemented in vex::smartdrive.
|
virtual |
Start turning the drivetrain for a given angle at a given velocity.
| dir | Direction to turn in, left or right. |
| angle | Sets the angle to turn. |
| angleUnit | The measurement unit for the angle value. |
| velocity | Sets the amount of velocity. |
| velUnit | The measurement unit for the velocity value. |
Reimplemented in vex::smartdrive.
|
virtual |
Checks to see if any of the motors are rotating to a specific target.
Reimplemented in vex::smartdrive.
| bool vex::drivetrain::isDone | ( | void | ) |
Checks to see if all the motor are done rotating to a specific target.
| void vex::drivetrain::stop | ( | ) |
Stops the drive using the default brake mode.
| void vex::drivetrain::stop | ( | brakeType | mode | ) |
Stops the drive using a specified brake mode.
| mode | The brake mode can be set to coast, brake, or hold. |
| void vex::drivetrain::arcade | ( | float | drivePower, |
| float | turnPower, | ||
| percentUnits | units = percentUnits::pct |
||
| ) |
Drive in arcade mode, normally corresponding to two controller joystick axis values.
| drivePower | percent power to apply to driving, -100..100 |
| turnPower | percent power to apply to turning, -100..100 |
| units | percent |
| float vex::drivetrain::velocity | ( | velocityUnits | units | ) |
Gets the average velocity of the drivetrain;.
| units | The measurement unit for the velocity. |
|
inline |
| float vex::drivetrain::current | ( | currentUnits | units = currentUnits::amp | ) |
Gets the total current of the drivetrain;.
| units | The measurement unit for the current. |
|
protected |
1.8.15