static __s32 vcom_timer_init(void) { __hw_tmr_type_t timer_para; __wrn("knob_timer_init...\n"); #if KNOB_USE_HW_TIMER eLIBs_memset(&timer_para, 0, sizeof(__hw_tmr_type_t)); timer_para.precision = CSP_TMRC_TMR_PRECISION_MILLI_SECOND; timer_para.leastCount = 0; g_vcom_timer_hdl = esTIME_RequestTimer(&timer_para,(__pCBK_t)vcom_timmer_proc, NULL, "knob_hw_timer"); if(NULL == g_vcom_timer_hdl) { __wrn("create hw timer failed...\n"); return EPDK_FAIL; } __here__; #else g_vcom_timer_hdl = esKRNL_TmrCreate( 1, OS_TMR_OPT_PRIO_LOW | OS_TMR_OPT_PERIODIC, (OS_TMR_CALLBACK)vcom_timmer_proc, NULL); if (NULL == g_vcom_timer_hdl) { __wrn("create sw timer fail...\n"); return EPDK_FAIL; } #endif return EPDK_OK; }
static HomeDescriptor * homeWndInit(__gui_msg_t * msg) { HomeDescriptor * hdp; gg_handler domUIConfig; gg_handler node; char ** attr; int i; gg_handler toiteNode; gg_char * langid; int langid_int; hdp = esMEMS_Malloc(0, sizeof(HomeDescriptor)); if (NULL == hdp) { LogE("Malloc failed"); return NULL; } eLIBs_memset(hdp, 0, sizeof(HomeDescriptor)); media_player_main("e:\\liu.mp3"); /* UI config */ domUIConfig = (gg_handler)GUI_WinGetAttr(msg->h_deswin); node = GG_DOMGetRoot(domUIConfig); if (0 == eLIBs_strcmp(GG_DOMGetNodeName(node), "config")) { LogE("UI config XML root node ok"); } else { LogE("UI config XML root node error"); return NULL; } toiteNode = GG_DOMGetRoot(domUIConfig); toiteNode = GG_DOMGetFirstChild(toiteNode); toiteNode = GG_DOMGetBrotherElementByTagName(toiteNode, "langid"); langid = GG_DOMGetNodeValue(toiteNode); // Set the volume dsk_volume_set(100); homeSysTimeInit(); GUI_SetScnDir(GUI_SCNDIR_NORMAL); dsk_display_set_lcd_bright(LION_BRIGHT_LEVEL15); hdp->ewii.magic = EWIN_INFO_MAGIC; hdp->ewii.desktop = msg->h_deswin; hdp->ewii.hWnd = hdp->ewii.desktop; GUI_GetScreenSize((__s32 *)&hdp->ewii.desktopSize.width, (__s32 *)&hdp->ewii.desktopSize.height); GG_FillRect(&hdp->ewii.wndRect, 0, 0, hdp->ewii.desktopSize.width, hdp->ewii.desktopSize.height); // Initiate the font module hdp->ewii.gdi.font = GUI_SFT_CreateFont(CP_SYS_FONT_SIZE, CP_SYS_FONT_PATH); hdp->ewii.gdi.fontSize = CP_SYS_FONT_SIZE; hdp->ewii.gestureArgs.htimer = hdp->ewii.desktop; hdp->ewii.gestureArgs.timerid = HOME_GESTURE_TIMER; hdp->inertia = GG_GestureOpen(); /* UI config */ node = GG_DOMGetFirstChild(node); //node = GG_DOMGetBrotherElementByTagName(node, "window"); if (node) { hdp->ewii.langid = SLIB_atoi(langid); //LogMI("hdp->ewii.langid %d",hdp->ewii.langid); hdp->hFocusWin = SCR_ScrollingHostBuilder(&hdp->ewii, ScrollingCreate_V0001, node); esDEV_Plugin("\\drv\\touchpanel.drv", 0, 0, 1); } else { LogE("No window node in XML file"); return NULL; } Uart_inf_ini(); slider_thread(); return hdp; }
__s32 DRV_DISP_MInit(void) { __disp_bsp_init_para para; __hdle hReg; __u32 i = 0; user_gpio_set_t gpio_set[1]; __s32 ret; para.base_image0 = 0xf1e60000; para.base_scaler0 = 0xf1e00000; para.base_lcdc0 = 0xf1c0c000; para.base_tvec = 0xf1c0a000; para.base_ccmu = 0xf1c20000; para.base_sdram = 0xf1c01000; para.base_pioc = 0xf1c20800; para.base_timer = 0xf1c21000; /* PWM module register base */ para.power_on = DRV_lcd_power_on; para.power_off = DRV_lcd_power_off; para.scaler_begin = DRV_scaler_begin; para.scaler_finish = DRV_scaler_finish; para.tve_interrup = DRV_tve_interrup; para.hdmi_set_mode = DRV_hdmi_set_mode; para.Hdmi_open = DRV_Hdmi_open; para.Hdmi_close = DRV_Hdmi_close; para.hdmi_mode_support = DRV_hdmi_mode_support; para.hdmi_get_HPD_status = DRV_hdmi_get_HPD_status; para.disp_int_process = disp_int_process; eLIBs_memset(&g_disp_drv, 0, sizeof(__disp_drv_t)); g_disp_drv.scaler_finished_sem[0] = esKRNL_SemCreate(0); if(!g_disp_drv.scaler_finished_sem[0]) { __wrn("create scaler_finished_sem[0] fail!\n"); return EPDK_FAIL; } g_disp_drv.scaler_finished_sem[1] = esKRNL_SemCreate(0); if(!g_disp_drv.scaler_finished_sem[1]) { __wrn("create scaler_finished_sem[1] fail!\n"); return EPDK_FAIL; } for(i = 0; i<MAX_EVENT_SEM; i++) { g_disp_drv.event_sem[0][i] = NULL; g_disp_drv.event_sem[1][i] = NULL; } BSP_disp_init(¶); BSP_disp_open(); g_disp_drv.reg_operate_vaild = 1; hReg = esDEV_DevReg("DISP", "DISPLAY", &dispdev_ops, 0); if(!hReg) { __inf("esDEV_DevReg() fail!\n"); return EPDK_FAIL; } #if DRV_VCOM_TIMER //Soft Vcom Control; ret = esCFG_GetKeyValue("softvcom_para", "soft_vcom_en", &vcom_en, 1); if (!ret) { eLIBs_printf(" -- %s, %d, vcom_en = %d -- \n", __FILE__, __LINE__, vcom_en); if(vcom_en) { ret = esCFG_GetKeyValue("softvcom_para", "vcom_io", (int *)gpio_set, sizeof(user_gpio_set_t)/4); if (!ret) { vcom_io = esPINS_PinGrpReq(gpio_set, 1); if (!vcom_io) { __wrn("request output_col pin failed\n"); return EPDK_FAIL; } } else { __wrn("fetch para from script failed\n"); return EPDK_FAIL; } } } else { __wrn("fetch para from script failed\n"); return EPDK_FAIL; } ret = esPINS_SetPinPull(vcom_io, PIN_PULL_DOWN, NULL); if (ret) { __wrn("pull output_col failed\n"); return EPDK_FAIL; } //申请定时器 vcom_timer_init(); //让定时器开始跑 vcom_timer_start(); #endif return EPDK_OK; }
//*******************************************************// //********* Functions for Memory Operation. *************// //*******************************************************// void mem_set(void* mem, u32 value, u32 size) { eLIBs_memset(mem, value, size); }