VEX Natural Language

From ROBOTC API Guide
Jump to: navigation, search

Main >> PIC >> Natural Language


The ROBOTC Natural Language Library aims at making learning and using text-based programming languages easier for beginners. The Natural Language Library is filled with commands that are both easy to use and easy to remember. Natural Language commands encompass entire robot behaviors into a single command.

Natural Language can be enabled in ROBOTC by going to the Robot menu, then Platform Type, and then by selecting one of the Natural Language options.

Contents

Color Key
Function:
Variable:


Video

This video explains the ROBOTC Natural Language:



Setup Functions

robotType

void robotType(tRobotType type = none)
Robot type vex.png (void) Choose which robot you want to write a program for.

Acceptable robots: squarebot or none (no setup).

(If you don't use this function at all, it will default to none!)

Parameter Explanation Acceptable Input
type The robot model to use.
(default: none)
none
squarebot
Default Usage and Sample
robotType();  // default (none) is used
Usage and Sample with Parameters
robotType(squarebot);  // squarebot will be used


Wait Functions

wait

void wait(float waitTime = 1.0)
Wait seconds.png (void) Wait an amount of time measured in whole seconds.

Whole number values only!
Parameter Explanation Acceptable Input
waitTime Amount of time to wait, in whole seconds.
(default: 1)
Any integer amount from
0 to +2,147,483,647.
Default Usage and Sample
forward();
wait();     // wait for 1 second (default)
stop();
Usage and Sample with Parameters
forward(63);  // go forward at speed 63
wait(7);      // wait for 7 seconds
stop();       // stop


waitInMilliseconds

void waitInMilliseconds(long waitTime = 1000)
Wait milliseconds.png (void) Wait an amount of time measured in milliseconds.
Parameter Explanation Acceptable Input
waitTime Amount of time to wait, in seconds.
(default: 1000)
Any integer amount from
0 to +2,147,483,647.
Default Usage and Sample
forward();
waitInMilliseconds();  // wait for 1000 milliseconds (default)
stop();
Usage and Sample with Parameters
forward(63);               // go forward at speed 63
waitInMilliseconds(2700);  // wait for 2700 milliseconds (2.7 seconds)
stop();                    // stop


Movement Functions

startMotor

void startMotor(tMotor motorPort = port6, byte speed = 95)
Set motor vex.png (void) Set a motor to a speed.

Range: -127 to 127

Acceptable Motors: ports 1 through 8, (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
motorPort The motor port to use.
(default: port6)
port1
through
port8
Or their names setup in Motors and Sensors Setup.
speed The speed to set the motor to.
(default: 95)
-127 to +127
Default Usage and Sample
startMotor();  // starts port6 at speed 95 (default)
wait();
stopMotor();
Usage and Sample with Parameters
startMotor(port8, -32);  // start port8 at speed -32
wait(0.5);               // wait 0.5 seconds
stopMotor(port8);        // stop port8


stopMotor

void stopMotor(tMotor motorPort = port6)
Arm stop vex.png (void) Stops a motor.

Acceptable Motors: ports 1 through 8, (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
motorPort The motor port to use.
(default: port6)
port1
through
port8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
startMotor();
wait();
stopMotor();   // stop port6 (default)
Usage and Sample with Parameters
startMotor(port8, -32);  // start port8 at speed -32
wait(0.5);               // wait 0.5 seconds
stopMotor(port8);        // stop port8


setServo

void setServo(tMotor servoPort = port6, int position = 0)
Set servo vex.png (void) Set a motor to a speed.

Range: -127 to 127

Acceptable Motors: ports 1 through 8, (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
servoPort The motor port to use.
(default: port6)
port1
through
port8
Or their names setup in Motors and Sensors Setup.
position The position to set the servo to.
(default: 0)
-127 to +127
Default Usage and Sample
setServo();  // sets servo on port6 to position 0 (default)
Usage and Sample with Parameters
setServo(port8, 37);  // sets servo on port8 to position 37


Robot Movement Functions

forward

void forward(byte speed = 95)
Forward vex.png (void) Both wheels rotate forward at the same speed and the robot moves straight forward.

Range: -127 to 127 (Forward will always move your robot forward.)

Parameter Explanation Acceptable Input
speed The speed to move forward at.
(default: 95)
-127 to +127
Default Usage and Sample
forward();  // move forward at speed 95 (default)
wait();
stop();
Usage and Sample with Parameters
forward(63);  // move forward at speed 63
wait(2.0);    // wait 2.0 seconds
stop();       // stop


backward

void backward(byte speed = -95)
Vex backward.png (void) Both wheels rotate backward at the same speed and the robot moves straight backward.

Range: -127 to 127 (Backward will always move your robot backward.)

Parameter Explanation Acceptable Input
speed The speed to move backward at.
(default: -95)
-127 to +127
Default Usage and Sample
backward();  // move backward at speed -95 (default)
wait();
stop();
Usage and Sample with Parameters
backward(-63);  // move backward at speed -63
wait(2.0);      // wait 2.0 seconds
stop();         // stop


pointTurn

void pointTurn(tDirections direction = right, byte speed = 95)
Vex point turn.png (void) Both wheels rotate at the same speed but in opposite directions, causing the robot to turn around it's center. This makes a sharp turn in place.

Range: -127 to 127

Parameter Explanation Acceptable Input
direction The direction to turn.
(default: right)
right
left
speed The speed to move turn at.
(default: 95)
-127 to +127
Default Usage and Sample
pointTurn();  // point turn right at speed 95 (default)
wait();
stop();
Usage and Sample with Parameters
pointTurn(left, 63);  // point turn LEFT at speed 63
wait(0.4);            // wait 0.4 seconds
stop();               // stop


swingTurn

void swingTurn(tDirections direction = right, byte speed = 95)
Swing turn vex.png (void) One wheel rotates while the other does not move, causing the robot to turn around the stopped wheel. This makes a wide turn.

Range: -127 to 127

Parameter Explanation Acceptable Input
direction The direction to turn.
(default: right)
right
left
speed The speed to move turn at.
(default: 95)
-127 to +127
Default Usage and Sample
swingTurn();  // swing turn right at speed 95 (default)
wait();
stop();
Usage and Sample with Parameters
swingTurn(left, 63);  // swing turn LEFT at speed 63
wait(0.75);           // wait 0.75 seconds
stop();               // stop


stop

void stop()
Stop vex.png (void) Both wheels do not move, causing the robot to stop.
Default Usage and Sample
forward();
wait();
stop();     // stop the robot
Usage and Sample with Parameters
forward(63);  // move forward at speed 63
wait(2.0);    // wait 2.0 seconds
stop();       // stop


lineTrackForTime

void lineTrackForTime(float trackTime = 5.0, int threshold = 505, tSensors sensorLeft = in1, tSensors sensorCenter = in2, tSensors sensorRight = in3)
LineTrackTime vex.png (void) The robot will track a black line on a white surface for a specified time in seconds.

Threshold Range: (dark) 0 to 4095 (light)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
trackTime The amount of time in seconds to track a line.
(default: 5.0)
Any floating point amount:
0.#### 0.0000 to +2,048.0000
0.### 0.000 to +32,768.000
0.## 0.00 to +262,144.00
0.# 0.0 to +2,097,200.0
threshold The threshold to compare colors against.
(default: 505)
0 to +4095
sensorLeft The sensor port to use for the LEFT line tracking sensor.
(default: in1)
in1 to in8
Or their names setup in Motors and Sensors Setup.
sensorCenter The sensor port to use for the CENTER line tracking sensor.
(default: in2)
in1 to in8
Or their names setup in Motors and Sensors Setup.
sensorRight The sensor port to use for the RIGHT line tracking sensor.
(default: in3)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
lineTrackForTime();  /* track a black line for 5.0 seconds, 
                        using a threshold of 505, with the 
                        line tracking sensors in ports: 
                        in1, in2, in3(default) */
stop();
Usage and Sample with Parameters
lineTrackForTime(7.5, 99, in6, in7, in8);  /* track a black line for 7.5 seconds, 
                                              using a threshold of 99, with the 
                                              line tracking sensors in ports: 
                                              in6, in7, in8 */
stop();                                    // stop


lineTrackForRotations

void lineTrackForRotations(float rotations = 3.0, int threshold = 505, tSensors sensorLeft = in1, tSensors sensorCenter = in2, tSensors sensorRight = in3)
LineTrackDist vex.png (void) The robot will track a black line on a white surface for a specified distance in rotations.

Threshold Range: (dark) 0 to 4095 (light)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
rotations The amount of axle rotations to track a line.
(default: 3.0)
Any floating point amount:
0.#### -2,048.0000 to +2,048.0000
0.### -32,768.000 to +32,768.000
0.## -262,144.00 to +262,144.00
0.# -2,097,200.0 to +2,097,200.0
threshold The threshold to compare colors against.
(default: 505)
0 to +4095
sensorLeft The sensor port to use for the LEFT line tracking sensor.
(default: in1)
in1 to in8
Or their names setup in Motors and Sensors Setup.
sensorCenter The sensor port to use for the CENTER line tracking sensor.
(default: in2)
in1 to in8
Or their names setup in Motors and Sensors Setup.
sensorRight The sensor port to use for the RIGHT line tracking sensor.
(default: in3)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
lineTrackForRotations();  /* track a black line for 3.0 rotations, 
                             using a threshold of 505, with the 
                             line tracking sensors in ports: 
                             in1, in2, in3(default) */
stop();
Usage and Sample with Parameters
lineTrackForRotations(4.75, 99, in6, in7, in8);  /* track a black line for 4.75 rotations, 
                                                    using a threshold of 99, with the 
                                                    line tracking sensors in ports: 
                                                    in6, in7, in8 */
stop();                                          // stop


moveStraightForTime

void moveStraightForTime(float seconds = 5.0, tMotor rightEncoderPort = dgtl1, tMotor leftEncoderPort = dgtl3)
Move straight time vex.png (void) The robot will use encoders to maintain a straight course for a length of time in seconds.
  • NOTE: This function only supports moving forward and only at one speed setting. Future implementations may include moving backwards and variable speeds.

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
seconds The amount of time in seconds to drive straight forward.
(default: 5.0)
Any floating point amount:
0.#### -2,048.0000 to +2,048.0000
0.### -32,768.000 to +32,768.000
0.## -262,144.00 to +262,144.00
0.# -2,097,200.0 to +2,097,200.0
rightEncoderPort The right-side motor encoder.
(default: dgtl1 [+ dgtl2])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
leftEncoderPort The left-side motor encoder.
(default: dgtl3 [+ dgtl4])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
moveStraightForTime();  /* move straight forward for 5.0 seconds, 
                           using dgtl1 (+ dgtl2) as the right-side encoder and
                           dgtl3 (+ dgtl4) as the left-side encoder (default) */
stop();
Usage and Sample with Parameters
moveStraightForTime(7.5, dgtl5, dgtl3);  /* move straight forward for 7.5 seconds, 
                                            using dgtl5 (+ dgtl6) as the right-side encoder
                                            and dgtl3 (+ dgtl4) as the left-side encoder */
stop();                                  // stop


moveStraightForRotations

void moveStraightForRotations(float rotations = 1.0, tMotor rightEncoderPort = dgtl1, tMotor leftEncoderPort = dgtl3)
Move straight dist vex.png (void) The robot will use encoders to maintain a straight course for a distance in rotations (360 encoder counts = 1 rotation).
  • NOTE: This function only supports moving forward and only at one speed setting. Future implementations may include moving backwards and variable speeds.

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
rotations The amount of axle rotations to drive straight forward.
(default: 1.0)
Any floating point amount:
0.#### -2,048.0000 to +2,048.0000
0.### -32,768.000 to +32,768.000
0.## -262,144.00 to +262,144.00
0.# -2,097,200.0 to +2,097,200.0
rightEncoderPort The right-side motor encoder.
(default: dgtl1 [+ dgtl2])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
leftEncoderPort The left-side motor encoder.
(default: dgtl3 [+ dgtl4])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
moveStraightForRotations();  /* move straight forward for 1.0 rotations, 
                                using dgtl1 (+ dgtl2) as the right-side encoder and
                                dgtl3 (+ dgtl4) as the left-side encoder (default) */
stop();
Usage and Sample with Parameters
moveStraightForRotations(4.95, dgtl5, dgtl3);  /* move straight forward for 4.95 rotations, 
                                                  using dgtl5 (+ dgtl6) as the right-side encoder
                                                  and dgtl3 (+ dgtl4) as the left-side encoder */
stop();                                        // stop


tankControl

void tankControl(TVexJoysticks rightJoystick = Ch2, TVexJoysticks leftJoystick = Ch3, short threshold = 10)
Tank control vex.png (void) The robot will be remote controlled in such a way that the left motor is mapped to the left joystick and the right motor is mapped to the right joystick.
  • NOTE: This function only supports 2 channels and works best with the joystics.
Parameter Explanation Acceptable Input
rightJoystick The joystick to use as the RIGHT-side joystick.
(default: Ch2)
Any channel:
Ch1
Ch2
Ch3
Ch4
leftJoystick The joystick to use as the LEFT-side joystick.
(default: Ch3)
Any channel:
Ch1
Ch2
Ch3
Ch4
threshold This variable eliminates 'noise' caused by joysticks not returning back to the exact center.
(default: 10)
0 to 127
Default Usage and Sample
while(true)
{ 
  tankControl();  /* control the robot in 'tank' fashion
                     with the RIGHT joystick as Ch2 and
                     the LEFT joystick as Ch1, with a
                     threshold of 10 (default) */
}
Usage and Sample with Parameters
while(true)
{ 
  tankControl(Ch1, Ch4, 5);  /* control the robot in 'tank' fashion
                                with the RIGHT joystick as Ch1 and
                                the LEFT joystick as Ch2, with a
                                threshold of 5 */
}


arcadeControl

void arcadeControl(TVexJoysticks verticalJoystick = Ch2, TVexJoysticks horizontalJoystick = Ch1, short threshold = 10)
Arcade control vex.png (void) The robot will be remote controlled in such a way that the movement of the robot is mapped to a single joystick, much like a retro arcade game.
  • NOTE: This function only supports 2 channels and works best with the joystics.
Parameter Explanation Acceptable Input
verticalJoystick The joystick to use as the VERTICAL joystick.
(default: Ch2)
Any channel:
Ch1
Ch2
Ch3
Ch4
horizontalJoystick The joystick to use as the HORIZONTAL joystick.
(default: Ch1)
Any channel:
Ch1
Ch2
Ch3
Ch4
threshold This variable eliminates 'noise' caused by joysticks not returning back to the exact center.
(default: 10)
0 to 127
Default Usage and Sample
while(true)
{ 
  arcadeControl();  /* control the robot in 'arcade' fashion
                       with the VERTICAL joystick as Ch2
                       and the HORIZONTAL joystick as Ch1,
                       with a threshold of 10 (default) */
}
Usage and Sample with Parameters
while(true)
{ 
  arcadeControl(Ch3, Ch4, 5);  /* control the robot in 'arcade' fashion
                                  with the VERTICAL joystick as Ch3
                                  and the HORIZONTAL joystick as Ch4,
                                  with a threshold of 5 */
}


Until Functions

untilTouch

void untilTouch(tSensors sensorPort = dgtl6)
Touch in vex.png (void) The robot does what it was doing until the touch sensor is pressed in.

Acceptable Sensors: digital ports 1 through 12 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
sensorPort The sensor port to use for the light sensor.
(default: dgtl6)
dgtl1 to dgtl12
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilTouch();  // wait until the touch sensor in port dgtl1 is pressed (default)
stop();
Usage and Sample with Parameters
forward(63);         // go forward at speed 63
untilTouch(dgtl10);  // wait until the touch sensor in port dgtl10 is pressed
stop();              // stop


untilRelease

void untilRelease(tSensors sensorPort = dgtl6)
Touch out vex.png (void) The robot does what it was doing until the touch sensor is released.

Acceptable Sensors: digital ports 1 through 12 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
sensorPort The sensor port to use for the light sensor.
(default: dgtl6)
dgtl1 to dgtl12
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilRelease();  // wait until the touch sensor in port dgtl6 is released (default)
stop();
Usage and Sample with Parameters
forward(63);           // go forward at speed 63
untilRelease(dgtl10);  // wait until the touch sensor in port dgtl10 is released
stop();                // stop


untilBump

void untilBump(tSensors sensorPort = dgtl6, int delayTimeMS = 10)
Touch bump vex.png (void) The robot does what it was doing until the touch sensor is pressed in and then released out. A delay time in milliseconds can be specified.

Acceptable Sensors: digital ports 1 through 12 (and your names for them given in Motors and Sensors Setup.)

Acceptable Range for Delay Time: 0 to 2,147,483,647.

Parameter Explanation Acceptable Input
sensorPort The sensor port to use for the light sensor.
(default: dgtl6)
dgtl1 to dgtl12
Or their names setup in Motors and Sensors Setup.
delayTimeMS The amount of milliseconds that MUST PASS between
press and release of the sensor for it to count.
(default: 10)
Any whole integer amount from
0 to 2,147,483,647.
Default Usage and Sample
forward();
untilBump();  /* wait until the touch sensor in port dgtl6 is pressed and 
                 then released with a delay time of 10 milliseconds (default) */
stop();
Usage and Sample with Parameters
forward(63);             // go forward at speed 63
untilBump(dgtl10, 100);  /* wait until the touch sensor in port dgtl10 is pressed and 
                            then released with a delay time of 100 milliseconds */
stop();                  // stop


untilSonarGreaterThan

void untilSonarGreaterThan(short distance = 30, tSensors sensorPort = dgtl8)
Sonar greater vex.png (void) The robot does what it was doing until the sonar sensor reads a value greater than a set distance in centimeters.

Range: 0 to 647 (A value of -1 means it cannot detect anything.)

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
distance The distance in centimeters that
an object must be farther than to count
(default: 30)
Any whole integer amount from 0 to 647.
sensorPort The sensor port to use for the sonar sensor.
(default: dgtl8 [+ dgtl9])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilSonarGreaterThan();  /* wait until the sonar sensor in port dgtl8 (+ dgtl9)
                             detects an object farther than 30cm away (default) */
stop();
Usage and Sample with Parameters
forward(63);                       // go forward at speed 63
untilSonarGreaterThan(45, dgtl2);  /* wait until the sonar sensor in port dgtl2 (+ dgtl3)
                                      detects an object farther than 45cm away */
stop();                            // stop


untilSonarLessThan

void untilSonarLessThan(short distance = 30, tSensors sensorPort = dgtl8)
Sonar less vex.png (void) The robot does what it was doing until the sonar sensor reads a value less than a set distance in centimeters.

Range: 0 to 647 (A value of -1 means it cannot detect anything.)

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
distance The distance in centimeters that
an object must be farther than to count
(default: 30)
Any whole integer amount from 0 to 647.
sensorPort The sensor port to use for the sonar sensor.
(default: dgtl8 [+ dgtl9])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilSonarLessThan();  /* wait until the sonar sensor in port dgtl8 (+ dgtl 9)
                          detects an object closer than 30cm away (default) */
stop();
Usage and Sample with Parameters
forward(63);                    // go forward at speed 63
untilSonarLessThan(45, dgtl2);  /* wait until the sonar sensor in port dgtl2 (+ dgtl3)
                                   detects an object closer than 45cm away */
stop();                         // stop


untilPotentiometerGreaterThan

void untilPotentiometerGreaterThan(int position = 2048, tSensors sensorPort = in6)
Pot greater vex.png (void) The robot does what it was doing until the potentiometer sensor reads a value greater than a set position.

Range: 0 to 4095 (However due to mechanical stops, you may be limited to the range of 5 to 4090.)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
position The function passes if the rotation
is greater than this value
(default: 2048)
Any whole integer amount from 0 to 4095.
sensorPort The sensor port to use for the sonar sensor.
(default: in6)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilPotentiometerGreaterThan();  /* wait until the potentiometer in port in6
                                     reads a value greater than 2048 (default) */
stop();
Usage and Sample with Parameters
forward(63);                             // go forward at speed 63
untilPotentiometerGreaterThan(40, in4);  /* wait until the potentiometer in port in4
                                            reads a value greater than 40 (default) */
stop();                                  // stop


untilPotentiometerLessThan

void untilPotentiometerLessThan(int position = 2048, tSensors sensorPort = in6)
Pot less vex.png (void) The robot does what it was doing until the potentiometer sensor reads a value less than a set position.

Range: 0 to 4095 (However due to mechanical stops, you may be limited to the range of 5 to 4090.)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
position The function passes if the rotation
is less than this value
(default: 2048)
Any whole integer amount from 0 to 4095.
sensorPort The sensor port to use for the sonar sensor.
(default: in6)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilPotentiometerLessThan();  /* wait until the potentiometer in port in6
                                  reads a value less than 2048 (default) */
stop();
Usage and Sample with Parameters
forward(63);                          // go forward at speed 63
untilPotentiometerLessThan(40, in4);  /* wait until the potentiometer in port in4
                                         reads a value less than 40 (default) */
stop();                               // stop


untilButtonPress

void untilButtonPress(short button = centerBtnVEX)
Press right vex.png (void) The robot does what it was doing until a button on the LCD is pressed.

Acceptable Buttons: centerBtnVEX, rightBtnVEX, leftBtnVEX

Parameter Explanation Acceptable Input
button The button to press.
(default: centerBtnVEX)
centerBtnVEX
rightBtnVEX
leftBtnVEX
Default Usage and Sample
forward();
untilButtonPress();  /* wait until the center button
                        is pressed on the VEX LCD (default) */
stop();
Usage and Sample with Parameters
forward(63);                    // go forward at speed 63
untilButtonPress(rightBtnVEX);  /* wait until the right button
                                   is pressed on the VEX LCD */
stop();                         // stop


untilLight

void untilLight(int threshold = 505, tSensors sensorPort = in2)
Until light vex.png (void) The robot does what it was doing until the light sensor reads a value lighter than the threshold.

Range: (light) 0 to 4095 (dark)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
threshold The threshold value that
an object must be lighter than to count
(default: 505)
Any whole integer amount from 0 to 4095.
sensorPort The sensor port to use for the sonar sensor.
(default: in2)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilLight();  /* wait until the light sensor in port in2
                  detects an object lighter than 505 (default) */
stop();
Usage and Sample with Parameters
forward(63);            // go forward at speed 63
untilLight(1005, in4);  /* wait until the light sensor in port in4
                           detects an object lighter than 1005 */
stop();                 // stop


untilDark

void untilDark(int threshold = 505, tSensors sensorPort = in2)
Until dark vex.png (void) The robot does what it was doing until the light sensor reads a value darker than the threshold.

Range: (light) 0 to 4095 (dark)

Acceptable Sensors: analog ports 1 through 8 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
threshold The threshold value that
an object must be darker than to count
(default: 505)
Any whole integer amount from 0 to 4095.
sensorPort The sensor port to use for the sonar sensor.
(default: in2)
in1 to in8
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilDark();  /* wait until the light sensor in port in2
                 detects an object darker than 505 (default) */
stop();
Usage and Sample with Parameters
forward(63);            // go forward at speed 63
untilDark(1005, in4);   /* wait until the light sensor in port in4
                           detects an object darker than 1005 */
stop();                 // stop


untilRotations

void untilRotations(float rotations = 1.0, tSensors sensorPort = dgtl1)
Rotations vex.png (void) The robot does what it was doing until the motor encoder rotations match the desired value.

Range: -262,144.00 to +262,144.00

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
rotations The amount of axle rotations to reach.
(default: 1.0)
Any floating point amount:
0.#### -2,048.0000 to +2,048.0000
0.### -32,768.000 to +32,768.000
0.## -262,144.00 to +262,144.00
0.# -2,097,200.0 to +2,097,200.0
sensorPort The quadrature encoder to use.
(default: dgtl1 [+ dgtl1])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilRotations();  /* wait until the quadrature encoder in port
                      dgtl1 (+ dgtl2) counts 1.0 rotations (default) */
stop();
Usage and Sample with Parameters
forward(63);                   // move forward at speed 63
untilRotations(2.75, dgtl3);   /* wait until the quadrature encoder in port
                                  dgtl3 (+ dgtl4)counts 2.75 rotations */
stop();                        // stop


untilEncoderCounts

void untilEncoderCounts(long distance = 360, tSensors sensorPort = dgtl1)
Encoder counts vex.png (void) The robot does what it was doing until the motor encoder counts match the desired value.

Range: -2,147,483,648 to +2,147,483,647

Acceptable Sensors: digital ports 1 through 11 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
distance The amount of encoder counts to reach.
(default: 360)
Any whole integer amount from
-2,147,483,648 to +2,147,483,647
sensorPort The quadrature encoder to use.
(default: dgtl1 [+ dgtl1])
dgtl1 to dgtl11
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
forward();
untilEncoderCounts();  /* wait until the quadrature encoder in port
                          dgtl1 (+ dgtl2) counts 360 encoder counts (default) */
stop();
Usage and Sample with Parameters
forward(63);                      // move forward at speed 63
untilEncoderCounts(990, dgtl3);   /* wait until the quadrature encoder in port
                                     dgtl3 (+ dgtl4)counts 990 encoder counts */
stop();                           // stop


Special Functions

turnLEDOn

void turnLEDOn(tSensors sensorPort = dgtl2)
Led on.png (void) Turn an LED in a specified digital port ON.

Acceptable Sensors: digital ports 1 through 12 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
sensorPort The VEX LED to use.
(default: dgtl2)
dgtl1 to dgtl12
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
turnLEDOn();  // turn on LED in port dgtl1 (default)
Usage and Sample with Parameters
turnLEDOn(dgtl7);  // turn on LED in port dgtl7


turnLEDOff

void turnLEDOff(tSensors sensorPort = dgtl2)
Led off.png (void) Turn an LED in a specified digital port OFF.

Acceptable Sensors: digital ports 1 through 12 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
sensorPort The VEX LED to use.
(default: dgtl2)
dgtl1 to dgtl12
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
turnLEDOff();  // turn off LED in port dgtl1 (default)
Usage and Sample with Parameters
turnLEDOff(dgtl7);  // turn off LED in port dgtl7


turnFlashlightOn

void turnFlashlightOn(tMotor flashlightPort = port4, short brightness = 63)
Flashlight on.png (void) Turns a VEX Flashlight in a specfied motor port ON at a specified brightness.

Brightness Range: (off) 0 to 127 (bright)

Acceptable Ports: motor ports 1 through 10 (and your names for them given in Motors and Sensors Setup.)

NOTE: Brightness control only available in motor ports 1 and 10, or 2 through 9 when connected to a VEX Motor Controller 29.

Parameter Explanation Acceptable Input
sensorPort The VEX Flashlight to use.
(default: port4)
port1 to port10
Or their names setup in Motors and Sensors Setup.
brightness The level of brightness to
set the VEX Flashlight to.
(default: dgtl2)
Any whole integer amount from 0 to 127.
Default Usage and Sample
turnFlashlightOn();  // turn VEX Flashlight in port4 ON to half brightness [63] (default)
Usage and Sample with Parameters
turnFlashlightOn(port10, 127);  // turn VEX Flashlight in port10 ON to full brightness [127]


turnFlashlightOff

void turnFlashlightOff(tMotor flashlightPort = port4)
Flashlight off.png (void) Turns a VEX Flashlight in a specfied motor port OFF.

Acceptable Ports: motor ports 1 through 10 (and your names for them given in Motors and Sensors Setup.)

Parameter Explanation Acceptable Input
sensorPort The VEX Flashlight to use.
(default: port4)
port1 to port10
Or their names setup in Motors and Sensors Setup.
Default Usage and Sample
turnFlashlightOff();  // turn VEX Flashlight in port4 OFF (default)
Usage and Sample with Parameters
turnFlashlightOff(port10);  // turn VEX Flashlight in port10 OFF


Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox