mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-29 02:21:44 +00:00
[hal,wpilib,cmd] Update POVs to use enums (#7978)
This commit is contained in:
@@ -467,7 +467,7 @@ Java_edu_wpi_first_hal_simulation_DriverStationDataJNI_setJoystickPOVs
|
||||
arraySize < HAL_kMaxJoystickPOVs ? arraySize : HAL_kMaxJoystickPOVs;
|
||||
povs.count = maxCount;
|
||||
for (int i = 0; i < maxCount; i++) {
|
||||
povs.povs[i] = arrayRef[i];
|
||||
povs.povs[i] = static_cast<HAL_JoystickPOV>(arrayRef[i]);
|
||||
}
|
||||
}
|
||||
HALSIM_SetJoystickPOVs(joystickNum, &povs);
|
||||
@@ -642,13 +642,13 @@ Java_edu_wpi_first_hal_simulation_DriverStationDataJNI_setJoystickAxis
|
||||
/*
|
||||
* Class: edu_wpi_first_hal_simulation_DriverStationDataJNI
|
||||
* Method: setJoystickPOV
|
||||
* Signature: (III)V
|
||||
* Signature: (IIB)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Java_edu_wpi_first_hal_simulation_DriverStationDataJNI_setJoystickPOV
|
||||
(JNIEnv*, jclass, jint stick, jint pov, jint value)
|
||||
(JNIEnv*, jclass, jint stick, jint pov, jbyte value)
|
||||
{
|
||||
HALSIM_SetJoystickPOV(stick, pov, value);
|
||||
HALSIM_SetJoystickPOV(stick, pov, static_cast<HAL_JoystickPOV>(value));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -88,9 +88,30 @@ struct HAL_JoystickAxes {
|
||||
};
|
||||
typedef struct HAL_JoystickAxes HAL_JoystickAxes;
|
||||
|
||||
HAL_ENUM_WITH_UNDERLYING_TYPE(HAL_JoystickPOV, uint8_t){
|
||||
/** Centered */
|
||||
HAL_JoystickPOV_kCentered = 0x00u,
|
||||
/** Up */
|
||||
HAL_JoystickPOV_kUp = 0x01u,
|
||||
/** Right */
|
||||
HAL_JoystickPOV_kRight = 0x02u,
|
||||
/** Down */
|
||||
HAL_JoystickPOV_kDown = 0x04u,
|
||||
/** Left */
|
||||
HAL_JoystickPOV_kLeft = 0x08u,
|
||||
/** Right-Up */
|
||||
HAL_JoystickPOV_kRightUp = HAL_JoystickPOV_kRight | HAL_JoystickPOV_kUp,
|
||||
/** Right-Down */
|
||||
HAL_JoystickPOV_kRightDown = HAL_JoystickPOV_kRight | HAL_JoystickPOV_kDown,
|
||||
/** Left-Up */
|
||||
HAL_JoystickPOV_kLeftUp = HAL_JoystickPOV_kLeft | HAL_JoystickPOV_kUp,
|
||||
/** Left-Down */
|
||||
HAL_JoystickPOV_kLeftDown = HAL_JoystickPOV_kLeft | HAL_JoystickPOV_kDown,
|
||||
};
|
||||
|
||||
struct HAL_JoystickPOVs {
|
||||
int16_t count;
|
||||
uint8_t povs[HAL_kMaxJoystickPOVs];
|
||||
HAL_JoystickPOV povs[HAL_kMaxJoystickPOVs];
|
||||
};
|
||||
typedef struct HAL_JoystickPOVs HAL_JoystickPOVs;
|
||||
|
||||
|
||||
@@ -73,18 +73,20 @@ typedef HAL_Handle HAL_CANStreamHandle;
|
||||
typedef int32_t HAL_Bool;
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define HAL_ENUM(name) enum name : int32_t
|
||||
#define HAL_ENUM_WITH_UNDERLYING_TYPE(name, type) enum name : type
|
||||
#elif defined(__clang__)
|
||||
#define HAL_ENUM(name) \
|
||||
enum name : int32_t; \
|
||||
typedef enum name name; \
|
||||
enum name : int32_t
|
||||
#define HAL_ENUM_WITH_UNDERLYING_TYPE(name, type) \
|
||||
enum name : type; \
|
||||
typedef enum name name; \
|
||||
enum name : type
|
||||
#else
|
||||
#define HAL_ENUM(name) \
|
||||
typedef int32_t name; \
|
||||
#define HAL_ENUM_WITH_UNDERLYING_TYPE(name, type) \
|
||||
typedef type name; \
|
||||
enum name
|
||||
#endif
|
||||
|
||||
#define HAL_ENUM(name) HAL_ENUM_WITH_UNDERLYING_TYPE(name, int32_t)
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace hal {
|
||||
/**
|
||||
|
||||
@@ -139,7 +139,7 @@ void HALSIM_SetMatchInfo(const HAL_MatchInfo* info);
|
||||
|
||||
void HALSIM_SetJoystickButton(int32_t stick, int32_t button, HAL_Bool state);
|
||||
void HALSIM_SetJoystickAxis(int32_t stick, int32_t axis, double value);
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, int32_t value);
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, HAL_JoystickPOV value);
|
||||
void HALSIM_SetJoystickButtonsValue(int32_t stick, uint32_t buttons);
|
||||
void HALSIM_SetJoystickAxisCount(int32_t stick, int32_t count);
|
||||
void HALSIM_SetJoystickPOVCount(int32_t stick, int32_t count);
|
||||
|
||||
@@ -251,7 +251,7 @@ void DriverStationData::SetJoystickAxis(int32_t stick, int32_t axis,
|
||||
}
|
||||
|
||||
void DriverStationData::SetJoystickPOV(int32_t stick, int32_t pov,
|
||||
int32_t value) {
|
||||
HAL_JoystickPOV value) {
|
||||
if (stick < 0 || stick >= kNumJoysticks) {
|
||||
return;
|
||||
}
|
||||
@@ -507,7 +507,7 @@ void HALSIM_SetJoystickAxis(int32_t stick, int32_t axis, double value) {
|
||||
SimDriverStationData->SetJoystickAxis(stick, axis, value);
|
||||
}
|
||||
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, int32_t value) {
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, HAL_JoystickPOV value) {
|
||||
SimDriverStationData->SetJoystickPOV(stick, pov, value);
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ class DriverStationData {
|
||||
|
||||
void SetJoystickButton(int32_t stick, int32_t button, HAL_Bool state);
|
||||
void SetJoystickAxis(int32_t stick, int32_t axis, double value);
|
||||
void SetJoystickPOV(int32_t stick, int32_t pov, int32_t value);
|
||||
void SetJoystickPOV(int32_t stick, int32_t pov, HAL_JoystickPOV value);
|
||||
void SetJoystickButtons(int32_t stick, uint32_t buttons);
|
||||
void SetJoystickAxisCount(int32_t stick, int32_t count);
|
||||
void SetJoystickPOVCount(int32_t stick, int32_t count);
|
||||
|
||||
@@ -263,7 +263,7 @@ void JoystickDataCache::Update(const mrc::ControlData& data) {
|
||||
|
||||
povs[count].count = newPovs.size();
|
||||
for (size_t i = 0; i < newPovs.size(); i++) {
|
||||
povs[count].povs[i] = newPovs[i];
|
||||
povs[count].povs[i] = static_cast<HAL_JoystickPOV>(newPovs[i]);
|
||||
}
|
||||
|
||||
buttons[count].count = newStick.Buttons.GetMaxAvailableCount();
|
||||
|
||||
@@ -82,7 +82,7 @@ void HALSIM_SetJoystickButton(int32_t stick, int32_t button, HAL_Bool state) {}
|
||||
|
||||
void HALSIM_SetJoystickAxis(int32_t stick, int32_t axis, double value) {}
|
||||
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, int32_t value) {}
|
||||
void HALSIM_SetJoystickPOV(int32_t stick, int32_t pov, HAL_JoystickPOV value) {}
|
||||
|
||||
void HALSIM_SetJoystickButtonsValue(int32_t stick, uint32_t buttons) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user