|
|
|
@ -36,9 +36,9 @@ namespace Service::HID { |
|
|
|
|
|
|
|
// Updating period for each HID device.
|
|
|
|
// TODO(ogniK): Find actual polling rate of hid
|
|
|
|
constexpr u64 pad_update_ticks = Core::Timing::BASE_CLOCK_RATE / 66; |
|
|
|
constexpr u64 accelerometer_update_ticks = Core::Timing::BASE_CLOCK_RATE / 100; |
|
|
|
constexpr u64 gyroscope_update_ticks = Core::Timing::BASE_CLOCK_RATE / 100; |
|
|
|
constexpr s64 pad_update_ticks = static_cast<s64>(Core::Timing::BASE_CLOCK_RATE / 66); |
|
|
|
constexpr s64 accelerometer_update_ticks = static_cast<s64>(Core::Timing::BASE_CLOCK_RATE / 100); |
|
|
|
constexpr s64 gyroscope_update_ticks = static_cast<s64>(Core::Timing::BASE_CLOCK_RATE / 100); |
|
|
|
constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000; |
|
|
|
|
|
|
|
IAppletResource::IAppletResource() : ServiceFramework("IAppletResource") { |
|
|
|
@ -75,7 +75,7 @@ IAppletResource::IAppletResource() : ServiceFramework("IAppletResource") { |
|
|
|
// Register update callbacks
|
|
|
|
auto& core_timing = Core::System::GetInstance().CoreTiming(); |
|
|
|
pad_update_event = |
|
|
|
core_timing.RegisterEvent("HID::UpdatePadCallback", [this](u64 userdata, int cycles_late) { |
|
|
|
core_timing.RegisterEvent("HID::UpdatePadCallback", [this](u64 userdata, s64 cycles_late) { |
|
|
|
UpdateControllers(userdata, cycles_late); |
|
|
|
}); |
|
|
|
|
|
|
|
@ -106,7 +106,7 @@ void IAppletResource::GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { |
|
|
|
rb.PushCopyObjects(shared_mem); |
|
|
|
} |
|
|
|
|
|
|
|
void IAppletResource::UpdateControllers(u64 userdata, int cycles_late) { |
|
|
|
void IAppletResource::UpdateControllers(u64 userdata, s64 cycles_late) { |
|
|
|
auto& core_timing = Core::System::GetInstance().CoreTiming(); |
|
|
|
|
|
|
|
const bool should_reload = Settings::values.is_device_reload_pending.exchange(false); |
|
|
|
|