From b10063da9ab48c95f7016fa5eca46924f98f8acb Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Fri, 4 Sep 2020 20:51:08 -0700 Subject: [PATCH] [sim] Set Encoder reset to false when count set (#2692) --- .../main/native/sim/mockdata/EncoderData.cpp | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/hal/src/main/native/sim/mockdata/EncoderData.cpp b/hal/src/main/native/sim/mockdata/EncoderData.cpp index ed8b6eb6ff..0b17ac3deb 100644 --- a/hal/src/main/native/sim/mockdata/EncoderData.cpp +++ b/hal/src/main/native/sim/mockdata/EncoderData.cpp @@ -67,7 +67,6 @@ HAL_SimDeviceHandle HALSIM_GetEncoderSimDevice(int32_t index) { SimEncoderData, LOWERNAME) DEFINE_CAPI(HAL_Bool, Initialized, initialized) -DEFINE_CAPI(int32_t, Count, count) DEFINE_CAPI(double, Period, period) DEFINE_CAPI(HAL_Bool, Reset, reset) DEFINE_CAPI(double, MaxPeriod, maxPeriod) @@ -76,9 +75,31 @@ DEFINE_CAPI(HAL_Bool, ReverseDirection, reverseDirection) DEFINE_CAPI(int32_t, SamplesToAverage, samplesToAverage) DEFINE_CAPI(double, DistancePerPulse, distancePerPulse) +int32_t HALSIM_RegisterEncoderCountCallback(int32_t index, + HAL_NotifyCallback callback, + void* param, + HAL_Bool initialNotify) { + return SimEncoderData[index].count.RegisterCallback(callback, param, + initialNotify); +} + +void HALSIM_CancelEncoderCountCallback(int32_t index, int32_t uid) { + SimEncoderData[index].count.CancelCallback(uid); +} + +int32_t HALSIM_GetEncoderCount(int32_t index) { + return SimEncoderData[index].count; +} + +void HALSIM_SetEncoderCount(int32_t index, int32_t count) { + SimEncoderData[index].count = count; + SimEncoderData[index].reset = false; +} + void HALSIM_SetEncoderDistance(int32_t index, double distance) { auto& simData = SimEncoderData[index]; simData.count = distance / simData.distancePerPulse; + simData.reset = false; } double HALSIM_GetEncoderDistance(int32_t index) {