summaryrefslogtreecommitdiffstats
path: root/src/input_common/helpers/joycon_protocol/calibration.h
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2023-01-27 20:12:54 +0100
committerNarr the Reg <juangerman-13@hotmail.com>2023-01-28 00:12:04 +0100
commit8647c727781accf79fe78c19eeee9acdb24f2927 (patch)
treeb72ad4638850786d36b7568be6cd1a933c518dd1 /src/input_common/helpers/joycon_protocol/calibration.h
parentMerge pull request #9685 from liamwhite/minmax (diff)
downloadyuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar.gz
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar.bz2
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar.lz
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar.xz
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.tar.zst
yuzu-8647c727781accf79fe78c19eeee9acdb24f2927.zip
Diffstat (limited to '')
-rw-r--r--src/input_common/helpers/joycon_protocol/calibration.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/input_common/helpers/joycon_protocol/calibration.h b/src/input_common/helpers/joycon_protocol/calibration.h
index afb52a36a..c6fd0f729 100644
--- a/src/input_common/helpers/joycon_protocol/calibration.h
+++ b/src/input_common/helpers/joycon_protocol/calibration.h
@@ -53,9 +53,27 @@ public:
DriverResult GetRingCalibration(RingCalibration& calibration, s16 current_value);
private:
+ /// Returns true if the specified address corresponds to the magic value of user calibration
+ DriverResult HasUserCalibration(SpiAddress address, bool& has_user_calibration);
+
+ /// Converts a raw calibration block to an u16 value containing the x axis value
+ u16 GetXAxisCalibrationValue(std::span<u8> block) const;
+
+ /// Converts a raw calibration block to an u16 value containing the y axis value
+ u16 GetYAxisCalibrationValue(std::span<u8> block) const;
+
+ /// Ensures that all joystick calibration values are set
void ValidateCalibration(JoyStickCalibration& calibration);
+
+ /// Ensures that all motion calibration values are set
void ValidateCalibration(MotionCalibration& calibration);
+ /// Returns the default value if the value is either zero or 0xFFF
+ u16 ValidateValue(u16 value, u16 default_value) const;
+
+ /// Returns the default value if the value is either zero or 0xFFF
+ s16 ValidateValue(s16 value, s16 default_value) const;
+
s16 ring_data_max = 0;
s16 ring_data_default = 0;
s16 ring_data_min = 0;