+
+ static const char *ToString(const cec_adapter_type type)
+ {
+ switch (type)
+ {
+ case ADAPTERTYPE_P8_EXTERNAL:
+ return "Pulse-Eight USB-CEC Adapter";
+ case ADAPTERTYPE_P8_DAUGHTERBOARD:
+ return "Pulse-Eight USB-CEC Daughterboard";
+ case ADAPTERTYPE_RPI:
+ return "Raspberry Pi";
+ case ADAPTERTYPE_TDA995x:
+ return "TDA995x";
+ default:
+ return "unknown";
+ }
+ }
+
+ static bool PhysicalAddressIsIncluded(uint16_t iParent, uint16_t iChild)
+ {
+ for (int iPtr = 3; iPtr >= 0; iPtr--)
+ {
+ if (((iParent >> 4*iPtr) & 0xF) > 0 &&
+ ((iParent >> 4*iPtr) & 0xF) != ((iChild >> 4*iPtr) & 0xF))
+ return false;
+ }
+ return true;
+ }
+
+ static CStdString ToString(const cec_command& command)
+ {
+ CStdString dataStr;
+ 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]);
+ return dataStr;
+ }