X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcectypes.h;h=904db4c59f0dd77c006b8dfe4929ddf61547d054;hb=5daed059e1d5bca3ddfa0787679ef4e7b349e382;hp=a90b6ffc42693ffe5eb9029f2f776fc2e7181eb0;hpb=b9dd18f9378fa58ecfa107f23a4482a5bc0060ba;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index a90b6ff..904db4c 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -72,11 +72,22 @@ namespace CEC { #define CEC_BUTTON_TIMEOUT 500 #define CEC_POWER_STATE_REFRESH_TIME 30000 #define CEC_FW_VERSION_UNKNOWN 0xFFFF +#define CEC_FW_BUILD_UNKNOWN 0 #define CEC_CONNECT_TRIES 3 + #define CEC_PHYSICAL_ADDRESS_TV 0 +#define CEC_MIN_PHYSICAL_ADDRESS 0x1000 #define CEC_MAX_PHYSICAL_ADDRESS 0xFFFE #define CEC_INVALID_PHYSICAL_ADDRESS 0xFFFF +#define CEC_MIN_VENDORID 1 +#define CEC_MAX_VENDORID 0xFFFFFE +#define CEC_INVALID_VENDORID 0xFFFFFF + +#define CEC_MIN_HDMI_PORTNUMBER 1 +#define CEC_MAX_HDMI_PORTNUMBER 15 +#define CEC_HDMI_PORTNUMBER_NONE 0 + #define CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE 1 #define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE 1 #define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN 1 @@ -86,11 +97,12 @@ namespace CEC { #define CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE 1 #define CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY 1 #define CEC_DEFAULT_DEVICE_LANGUAGE "eng" -#define CEC_DEFAULT_FIRMWARE_BUILD_DATE 0 +#define CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS 1 +#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM 0 #define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500 #define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 -#define CEC_DEFAULT_TRANSMIT_WAIT 2000 +#define CEC_DEFAULT_TRANSMIT_WAIT 1000 #define CEC_DEFAULT_TRANSMIT_RETRIES 1 #define CEC_DEFAULT_CONNECT_TIMEOUT 10000 @@ -572,6 +584,15 @@ typedef enum cec_opcode CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = 0x70, CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = 0x7E, CEC_OPCODE_SET_AUDIO_RATE = 0x9A, + + /* CEC 1.4 */ + CEC_OPCODE_START_ARC = 0xC0, + CEC_OPCODE_REPORT_ARC_STARTED = 0xC1, + CEC_OPCODE_REPORT_ARC_ENDED = 0xC2, + CEC_OPCODE_REQUEST_ARC_START = 0xC3, + CEC_OPCODE_REQUEST_ARC_END = 0xC4, + CEC_OPCODE_END_ARC = 0xC5, + CEC_OPCODE_CDC = 0xF8, /* when this opcode is set, no opcode will be sent to the device. this is one of the reserved numbers */ CEC_OPCODE_NONE = 0xFD } cec_opcode; @@ -1074,13 +1095,30 @@ typedef enum libcec_alert typedef enum libcec_parameter_type { - CEC_PARAMETER_TYPE_STRING + CEC_PARAMETER_TYPE_STRING, + CEC_PARAMETER_TYPE_UNKOWN } libcec_parameter_type; struct libcec_parameter { libcec_parameter_type paramType; /**< the type of this parameter */ void* paramData; /**< the value of this parameter */ + +#ifdef __cplusplus + libcec_parameter(void) + { + paramType = CEC_PARAMETER_TYPE_UNKOWN; + paramData = NULL; + } + + libcec_parameter(const char *strMessage) + { + paramType = CEC_PARAMETER_TYPE_STRING; + paramData = (void*)strMessage; + } + + virtual ~libcec_parameter(void) {} +#endif }; struct libcec_configuration; @@ -1258,14 +1296,14 @@ typedef struct libcec_configuration */ void Clear(void) { - iPhysicalAddress = 0; + iPhysicalAddress = CEC_PHYSICAL_ADDRESS_TV; baseDevice = (cec_logical_address)CEC_DEFAULT_BASE_DEVICE; iHDMIPort = CEC_DEFAULT_HDMI_PORT; tvVendor = (uint64_t)CEC_VENDOR_UNKNOWN; clientVersion = (uint32_t)CEC_CLIENT_VERSION_PRE_1_5; serverVersion = (uint32_t)CEC_SERVER_VERSION_PRE_1_5; - bAutodetectAddress = 1; - bGetSettingsFromROM = 0; + bAutodetectAddress = CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS; + bGetSettingsFromROM = CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM; bUseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE; bActivateSource = CEC_DEFAULT_SETTING_ACTIVATE_SOURCE; bPowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER; @@ -1275,7 +1313,7 @@ typedef struct libcec_configuration iFirmwareVersion = CEC_FW_VERSION_UNKNOWN; bPowerOffDevicesOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY; memcpy(strDeviceLanguage, CEC_DEFAULT_DEVICE_LANGUAGE, 3); - iFirmwareBuildDate = CEC_DEFAULT_FIRMWARE_BUILD_DATE; + iFirmwareBuildDate = CEC_FW_BUILD_UNKNOWN; memset(strDeviceName, 0, 13); deviceTypes.clear();