X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.cpp;h=dc6d4f8832c1ff477d74244279cd5f334a01a65d;hb=c686413b0994df7037af7f08751a58f2d84045d4;hp=49ca7db7ce64592db298735d361d040f08b23149;hpb=8ac9c610be214885ff040d23acb707eeaba1276c;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.cpp b/src/lib/devices/CECBusDevice.cpp index 49ca7db..dc6d4f8 100644 --- a/src/lib/devices/CECBusDevice.cpp +++ b/src/lib/devices/CECBusDevice.cpp @@ -247,28 +247,10 @@ bool CCECBusDevice::MyLogicalAddressContains(cec_logical_address address) const //@{ void CCECBusDevice::SetCecVersion(const cec_version newVersion) { - CStdString strLog; m_cecVersion = newVersion; - switch (newVersion) - { - case CEC_VERSION_1_2: - strLog.Format("%s (%X): CEC version 1.2", GetLogicalAddressName(), m_iLogicalAddress); - break; - case CEC_VERSION_1_2A: - strLog.Format("%s (%X): CEC version 1.2a", GetLogicalAddressName(), m_iLogicalAddress); - break; - case CEC_VERSION_1_3: - strLog.Format("%s (%X): CEC version 1.3", GetLogicalAddressName(), m_iLogicalAddress); - break; - case CEC_VERSION_1_3A: - strLog.Format("%s (%X): CEC version 1.3a", GetLogicalAddressName(), m_iLogicalAddress); - break; - default: - strLog.Format("%s (%X): unknown CEC version", GetLogicalAddressName(), m_iLogicalAddress); - m_cecVersion = CEC_VERSION_UNKNOWN; - break; - } + CStdString strLog; + strLog.Format("%s (%X): CEC version %s", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(newVersion)); AddLog(CEC_LOG_DEBUG, strLog); } @@ -315,7 +297,7 @@ void CCECBusDevice::SetPowerStatus(const cec_power_status powerStatus) if (m_powerStatus != powerStatus) { CStdString strLog; - strLog.Format(">> %s (%X): power status changed from %2x to %2x", GetLogicalAddressName(), m_iLogicalAddress, m_powerStatus, powerStatus); + strLog.Format(">> %s (%X): power status changed from '%s' to '%s'", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(m_powerStatus), CCECCommandHandler::ToString(powerStatus)); m_processor->AddLog(CEC_LOG_DEBUG, strLog); m_powerStatus = powerStatus; } @@ -368,7 +350,13 @@ void CCECBusDevice::SetVendorId(uint64_t iVendorId, uint8_t iVendorClass /* = 0 //@{ bool CCECBusDevice::TransmitActiveSource(void) { - if (m_bActiveSource) + if (m_powerStatus != CEC_POWER_STATUS_ON) + { + CStdString strLog; + strLog.Format("<< %s (%X) is not powered on", GetLogicalAddressName(), m_iLogicalAddress); + AddLog(CEC_LOG_DEBUG, strLog); + } + else if (m_bActiveSource) { CStdString strLog; strLog.Format("<< %s (%X) -> broadcast (F): active source (%4x)", GetLogicalAddressName(), m_iLogicalAddress, m_iPhysicalAddress); @@ -394,30 +382,12 @@ bool CCECBusDevice::TransmitActiveSource(void) bool CCECBusDevice::TransmitCECVersion(cec_logical_address dest) { CStdString strLog; - strLog.Format("<< %s (%X) -> %s (%X): cec version ", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest); - switch (m_cecVersion) - { - case CEC_VERSION_1_2: - strLog.append("1.2"); - break; - case CEC_VERSION_1_2A: - strLog.append("1.2a"); - break; - case CEC_VERSION_1_3: - strLog.append("1.3"); - break; - case CEC_VERSION_1_3A: - strLog.append("1.3a"); - break; - default: - strLog.append("unknown"); - break; - } + strLog.Format("<< %s (%X) -> %s (%X): cec version %s", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest, CCECCommandHandler::ToString(m_cecVersion)); AddLog(CEC_LOG_NOTICE, strLog); cec_command command; cec_command::format(command, m_iLogicalAddress, dest, CEC_OPCODE_CEC_VERSION); - command.parameters.push_back(m_cecVersion); + command.parameters.push_back((uint8_t)m_cecVersion); return m_processor->Transmit(command); } @@ -524,31 +494,9 @@ bool CCECBusDevice::TransmitPoll(cec_logical_address dest) bool CCECBusDevice::TransmitPowerState(cec_logical_address dest) { CStdString strLog; - strLog.Format("<< %s (%X) -> %s (%X): ", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest); - - switch (m_powerStatus) - { - case CEC_POWER_STATUS_ON: - strLog.append("powered on"); - break; - case CEC_POWER_STATUS_STANDBY: - strLog.append("in standby mode"); - break; - case CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY: - strLog.append("in transition from on to standby"); - break; - case CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON: - strLog.append("in transition from standby to on"); - break; - default: - strLog.append("power state unknown"); - break; - } + strLog.Format("<< %s (%X) -> %s (%X): %s", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest, CCECCommandHandler::ToString(m_powerStatus)); AddLog(CEC_LOG_NOTICE, strLog.c_str()); - strLog.Format("<< reporting power status '%d'", m_powerStatus); - AddLog(CEC_LOG_NOTICE, strLog); - cec_command command; cec_command::format(command, m_iLogicalAddress, dest, CEC_OPCODE_REPORT_POWER_STATUS); command.parameters.push_back((uint8_t) m_powerStatus);