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;
51 _multiplier = multiplier;
90 bool &leftAxisReversed,
91 bool &rightAxisReversed)
override
93 leftAxisReversed = _leftAxisReversed;
94 rightAxisReversed = _rightAxisReversed;
98 bool leftAxisReversed,
99 bool rightAxisReversed,
102 _leftAxisReversed = leftAxisReversed;
103 _rightAxisReversed = rightAxisReversed;
114 inline static bool _securityLock =
false;
120 static void resetToDefaults()
122 _securityLock =
false;
131 return _securityLock;
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;
178 _dpadWorkingMode = mode;
185 _securityLock = value;
196 inline static uint16_t _customVID = 0;
197 inline static uint16_t _customPID = 0;
199 static void resetToDefaults()
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;
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;
237 return _batteryLevel;
248 return _batteryCalibrationQuantum;
257 _batteryCalibrationQuantum =
data;
259 SaveSetting(UserSetting::BATTERY_CALIBRATION_DATA);
265 return _maxBatteryReadingEver;
270 _maxBatteryReadingEver = value;
272 SaveSetting(UserSetting::BATTERY_AUTO_CALIBRATION);
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.
static_event< uint8_t > OnBitePoint
New bite point.
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.
static_event< UserSetting > SaveSetting
Request to save a user setting.
DPadWorkingMode
User-selected working mode of directional pads.
@ Navigation
Navigation control.
Types and constants required for custom firmware setup.
Battery calibration service.
virtual void setAutoCalibrationParameter(int value, bool save=true)
Set the auto-calibration parameter.
virtual int getAutoCalibrationParameter()
Get the auto-calibration parameter.
virtual uint16_t getCalibrationData(uint8_t index)
Get calibration data.
virtual uint8_t getCalibrationDataCount()
Get the count of calibration data items.
virtual int getBatteryLevel(int reading)
Get a percentage of battery charge based on calibration data.
virtual void setCalibrationData(uint8_t index, uint16_t data, bool save=true)
Set calibration data.
virtual void getCustomHardwareID(uint16_t &customVID, uint16_t &customPID)
Get the user-defined custom hardware ID.
virtual void setCustomHardwareID(uint16_t customVID, uint16_t customPID, bool save=true)
Set the user-defiend custom hardware ID.
TelemetryData data
Received telemetry data.