56 virtual uint64_t
read(uint64_t lastState) = 0;
92 virtual uint64_t
read(uint64_t lastState)
override;
109 uint64_t cwButtonBitmap;
110 uint64_t ccwButtonBitmap;
114 uint8_t currentPulseWidth;
118 bool pressEventNotified;
120 static void isrh(
void *instance);
121 static void isrhAlternateEncoding(
void *instance);
149 bool useAlternateEncoding =
false);
161 if ((multiplier > 0) && (multiplier < 7) && (
pulseMultiplier != multiplier))
169 virtual uint64_t
read(uint64_t lastState)
override;
197 bool negativeLogic =
false);
199 virtual uint64_t
read(uint64_t lastState)
override;
217 const uint64_t *bitmap;
269 virtual uint64_t
read(uint64_t lastState)
override;
272 void initializeMux();
287 uint64_t *bitmap =
nullptr;
288 bool complementaryCode;
301 bool complementaryCode);
304 virtual uint64_t
read(uint64_t lastState)
override;
331 uint8_t address7Bits,
332 I2CBus bus = I2CBus::PRIMARY,
333 uint8_t max_speed_mult = 1);
346 bool getGPIOstate(uint64_t &state);
358 uint8_t address7Bits,
359 I2CBus bus = I2CBus::PRIMARY);
361 virtual uint64_t
read(uint64_t lastState)
override;
372 bool getGPIOstate(uint64_t &state);
385 uint8_t address7Bits,
386 I2CBus bus = I2CBus::PRIMARY);
388 virtual uint64_t
read(uint64_t lastState)
override;
406 const uint64_t *bitmap;
408 bool nextHighToLowOrLowToHigh;
435 const bool loadHighOrLow =
false,
436 const bool nextHighToLowOrLowToHigh =
false,
437 const bool negativeLogic =
true);
439 virtual uint64_t
read(uint64_t lastState)
override;
483 virtual void read(uint8_t &value,
bool &autoCalibrated) = 0;
520 void read(uint8_t &value,
bool &autoCalibrated)
override;
544 virtual uint64_t
read(uint64_t lastState)
override
546 return _instance->
state;
570 _leftOrRight = leftOrRight;
571 _instance = instance;
587 void read(uint8_t &value,
bool &autoCalibrated)
589 autoCalibrated =
false;
Types and constants used everywhere for firmware implementation.
@ VALUE
Unspecified value.
I2CBus
I2C bus controller.
std::vector< InputGPIO > InputGPIOCollection
Collection of input GPIOs.
std::vector< OutputGPIO > OutputGPIOCollection
Collection of output GPIOs.
Fake analog input for testing.
void getCalibrationData(int &minReading, int &maxReading) override
Get auto-calibration data. Required for persistent storage.
void resetCalibrationData() override
Force auto-calibration.
void setCalibrationData(int minReading, int maxReading) override
Set auto-calibration data (loaded from persistent storage).
FakeAxis(FakeInput *instance, bool leftOrRight)
Construct a new Fake Digital Input object.
void read(uint8_t &value, bool &autoCalibrated)
Read current axis position. The axis must go from one end to the other for auto- calibration.
ADC-capable GPIO pin number.
Output-capable GPIO pin number.