[sim] Add WPILib-class-taking constructors (#2538)

When not direct mapped, make index constructors private and add factory
functions for channel and index.

Co-authored-by: GabrielDeml <gabrielddeml@gmail.com>
This commit is contained in:
Peter Johnson
2020-07-04 10:10:43 -07:00
committed by GitHub
parent 80a1fa9ece
commit 3050e935a1
75 changed files with 1281 additions and 126 deletions

View File

@@ -36,6 +36,16 @@ void EncoderData::ResetData() {
}
extern "C" {
int32_t HALSIM_FindEncoderForChannel(int32_t channel) {
for (int i = 0; i < kNumEncoders; ++i) {
if (!SimEncoderData[i].initialized) continue;
if (SimEncoderData[i].digitalChannelA == channel ||
SimEncoderData[i].digitalChannelB == channel)
return i;
}
return -1;
}
void HALSIM_ResetEncoderData(int32_t index) {
SimEncoderData[index].ResetData();
}