gyro#

Initializing the gyro Class#

A Gyro Sensor is created by using the following constructor:

The gyro constructor creates a gyro object in the specified Three Wire Port:

Parameter

Description

port

The 3-Wire Port that the Gyro Sensor is connected to, whether it’s a port on the Brain, or a 3-Wire Expander.

A Brain or 3-Wire Expander must be created first before they can be used to create an object with the gyro Class constructor.

// Create the Brain.
brain Brain;
// Construct a Gyro Sensor "Gyro" with the
// gyro class.
gyro Gyro = gyro(Brain.ThreeWirePort.A);

This Gyro object will be used in all subsequent examples throughout this API documentation when referring to gyro class methods.

Class Methods#

calibrate()#

This method is called in the following ways:

The calibrate() method calibrates the Gyro Sensor. Calibration should be done when the Gyro Sensor is not moving.

Returns: None.

// Start calibration.
Gyro.calibrate();

The calibrate(value) method calibrates the Gyro Sensor. Calibration should be done when the Gyro Sensor is not moving.

Parameters

Description

value

Sets the amount of calibration time. The default is 0.

Returns: None.

// Start calibration with the calibration time set to 3 seconds.
Gyro.calibrate(3);

isCalibrating()#

The isCalibrating() method checks if the Gyro Sensor is currently calibrating.

Returns: true if the Gyro is calibrating. false if it is not.

// Start calibration.
Gyro.calibrate();
// Print that the Gyro is calibrating while waiting for it to
// finish calibrating.
while(Gyro.isCalibrating()){
    Brain.Screen.clear();
    Brain.Screen.print("Gyro Calibrating");
    wait(50, msec);
}

resetAngle()#

This method is called in the following ways:

The resetAngle() method resets the angle of the Gyro Sensor to 0.

Returns: None.

The resetAngle(value, units) method resets the angle of the Gyro Sensor to a specified value.

Parameters

Description

value

The value to use for the new angle.

units

A valid RotationUnit.

Returns: None.

resetHeading()#

The resetHeading() method resets the heading of the Gyro Sensor to 0.

Returns: None.

resetRotation()#

The resetRotation() method resets the rotation of the Gyro Sensor to 0.

Returns: None.

setHeading()#

The setHeading(value, units) method sets the heading of the Gyro Sensor to a specific value.

Parameters

Description

value

The value to use for the new heading.

units

A valid RotationUnit.

Returns: None.

angle()#

The angle(units) method returns the current angle of the Gyro Sensor.

Parameters

Description

units

A valid RotationUnit. The default is degrees.

Returns: A double representing current angle of the Gyro Sensor in the specified units.

// Get the current angle for the Gyro.
double value = Gyro.angle();

heading()#

The heading(units) method returns the current heading of the Gyro Sensor.

Parameters

Description

units

A valid RotationUnit. The default is degrees.

Returns: A double representing current heading of the Gyro Sensor in the specified units.

// Get the current heading for the Gyro.
double value = Gyro.heading();

setRotation()#

The setRotation(value, units) method sets the rotation of the Gyro Sensor to a specific value.

Parameters

Description

value

The value to use for the new rotation.

units

A valid RotationUnit.

Returns: None.

rotation()#

The rotation(units) method returns the current rotation of the Gyro Sensor.

Parameters

Description

units

A valid RotationUnit. The default is degrees.

Returns: A double representing current rotation of the Gyro Sensor in the specified units.

// Get the current rotation for the Gyro.
double value = Gyro.rotation();

getTurnType()#

The getTurnType() method returns the direction that returns positive heading values with the Gyro Sensor.

Returns: The turn type of the Gyro Sensor in the specified units.

changed()#

The changed(callback) method registers a callback function for when the Gyro Sensor’s heading changes.

Parameters

Description

callback

The callback function to be called when the Gyro Sensor’s heading changes.

Returns: None.

// Define the GyroChanged function with a void return type,
// showing it doesn't return a value.
void GyroChanged() {
  // The Brain will print that the Gyro Sensor changed on the
  // Brain's screen.
  Brain.Screen.print("Gyro changed");
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Turn the robot right.
  Drivetrain.turn(right);

  // Run GyroChanged when the value of the
  // Gyro Sensor changes.
  Gyro.changed(GyroChanged);
}