uint8_t size;
#ifdef __cplusplus
+ cec_datapacket &operator =(const struct cec_datapacket &packet)
+ {
+ clear();
+ for (uint8_t iPtr = 0; iPtr < packet.size; iPtr++)
+ push_back(packet[iPtr]);
+
+ return *this;
+ }
+
bool empty(void) const { return size == 0; }
bool full(void) const { return size == 100; }
uint8_t operator[](uint8_t pos) const { return pos < size ? data[pos] : 0; }
int32_t transmit_timeout;
#ifdef __cplusplus
+ cec_command &operator =(const struct cec_command &command)
+ {
+ initiator = command.initiator;
+ destination = command.destination;
+ ack = command.ack;
+ eom = command.eom;
+ opcode = command.opcode;
+ opcode_set = command.opcode_set;
+ transmit_timeout = command.transmit_timeout;
+ parameters = command.parameters;
+
+ return *this;
+ }
+
static void format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode)
{
command.clear();
typedef enum cec_vendor_id
{
- CEC_VENDOR_SAMSUNG = 0x00F0,
- CEC_VENDOR_LG = 0xE091,
- CEC_VENDOR_UNKNOWN = 0
+ CEC_VENDOR_SAMSUNG = 0x00F0,
+ CEC_VENDOR_LG = 0xE091,
+ CEC_VENDOR_PANASONIC = 0x8045,
+ CEC_VENDOR_UNKNOWN = 0
} cec_vendor_id;
typedef struct cec_vendor
case CEC_VENDOR_SAMSUNG:
return "Samsung";
case CEC_VENDOR_LG:
- return "LG";
+ return "LG";
+ case CEC_VENDOR_PANASONIC:
+ return "Panasonic";
default:
return "Unknown";
}
#define MSGEND 0xFE
#define MSGESC 0xFD
#define ESCOFFSET 3
-#define CEC_MIN_VERSION 8
-#define CEC_LIB_VERSION 8
#define CEC_BUTTON_TIMEOUT 500
+#define CEC_MIN_LIB_VERSION 1
+#define CEC_LIB_VERSION_MAJOR 1
+#define CEC_LIB_VERSION_MINOR 0
+
#ifdef __cplusplus
};
};