Controller#

Introduction#

The VEX AIR Drone Controller features 8 programmable buttons and 2 joysticks. These inputs allow the VEX AIR Drone to detect button presses and joystick movements, enabling interactive and responsive control.

Below is a list of all available methods:

Getters – Read button, joystick, and connection status.

  • .pressing – Returns whether the specified button is being pressed.

  • .position – Returns the position of the joystick’s specified axis.

  • is_drone_connected – Returns whether the VEX AIR Drone is connected.

  • get_battery_level – Returns the controller’s battery level as a percentage.

Callbacks – Respond to button or joystick input changes.

  • .pressed – Calls a function when the specified button is pressed.

  • .released – Calls a function when the specified button is released.

  • .changed – Calls a function when the joystick’s axis changes.

Getters#

.pressing#

.pressing returns whether a specific button on the controller is currently being pressed. This method must be called on a specific button, such as button5 (see full list of buttons below). This will return either of the following:

  • True - The specified button is being pressed.

  • False - The specified button is not being pressed.

Usage:
One of eight available buttons, numbered 5 through 12, can be used with this method, as shown below:

Button

Command

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

A VEX AIR Controller is facing backward with its 8 orange buttons highlighted yellow.

Parameters

Description

This method has no parameters.

# Example coming soon

.position#

.position returns the position of the joystick’s specified axis as a percentage. This will return an integer from –100 to 100.

Usage:

One of four available axes can be used with this method, numbered 1 to 4.

Axis

Command

axis1

controller.axis1.position() — The left joystick vertical axis

axis2

controller.axis2.position() — The left joystick horizontal axis

axis3

controller.axis3.position() — The right joystick horizontal axis

axis4

controller.axis4.position() — The right joystick vertical axis

A VEX AIR Controller is facing forward with the joystick axes bordered by red boxes.

Parameters

Description

This method has no parameters.

# Example coming soon

is_drone_connected#

is_drone_connected returns whether the drone is connected. This will return a Boolean value:

  • True - The drone is connected.

  • False - The drone is not connected.

Usage:

controller.is_drone_connected()

Parameters

Description

This method has no parameters.

# Example coming soon

get_battery_level#

get_battery_level returns the Controller’s battery level as a percentage. This returns an integer from 0 to 100.

Usage:

controller.get_battery_level()

Parameters

Description

This method has no parameters.

# Example coming soon

Callbacks#

.pressed#

.pressed registers a function to be called when a specific button on the controller is pressed. This method must be called on a specific button, such as button5 (see full list of buttons below).

Usage:
One of eight available buttons can be used with this method, numbered 5 to 12.

Button

Command

button5

controller.button5.pressed(callback, arg) — Button 5

button6

controller.button6.pressed(callback, arg) — Button 6

button7

controller.button7.pressed(callback, arg) — Button 7

button8

controller.button8.pressed(callback, arg) — Button 8

button9

controller.button9.pressed(callback, arg) — Button 9

button10

controller.button10.pressed(callback, arg) — Button 10

button11

controller.button11.pressed(callback, arg) — Button 11

button12

controller.button12.pressed(callback, arg) — Button 12

A VEX AIR Controller is facing backward with its 8 orange buttons highlighted yellow.

Parameters

Description

callback

A function that is previously defined to execute when the specified button is being pressed.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Events with Parameters for more information.

# Example coming soon

.released#

.released registers a function to be called when a specific button on the controller is released. This method must be called on a specific button, such as button5 (see full list of buttons below).

Usage:
One of eight available buttons can be used with this method, numbered 5 to 12.

Button

Command

button5

controller.button5.released(callback, arg) — Button 5

button6

controller.button6.released(callback, arg) — Button 6

button7

controller.button7.released(callback, arg) — Button 7

button8

controller.button8.released(callback, arg) — Button 8

button9

controller.button9.released(callback, arg) — Button 9

button10

controller.button10.released(callback, arg) — Button 10

button11

controller.button11.released(callback, arg) — Button 11

button12

controller.button12.released(callback, arg) — Button 12

A VEX AIR Controller is facing backward with its 8 orange buttons highlighted yellow.

Parameters

Description

callback

A function that is previously defined to execute when the specified button is released.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

# Example coming soon

.changed#

.changed registers a function to be called when the joystick’s position changes.

Usage:

One of four available axes can be used with this method, numbered 1 to 4.

Axis

Command

axis1

controller.axis1.changed(callback, arg) — The left joystick vertical axis

axis2

controller.axis2.changed(callback, arg) — The left joystick horizontal axis

axis3

controller.axis3.changed(callback, arg) — The right joystick horizontal axis

axis4

controller.axis4.changed(callback, arg) — The right joystick vertical axis

A VEX AIR Controller is facing forward with the joystick axes bordered by red boxes.

Parameters

Description

callback

A function that is previously defined to execute when the axis’ value changes.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

# Example coming soon