if (bClose && m_communication)
{
+ m_communication->PersistConfiguration(&m_configuration);
m_communication->Close();
delete m_communication;
m_communication = NULL;
if (bReturn)
CLibCEC::AddLog(CEC_LOG_NOTICE, "connected to the CEC adapter. firmware version = %d, client version = %s", m_communication->GetFirmwareVersion(), ToString((cec_client_version)m_configuration.clientVersion));
+ if (m_configuration.bGetSettingsFromROM == 1)
+ m_communication->GetConfiguration(&m_configuration);
+
return bReturn;
}
iMaxTries = m_busDevices[data.initiator]->GetHandler()->GetTransmitRetries() + 1;
}
- return m_communication->Write(data, iMaxTries, m_iLineTimeout, m_iRetryLineTimeout)
+ return m_communication->Write(data, iMaxTries, m_iStandardLineTimeout, m_iRetryLineTimeout)
== ADAPTER_MESSAGE_STATE_SENT_ACKED;
}
void CCECProcessor::ParseCommand(const cec_command &command)
{
CStdString dataStr;
- dataStr.Format(">> %1x%1x:%02x", command.initiator, command.destination, command.opcode);
+ dataStr.Format(">> %1x%1x", command.initiator, command.destination);
+ if (command.opcode_set == 1)
+ dataStr.AppendFormat(":%02x", command.opcode);
for (uint8_t iPtr = 0; iPtr < command.parameters.size; iPtr++)
dataStr.AppendFormat(":%02x", (unsigned int)command.parameters[iPtr]);
CLibCEC::AddLog(CEC_LOG_TRAFFIC, dataStr.c_str());
void CCECProcessor::HandlePoll(cec_logical_address initiator, cec_logical_address destination)
{
- m_busDevices[initiator]->HandlePoll(destination);
+ m_busDevices[destination]->HandlePoll(initiator);
}
bool CCECProcessor::HandleReceiveFailed(cec_logical_address initiator)