diff --git a/3rdparty/fusion/fusion b/3rdparty/fusion/fusion index 008e03eac0..a853d08a85 160000 --- a/3rdparty/fusion/fusion +++ b/3rdparty/fusion/fusion @@ -1 +1 @@ -Subproject commit 008e03eac0ac1d5f85e16f5fcaefdda3fee75cb8 +Subproject commit a853d08a858986b1f27c35a6f37f8458226330b3 diff --git a/3rdparty/fusion/fusion.vcxproj b/3rdparty/fusion/fusion.vcxproj index 71e669be00..a8decc5a37 100644 --- a/3rdparty/fusion/fusion.vcxproj +++ b/3rdparty/fusion/fusion.vcxproj @@ -13,17 +13,17 @@ - - + - + + + - Fusion diff --git a/3rdparty/fusion/fusion.vcxproj.filters b/3rdparty/fusion/fusion.vcxproj.filters index 85764a4f97..6653e299ba 100644 --- a/3rdparty/fusion/fusion.vcxproj.filters +++ b/3rdparty/fusion/fusion.vcxproj.filters @@ -8,12 +8,12 @@ - - - + + + @@ -22,7 +22,7 @@ Source Files - + Source Files diff --git a/rpcs3/Emu/Io/PadHandler.cpp b/rpcs3/Emu/Io/PadHandler.cpp index 178ae9f4fa..4463586673 100644 --- a/rpcs3/Emu/Io/PadHandler.cpp +++ b/rpcs3/Emu/Io/PadHandler.cpp @@ -979,7 +979,7 @@ void PadDevice::reset_orientation() ahrs->settings.convention = FusionConvention::FusionConventionEnu; ahrs->settings.gain = 0.0f; // If gain is set, the algorithm tries to adjust the orientation over time. FusionAhrsSetSettings(ahrs.get(), &ahrs->settings); - FusionAhrsReset(ahrs.get()); + FusionAhrsRestart(ahrs.get()); } void PadDevice::update_orientation(ps_move_data& move_data) @@ -1028,7 +1028,8 @@ void PadDevice::update_orientation(ps_move_data& move_data) } // Update Fusion - FusionAhrsUpdate(ahrs.get(), gyroscope, accelerometer, magnetometer, elapsed_sec); + FusionAhrsSetSamplePeriod(ahrs.get(), elapsed_sec); + FusionAhrsUpdate(ahrs.get(), gyroscope, accelerometer, magnetometer); // Get quaternion const FusionQuaternion quaternion = FusionAhrsGetQuaternion(ahrs.get());