Browse Source

Merge pull request #5835 from Morph1984/cleanup-sixaxis-fusion

hid: Cleanup SixAxisFusionParameters
LC 5 years ago
parent
commit
0e125dfd43

+ 3 - 4
src/core/hle/service/hid/controllers/npad.cpp

@@ -946,20 +946,19 @@ void Controller_NPad::SetSixAxisEnabled(bool six_axis_status) {
     sixaxis_sensors_enabled = six_axis_status;
     sixaxis_sensors_enabled = six_axis_status;
 }
 }
 
 
-void Controller_NPad::SetSixAxisFusionParameters(const DeviceHandle& handle, f32 parameter1,
-                                                 f32 parameter2) {
+void Controller_NPad::SetSixAxisFusionParameters(f32 parameter1, f32 parameter2) {
     sixaxis_fusion_parameter1 = parameter1;
     sixaxis_fusion_parameter1 = parameter1;
     sixaxis_fusion_parameter2 = parameter2;
     sixaxis_fusion_parameter2 = parameter2;
 }
 }
 
 
-std::pair<f32, f32> Controller_NPad::GetSixAxisFusionParameters(const DeviceHandle& handle) {
+std::pair<f32, f32> Controller_NPad::GetSixAxisFusionParameters() {
     return {
     return {
         sixaxis_fusion_parameter1,
         sixaxis_fusion_parameter1,
         sixaxis_fusion_parameter2,
         sixaxis_fusion_parameter2,
     };
     };
 }
 }
 
 
-void Controller_NPad::ResetSixAxisFusionParameters(const DeviceHandle& handle) {
+void Controller_NPad::ResetSixAxisFusionParameters() {
     sixaxis_fusion_parameter1 = 0.0f;
     sixaxis_fusion_parameter1 = 0.0f;
     sixaxis_fusion_parameter2 = 0.0f;
     sixaxis_fusion_parameter2 = 0.0f;
 }
 }

+ 3 - 3
src/core/hle/service/hid/controllers/npad.h

@@ -202,9 +202,9 @@ public:
     GyroscopeZeroDriftMode GetGyroscopeZeroDriftMode() const;
     GyroscopeZeroDriftMode GetGyroscopeZeroDriftMode() const;
     bool IsSixAxisSensorAtRest() const;
     bool IsSixAxisSensorAtRest() const;
     void SetSixAxisEnabled(bool six_axis_status);
     void SetSixAxisEnabled(bool six_axis_status);
-    void SetSixAxisFusionParameters(const DeviceHandle& handle, f32 parameter1, f32 parameter2);
-    std::pair<f32, f32> GetSixAxisFusionParameters(const DeviceHandle& handle);
-    void ResetSixAxisFusionParameters(const DeviceHandle& handle);
+    void SetSixAxisFusionParameters(f32 parameter1, f32 parameter2);
+    std::pair<f32, f32> GetSixAxisFusionParameters();
+    void ResetSixAxisFusionParameters();
     LedPattern GetLedPattern(u32 npad_id);
     LedPattern GetLedPattern(u32 npad_id);
     bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const;
     bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const;
     void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id);
     void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id);

+ 22 - 19
src/core/hle/service/hid/hid.cpp

@@ -520,6 +520,7 @@ void Hid::EnableSixAxisSensorFusion(Kernel::HLERequestContext& ctx) {
         Controller_NPad::DeviceHandle sixaxis_handle;
         Controller_NPad::DeviceHandle sixaxis_handle;
         u64 applet_resource_user_id;
         u64 applet_resource_user_id;
     };
     };
+    static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
 
 
     const auto parameters{rp.PopRaw<Parameters>()};
     const auto parameters{rp.PopRaw<Parameters>()};
 
 
@@ -542,19 +543,19 @@ void Hid::SetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) {
         f32 parameter2;
         f32 parameter2;
         u64 applet_resource_user_id;
         u64 applet_resource_user_id;
     };
     };
+    static_assert(sizeof(Parameters) == 0x18, "Parameters has incorrect size.");
 
 
     const auto parameters{rp.PopRaw<Parameters>()};
     const auto parameters{rp.PopRaw<Parameters>()};
 
 
     applet_resource->GetController<Controller_NPad>(HidController::NPad)
     applet_resource->GetController<Controller_NPad>(HidController::NPad)
-        .SetSixAxisFusionParameters(parameters.sixaxis_handle, parameters.parameter1,
-                                    parameters.parameter2);
+        .SetSixAxisFusionParameters(parameters.parameter1, parameters.parameter2);
 
 
     LOG_WARNING(Service_HID,
     LOG_WARNING(Service_HID,
-                "(STUBBED) called, float1={}, float2={}, npad_type={}, npad_id={}, "
-                "device_index={}, applet_resource_user_id={}",
-                parameters.parameter1, parameters.parameter2, parameters.sixaxis_handle.npad_type,
-                parameters.sixaxis_handle.npad_id, parameters.sixaxis_handle.device_index,
-                parameters.applet_resource_user_id);
+                "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, parameter1={}, "
+                "parameter2={}, applet_resource_user_id={}",
+                parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
+                parameters.sixaxis_handle.device_index, parameters.parameter1,
+                parameters.parameter2, parameters.applet_resource_user_id);
 
 
     IPC::ResponseBuilder rb{ctx, 2};
     IPC::ResponseBuilder rb{ctx, 2};
     rb.Push(RESULT_SUCCESS);
     rb.Push(RESULT_SUCCESS);
@@ -566,6 +567,7 @@ void Hid::GetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) {
         Controller_NPad::DeviceHandle sixaxis_handle;
         Controller_NPad::DeviceHandle sixaxis_handle;
         u64 applet_resource_user_id;
         u64 applet_resource_user_id;
     };
     };
+    static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
 
 
     f32 parameter1 = 0;
     f32 parameter1 = 0;
     f32 parameter2 = 0;
     f32 parameter2 = 0;
@@ -573,13 +575,13 @@ void Hid::GetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) {
 
 
     std::tie(parameter1, parameter2) =
     std::tie(parameter1, parameter2) =
         applet_resource->GetController<Controller_NPad>(HidController::NPad)
         applet_resource->GetController<Controller_NPad>(HidController::NPad)
-            .GetSixAxisFusionParameters(parameters.sixaxis_handle);
+            .GetSixAxisFusionParameters();
 
 
-    LOG_WARNING(Service_HID,
-                "(STUBBED) called, npad_type={}, npad_id={}, "
-                "device_index={}, applet_resource_user_id={}",
-                parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
-                parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id);
+    LOG_WARNING(
+        Service_HID,
+        "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}",
+        parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
+        parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id);
 
 
     IPC::ResponseBuilder rb{ctx, 4};
     IPC::ResponseBuilder rb{ctx, 4};
     rb.Push(RESULT_SUCCESS);
     rb.Push(RESULT_SUCCESS);
@@ -593,17 +595,18 @@ void Hid::ResetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) {
         Controller_NPad::DeviceHandle sixaxis_handle;
         Controller_NPad::DeviceHandle sixaxis_handle;
         u64 applet_resource_user_id;
         u64 applet_resource_user_id;
     };
     };
+    static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
 
 
     const auto parameters{rp.PopRaw<Parameters>()};
     const auto parameters{rp.PopRaw<Parameters>()};
 
 
     applet_resource->GetController<Controller_NPad>(HidController::NPad)
     applet_resource->GetController<Controller_NPad>(HidController::NPad)
-        .ResetSixAxisFusionParameters(parameters.sixaxis_handle);
+        .ResetSixAxisFusionParameters();
 
 
-    LOG_WARNING(Service_HID,
-                "(STUBBED) called, npad_type={}, npad_id={}, "
-                "device_index={}, applet_resource_user_id={}",
-                parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
-                parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id);
+    LOG_WARNING(
+        Service_HID,
+        "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}",
+        parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
+        parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id);
 
 
     IPC::ResponseBuilder rb{ctx, 2};
     IPC::ResponseBuilder rb{ctx, 2};
     rb.Push(RESULT_SUCCESS);
     rb.Push(RESULT_SUCCESS);