input_common: Allow timeouts to happen while scanning for a ring
This commit is contained in:
parent
df9685a21c
commit
ac755476cd
|
@ -75,7 +75,7 @@ Common::Input::DriverResult JoyconCommonProtocol::SendRawData(std::span<const u8
|
||||||
Common::Input::DriverResult JoyconCommonProtocol::GetSubCommandResponse(
|
Common::Input::DriverResult JoyconCommonProtocol::GetSubCommandResponse(
|
||||||
SubCommand sc, SubCommandResponse& output) {
|
SubCommand sc, SubCommandResponse& output) {
|
||||||
constexpr int timeout_mili = 66;
|
constexpr int timeout_mili = 66;
|
||||||
constexpr int MaxTries = 3;
|
constexpr int MaxTries = 10;
|
||||||
int tries = 0;
|
int tries = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -70,7 +70,7 @@ Common::Input::DriverResult RingConProtocol::StartRingconPolling() {
|
||||||
|
|
||||||
Common::Input::DriverResult RingConProtocol::IsRingConnected(bool& is_connected) {
|
Common::Input::DriverResult RingConProtocol::IsRingConnected(bool& is_connected) {
|
||||||
LOG_DEBUG(Input, "IsRingConnected");
|
LOG_DEBUG(Input, "IsRingConnected");
|
||||||
constexpr std::size_t max_tries = 28;
|
constexpr std::size_t max_tries = 42;
|
||||||
SubCommandResponse output{};
|
SubCommandResponse output{};
|
||||||
std::size_t tries = 0;
|
std::size_t tries = 0;
|
||||||
is_connected = false;
|
is_connected = false;
|
||||||
|
@ -78,7 +78,8 @@ Common::Input::DriverResult RingConProtocol::IsRingConnected(bool& is_connected)
|
||||||
do {
|
do {
|
||||||
const auto result = SendSubCommand(SubCommand::GET_EXTERNAL_DEVICE_INFO, {}, output);
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue