FreeCalypso > hg > fc-tourmaline
comparison src/cs/drivers/drv_app/r2d/lcds/E_Sample/r2d_task_i.c @ 0:4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:23:26 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4e78acac3d88 |
---|---|
1 #include "r2d/lcds/e_sample/r2d_tfd_lcd.h" | |
2 #include "rvm/rvm_use_id_list.h" | |
3 #include "r2d/lcds/e_sample/lcd_if.h" | |
4 | |
5 UINT16 tab_temp[264+1]; | |
6 | |
7 void r2d_lcd_power_on(void) | |
8 { | |
9 } | |
10 | |
11 void r2d_lcd_power_off(void) | |
12 { | |
13 } | |
14 | |
15 void r2d_refresh(void) | |
16 { | |
17 UINT16 i,j; | |
18 | |
19 #ifndef _WINDOWS | |
20 | |
21 UINT32 v; | |
22 UINT16 r,g,b; // Red, Green, Blue | |
23 UINT16 ind; | |
24 UINT16 command; | |
25 UINT32 *p; | |
26 | |
27 | |
28 | |
29 p=r2d_g_framebuffer->p_memory_words; | |
30 | |
31 #if (R2D_REFRESH == R2D_HORIZONTAL) | |
32 rvf_send_trace("R2D REFRESH",strlen("R2D REFRESH"), NULL_PARAM, | |
33 RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID ); | |
34 | |
35 command = LCD_DISNOR; | |
36 f_lcd_if_poll_write(C_LCD_IF_CS0, &(command), 1, C_LCD_IF_INSTRUCTION); | |
37 | |
38 command = LCD_RAMWR; | |
39 f_lcd_if_poll_write(C_LCD_IF_CS0, &(command), 1, C_LCD_IF_INSTRUCTION); | |
40 | |
41 | |
42 for(j=0;j<220;j++) | |
43 { | |
44 ind=0; | |
45 for (i=0;i<88;i++) // 2 pixels managed in the loop | |
46 { | |
47 | |
48 v= *p++; | |
49 v=~v; | |
50 | |
51 r=(UINT16)(v&0x0000F800); // 5 bits | |
52 r=r>>8; | |
53 | |
54 g=(UINT16)(v&0x000007E0); // 6 bits | |
55 g=g<<5; | |
56 | |
57 tab_temp[ind++]= (r|g); | |
58 | |
59 b=(UINT16)(v&0x0000001F); // 5 bits | |
60 b=b<<3; | |
61 | |
62 | |
63 v=v>>16; | |
64 | |
65 r=(UINT16)(v&0x0000F800); // 5 bits | |
66 | |
67 tab_temp[ind++]= (b | r); | |
68 | |
69 | |
70 g=(UINT16)(v&0x000007E0); // 6 bits | |
71 g=g>>3; | |
72 | |
73 b=(UINT16)(v&0x0000001F); // 5 bits | |
74 b=b<<11; | |
75 | |
76 tab_temp[ind++]= (b | g); | |
77 | |
78 } | |
79 p++; | |
80 | |
81 f_lcd_if_poll_write(C_LCD_IF_CS0, &(tab_temp[0]), 264, C_LCD_IF_DISPLAY); | |
82 } | |
83 | |
84 #endif | |
85 #endif | |
86 | |
87 | |
88 } |