X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcectypes.h;h=7bce7e2bb75a63bf750d697d2358a04e2f564eca;hb=6c3c8d5aee5542ba00a73ff4db9709e8d5324024;hp=1b942e6d2c11f40d85960bd60ace0c7330931eac;hpb=c23380e74349bd4bae7718b66a78a07a51a6f0fe;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index 1b942e6..7bce7e2 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -57,12 +57,18 @@ namespace CEC { //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 @@ -152,7 +158,8 @@ typedef enum cec_deck_info 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 @@ -582,12 +589,23 @@ typedef enum cec_adapter_messagecode MSGCODE_FRAME_ACK = 0x40, } cec_adapter_messagecode; +typedef enum cec_bus_device_status +{ + CEC_DEVICE_STATUS_UNKNOWN, + CEC_DEVICE_STATUS_PRESENT, + CEC_DEVICE_STATUS_NOT_PRESENT, + CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC +} cec_bus_device_status; + typedef enum cec_vendor_id { CEC_VENDOR_SAMSUNG = 0x00F0, CEC_VENDOR_LG = 0xE091, 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; @@ -597,6 +615,12 @@ typedef struct cec_menu_language cec_logical_address device; } cec_menu_language; +typedef struct cec_osd_name +{ + char name[14]; + cec_logical_address device; +} cec_osd_name; + typedef struct cec_log_message { char message[1024]; @@ -675,6 +699,7 @@ typedef struct cec_command cec_datapacket parameters; int8_t opcode_set; int32_t transmit_timeout; + int8_t retries; #ifdef __cplusplus cec_command &operator =(const struct cec_command &command) @@ -687,15 +712,17 @@ typedef struct cec_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; @@ -727,7 +754,8 @@ typedef struct cec_command 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