Esempio n. 1
0
File: dode.c Progetto: silview/C100A
int dode(struct op *t, const char **args)
{
	ES_FILE * dispfile;
	__s32 ret = 0;
	__u32 pbuffer[3] = {0};

	esDEV_Plugin("\\drv\\display.drv", 0, 0, 1);
	dispfile = eLIBs_fopen("b:\\DISP\\DISPLAY", "r+");
    if(!dispfile)
    {
        Esh_printf("open display device fail!\n");
        return DOFAILED;
    }

	if(Esh_strcmp(args[1], "info") == 0 || Esh_strcmp(args[1], "INFO") == 0)
	{
		__disp_layer_info_t     layer_para;
		__s32 i = 0;
		char * wm[6] = {"NORMAL","PALETTE","INTER_BUF","GAMMA","SCALER","reserved"};
		char * format[17] = {"1-bpp","2-bpp","4-bpp","8-bpp","rgb655","rgb565","rgb556",
							"argb1555","rgba5551","rgb888","argb8888",
							"YUV444","YUV422","YUV420","YUV411","CSI RGB","reserved"};
		char * yuv_mode[6] = {"non-macro block planar","interleaved","non-macro block UV combined",
							"macro block planar","macro block UV combined","reserved"};

		Esh_printf(".Layers Information Begin.................................................................................................\n");
		for(i=0; i<4; i++)
		{
			__s32 pixel_fmt = 0;
			__s32 pixel_mode = 0;
			__s32 pixel_seq = 0;

			pbuffer[0] = i+100;
			pbuffer[1] = (__u32)&layer_para;
	    	ret = eLIBs_fioctrl(dispfile, DISP_CMD_LAYER_GET_PARA, 0, (void*)pbuffer);
	    	if(ret != EPDK_OK)
	    	{
		        Esh_printf(".\tLayer %d:close\n",i);
		        continue;
		    }
	    	Esh_printf(".\tLayer %d:open\n",i);
	    	
	    	Esh_printf(".\t\twork mode:%s\n",((__s32)layer_para.mode>=0 && layer_para.mode<5)?wm[layer_para.mode]:wm[5]);
	    	Esh_printf(".\t\tpriority:%d\n",layer_para.prio);

		    pixel_fmt = layer_para.fb.format;
		    pixel_mode = layer_para.fb.mode;
		    pixel_seq = layer_para.fb.seq;
	    	Esh_printf(".\t\tformat:%s,",(pixel_fmt>=0 && pixel_fmt<16)?format[pixel_fmt]:format[16]);
	    	Esh_printf("\tmode:%s,",(pixel_mode>=0 && pixel_mode<5)?yuv_mode[pixel_mode]:yuv_mode[5]);
	    	

		    if(pixel_fmt == DISP_FORMAT_ARGB8888 && pixel_mode == DISP_MOD_INTERLEAVED)
		    {
		    	Esh_printf("\tpixels sequence:%s,",(pixel_seq==DISP_SEQ_ARGB)?"ARGB":"BGRA");
		    }
		    else if(pixel_fmt == DISP_FORMAT_YUV422 && pixel_mode == DISP_MOD_INTERLEAVED)
		    {
		    	     if(pixel_seq==DISP_SEQ_UYVY) Esh_printf("\tpixels sequence:UYVY,");
		    	else if(pixel_seq==DISP_SEQ_YUYV) Esh_printf("\tpixels sequence:YUYV,");
		    	else if(pixel_seq==DISP_SEQ_VYUY) Esh_printf("\tpixels sequence:VYUY,");
		    	else if(pixel_seq==DISP_SEQ_YVYU) Esh_printf("\tpixels sequence:YVYU,");
		    }
		    else if(pixel_fmt == DISP_FORMAT_YUV444 && pixel_mode == DISP_MOD_INTERLEAVED)
		    {
		    	     if(pixel_seq==DISP_SEQ_AYUV) Esh_printf("\tpixels sequence:AYUV,");
		    	else if(pixel_seq==DISP_SEQ_VUYA) Esh_printf("\tpixels sequence:VUYA,");
		    }
		    else if(pixel_fmt == DISP_FORMAT_YUV420 && (pixel_mode == DISP_MOD_NON_MB_UV_COMBINED || pixel_mode == DISP_MOD_MB_UV_COMBINED))
		    {
		    	     if(pixel_seq==DISP_SEQ_UVUV) Esh_printf("\tpixels sequence:UVUV,");
		    	else if(pixel_seq==DISP_SEQ_VUVU) Esh_printf("\tpixels sequence:VUVU,");
		    }
		    else
		    {
		    	Esh_printf("\tpixels sequence:%d,",pixel_seq);
		    }
		    Esh_printf("\tB R channel swap:%s\n",layer_para.fb.br_swap==0?"RGB":"BGR");

			if(pixel_mode == DISP_MOD_INTERLEAVED)
			{
				Esh_printf(".\t\tframe buffer address 0:%x\n",layer_para.fb.addr[0]);
			}
		    else if(pixel_mode == DISP_MOD_NON_MB_UV_COMBINED || pixel_mode == DISP_MOD_MB_UV_COMBINED)
		    {
		    	Esh_printf(".\t\tframe buffer address 0:%x,\taddress 1:%x\n",layer_para.fb.addr[0],layer_para.fb.addr[1]);
		    }
		    else
		    {
		    	Esh_printf(".\t\tframe buffer address 0:%x,\taddress 1:%x,\tddress 2:%x\n",layer_para.fb.addr[0],layer_para.fb.addr[1],layer_para.fb.addr[2]);
		    }
		    
	    	Esh_printf(".\t\tsource window(x:%d,\ty:%d,\twidth:%d,\theight:%d)\n",layer_para.src_win.x,layer_para.src_win.y,layer_para.src_win.width,layer_para.src_win.height);
	    	Esh_printf(".\t\tscreen window(x:%d,\ty:%d,\twidth:%d,\theight:%d)\n",layer_para.scn_win.x,layer_para.scn_win.y,layer_para.scn_win.width,layer_para.scn_win.height);

	    	Esh_printf(".\t\tcolor key:%s\n",layer_para.ck_enable==0?"disable":"enable");
	    	Esh_printf(".\t\talpha:%s,\talpha value:%x\n",layer_para.alpha_en==0?"disable":"enable",layer_para.alpha_val);
	    	Esh_printf(".\t\tpipe:%d\n",layer_para.pipe);
	    }
		Esh_printf(".Layers Information End.................................................................................................\n");
	}
	else if(Esh_strcmp(args[1], "ol") == 0 || Esh_strcmp(args[1], "OL") == 0 || Esh_strcmp(args[1], "cl") == 0 || Esh_strcmp(args[1], "CL") == 0)
	{
		const char  *err = NULL;
		__s32 layer_num = 0;
		
		layer_num = eLIBs_strtol(args[2], &err, 0 );
		if(layer_num>=0 && layer_num<=3)
		{
			pbuffer[0] = layer_num+100;
			if(Esh_strcmp(args[1], "ol") == 0 || Esh_strcmp(args[1], "OL") == 0)
			{
				ret = eLIBs_fioctrl(dispfile, DISP_CMD_LAYER_OPEN, 0, (void*)pbuffer);
			}
			else
			{
				ret = eLIBs_fioctrl(dispfile, DISP_CMD_LAYER_CLOSE,0, (void*)pbuffer);
			}
			if(ret != EPDK_OK)
			{
				Esh_printf("open/close layer fail!\n");
			}
		}
		else
		{
			Esh_printf("para error!\n");
		}
	}
	
    eLIBs_fclose(dispfile);
	return DOSUCCEED;
}
Esempio n. 2
0
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;
}