FreeCalypso > hg > fc-selenite
annotate src/cs/drivers/drv_app/r2d/lcds/luna/r2d_task_i.c @ 193:6a53de2c4fc2
R2D sync with Magnetite
R2D is never compiled in Selenite, thus the present change has absolutely
no impact on anything - but this sync is being done in order to keep the
overall diff between Magnetite and Selenite to a minimum.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 23 May 2020 07:13:36 +0000 |
parents | |
children |
rev | line source |
---|---|
193
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 #include "r2d/lcds/luna/r2d_luna_lcd.h" |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 void r2d_lcd_power_on(void) |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 { |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 } |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 void r2d_lcd_power_off(void) |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 { |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 } |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 void r2d_refresh(void) |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 { |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 UINT16 i,j; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 UINT32 v; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 UINT32 *p; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 INT16 x1,x2,y1,y2,de,ds; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 p=r2d_g_framebuffer->p_memory_words; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 x1=(r2d_update_ul_x>>1)<<1; //0 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 x2=((r2d_update_br_x>>1)<<1)+1; //174; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 ds=(x1>>1); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 de=R2D_MWWIDTH-(x2>>1)-1; // WHY -1, is formula right ???? |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 y1=r2d_update_ul_y; //0 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 y2=r2d_update_br_y; //219 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /* set window area */ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 LCD_REG_WR(0x36, x2); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 LCD_REG_WR(0x37, x1); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 LCD_REG_WR(0x38, y2); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 LCD_REG_WR(0x39, y1); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 /* set current write address */ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 LCD_REG_WR(0x20, x1); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 LCD_REG_WR(0x21, y1); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 /* set up for GRAM write */ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 LCD_IR = 0x22; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 p=p+y1*R2D_MWWIDTH; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 for(i=y1;i<=y2;i++) |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 { |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 p+=ds; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 for(j=(x1>>1);j<=(x2>>1);j++) |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 { |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 v=*p++; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 v=~v; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /*white*/ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 /*v=0xffffffff*/ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /*black*/ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /*v=0x00000000*/ |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 LCD_DR = v&0x0FFFF; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 LCD_DR = v>>16; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 } |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 p+=de; |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 } |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 //r2d_check_and_send_event(r2d_g_framebuffer); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 r2d_reinit_update_region(); |
6a53de2c4fc2
R2D sync with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |