diff options
| author | 2022-05-30 10:44:36 -0700 | |
|---|---|---|
| committer | 2022-05-30 10:44:36 -0700 | |
| commit | f6c47df671c718117dd3d7b2d825e9668de1be95 (patch) | |
| tree | 7c1814c3c60f0d4619da489c7278032cadf148ee /src/core/hid | |
| parent | Merge pull request #8392 from Morph1984/boosted (diff) | |
| parent | service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned (diff) | |
| download | yuzu-f6c47df671c718117dd3d7b2d825e9668de1be95.tar.gz yuzu-f6c47df671c718117dd3d7b2d825e9668de1be95.tar.xz yuzu-f6c47df671c718117dd3d7b2d825e9668de1be95.zip | |
Merge pull request #8368 from german77/seventimes
Service: hid: Several improvements and implementations
Diffstat (limited to 'src/core/hid')
| -rw-r--r-- | src/core/hid/hid_types.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/core/hid/hid_types.h b/src/core/hid/hid_types.h index 26ec1091b..9f76f9bcb 100644 --- a/src/core/hid/hid_types.h +++ b/src/core/hid/hid_types.h | |||
| @@ -498,6 +498,49 @@ 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::server::SixAxisSensorProperties | ||
| 502 | struct SixAxisSensorProperties { | ||
| 503 | union { | ||
| 504 | u8 raw{}; | ||
| 505 | BitField<0, 1, u8> is_newly_assigned; | ||
| 506 | BitField<1, 1, u8> is_firmware_update_available; | ||
| 507 | }; | ||
| 508 | }; | ||
| 509 | static_assert(sizeof(SixAxisSensorProperties) == 1, "SixAxisSensorProperties is an invalid size"); | ||
| 510 | |||
| 511 | // This is nn::hid::SixAxisSensorCalibrationParameter | ||
| 512 | struct SixAxisSensorCalibrationParameter { | ||
| 513 | std::array<u8, 0x744> unknown_data{}; | ||
| 514 | }; | ||
| 515 | static_assert(sizeof(SixAxisSensorCalibrationParameter) == 0x744, | ||
| 516 | "SixAxisSensorCalibrationParameter is an invalid size"); | ||
| 517 | |||
| 518 | // This is nn::hid::SixAxisSensorIcInformation | ||
| 519 | struct SixAxisSensorIcInformation { | ||
| 520 | f32 angular_rate{2000.0f}; // dps | ||
| 521 | std::array<f32, 6> unknown_gyro_data1{ | ||
| 522 | -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f, | ||
| 523 | }; // dps | ||
| 524 | std::array<f32, 9> unknown_gyro_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_gyro_data3{ | ||
| 528 | 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, | ||
| 529 | }; | ||
| 530 | f32 acceleration_range{8.0f}; // g force | ||
| 531 | std::array<f32, 6> unknown_accel_data1{ | ||
| 532 | -0.0612f, -0.0612f, -0.0612f, 0.0612f, 0.0612f, 0.0612f, | ||
| 533 | }; // g force | ||
| 534 | std::array<f32, 9> unknown_accel_data2{ | ||
| 535 | 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, -0.003f, -0.003f, -0.003f, 0.95f, | ||
| 536 | }; | ||
| 537 | std::array<f32, 9> unknown_accel_data3{ | ||
| 538 | 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, 0.003f, 0.003f, 0.003f, 1.05f, | ||
| 539 | }; | ||
| 540 | }; | ||
| 541 | static_assert(sizeof(SixAxisSensorIcInformation) == 0xC8, | ||
| 542 | "SixAxisSensorIcInformation is an invalid size"); | ||
| 543 | |||
| 501 | // This is nn::hid::VibrationDeviceHandle | 544 | // This is nn::hid::VibrationDeviceHandle |
| 502 | struct VibrationDeviceHandle { | 545 | struct VibrationDeviceHandle { |
| 503 | NpadStyleIndex npad_type{NpadStyleIndex::None}; | 546 | NpadStyleIndex npad_type{NpadStyleIndex::None}; |