123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515 |
- /**
- * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
- *
- * @file
- *
- * @brief The interface of application framework module.
- *
- * The file list app framework commponent related APIs.
- *
- */
- #ifndef AL_FW_H_INCLUDED
- #define AL_FW_H_INCLUDED
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "al_basictypes.h"
- #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
- #include "al_database.h"
- #endif
- #ifdef CONFIG_DTV_SUPPORT
- #include "al_service.h"
- #include "al_multiplex.h"
- #include "al_network.h"
- #include "al_channel_search.h"
- #include "al_event.h"
- #include "al_scheduler.h"
- #include "al_dvb_monitor.h"
- #include "al_psi_monitor.h"
- #include "al_prog_reminder.h"
- #endif
- #include "al_setting.h"
- #include "al_time.h"
- #ifdef CONFIG_SUPPORT_SUBTITLE
- #include "al_subtitle.h"
- #endif
- #ifdef CONFIG_TT_SUPPORT
- #include "al_teletext.h"
- #endif
- #ifdef CONFIG_SUPPORT_EWS
- #include "al_ews_monitor.h"
- #endif
- /**
- * @brief frm wrk module init select.
- */
- typedef enum{
- FW_MAIN_INIT = 1<<0,
- FW_DVB_T_INIT = 1<<1,
- FW_DVB_C_INIT = 1<<2,
- FW_DVB_S_INIT = 1<<3,
- FW_ATV_INIT = 1<<4,
- FW_FILEPLAYER_INIT = 1<<5,
- FW_NETWORK_INIT = 1<<6,
- #ifdef CONFIG_ISDB_SYSTEM
- FW_DVB_SBTVD_INIT = 1<<7,
- #endif
- FW_MASK_INIT = FW_MAIN_INIT|FW_ATV_INIT|FW_DVB_S_INIT|FW_DVB_C_INIT|FW_DVB_S_INIT|FW_FILEPLAYER_INIT|FW_NETWORK_INIT,
- }AFW_Init_t;
- /**
- * @brief defines the events notify to the application through call back.
- */
- typedef enum {
- /* EVENT */
- FW_EPG_NOWNEXT_UPDATE_EVENT = 0,//00
- FW_EPG_SCHEDULE_UPDATE_EVENT, //01
- FW_EPG_PREF_SERVICE_NAME_UPDATE_EVENT, //02
- FW_EPG_SERIES_UPDATE_EVENT, //03
- /* SERVICE */
- FW_SERVICE_DELETED_EVENT, //04
- FW_SERVICE_UPDATE_EVENT, //05
- /* DATABASE */
- FW_DB_LOAD_DEFAULT, //06
- /* SCHEDULER */
- FW_SCHEDULER_EVENT, //07
- FW_SCHEDULER_MSG, //08
- FW_SCHEDULER_EXPIRE, //09
- /* DATA SAVING */
- FW_DATASAVING_ATVDB_STORE_START_EVENT, //10
- FW_DATASAVING_ATVDB_STORE_END_EVENT, //11
- FW_DATASAVING_DVBDB_STORE_START_EVENT, //12
- FW_DATASAVING_DVBDB_STORE_END_EVENT, //13
- FW_DATASAVING_USERSETING_STORE_START_EVENT, //14
- FW_DATASAVING_USERSETING_STORE_END_EVENT, //15
- /*DVB and PSI monitor*/
- FW_MONITOR_TUNER_LOCKED, //16
- FW_MONITOR_TUNER_UNLOCKED, //17
- FW_MONITOR_STREAM_NO_DATA, //18
- FW_MONITOR_STREAM_HAS_DATA, //19
- FW_MONITOR_STREAM_INVALID_DATA, //20
- FW_MONITOR_STREAM_UNSUPPORT_DATA, //21
- FW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE, //22
- FW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE, //23
- FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE, //24
- FW_MONITOR_SERVICE_NO_SCRAMBLE, //25
- FW_MONITOR_PARENTAL_LOCKED, //26
- FW_MONITOR_PARENTAL_UNLOCKED, //27
- FW_MONITOR_SERVICE_MOVE, //28
- FW_MONITOR_AUDIO_UPDATE, //29
- FW_MONITOR_SUBTITLE_UPDATE, //30
- FW_MONITOR_CLOSECAPTION_UPDATE, //add for CC //31
- FW_MONITOR_TELETEXT_UPDATE, //32
- FW_MONITOR_UPDATE_SERVICE, //33
- FW_MONITOR_OTHERTP_SERVICE_FOUND, //34
- FW_MONITOR_ADD_SERVICE, //35
- FW_MONITOR_UPDATE_SERLCN, //36
- FW_MONITOR_REMOVE_SERVICE, //37
- FW_MONITOR_FTADATA_UPDATE, //38
- FW_MONITOR_REMINDER_EXPIRE, //39
- FW_MONITOR_REMINDER_TIME_CHANGE, //40
- FW_MONITOR_REPLACE_SERVICE, //41
- FW_MONITOR_REPLACE_SIMULCASE_SERVICE, //42
- FW_MONITOR_TS_CHANGED, //43
- FW_MONITOR_NEW_TSID, //44
- FW_MONITOR_TIME_UPDATE, //45
- FW_MONITOR_FIND_NEW_TPLIST, //46
- FW_MONITOR_PMT_UPDATE, //47
- FW_MONITOR_SERTYPE_CHANGED, //48
- FW_MONITOR_UPDATE_NETWORK, //49
- FM_DTV_AUDIO_STARTED, //50
- FM_DTV_AUDIO_SAMPLE_STOPPED, //51
- FM_DTV_AUDIO_STOPPED, //52
- /*VCHIP module event*/
- FW_VCHIP_LOCK, //53
- FW_VCHIP_UNLOCK, //54
- /* ATV module event*/
- FW_NO_SIGNAL, //55
- FW_NOT_SUPPORT, //56
- FW_SIGNAL_PRESENT, //57
- FW_VIP_FINISH, //58
- FW_VIP_STATUS, //59
- FW_SCART_INPUTSRC_CHANGE, //60
- FW_SCART_INPUTSTATUS_CHANGE, //61
- FW_HDMI_HDMIDVI_CHANGE, //62
- FW_HDMI_ACPTYPE_CHANGE, //63
- FW_HDMI_PORTSTATUS, //64
- FW_HDMI_PROCESSING, //65
- /* Other module event ... */
- FW_AUDIO_HEADPHONE_PLUG_IN, //66
- FW_AUDIO_HEADPHONE_PLUG_OUT, //67
- FW_AUDIO_ADC_TURNOFFSOUND, //68
- FW_AUDIO_SIF_SAS_OK,
- FW_AUDIO_SIF_SCS_OK,
- /* Internel event */
- FW_TASK_EXIT = 80, //80
- /*TT module event*/
- FW_TT_NO_DATA, //81
- /*QSD test event*/
- FW_QSD_ATV_SetCH, //82
- FW_QSD_DTV_SetCH, //83
- FW_QSD_Media_Play, //84
- FW_QSD_Source_Set, //85
- FW_QSD_DTV_SetFreq, //86
- /* EWS */
- FW_EWS_REC_ANCM = 100, //100
- FW_EWS_FIND_AUD, //101
- FW_EWS_ACTIVE, //102
- FW_EWS_INACTIVE, //103
- FW_EWS_NON_ANCM, //104
- FW_USB_PLUGIN, //105
- FW_USB_PLUGOUT, //106
- FW_USB_HUNGTASK, //107
- /*AFT*/
- FW_AFT_PROCESS_DONE, //108
- FW_AFT_ADEMOD_PQSET, //109
- /*MHL*/
- FW_HDMI_MHL_RCP_CMD, //110
- FW_HDMI_MHL_CONNECTED, //111
- FW_INVALID_EVENT, //112
- FW_ASTRALCN_RECED_PMT, //113
- FW_ASTRALCN_START_RECVPMT, //114
- /*Nordig logo*/
- FW_MONITOR_UPDATE_NWK_STATIC, //115
- FW_MONITOR_UPDATE_NWK_RESCAN, //116
- /*Auto Test*/
- FW_AUTOTEST_RESET = 120, //120
- FW_AUTOTEST_UPDATESW, //121
- FW_FAC_TEST_SET_SOURCE, //122
- FW_FAC_UPDATE_HDCP_KEY, //123
- FW_CC_VCHIP_DATA, //124
- /*Indonesia EWS*/
- FW_INDONESIA_EWS_UPDATE, //125
- FW_INDONESIA_EWS_STOP, //126
- /*SPD*/
- FW_HDMI_SPD_INFOFRAME_UPDATE, //127
- #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
- FW_AUDIO_LOADCODEC_OK, //128
- FW_AUDIO_LOADCODEC_ERROR, //129
- FW_AUDIO_LOADCODEC_TYPE, //130
- #endif
- FW_TVFE_TYPE_BURNNTIME, //131
- #ifdef CONFIG_SUPPORT_DETECT_USBPLL
- FW_TYPE_USBPLLFail,
- #endif
- #ifdef CONFIG_CTV_UART_FAC_MODE
- FW_RS232_SET_SOURCE,
- FW_RS232_SET_VOL,
- FW_RS232_SET_BL,//backlight
- #endif
- FW_ADC_AUTOCHANGE_SOURCE,
- FW_ADC_AUTOADJUST,
- FW_SIGNAL_IN_PROGRESS,
- #ifdef CONFIG_SUPPORT_NET_SETTING
- FW_NETWORK_ENABLE,
- FW_NETWORK_DISABLE,
- #endif
- FW_HDMI_CHANGE_SOURCE,
- /*MCCS*/
- FW_MCCS_IMAGE_LUMINANCE,
- FW_MCCS_IMAGE_CONTRAST,
- FW_MCCS_IMAGE_SHARPNESS,
- FW_MCCS_IMAGE_SATURATION,
- FW_MCCS_IMAGE_RGAIN,
- FW_MCCS_IMAGE_GGAIN,
- FW_MCCS_IMAGE_BGAIN,
- FW_MCCS_IMAGE_ROFFSET,
- FW_MCCS_IMAGE_GOFFSET,
- FW_MCCS_IMAGE_BOFFSET,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_R,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_Y,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_G,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_C,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_B,
- FW_MCCS_IMAGE_COLORLUT_SATGAIN_M,
- FW_MCCS_CLOSE_USERMENU,
- FW_MCCS_IMAGE_GAMMA_TABLE_INDEX,
- FW_MCCS_IMAGE_CONTRAST_AUTO,
- FW_MCCS_FLASH_EEPROM_RW,
- FW_MCCS_FLASH_CTRL,
- FW_MCCS_OSD_HPOSITION,
- FW_MCCS_OSD_VPOSITION,
- FW_MCCS_AUDIOVOLUME,
- FW_MCCS_OSD_LANGUAGE,
- FW_MCCS_FBOSD_LANGUAGE,
- FW_MCCS_SET_VGASETTING_AUTO,
- FW_MCCS_SET_VGASETTING_HPOSITION,
- FW_MCCS_SET_VGASETTING_VPOSITION,
- FW_MCCS_SET_VGASETTING_CLOCK,
- FW_MCCS_SET_VGASETTING_PHASE,
- FW_MCCS_POWER_SETMODE,
- FW_MCCS_AUDIOMUTE,
- FW_MCCS_OSDLOCK,
- } AFW_event_t;
- /**
- * @brief defines different mode of AFW.
- *
- * event handling may becomes different in different mode. some event may become invalid in given mode.
- */
- typedef enum
- {
- FW_NORMAL_VIEW_MODE = 0,
- FW_CHAN_SRCH_MODE,
- FW_UPGRADE_MODE,
- FW_EPG_MODE,
- FW_RESET_MODE,
- FW_POWER_DOWN_MODE,
- FW_QSD_MODE,
- FW_RS232_MODE,
- } FW_mode_t;
- /**
- * @brief al get context type define.
- */
- #define FW_CONTEXT_OP_TYPE_READ (0x10000)
- #define FW_CONTEXT_OP_TYPE_WRITE (0x20000)
- typedef enum
- {
- FW_CONTEXT_TYPE_LOCK_STATE = 0, /**< get lock state */
- FW_CONTEXT_TYPE_PARENTAL_LOCK_STATE, /**< get parental lock state */
- FW_CONTEXT_TYPE_COUNTRY_CODE, /**< get user setting contry code */
- FW_CONTEXT_TYPE_TIME_ZONE, /**< get user setting time zone */
- FW_CONTEXT_TYPE_TIME_OFFSET, /**< get time offset by time zone except auto */
- FW_CONTEXT_TYPE_COUNTRY_REGION, /**< get user setting country region */
- FW_CONTEXT_TYPE_COUNTRY_ID, /**< country ID defined in AL_AreaIndex_en */
- FW_CONTEXT_TYPE_ONID_MATCH, /**< whether match ONID */
- FW_CONTEXT_TYPE_PR, /**< get/set Program Reminder of PVR*/
- FW_CONTEXT_TYPE_ISO639LANGUAGE1, /**< get iso 639 language */
- FW_CONTEXT_TYPE_ISO639LANGUAGE2, /**< get iso 639 language */
- FW_CONTEXT_TYPE_CHECK_OSDLANGUAGEFRENCH, /**< check osd language is french or not */
- FW_CONTEXT_TYPE_TIME_DIFFER,
- FW_CONTEXT_TYPE_CHECK_FORCE_DST, /**< callback to decide DST on/off */
- FW_CONTEXT_TYPE_CHECK_EVENTSTATE, /**< check whether need force processing event callback*/
- FW_CONTEXT_TYPE_CHECK_AUS_AREA, /**< check current area is australia**/
- FW_CONTEXT_TYPE_GET_IOP_TIME, /**< get IOP sleep time count**/
- FW_CONTEXT_TYPE_GET_SAVE_TIME, /**< get last standby saving time**/
- FW_CONTEXT_TYPE_GET_CHANNEL_LOCK, /**< get the state of channel lock under hotel mode**/
- FW_CONTEXT_TYPE_GET_DBNVM_HANDER, /**< get NVM Hander for DB read/write operation **/
- FW_CONTEXT_TYPE_GET_DBRESTORE_SETTER, /**< get callback for DB restore operation **/
- FW_CONTEXT_TYPE_GET_Current_Source, /**< get callback for qsd get current source **/
- FW_CONTEXT_TYPE_CELLID, /**< get cell id */
- FW_CONTEXT_TYPE_GET_CURRENT_TVHDL,
- #ifdef CONFIG_VCHIP_SUPPORT
- FW_CONTEXT_TYPE_VCHIP_USERSET,
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- FW_CONTEXT_TYPE_OPERATOR, /**< operator defined in al_DVBC_Operator_en */
- #endif
- FW_CONTEXT_TYPE_RRT_USERSET, /**< get rrt user setting value */
- FW_CONTEXT_TYPE_GET_LANUGAGE_NUMBER, /**< get language number */
- FW_CONTEXT_TYPE_DB_UPDATED, /**< set database updated */
- #ifdef CONFIG_EPG_LANG_DEFAULT_BY_OSDLANG
- FW_CONTEXT_TYPE_OSDISO639LANGUAGE1, /**< get OSD iso 639 language */
- FW_CONTEXT_TYPE_OSDISO639LANGUAGE2, /**< get OSD iso 639 language */
- #endif
- FW_CONTEXT_TYPE_TT_LANGUAGE,
- FW_CONTEXT_TYPE_TYPE_BURNNTIME,
-
- #ifdef CONFIG_SUPPORT_DETECT_USBPLL
- FW_CONTEXT_TYPE_TYPE_USBPLLFail,
- #endif
- FW_CONTEXT_TYPE_MAX,
- } AL_FW_Context_Type_t;
- #ifdef CONFIG_VCHIP_SUPPORT
- typedef enum
- {
- FW_VCHIP_TYPE_MPAA,
- FW_VCHIP_TYPE_CANE,
- FW_VCHIP_TYPE_CANF,
- FW_VCHIP_TYPE_TVPG,
- FW_VCHIP_TYPE_MAX,
- }AL_FW_VCHIP_TYPE;
- #endif
- typedef enum {
- FW_STATUS_NOSIGNAL,
- FW_STATUS_SIGNALOK,
- } AL_FW_InputStatus_t;
- /* Application Callback */
- /**
- * @brief Application Callback
- *
- */
- typedef al_void (*frmwrk_app_cb_t) (AFW_event_t frmwrk_event, al_void *user_param);
- /**
- * @brief Callback function prototype to get context
- *
- */
- typedef al_uint32 (*frmwrk_pfOpConext_t)(AL_FW_Context_Type_t ContextType, al_uint32 opera, al_void * pContext, al_uint32 Param);
- /**
- * @brief framwork init.
- *
- * This application framework init function will initialize all the middleware components and framework components.
- *
- * @param frmwrk_init_module[input] frmwrk mudule Initialize select.
- *
- * @param frmwrk_app_cb[input] App framework callback.
- *
- * @param frmwrk_context_cb[input] App register to framwork callback for al layer get context.
- *
- * @return AL_SUCCESS if initialization is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_Init(AFW_Init_t frmwrk_init_module,
- frmwrk_app_cb_t frmwrk_app_cb, frmwrk_pfOpConext_t frmwrk_context_cb);
- /**
- * @brief framwork exit.
- *
- * This application framework exit function will deinitialize all the middleware components and framework components.
- *
- * @return AL_SUCCESS if exit is successful, AL_FAILURE otherwise.
- */
- #ifdef CONFIG_MOD_PACK_DTV
- AL_Return_t AL_FW_DTVExit(al_void);
- #endif
- #ifdef CONFIG_MOD_PACK_DTV
- AL_Return_t AL_FW_InitDtvModule(AFW_Init_t frmwrk_init_module);
- #endif
- /**
- * @brief get framwork version.
- *
- * API gets the al layor version. version info is composed of major and minor version number.
- * major and minor version number occupy the least two bytes and the highest two bytes are reserved currently.
- * The follow lists the bytes order. Version can by represented with notation of XX XX MAJOR Minor, above which XX represents nothing.
- *
- * @param version[output] Pointer to Version Number.
- *
- * @return AL_SUCCESS if get version is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_GetVersion(al_uint32 *version);
- #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
- /**
- * @brief To Terminate NVM storing task.
- *
- * @param IsSync[input]
- *
- * @return AL_SUCCESS if terminate is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_TermStoreDevice(al_bool IsSync);
- /**
- * @brief Swtich DB module at all the DVB DB module.
- *
- * @param eDBType[input] the DB module will be active(other DVB DB Module will deactive).
- *
- * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_SwitchDBModule(AL_DB_EDBType_t eDBType);
- /**
- * @brief active DB module.
- *
- * @param eDBType[input] the DB module will be active.
- *
- * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_ActiveDBModule(AL_DB_EDBType_t eDBType);
- /**
- * @brief deactive DB module.
- *
- * @param eDBType[input] the DB module will be deactive.
- *
- * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_DeActiveDBModule(AL_DB_EDBType_t eDBType);
- /**
- * @brief Reload DB module.
- *
- * @param eDBType[input] the DB module will be reload.
- *
- * @return AL_SUCCESS if reload is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_ReLoadDBModule(AL_DB_EDBType_t eDBType);
- /**
- * @brief Check Active Database module.
- *
- * @param eDBType[input] indicate which database to check
- *
- * @return al_true if active , al_false otherwise.
- */
- al_bool AL_FW_CheckActiveDBModule(AL_DB_EDBType_t eDBType);
- #endif
- /**
- * @brief Set FW to specific mode.
- *
- * @param eFWMode[input] indicated which mode to set.
- *
- * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_ActiveFWModule(FW_mode_t eFWMode);
- /**
- * @brief Get FW to specific mode.
- *
- * @param peFWMode[input] indicated which mode to set.
- *
- * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_GetFWModule(FW_mode_t *peFWMode);
- /**
- * @brief get context callback funcion.
- *
- * @param ppfGetContext[output] callback function.
- *
- * @return AL_SUCCESS get callback funcion is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_GetContextCb(frmwrk_pfOpConext_t *ppfOpContext);
- /**
- * @brief clear fw queue funcion.
- *
- * @param None.
- *
- * @return AL_SUCCESS clear queue funcion is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_ReleaseQueue(void);
- AL_Return_t AL_FW_ShowQueue(void);
- /**
- * @brief check dtv demux has data funcion.
- *
- * @param None.
- *
- * @return AL_SUCCESS check dtv demux has data function is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_FW_Check_DTVDemux_HasData(al_bool *flag);
- #ifdef CONFIG_SUPPORT_NOSIGNAL_AUTO_CHANGE_SOURCE
- al_uint32 AL_FW_Check_HDMI_PortStatus(void);
- #endif
- al_uint32 AL_FW_RW_PseudoEEPROM(unsigned char *extraData);
- #ifdef __cplusplus
- }
- #endif
- #endif /* AL_FW_H_INCLUDED */
|