Files
2026-06-16 01:02:00 +02:00

29 lines
459 B
C++

#pragma once
#include <Arduino.h>
enum AxisPos : int8_t {
POS_LOW = -1,
POS_CENTRE = 0,
POS_HIGH = 1
};
class GearSelector {
public:
GearSelector(uint8_t xPin, uint8_t yPin, int threshLow, int threshHigh);
bool update();
int getGear() const;
char getGearChar() const;
private:
uint8_t _xPin, _yPin;
int _threshLow, _threshHigh;
int _currentGear;
AxisPos _quantize(int val) const;
int _mapToGear(AxisPos x, AxisPos y) const;
};