VEXcode IQ C++ Unofficial documentation for version 3.0.4.1
Loading...
Searching...
No Matches
vex::drivetrain Class Reference
Inheritance diagram for vex::drivetrain:
vex::smartdrive

Public Member Functions

 drivetrain (motor_group &l, motor_group &r, double wheelTravel=200, double trackWidth=200, double wheelBase=50, distanceUnits unit=distanceUnits::mm, double externalGearRatio=1.0)
 
 drivetrain (vex::motor &l, vex::motor &r, double wheelTravel=200, double trackWidth=200, double wheelBase=50, distanceUnits unit=distanceUnits::mm, double externalGearRatio=1.0)
 
void setGearRatio (double ratio)
 
void setDriveVelocity (double 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.
 
void setDriveVelocity (double velocity, percentUnits units)
 
void setTurnVelocity (double 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.
 
void setTurnVelocity (double velocity, percentUnits units)
 
void setTimeout (int32_t 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.
 
void setStopping (brakeType mode)
 Sets the stopping mode of the motor group by passing a brake mode as a parameter.
 
void drive (directionType dir)
 Turns the motors on, and drive in the specified direction.
 
void drive (directionType dir, double velocity, velocityUnits units)
 Turn on the motors and drive in the specified direction and a specified velocity.
 
bool driveFor (double distance, distanceUnits units, bool waitForCompletion=true)
 Turn on the motors and drive a distance at the default velocity.
 
bool driveFor (directionType dir, double distance, distanceUnits units, bool waitForCompletion=true)
 
bool driveFor (double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true)
 Turn on the motors and drive a distance at a specified velocity.
 
bool driveFor (directionType dir, double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true)
 
void turn (turnType dir)
 Turns the motors on, and rotate in the specified direction.
 
void turn (turnType dir, double velocity, velocityUnits units)
 Turns the motors on, and rotate in the specified direction and a specified velocity.
 
virtual bool turnFor (double angle, rotationUnits units, bool waitForCompletion=true)
 Turn on the motors and rotate an angle at the default velocity.
 
virtual bool turnFor (turnType dir, double angle, rotationUnits units, bool waitForCompletion=true)
 
virtual bool turnFor (double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true)
 Turn on the motors and rotate an angle at a specified velocity.
 
virtual bool turnFor (turnType dir, double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion=true)
 
virtual bool isMoving (void)
 Checks to see if any of the motors are rotating to a specific target.
 
bool isDone (void)
 Checks to see if all the motor are done rotating to a specific target.
 
void stop ()
 Stops the drive using the default brake mode.
 
void stop (brakeType mode)
 Stops the drive using a specified brake mode.
 
void arcade (double drivePower, double turnPower, percentUnits units=percentUnits::pct)
 
double velocity (velocityUnits units)
 Gets the average velocity of the drivetrain;.
 
double velocity (percentUnits units)
 
double current (currentUnits units=currentUnits::amp)
 Gets the total current of the drivetrain;.
 
double current (percentUnits units)
 Gets the electrical current of the drivetrain as percentage of maximum.
 
double voltage (voltageUnits units=voltageUnits::volt)
 Gets the average voltage of the drivetrain;.
 
double power (powerUnits units=powerUnits::watt)
 Gets the average power of the drivetrain;.
 
double torque (torqueUnits units=torqueUnits::Nm)
 Gets the average torque of the drivetrain;.
 
double efficiency (percentUnits units=percentUnits::pct)
 Gets the average efficiency of the drivetrain;.
 
double temperature (percentUnits units)
 Gets the average temperature of the drivetrain;.
 

Protected Member Functions

double distanceToMm (double distance, distanceUnits units)
 
double angleToDeg (double angle, rotationUnits units)
 
int32_t timeoutGet ()
 

Protected Attributes

double _turnvelocity
 
velocityUnits _turnvelocityUnits
 
uint8_t _turnmode
 

Detailed Description

Definition at line 26 of file vex_drivetrain.h.

Member Function Documentation

◆ current() [1/2]

double vex::drivetrain::current ( currentUnits units = currentUnits::amp)

Gets the total current of the drivetrain;.

Returns
Returns a double that represents the electrical current of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the current.

◆ current() [2/2]

double vex::drivetrain::current ( percentUnits units)

Gets the electrical current of the drivetrain as percentage of maximum.

Returns
Returns a double that represents the electrical current of the drivetrain as percentage of max current.
Parameters
unitsThe measurement unit for the current.

◆ drive() [1/2]

void vex::drivetrain::drive ( directionType dir)

Turns the motors on, and drive in the specified direction.

Parameters
dirThe direction to drive.

◆ drive() [2/2]

void vex::drivetrain::drive ( directionType dir,
double velocity,
velocityUnits units )

Turn on the motors and drive in the specified direction and a specified velocity.

Parameters
dirThe direction to drive.
velocitySets the amount of velocity.
unitsThe measurement unit for the velocity value.

◆ driveFor() [1/2]

bool vex::drivetrain::driveFor ( double distance,
distanceUnits units,
bool waitForCompletion = true )

Turn on the motors and drive a distance at the default velocity.

Returns
Returns a Boolean that signifies when the motor has reached the target rotation value.
Parameters
distanceSets the distance to drive.
unitsThe 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.

◆ driveFor() [2/2]

bool vex::drivetrain::driveFor ( double distance,
distanceUnits units,
double velocity,
velocityUnits units_v,
bool waitForCompletion = true )

Turn on the motors and drive a distance at a specified velocity.

Returns
Returns a Boolean that signifies when the motor has reached the target rotation value.
Parameters
distanceSets the distance to drive.
unitsThe measurement unit for the distance value.
velocitySets the amount of velocity.
units_vThe 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.

◆ efficiency()

double vex::drivetrain::efficiency ( percentUnits units = percentUnits::pct)

Gets the average efficiency of the drivetrain;.

Returns
Returns the efficiency of the motor in the units defined in the parameter.
Parameters
units(Optional) The measurement unit for the efficiency. By default, this parameter is a percentage.

◆ isDone()

bool vex::drivetrain::isDone ( void )

Checks to see if all the motor are done rotating to a specific target.

Returns
Returns a false Boolean if the motor is on and is rotating to a target. Returns a true Boolean if the motor is done rotating to a target.

◆ isMoving()

virtual bool vex::drivetrain::isMoving ( void )
virtual

Checks to see if any of the motors are rotating to a specific target.

Returns
Returns a true Boolean if the motor is on and is rotating to a target. Returns a false Boolean if the motor is done rotating to a target.

Reimplemented in vex::smartdrive.

◆ power()

double vex::drivetrain::power ( powerUnits units = powerUnits::watt)

Gets the average power of the drivetrain;.

Returns
Returns a double that represents the power of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the power.

◆ setDriveVelocity()

void vex::drivetrain::setDriveVelocity ( double 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.

Parameters
velocitySets the amount of velocity.
unitsThe measurement unit for the velocity value.

◆ setStopping()

void vex::drivetrain::setStopping ( brakeType mode)

Sets the stopping mode of the motor group by passing a brake mode as a parameter.

Parameters
modeThe stopping mode can be set to coast, brake, or hold.

◆ setTimeout()

void vex::drivetrain::setTimeout ( int32_t 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.

Parameters
timeSets the amount of time.
unitsThe measurement unit for the time value.

◆ setTurnVelocity()

void vex::drivetrain::setTurnVelocity ( double 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.

Parameters
velocitySets the amount of velocity.
unitsThe measurement unit for the velocity value.

◆ stop()

void vex::drivetrain::stop ( brakeType mode)

Stops the drive using a specified brake mode.

Parameters
modeThe brake mode can be set to coast, brake, or hold.

◆ temperature()

double vex::drivetrain::temperature ( percentUnits units)

Gets the average temperature of the drivetrain;.

Returns
Returns the temperature of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the temperature.

◆ torque()

double vex::drivetrain::torque ( torqueUnits units = torqueUnits::Nm)

Gets the average torque of the drivetrain;.

Returns
Returns a double that represents the torque of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the torque.

◆ turn() [1/2]

void vex::drivetrain::turn ( turnType dir)

Turns the motors on, and rotate in the specified direction.

Parameters
dirThe direction to rotate the robot.

◆ turn() [2/2]

void vex::drivetrain::turn ( turnType dir,
double velocity,
velocityUnits units )

Turns the motors on, and rotate in the specified direction and a specified velocity.

Parameters
dirThe direction to rotate the robot.
velocitySets the amount of velocity.
unitsThe measurement unit for the velocity value.

◆ turnFor() [1/4]

virtual bool vex::drivetrain::turnFor ( double angle,
rotationUnits units,
bool waitForCompletion = true )
virtual

Turn on the motors and rotate an angle at the default velocity.

Returns
Returns a Boolean that signifies when the motor has reached the target rotation value.
Parameters
angleSets the angle to turn.
unitsThe 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.

◆ turnFor() [2/4]

virtual bool vex::drivetrain::turnFor ( double angle,
rotationUnits units,
double velocity,
velocityUnits units_v,
bool waitForCompletion = true )
virtual

Turn on the motors and rotate an angle at a specified velocity.

Returns
Returns a Boolean that signifies when the motor has reached the target rotation value.
Parameters
angleSets the angle to turn.
unitsThe measurement unit for the angle value.
velocitySets the amount of velocity.
units_vThe 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.

◆ turnFor() [3/4]

virtual bool vex::drivetrain::turnFor ( turnType dir,
double angle,
rotationUnits units,
bool waitForCompletion = true )
virtual

Reimplemented in vex::smartdrive.

◆ turnFor() [4/4]

virtual bool vex::drivetrain::turnFor ( turnType dir,
double angle,
rotationUnits units,
double velocity,
velocityUnits units_v,
bool waitForCompletion = true )
virtual

Reimplemented in vex::smartdrive.

◆ velocity() [1/2]

double vex::drivetrain::velocity ( percentUnits units)
inline

Definition at line 188 of file vex_drivetrain.h.

◆ velocity() [2/2]

double vex::drivetrain::velocity ( velocityUnits units)

Gets the average velocity of the drivetrain;.

Returns
Returns a double that represents the current velocity of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the velocity.

◆ voltage()

double vex::drivetrain::voltage ( voltageUnits units = voltageUnits::volt)

Gets the average voltage of the drivetrain;.

Returns
Returns a double that represents the voltage of the motor in the units defined in the parameter.
Parameters
unitsThe measurement unit for the voltage.

Member Data Documentation

◆ _turnmode

uint8_t vex::drivetrain::_turnmode
protected

Definition at line 252 of file vex_drivetrain.h.

◆ _turnvelocity

double vex::drivetrain::_turnvelocity
protected

Definition at line 250 of file vex_drivetrain.h.

◆ _turnvelocityUnits

velocityUnits vex::drivetrain::_turnvelocityUnits
protected

Definition at line 251 of file vex_drivetrain.h.


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