device_settings.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <array>
  5. #include "common/common_types.h"
  6. namespace Service::Set {
  7. struct DeviceSettings {
  8. std::array<u8, 0x10> reserved_000;
  9. // nn::settings::BatteryLot
  10. std::array<u8, 0x18> ptm_battery_lot;
  11. // nn::settings::system::PtmFuelGaugeParameter
  12. std::array<u8, 0x18> ptm_fuel_gauge_parameter;
  13. u8 ptm_battery_version;
  14. // nn::settings::system::PtmCycleCountReliability
  15. u32 ptm_cycle_count_reliability;
  16. std::array<u8, 0x48> reserved_048;
  17. // nn::settings::system::AnalogStickUserCalibration L
  18. std::array<u8, 0x10> analog_user_stick_calibration_l;
  19. // nn::settings::system::AnalogStickUserCalibration R
  20. std::array<u8, 0x10> analog_user_stick_calibration_r;
  21. std::array<u8, 0x20> reserved_0B0;
  22. // nn::settings::system::ConsoleSixAxisSensorAccelerationBias
  23. std::array<u8, 0xC> console_six_axis_sensor_acceleration_bias;
  24. // nn::settings::system::ConsoleSixAxisSensorAngularVelocityBias
  25. std::array<u8, 0xC> console_six_axis_sensor_angular_velocity_bias;
  26. // nn::settings::system::ConsoleSixAxisSensorAccelerationGain
  27. std::array<u8, 0x24> console_six_axis_sensor_acceleration_gain;
  28. // nn::settings::system::ConsoleSixAxisSensorAngularVelocityGain
  29. std::array<u8, 0x24> console_six_axis_sensor_angular_velocity_gain;
  30. // nn::settings::system::ConsoleSixAxisSensorAngularVelocityTimeBias
  31. std::array<u8, 0xC> console_six_axis_sensor_angular_velocity_time_bias;
  32. // nn::settings::system::ConsoleSixAxisSensorAngularAcceleration
  33. std::array<u8, 0x24> console_six_axis_sensor_angular_acceleration;
  34. };
  35. static_assert(offsetof(DeviceSettings, ptm_battery_lot) == 0x10);
  36. static_assert(offsetof(DeviceSettings, ptm_cycle_count_reliability) == 0x44);
  37. static_assert(offsetof(DeviceSettings, analog_user_stick_calibration_l) == 0x90);
  38. static_assert(offsetof(DeviceSettings, console_six_axis_sensor_acceleration_bias) == 0xD0);
  39. static_assert(offsetof(DeviceSettings, console_six_axis_sensor_angular_acceleration) == 0x13C);
  40. static_assert(sizeof(DeviceSettings) == 0x160, "DeviceSettings has the wrong size!");
  41. DeviceSettings DefaultDeviceSettings();
  42. } // namespace Service::Set