mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
[hal] Add HALSIM_GetJoystickCounts
This commit is contained in:
@@ -274,6 +274,21 @@ void DriverStationData::SetJoystickButtonCount(int32_t stick, int32_t count) {
|
||||
m_joystickDescriptorCallbacks(stick, &m_joystickData[stick].descriptor);
|
||||
}
|
||||
|
||||
void DriverStationData::GetJoystickCounts(int32_t stick, int32_t* axisCount,
|
||||
int32_t* buttonCount,
|
||||
int32_t* povCount) {
|
||||
if (stick < 0 || stick >= kNumJoysticks) {
|
||||
*axisCount = 0;
|
||||
*buttonCount = 0;
|
||||
*povCount = 0;
|
||||
return;
|
||||
}
|
||||
std::scoped_lock lock(m_joystickDataMutex);
|
||||
*axisCount = m_joystickData[stick].axes.count;
|
||||
*buttonCount = m_joystickData[stick].buttons.count;
|
||||
*povCount = m_joystickData[stick].povs.count;
|
||||
}
|
||||
|
||||
void DriverStationData::SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {
|
||||
if (stick < 0 || stick >= kNumJoysticks) return;
|
||||
std::scoped_lock lock(m_joystickDataMutex);
|
||||
@@ -467,6 +482,12 @@ void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count) {
|
||||
SimDriverStationData->SetJoystickButtonCount(stick, count);
|
||||
}
|
||||
|
||||
void HALSIM_GetJoystickCounts(int32_t stick, int32_t* axisCount,
|
||||
int32_t* buttonCount, int32_t* povCount) {
|
||||
SimDriverStationData->GetJoystickCounts(stick, axisCount, buttonCount,
|
||||
povCount);
|
||||
}
|
||||
|
||||
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {
|
||||
SimDriverStationData->SetJoystickIsXbox(stick, isXbox);
|
||||
}
|
||||
|
||||
@@ -105,6 +105,8 @@ class DriverStationData {
|
||||
void SetJoystickAxisCount(int32_t stick, int32_t count);
|
||||
void SetJoystickPOVCount(int32_t stick, int32_t count);
|
||||
void SetJoystickButtonCount(int32_t stick, int32_t count);
|
||||
void GetJoystickCounts(int32_t stick, int32_t* axisCount,
|
||||
int32_t* buttonCount, int32_t* povCount);
|
||||
|
||||
void SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox);
|
||||
void SetJoystickType(int32_t stick, int32_t type);
|
||||
|
||||
Reference in New Issue
Block a user