HAL sim: Add encoder channel B access

This commit is contained in:
Peter Johnson
2019-10-04 17:29:34 -07:00
parent 10deba8546
commit 55a844a3e1
4 changed files with 11 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -26,7 +26,8 @@ class EncoderData {
HAL_SIMDATAVALUE_DEFINE_NAME(DistancePerPulse)
public:
std::atomic<int16_t> digitalChannelA{0};
std::atomic<int32_t> digitalChannelA{0};
std::atomic<int32_t> digitalChannelB{0};
SimDataValue<HAL_Bool, HAL_MakeBoolean, GetInitializedName> initialized{
false};
std::atomic<HAL_SimDeviceHandle> simDevice;