//default physical address 1.0.0.0, HDMI port 1
#define CEC_DEFAULT_PHYSICAL_ADDRESS 0x1000
#define CEC_DEFAULT_HDMI_PORT 1
+#define CEC_DEFAULT_BASE_DEVICE 0
#define MSGSTART 0xFF
#define MSGEND 0xFE
#define MSGESC 0xFD
#define ESCOFFSET 3
#define CEC_BUTTON_TIMEOUT 500
+#define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000
+#define CEC_DEFAULT_TRANSMIT_WAIT 2000
+#define CEC_DEFAULT_TRANSMIT_RETRIES 1
+
#define CEC_MIN_LIB_VERSION 1
#define CEC_LIB_VERSION_MAJOR 1
#define CEC_LIB_VERSION_MINOR 2
CEC_DECK_INFO_SKIP_REVERSE_REWIND = 0x1C,
CEC_DECK_INFO_INDEX_SEARCH_FORWARD = 0x1D,
CEC_DECK_INFO_INDEX_SEARCH_REVERSE = 0x1E,
- CEC_DECK_INFO_OTHER_STATUS = 0x1F
+ CEC_DECK_INFO_OTHER_STATUS = 0x1F,
+ CEC_DECK_INFO_OTHER_STATUS_LG = 0x20
} cec_deck_info;
typedef enum cec_device_type
CEC_VENDOR_PANASONIC = 0x8045,
CEC_VENDOR_PIONEER = 0xE036,
CEC_VENDOR_ONKYO = 0x09B0,
+ CEC_VENDOR_YAMAHA = 0xA0DE,
+ CEC_VENDOR_PHILIPS = 0x903E,
CEC_VENDOR_UNKNOWN = 0
} cec_vendor_id;
cec_datapacket parameters;
int8_t opcode_set;
int32_t transmit_timeout;
+ int8_t retries;
#ifdef __cplusplus
cec_command &operator =(const struct cec_command &command)
opcode_set = command.opcode_set;
transmit_timeout = command.transmit_timeout;
parameters = command.parameters;
+ retries = command.retries;
return *this;
}
- static void Format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode)
+ static void Format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode, int32_t timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT)
{
command.Clear();
- command.initiator = initiator;
- command.destination = destination;
+ command.initiator = initiator;
+ command.destination = destination;
+ command.transmit_timeout = timeout;
if (opcode != CEC_OPCODE_NONE)
{
command.opcode = opcode;
eom = 0;
opcode_set = 0;
opcode = CEC_OPCODE_FEATURE_ABORT;
- transmit_timeout = 1000;
+ transmit_timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT;
+ retries = CEC_DEFAULT_TRANSMIT_RETRIES;
parameters.Clear();
};
#endif