-
Notifications
You must be signed in to change notification settings - Fork 78
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #262 from purduesigbots/release/3.3.1
🔖 Release 3.3.1
- Loading branch information
Showing
17 changed files
with
1,500 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
/** | ||
* \file pros/distance.h | ||
* | ||
* Contains prototypes for functions related to the VEX Distance sensor. | ||
* | ||
* Visit https://pros.cs.purdue.edu/v5/tutorials/topical/distance.html to learn | ||
* more. | ||
* | ||
* This file should not be modified by users, since it gets replaced whenever | ||
* a kernel upgrade occurs. | ||
* | ||
* Copyright (c) 2017-2020, Purdue University ACM SIGBots. | ||
* | ||
* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
*/ | ||
|
||
#ifndef _PROS_DISTANCE_H_ | ||
#define _PROS_DISTANCE_H_ | ||
|
||
#include <stdbool.h> | ||
#include <stdint.h> | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
namespace pros { | ||
namespace c { | ||
#endif | ||
|
||
/** | ||
* Get the currently measured distance from the sensor in mm | ||
* | ||
* 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 | ||
* | ||
* \param port The V5 Distance Sensor port number from 1-21 | ||
* \return The distance value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
int32_t distance_get(uint8_t port); | ||
|
||
/** | ||
* Get the confidence in the distance reading | ||
* | ||
* 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 | ||
* | ||
* \param port The V5 Distance Sensor port number from 1-21 | ||
* \return The confidence value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
int32_t distance_get_confidence(uint8_t port); | ||
|
||
/** | ||
* Get the current guess at relative object size | ||
* | ||
* 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 | ||
* | ||
* \param port The V5 Distance Sensor port number from 1-21 | ||
* \return The size value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
int32_t distance_get_object_size(uint8_t port); | ||
|
||
/** | ||
* Get the object velocity in m/s | ||
* | ||
* 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 | ||
* | ||
* \param port The V5 Distance Sensor port number from 1-21 | ||
* \return The velocity value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
double distance_get_object_velocity(uint8_t port); | ||
|
||
#ifdef __cplusplus | ||
} | ||
} | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
/** | ||
* \file pros/distance.hpp | ||
* | ||
* Contains prototypes for the V5 Distance Sensor-related functions. | ||
* | ||
* Visit https://pros.cs.purdue.edu/v5/tutorials/topical/distance.html to learn | ||
* more. | ||
* | ||
* This file should not be modified by users, since it gets replaced whenever | ||
* a kernel upgrade occurs. | ||
* | ||
* \copyright (c) 2017-2018, Purdue University ACM SIGBots. | ||
* | ||
* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
*/ | ||
|
||
#ifndef _PROS_DISTANCE_HPP_ | ||
#define _PROS_DISTANCE_HPP_ | ||
|
||
#include <cstdint> | ||
|
||
#include "pros/distance.h" | ||
|
||
namespace pros { | ||
class Distance { | ||
public: | ||
/** | ||
* Creates a Distance Sensor object for the given port. | ||
* | ||
* 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 Distance Sensor | ||
* | ||
* \param port | ||
* The V5 port number from 1-21 | ||
*/ | ||
explicit Distance(const std::uint8_t port); | ||
|
||
/** | ||
* Get the currently measured distance from the sensor in mm | ||
* | ||
* 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 | ||
* | ||
* \return The distance value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
virtual std::int32_t get(); | ||
|
||
/** | ||
* Get the confidence in the distance reading | ||
* | ||
* 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. | ||
* | ||
* 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 | ||
* | ||
* \return The confidence value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
virtual std::int32_t get_confidence(); | ||
|
||
/** | ||
* Get the current guess at relative object size | ||
* | ||
* 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 | ||
* | ||
* \return The size value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
virtual std::int32_t get_object_size(); | ||
|
||
/** | ||
* Get the object velocity in m/s | ||
* | ||
* 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 | ||
* | ||
* \return The velocity value or PROS_ERR if the operation failed, setting | ||
* errno. | ||
*/ | ||
virtual double get_object_velocity(); | ||
|
||
/** | ||
* Gets the port number of the distance sensor. | ||
* | ||
* \return The distance sensor's port number. | ||
*/ | ||
std::uint8_t get_port(); | ||
|
||
private: | ||
const std::uint8_t _port; | ||
}; | ||
} // namespace pros | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.