# HG changeset patch # User Space Falcon # Date 1441522359 0 # Node ID 8e7d4b264c730c8665e165fd33c0145d53862b3c # Parent a0c4fd5c743053073294ea6f0effb3c002ab97c7 pdt_2092: LCD output to RVTMUX implemented, hits RVT memory limits diff -r a0c4fd5c7430 -r 8e7d4b264c73 chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_i.c --- a/chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_i.c Sun Sep 06 03:05:37 2015 +0000 +++ b/chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_i.c Sun Sep 06 06:52:39 2015 +0000 @@ -1,6 +1,12 @@ #include "r2d/lcds/d_sample/r2d_tfd_lcd.h" #include "rvm/rvm_use_id_list.h" +/* FreeCalypso EXTUI mechanism */ +#include "rvt/rvt_gen.h" +#include + +extern T_RVT_USER_ID extui_rvtmux_id; + #define RGB(R, G, B) ( (((unsigned char)(R) & 0xf8) << 8) | (((unsigned char)(G) & 0xfc) << 3) | (((unsigned char)(B) & 0xf8) >> 3) ) void r2d_lcd_power_on(void) @@ -21,10 +27,11 @@ UINT32 *p; INT16 x1,x2,y1,y2,de,ds; UINT32 a,b,c,d,e,f; - + T_RVT_BUFFER buf; + p=r2d_g_framebuffer->p_memory_words; -#if (R2D_REFRESH == R2D_HORIZONTAL) +#if 0 //(R2D_REFRESH == R2D_HORIZONTAL) LCD_activate; @@ -104,9 +111,42 @@ LCD_deactivate; #endif + +#if 1 + x1=(r2d_update_ul_x>>1)<<1; //0 + x2=((r2d_update_br_x>>1)<<1)+1; //174; + + ds=(x1>>1); + de=R2D_MWWIDTH-(x2>>1)-1; // WHY -1, is formula right ???? + + y1=r2d_update_ul_y; //0 + y2=r2d_update_br_y; //219 + + //sprintf(debug,"%d,%d,%d,%d",x1,y1,x2,y2); + //rvf_send_trace(debug,strlen(debug), NULL_PARAM, + // RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID ); + + p=p+y1*R2D_MWWIDTH; + + for(i=y1;i<=y2;i++) { + p += ds; + j = (x2 - x1 + 1) * 2; + rvt_mem_alloc(extui_rvtmux_id, j + 2, &buf); + if (buf) { + buf[0] = i; + buf[1] = x1; + memcpy(buf + 2, p, j); + rvt_send_trace_no_cpy(buf, extui_rvtmux_id, j + 2, + RVT_BINARY_FORMAT); + } + p += j >> 2; + p += de; + } +#endif + #endif r2d_check_and_send_event(r2d_g_framebuffer); r2d_reinit_update_region(); -} \ No newline at end of file +} diff -r a0c4fd5c7430 -r 8e7d4b264c73 chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_init_i.c --- a/chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_init_i.c Sun Sep 06 03:05:37 2015 +0000 +++ b/chipsetsw/drivers/drv_app/r2d/lcds/D_Sample/r2d_task_init_i.c Sun Sep 06 06:52:39 2015 +0000 @@ -7,6 +7,10 @@ #include "l1_types.h" #include "memif/mem.h" +/* FreeCalypso EXTUI mechanism */ +#include "rvt/rvt_gen.h" + +T_RVT_USER_ID extui_rvtmux_id; #define R2D_MB_PRIM_SIZE (4000) @@ -62,10 +66,11 @@ while (ms-- > 0) for (a=0;a<1000;a++) asm(" nop"); } - void r2d_refresh_task_init(void) +void r2d_refresh_task_init(void) { + rvt_register_id ("EXTUI", &extui_rvtmux_id, 0); -#ifndef _WINDOWS +#if 0 //#ifndef _WINDOWS UINT32 i; @@ -172,11 +177,12 @@ void r2d_lcd_off(void) { - +#if 0 LCD_cmd(LCD_DISOFF); //wait 70ms r2d_nop_delay(70); LCD_cmd(LCD_SLPIN); //wait 110ms r2d_nop_delay(110); +#endif }