VEX Rotation Sensor C API¶
Functions¶
rotation_reset¶
Reset the current absolute position to be the same as the Rotation Sensor angle.
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::reset.
int32_t rotation_reset(uint8_t port);
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_reset(ROTATION_PORT);
}
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: 1
if operation successful or PROS_ERR
if the operation failed, setting errno
.
rotation_set_position¶
Set the Rotation sensor to a desired rotation value.
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::set_position.
int32_t rotation_set_position(uint8_t port, uint32_t position);
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_set_position(ROTATION_PORT, 600);
}
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
position | The desired position to be set in terms of hundreths of ticks |
Returns: 1
if operation successful or PROS_ERR
if the operation failed, setting errno
.
rotation_reset_position¶
Reset the Rotation Sensor position to 0.
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::reset_position.
int32_t rotation_reset_position(uint8_t port);
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_reset_position(ROTATION_PORT);
}
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: 1
if operation successful or PROS_ERR
if the operation failed, setting errno
.
rotation_get_position¶
Get the Rotation Sensor’s current position in centidegrees
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as a Rotation Sensor.
Analogous to pros::Rotation::get_position.
int32_t rotation_get_position(uint8_t port);
1 2 3 4 5 6 7 8 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
printf("Position: %d Ticks \n", rotation_get_position(ROTATION_PORT));
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: Rotation sensor’s absolute position in ticks or PROS_ERR
if the operation failed, setting errno
.
rotation_get_velocity¶
Get the Rotation Sensor’s current velocity in centidegrees per second
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as a Rotation Sensor.
Analogous to pros::Rotation::get_velocity.
int32_t rotation_get_velocity(uint8_t port);
1 2 3 4 5 6 7 8 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
printf("Velocity: %d Ticks \n", rotation_get_velocity(ROTATION_PORT));
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: Rotation sensor’s rotational velocity or PROS_ERR
if the operation failed, setting errno
.
rotation_get_angle¶
Get the Rotation Sensor’s current angle in centidegrees (0-36000)
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as a Rotation Sensor.
Analogous to pros::Rotation::get_angle.
int32_t rotation_get_angle(uint8_t port);
1 2 3 4 5 6 7 8 | #define ROTATION_PORT 1
void opcontrol() {
while (true) {
printf("Angle: %d Ticks \n", rotation_get_angle(ROTATION_PORT));
delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: Rotation sensor’s current angle from 0 to 36000 or PROS_ERR
if the operation failed, setting errno
.
rotation_set_reversed¶
Reverse the Rotation Sensor’s direction
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::set_reversed.
int32_t rotation_set_reversed(uint8_t port)
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
pros::Rotation rotation_sensor(ROTATION_PORT);
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_set_reversed(ROTATION_PORT);
}
pros::delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: 1
if operation was successful or PROS_ERR if the operation failed, setting errno
.
rotation_reverse¶
Reverses the rotational sensor’s positive counterclockwise/clockwise direction.
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::reverse.
int32_t rotation_reverse(uint8_t port)
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
pros::Rotation rotation_sensor(ROTATION_PORT);
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_reverse(ROTATION_PORT);
}
pros::delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: 1
if operation was successful or PROS_ERR if the operation failed, setting errno
.
rotation_get_reversed¶
Get the Rotation Sensor’s reversed flag
This function uses the following values of errno
when an error state is reached:
ENXIO
- The given value is not within the range of V5 ports (1-21).ENODEV
- The port cannot be configured as an Rotation Sensor.
Analogous to pros::Rotation::get_reversed.
int32_t rotation_get_reverse(uint8_t port)
1 2 3 4 5 6 7 8 9 10 11 | #define ROTATION_PORT 1
void opcontrol() {
pros::Rotation rotation_sensor(ROTATION_PORT);
while (true) {
if(controller_get_digital(CONTROLLER_MASTER, E_CONTROLLER_DIGITAL_X)){
rotation_get_reversed(ROTATION_PORT);
}
pros::delay(20);
}
}
|
Parameters | |
---|---|
port | The V5 port number from (1-21) |
Returns: Boolean value of Rotation Sensor’s reversed flag or PROS_ERR if the operation failed, setting errno
.