From ac755476cdaa8bace9c86183125d34dbe4c8cee9 Mon Sep 17 00:00:00 2001 From: german77 <juangerman-13@hotmail.com> Date: Wed, 28 Jun 2023 08:38:45 -0600 Subject: [PATCH] input_common: Allow timeouts to happen while scanning for a ring --- src/input_common/helpers/joycon_protocol/common_protocol.cpp | 2 +- src/input_common/helpers/joycon_protocol/ringcon.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/input_common/helpers/joycon_protocol/common_protocol.cpp b/src/input_common/helpers/joycon_protocol/common_protocol.cpp index e10d15c18e..a6eecf9802 100644 --- a/src/input_common/helpers/joycon_protocol/common_protocol.cpp +++ b/src/input_common/helpers/joycon_protocol/common_protocol.cpp @@ -75,7 +75,7 @@ Common::Input::DriverResult JoyconCommonProtocol::SendRawData(std::span<const u8 Common::Input::DriverResult JoyconCommonProtocol::GetSubCommandResponse( SubCommand sc, SubCommandResponse& output) { constexpr int timeout_mili = 66; - constexpr int MaxTries = 3; + constexpr int MaxTries = 10; int tries = 0; do { diff --git a/src/input_common/helpers/joycon_protocol/ringcon.cpp b/src/input_common/helpers/joycon_protocol/ringcon.cpp index f31ff6b346..96414fb676 100644 --- a/src/input_common/helpers/joycon_protocol/ringcon.cpp +++ b/src/input_common/helpers/joycon_protocol/ringcon.cpp @@ -70,7 +70,7 @@ Common::Input::DriverResult RingConProtocol::StartRingconPolling() { Common::Input::DriverResult RingConProtocol::IsRingConnected(bool& is_connected) { LOG_DEBUG(Input, "IsRingConnected"); - constexpr std::size_t max_tries = 28; + constexpr std::size_t max_tries = 42; SubCommandResponse output{}; std::size_t tries = 0; is_connected = false; @@ -78,7 +78,8 @@ Common::Input::DriverResult RingConProtocol::IsRingConnected(bool& is_connected) do { const auto result = SendSubCommand(SubCommand::GET_EXTERNAL_DEVICE_INFO, {}, output); - if (result != Common::Input::DriverResult::Success) { + if (result != Common::Input::DriverResult::Success && + result != Common::Input::DriverResult::Timeout) { return result; }