X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fcectypes.h;h=4775e74c558da593d5c83c9eb4065c5140ee20d8;hb=69d6da5004c1a45b62dd2c9cd2e69ef44e7a70bd;hp=6f7375b3fc5ecf9bfed6442e14ad7d7a672f2478;hpb=a928fcdc03c5b61fa25c861177ede0698d9c809f;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index 6f7375b..4775e74 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -74,15 +74,16 @@ namespace CEC { #define CEC_FW_VERSION_UNKNOWN 0xFFFF #define CEC_CONNECT_TRIES 3 -#define CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE 1 -#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE 1 -#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN 1 -#define CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER 1 -#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY 1 -#define CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY 0 -#define CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE 1 +#define CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE 1 +#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE 1 +#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN 1 +#define CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER 1 +#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY 1 +#define CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY 0 +#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_DEVICE_LANGUAGE "eng" +#define CEC_DEFAULT_FIRMWARE_BUILD_DATE 0 #define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500 #define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 @@ -602,7 +603,7 @@ typedef enum cec_adapter_messagecode MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE, MSGCODE_FIRMWARE_VERSION, MSGCODE_START_BOOTLOADER, - MSGCODE_SET_POWERSTATE, + MSGCODE_GET_BUILDDATE, MSGCODE_SET_CONTROLLED, MSGCODE_GET_AUTO_ENABLED, MSGCODE_SET_AUTO_ENABLED, @@ -833,6 +834,43 @@ typedef struct cec_command transmit_timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT; parameters.Clear(); }; + + static cec_opcode GetResponseOpcode(cec_opcode opcode) + { + switch (opcode) + { + case CEC_OPCODE_REQUEST_ACTIVE_SOURCE: + return CEC_OPCODE_ACTIVE_SOURCE; + case CEC_OPCODE_GET_CEC_VERSION: + return CEC_OPCODE_CEC_VERSION; + case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS: + return CEC_OPCODE_REPORT_PHYSICAL_ADDRESS; + case CEC_OPCODE_GET_MENU_LANGUAGE: + return CEC_OPCODE_SET_MENU_LANGUAGE; + case CEC_OPCODE_GIVE_DECK_STATUS: + return CEC_OPCODE_DECK_STATUS; + case CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS: + return CEC_OPCODE_TUNER_DEVICE_STATUS; + case CEC_OPCODE_GIVE_DEVICE_VENDOR_ID: + return CEC_OPCODE_DEVICE_VENDOR_ID; + case CEC_OPCODE_GIVE_OSD_NAME: + return CEC_OPCODE_SET_OSD_NAME; + case CEC_OPCODE_MENU_REQUEST: + return CEC_OPCODE_MENU_STATUS; + case CEC_OPCODE_GIVE_DEVICE_POWER_STATUS: + return CEC_OPCODE_REPORT_POWER_STATUS; + case CEC_OPCODE_GIVE_AUDIO_STATUS: + return CEC_OPCODE_REPORT_AUDIO_STATUS; + case CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS: + return CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS; + case CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST: + return CEC_OPCODE_SET_SYSTEM_AUDIO_MODE; + default: + break; + } + + return CEC_OPCODE_NONE; + } #endif } cec_command; @@ -1165,7 +1203,8 @@ typedef struct libcec_configuration uint16_t iFirmwareVersion; /*!< the firmware version of the adapter. added in 1.6.0 */ uint8_t bPowerOffDevicesOnStandby; /*!< put devices in standby when the PC/player is put in standby. added in 1.6.0 */ uint8_t bShutdownOnStandby; /*!< shutdown this PC when the TV is switched off. only used when bPowerOffOnStandby = 0. added in 1.6.0 */ - char strDeviceLanguage[3]; /*!< the menu language used by the client. 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/ */ + char strDeviceLanguage[3]; /*!< the menu language used by the client. 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/ added in 1.6.2 */ + uint32_t iFirmwareBuildDate; /*!< the build date of the firmware, in seconds since epoch. if not available, this value will be set to 0. added in 1.6.2 */ #ifdef __cplusplus libcec_configuration(void) { Clear(); } @@ -1176,38 +1215,40 @@ typedef struct libcec_configuration */ void Clear(void) { + iPhysicalAddress = 0; + 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; + bUseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE; + bActivateSource = CEC_DEFAULT_SETTING_ACTIVATE_SOURCE; + bPowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER; + bPowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY; + bShutdownOnStandby = CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY; + bSendInactiveSource = CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE; + 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; + memset(strDeviceName, 0, 13); deviceTypes.clear(); - iPhysicalAddress = 0; - 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; + logicalAddresses.Clear(); wakeDevices.Clear(); powerOffDevices.Clear(); - bAutodetectAddress = 1; - bGetSettingsFromROM = 0; - bUseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE; - bActivateSource = CEC_DEFAULT_SETTING_ACTIVATE_SOURCE; #if CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN == 1 powerOffDevices.Set(CECDEVICE_BROADCAST); #endif #if CEC_DEFAULT_SETTING_ACTIVATE_SOURCE == 1 wakeDevices.Set(CECDEVICE_TV); #endif - bPowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER; - bPowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY; - bShutdownOnStandby = CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY; - bSendInactiveSource = CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE; - logicalAddresses.Clear(); - iFirmwareVersion = CEC_FW_VERSION_UNKNOWN; - bPowerOffDevicesOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY; - memcpy(strDeviceLanguage, CEC_DEFAULT_DEVICE_LANGUAGE, 3); - callbackParam = NULL; - callbacks = NULL; + callbackParam = NULL; + callbacks = NULL; } #endif } libcec_configuration;