diff options
author | german77 <juangerman-13@hotmail.com> | 2023-06-28 08:38:45 -0600 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2023-06-29 01:07:39 -0600 |
commit | ac755476cdaa8bace9c86183125d34dbe4c8cee9 (patch) | |
tree | 4e808e1d2783dc230d9a194effc970453cffa8ff | |
parent | df9685a21c105962e90dbd95133c5a1bcef7886f (diff) |
input_common: Allow timeouts to happen while scanning for a ring
-rw-r--r-- | src/input_common/helpers/joycon_protocol/common_protocol.cpp | 2 | ||||
-rw-r--r-- | 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; } |