+ {
+ uint8_t iTries(0), iMaxTries(!command.opcode_set ? 1 : m_iTransmitRetries + 1);
+ while (!bReturn && ++iTries <= iMaxTries && !m_busDevice->IsUnsupportedFeature(command.opcode))
+ {
+ if ((bReturn = m_processor->Transmit(command)) == true)
+ {
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "command transmitted");
+ if (bExpectResponse)
+ {
+ bReturn = m_waitForResponse->Wait(expectedResponse);
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, bReturn ? "expected response received (%X: %s)" : "expected response not received (%X: %s)", (int)expectedResponse, ToString(expectedResponse));
+ }
+ }
+ }
+ }
+
+ return bReturn;