VEX Distance Sensor C API module
Files
- file distance.h
Functions
- int32_t distance_get(uint8_t port)
- Get the currently measured distance from the sensor in mm.
- int32_t distance_get_confidence(uint8_t port)
- Get the confidence in the distance reading.
- int32_t distance_get_object_size(uint8_t port)
- Get the current guess at relative object size.
- double distance_get_object_velocity(uint8_t port)
- Get the object velocity in m/s.
Function documentation
int32_t distance_get(uint8_t port)
#include <pros/distance.h>
Get the currently measured distance from the sensor in mm.
Parameters | |
---|---|
port | The V5 Distance Sensor port number from 1-21 |
Returns | The distance value or PROS_ERR if the operation failed, setting errno. |
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 Distance Sensor
Example
#define DISTANCE_PORT 1 void opcontrol() { while (true) { printf("Distance Value: %d mm\n", distance_get(DISTANCE_PORT)); delay(20); } }
int32_t distance_get_confidence(uint8_t port)
#include <pros/distance.h>
Get the confidence in the distance reading.
Parameters | |
---|---|
port | The V5 Distance Sensor port number from 1-21 |
Returns | The confidence value or PROS_ERR if the operation failed, setting errno. |
This is a value that has a range of 0 to 63. 63 means high confidence, lower values imply less confidence. Confidence is only available when distance is > 200mm (the value 10 is returned in this scenario).
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 Distance Sensor
Example
#define DISTANCE_PORT 1 void opcontrol() { while (true) { printf("Distance Confidence Value: %d\n", distance_get_confidence(DISTANCE_PORT)); delay(20); } }
int32_t distance_get_object_size(uint8_t port)
#include <pros/distance.h>
Get the current guess at relative object size.
Parameters | |
---|---|
port | The V5 Distance Sensor port number from 1-21 |
Returns | The size value or PROS_ERR if the operation failed, setting errno. |
This is a value that has a range of 0 to 400. A 18" x 30" grey card will return a value of approximately 75 in typical room lighting.
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 Distance Sensor
Example
#define DISTANCE_PORT 1 void opcontrol() { while (true) { printf("Distance Object Size: %d\n", distance_get_object_size(DISTANCE_PORT)); delay(20); } }
double distance_get_object_velocity(uint8_t port)
#include <pros/distance.h>
Get the object velocity in m/s.
Parameters | |
---|---|
port | The V5 Distance Sensor port number from 1-21 |
Returns | The velocity value or PROS_ERR if the operation failed, setting errno. |
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 Distance Sensor
Example
#define DISTANCE_PORT 1 void opcontrol() { while (true) { printf("Distance Object Velocity: %f\n", distance_get_object_velocity(DISTANCE_PORT)); delay(20); } }