diff options
| author | 2022-05-21 17:10:20 -0500 | |
|---|---|---|
| committer | 2022-05-27 10:22:36 -0500 | |
| commit | 240f59a4c8319ec5f0c0e5fd34e8f9c5a458751e (patch) | |
| tree | a2d814d9be7ca3c2547399090f451dbc3694d56b /src/core/hid | |
| parent | service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxis... (diff) | |
| download | yuzu-240f59a4c8319ec5f0c0e5fd34e8f9c5a458751e.tar.gz yuzu-240f59a4c8319ec5f0c0e5fd34e8f9c5a458751e.tar.xz yuzu-240f59a4c8319ec5f0c0e5fd34e8f9c5a458751e.zip | |
service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation
Needed by Nintendo Switch Sports
Diffstat (limited to 'src/core/hid')
| -rw-r--r-- | src/core/hid/hid_types.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/core/hid/hid_types.h b/src/core/hid/hid_types.h index 26ec1091b..00ba23535 100644 --- a/src/core/hid/hid_types.h +++ b/src/core/hid/hid_types.h | |||
| @@ -498,6 +498,39 @@ struct SixAxisSensorFusionParameters { | |||
| 498 | static_assert(sizeof(SixAxisSensorFusionParameters) == 8, | 498 | static_assert(sizeof(SixAxisSensorFusionParameters) == 8, |
| 499 | "SixAxisSensorFusionParameters is an invalid size"); | 499 | "SixAxisSensorFusionParameters is an invalid size"); |
| 500 | 500 | ||
| 501 | // This is nn::hid::SixAxisSensorCalibrationParameter | ||
| 502 | struct SixAxisSensorCalibrationParameter { | ||
| 503 | std::array<u8, 0x744> unknown_data{}; | ||
| 504 | }; | ||
| 505 | static_assert(sizeof(SixAxisSensorCalibrationParameter) == 0x744, | ||
| 506 | "SixAxisSensorCalibrationParameter is an invalid size"); | ||
| 507 | |||
| 508 | // This is nn::hid::SixAxisSensorIcInformation | ||
| 509 | struct SixAxisSensorIcInformation { | ||
| 510 | f32 angular_rate{2000.0f}; // dps | ||
| 511 | std::array<f32, 6> unknown_gyro_data1{ | ||
| 512 | -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f, | ||
| 513 | }; // dps | ||
| 514 | std::array<f32, 9> unknown_gyro_data2{ | ||
| 515 | 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, | ||
| 516 | }; | ||
| 517 | std::array<f32, 9> unknown_gyro_data3{ | ||
| 518 | 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, | ||
| 519 | }; | ||
| 520 | f32 acceleration_range{8.0f}; // g force | ||
| 521 | std::array<f32, 6> unknown_accel_data1{ | ||
| 522 | -0.0612f, -0.0612f, -0.0612f, 0.0612f, 0.0612f, 0.0612f, | ||
| 523 | }; // g force | ||
| 524 | std::array<f32, 9> unknown_accel_data2{ | ||
| 525 | 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, | ||
| 526 | }; | ||
| 527 | std::array<f32, 9> unknown_accel_data3{ | ||
| 528 | 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, | ||
| 529 | }; | ||
| 530 | }; | ||
| 531 | static_assert(sizeof(SixAxisSensorIcInformation) == 0xC8, | ||
| 532 | "SixAxisSensorIcInformation is an invalid size"); | ||
| 533 | |||
| 501 | // This is nn::hid::VibrationDeviceHandle | 534 | // This is nn::hid::VibrationDeviceHandle |
| 502 | struct VibrationDeviceHandle { | 535 | struct VibrationDeviceHandle { |
| 503 | NpadStyleIndex npad_type{NpadStyleIndex::None}; | 536 | NpadStyleIndex npad_type{NpadStyleIndex::None}; |