mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-05 03:21:42 +00:00
[hal] Add HALSIM_GetJoystickCounts
This commit is contained in:
@@ -95,6 +95,13 @@ void HALSIM_SetJoystickPOVCount(int32_t stick, int32_t count) {}
|
|||||||
|
|
||||||
void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count) {}
|
void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count) {}
|
||||||
|
|
||||||
|
void HALSIM_GetJoystickCounts(int32_t stick, int32_t* axisCount,
|
||||||
|
int32_t* buttonCount, int32_t* povCount) {
|
||||||
|
*axisCount = 0;
|
||||||
|
*buttonCount = 0;
|
||||||
|
*povCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {}
|
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {}
|
||||||
|
|
||||||
void HALSIM_SetJoystickType(int32_t stick, int32_t type) {}
|
void HALSIM_SetJoystickType(int32_t stick, int32_t type) {}
|
||||||
|
|||||||
@@ -143,6 +143,8 @@ void HALSIM_SetJoystickButtonsValue(int32_t stick, uint32_t buttons);
|
|||||||
void HALSIM_SetJoystickAxisCount(int32_t stick, int32_t count);
|
void HALSIM_SetJoystickAxisCount(int32_t stick, int32_t count);
|
||||||
void HALSIM_SetJoystickPOVCount(int32_t stick, int32_t count);
|
void HALSIM_SetJoystickPOVCount(int32_t stick, int32_t count);
|
||||||
void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count);
|
void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count);
|
||||||
|
void HALSIM_GetJoystickCounts(int32_t stick, int32_t* axisCount,
|
||||||
|
int32_t* buttonCount, int32_t* povCount);
|
||||||
|
|
||||||
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox);
|
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox);
|
||||||
void HALSIM_SetJoystickType(int32_t stick, int32_t type);
|
void HALSIM_SetJoystickType(int32_t stick, int32_t type);
|
||||||
|
|||||||
@@ -274,6 +274,21 @@ void DriverStationData::SetJoystickButtonCount(int32_t stick, int32_t count) {
|
|||||||
m_joystickDescriptorCallbacks(stick, &m_joystickData[stick].descriptor);
|
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) {
|
void DriverStationData::SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {
|
||||||
if (stick < 0 || stick >= kNumJoysticks) return;
|
if (stick < 0 || stick >= kNumJoysticks) return;
|
||||||
std::scoped_lock lock(m_joystickDataMutex);
|
std::scoped_lock lock(m_joystickDataMutex);
|
||||||
@@ -467,6 +482,12 @@ void HALSIM_SetJoystickButtonCount(int32_t stick, int32_t count) {
|
|||||||
SimDriverStationData->SetJoystickButtonCount(stick, 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) {
|
void HALSIM_SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox) {
|
||||||
SimDriverStationData->SetJoystickIsXbox(stick, isXbox);
|
SimDriverStationData->SetJoystickIsXbox(stick, isXbox);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,6 +105,8 @@ class DriverStationData {
|
|||||||
void SetJoystickAxisCount(int32_t stick, int32_t count);
|
void SetJoystickAxisCount(int32_t stick, int32_t count);
|
||||||
void SetJoystickPOVCount(int32_t stick, int32_t count);
|
void SetJoystickPOVCount(int32_t stick, int32_t count);
|
||||||
void SetJoystickButtonCount(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 SetJoystickIsXbox(int32_t stick, HAL_Bool isXbox);
|
||||||
void SetJoystickType(int32_t stick, int32_t type);
|
void SetJoystickType(int32_t stick, int32_t type);
|
||||||
|
|||||||
Reference in New Issue
Block a user