25class FakeInputService :
public InputService
29 inline static int _minLeft = 0;
30 inline static int _minRight = 0;
31 inline static int _maxLeft = 0;
32 inline static int _maxRight = 0;
33 inline static bool _leftAxisReversed =
false;
34 inline static bool _rightAxisReversed =
false;
36 static void resetToDefaults()
38 _multiplier = PulseWidthMultiplier::_DEFAULT_VALUE;
43 _leftAxisReversed =
false;
44 _rightAxisReversed =
false;
47 virtual void setRotaryPulseWidthMultiplier(
51 _multiplier = multiplier;
61 virtual bool getAxisCalibration(
74 virtual void setAxisCalibration(
89 virtual void getAxisPolarity(
90 bool &leftAxisReversed,
91 bool &rightAxisReversed)
override
93 leftAxisReversed = _leftAxisReversed;
94 rightAxisReversed = _rightAxisReversed;
97 virtual void setAxisPolarity(
98 bool leftAxisReversed,
99 bool rightAxisReversed,
102 _leftAxisReversed = leftAxisReversed;
103 _rightAxisReversed = rightAxisReversed;
111class FakeInputHubService :
public InputHubService
114 inline static bool _securityLock =
false;
120 static void resetToDefaults()
122 _securityLock =
false;
129 virtual bool getSecurityLock()
override
131 return _securityLock;
134 virtual uint8_t getBitePoint()
override
141 return _clutchWorkingMode;
146 return _altButtonsWorkingMode;
151 return _dpadWorkingMode;
154 virtual void setBitePoint(uint8_t value,
bool save)
override
164 _clutchWorkingMode = mode;
171 _altButtonsWorkingMode = mode;
176 virtual void setDPadWorkingMode(
DPadWorkingMode mode,
bool save)
override
178 _dpadWorkingMode = mode;
183 virtual void setSecurityLock(
bool value,
bool save)
override
185 _securityLock = value;
193class FakeHidService :
public HidService
196 inline static uint16_t _customVID = 0;
197 inline static uint16_t _customPID = 0;
199 static void resetToDefaults()
205 virtual void getCustomHardwareID(uint16_t &customVID, uint16_t &customPID)
override
207 customVID = _customVID;
208 customPID = _customPID;
211 virtual void setCustomHardwareID(uint16_t customVID, uint16_t customPID,
bool save)
override
213 _customVID = customVID;
214 _customPID = customPID;
222class FakeBatteryCalibration :
public BatteryCalibrationService
224 inline static int _batteryLevel = 0;
225 inline static uint16_t _batteryCalibrationQuantum = 103;
226 inline static int _maxBatteryReadingEver = 0;
228 static void resetToDefaults()
231 _batteryCalibrationQuantum = 103;
232 _maxBatteryReadingEver = 0;
235 virtual int getBatteryLevel(
int reading)
override
237 return _batteryLevel;
240 virtual uint8_t getCalibrationDataCount()
override
245 virtual uint16_t getCalibrationData(uint8_t index)
override
248 return _batteryCalibrationQuantum;
253 virtual void setCalibrationData(uint8_t index, uint16_t data,
bool save)
override
257 _batteryCalibrationQuantum =
data;
263 virtual int getAutoCalibrationParameter()
override
265 return _maxBatteryReadingEver;
268 virtual void setAutoCalibrationParameter(
int value,
bool save)
override
270 _maxBatteryReadingEver = value;
278class FakeInputMapService :
public InputMapService
280 inline static uint8_t _user_defined = 0xFF;
281 inline static uint8_t _user_defined_alt = 0xFF;
283 static void resetToDefaults()
285 _user_defined = 0xFF;
286 _user_defined_alt = 0xFF;
290 uint8_t firmware_defined,
291 uint8_t user_defined,
292 uint8_t user_defined_alt)
override
294 _user_defined = user_defined;
295 _user_defined_alt = user_defined_alt;
299 uint8_t firmware_defined,
300 uint8_t &user_defined,
301 uint8_t &user_defined_alt)
override
303 if (firmware_defined < 64)
305 user_defined = _user_defined;
306 user_defined_alt = _user_defined_alt;
311 user_defined_alt = 0xFF;
Internal service interfaces for dependency injection.
#define CLUTCH_NONE_VALUE
Value for a fully released clutch.
ClutchWorkingMode
User-selected working mode of the clutch paddles.
@ CLUTCH
F1-Style clutch. Must be the first in the enum: do not change.
PulseWidthMultiplier
User-selected pulse width multiplier.
AltButtonsWorkingMode
User-selected working mode of "ALT" buttons.
@ ALT
Engage or disengage alternate mode.
DPadWorkingMode
User-selected working mode of directional pads.
@ Navigation
Navigation control.
Types and constants required for custom firmware setup.
TelemetryData data
Received telemetry data.
static void notify(_Args... __args)
Invoke all subscribed callbacks.