diff --git a/hal/src/main/native/include/mockdata/EncoderData.h b/hal/src/main/native/include/mockdata/EncoderData.h index a309c52edc..d5d12be4b7 100644 --- a/hal/src/main/native/include/mockdata/EncoderData.h +++ b/hal/src/main/native/include/mockdata/EncoderData.h @@ -15,7 +15,8 @@ extern "C" { #endif void HALSIM_ResetEncoderData(int32_t index); -int16_t HALSIM_GetDigitalChannelA(int32_t index); +int32_t HALSIM_GetEncoderDigitalChannelA(int32_t index); +int32_t HALSIM_GetEncoderDigitalChannelB(int32_t index); int32_t HALSIM_RegisterEncoderInitializedCallback(int32_t index, HAL_NotifyCallback callback, void* param, diff --git a/hal/src/main/native/sim/Encoder.cpp b/hal/src/main/native/sim/Encoder.cpp index 45f5c6fa93..36122bf614 100644 --- a/hal/src/main/native/sim/Encoder.cpp +++ b/hal/src/main/native/sim/Encoder.cpp @@ -82,6 +82,7 @@ HAL_EncoderHandle HAL_InitializeEncoder( } int16_t index = getHandleIndex(handle); SimEncoderData[index].digitalChannelA = getHandleIndex(digitalSourceHandleA); + SimEncoderData[index].digitalChannelB = getHandleIndex(digitalSourceHandleB); SimEncoderData[index].initialized = true; SimEncoderData[index].reverseDirection = reverseDirection; SimEncoderData[index].simDevice = 0; diff --git a/hal/src/main/native/sim/mockdata/EncoderData.cpp b/hal/src/main/native/sim/mockdata/EncoderData.cpp index f08e026c5e..33bd073a32 100644 --- a/hal/src/main/native/sim/mockdata/EncoderData.cpp +++ b/hal/src/main/native/sim/mockdata/EncoderData.cpp @@ -22,6 +22,7 @@ void InitializeEncoderData() { EncoderData* hal::SimEncoderData; void EncoderData::ResetData() { digitalChannelA = 0; + digitalChannelB = 0; initialized.Reset(false); simDevice = 0; count.Reset(0); @@ -39,10 +40,14 @@ void HALSIM_ResetEncoderData(int32_t index) { SimEncoderData[index].ResetData(); } -int16_t HALSIM_GetDigitalChannelA(int32_t index) { +int32_t HALSIM_GetEncoderDigitalChannelA(int32_t index) { return SimEncoderData[index].digitalChannelA; } +int32_t HALSIM_GetEncoderDigitalChannelB(int32_t index) { + return SimEncoderData[index].digitalChannelB; +} + HAL_SimDeviceHandle HALSIM_GetEncoderSimDevice(int32_t index) { return SimEncoderData[index].simDevice; } diff --git a/hal/src/main/native/sim/mockdata/EncoderDataInternal.h b/hal/src/main/native/sim/mockdata/EncoderDataInternal.h index 0d2874c4e9..389289c6f1 100644 --- a/hal/src/main/native/sim/mockdata/EncoderDataInternal.h +++ b/hal/src/main/native/sim/mockdata/EncoderDataInternal.h @@ -26,7 +26,8 @@ class EncoderData { HAL_SIMDATAVALUE_DEFINE_NAME(DistancePerPulse) public: - std::atomic digitalChannelA{0}; + std::atomic digitalChannelA{0}; + std::atomic digitalChannelB{0}; SimDataValue initialized{ false}; std::atomic simDevice;