CEC_CLIENT_VERSION_1_5_1 = 0x1501,
CEC_CLIENT_VERSION_1_5_2 = 0x1502,
CEC_CLIENT_VERSION_1_5_3 = 0x1503,
+ CEC_CLIENT_VERSION_1_6_0 = 0x1600
} cec_client_version;
typedef enum cec_server_version
CEC_SERVER_VERSION_1_5_0 = 0x1500,
CEC_SERVER_VERSION_1_5_1 = 0x1501,
CEC_SERVER_VERSION_1_5_2 = 0x1502,
- CEC_SERVER_VERSION_1_5_3 = 0x1503
+ CEC_SERVER_VERSION_1_5_3 = 0x1503,
+ CEC_SERVER_VERSION_1_6_0 = 0x1600
} cec_server_version;
typedef struct libcec_configuration
ICECCallbacks * callbacks; /*!< the callback methods to use. set this to NULL when not using callbacks */
cec_logical_addresses logicalAddresses; /*!< the current logical addresses. read-only. added in 1.5.3 */
+ uint16_t iFirmwareVersion; /*!< the firmware version of the adapter. in 1.6.0 */
#ifdef __cplusplus
void Clear(void)
bPowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY;
bSendInactiveSource = CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE;
logicalAddresses.Clear();
+ iFirmwareVersion = 0;
callbackParam = NULL;
callbacks = NULL;
{
CreateBusDevices();
m_configuration.Clear();
- m_configuration.serverVersion = configuration->serverVersion;
+ m_configuration.serverVersion = CEC_SERVER_VERSION_1_6_0;
SetConfiguration(configuration);
if (m_configuration.tvVendor != CEC_VENDOR_UNKNOWN)
m_iLastTransmission(0)
{
m_configuration.Clear();
- m_configuration.serverVersion = CEC_SERVER_VERSION_1_5_2;
+ m_configuration.serverVersion = CEC_SERVER_VERSION_1_6_0;
// client version < 1.5.0
m_configuration.clientVersion = (uint32_t)CEC_CLIENT_VERSION_PRE_1_5;
}
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));
+ {
+ m_configuration.iFirmwareVersion = m_communication->GetFirmwareVersion();
+ CLibCEC::AddLog(CEC_LOG_NOTICE, "connected to the CEC adapter. firmware version = %d, client version = %s", m_configuration.iFirmwareVersion, ToString((cec_client_version)m_configuration.clientVersion));
+ }
if (m_configuration.bGetSettingsFromROM == 1)
m_communication->GetConfiguration(&m_configuration);
return "1.5.1";
case CEC_CLIENT_VERSION_1_5_2:
return "1.5.2";
+ case CEC_CLIENT_VERSION_1_5_3:
+ return "1.5.3";
+ case CEC_CLIENT_VERSION_1_6_0:
+ return "1.6.0";
default:
return "Unknown";
}
return "1.5.1";
case CEC_SERVER_VERSION_1_5_2:
return "1.5.2";
+ case CEC_SERVER_VERSION_1_5_3:
+ return "1.5.3";
+ case CEC_SERVER_VERSION_1_6_0:
+ return "1.6.0";
default:
return "Unknown";
}
if (configuration->clientVersion >= CEC_CLIENT_VERSION_1_5_3)
configuration->logicalAddresses = m_configuration.logicalAddresses;
+ // client version 1.6.0
+ if (configuration->clientVersion >= CEC_CLIENT_VERSION_1_5_3)
+ configuration->logicalAddresses = m_configuration.logicalAddresses;
+
return true;
}