FreeCalypso > hg > fc-magnetite
comparison src/cs/drivers/drv_app/r2d/r2d_config.h @ 0:945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
binary blobs and LCD demo files have been excluded,
all line endings are LF only
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 22:50:11 +0000 |
parents | |
children | f4ee7ba49bdb |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:945cf7f506b2 |
---|---|
1 /*************************************************************************** | |
2 | |
3 Name r2d_config.h | |
4 | |
5 Function Hardware dependent configurations | |
6 | |
7 Date Modification | |
8 ----------------------- | |
9 06/12/2001 Create | |
10 ************************************************************************** | |
11 History | |
12 | |
13 ****************************************************************************/ | |
14 | |
15 | |
16 #ifndef __R2D_CONFIG__ | |
17 #define __R2D_CONFIG__ | |
18 | |
19 #ifndef _WINDOWS | |
20 #include "config/r2d.cfg" | |
21 #include "config/board.cfg" | |
22 #include "config/swconfig.cfg" | |
23 #endif | |
24 | |
25 /******************************* | |
26 | |
27 MISC R2D CONSTANTS | |
28 | |
29 *******************************/ | |
30 | |
31 | |
32 #define R2D_ON 1 | |
33 #define R2D_OFF 0 | |
34 | |
35 #define R2D_DEBUG_LOW 0 | |
36 #define R2D_DEBUG_HIGH 1 | |
37 | |
38 // Color mode for the LCD | |
39 #define R2D_MONOCHROME 0 | |
40 #define R2D_COLOR 1 | |
41 | |
42 // Mode of refresh for the LCD | |
43 #define R2D_VERTICAL 0 | |
44 #define R2D_HORIZONTAL 1 | |
45 | |
46 // List of kind of supported LCDs | |
47 #define R2D_SIMPLE_LCD 1 | |
48 #define R2D_PC_COLOR_LCD 2 | |
49 #define R2D_MIRRORED_LCD 3 | |
50 #define R2D_CUSTOMER_LCD 4 | |
51 #define R2D_HORIZONTAL_LCD 5 | |
52 #define R2D_BOARD_COLOR_LCD 6 | |
53 #define R2D_BOARD_DSAMPLE 7 | |
54 #define R2D_BOARD_BW_DSAMPLE 8 | |
55 #define R2D_BOARD_ESAMPLE 9 | |
56 #define R2D_PC_CSAMPLE 108 | |
57 #define R2D_PC_DSAMPLE 109 | |
58 | |
59 /******************************* | |
60 | |
61 Riviera 2D configuration | |
62 | |
63 *******************************/ | |
64 | |
65 | |
66 // ln2 of dimension of dithering matrix | |
67 // (must change code if that value is changed) | |
68 #define R2D_DITHERING_DIMENSION 2 | |
69 | |
70 #define R2D_DEBUG R2D_ON | |
71 | |
72 #define R2D_DEBUG_WARNING R2D_DEBUG_LOW | |
73 | |
74 // For still on development new features | |
75 #define R2D_EXPERIMENT R2D_ON | |
76 | |
77 // C-Sample for PC | |
78 #ifdef _WINDOWS | |
79 #define R2D_REFRESH_PERIOD 50 // ms | |
80 #define R2D_EMBEDDED_LCD R2D_PC_COLOR_LCD | |
81 #endif | |
82 | |
83 #if (R2D_LCD_TEST == 1) | |
84 #define R2D_REFRESH_PERIOD 40 // ms | |
85 #define R2D_EMBEDDED_LCD R2D_BOARD_COLOR_LCD | |
86 #else | |
87 #if ((BOARD == 7) || (BOARD == 8) || (BOARD == 9)) | |
88 // C-Sample is equipped with Mirrored LCD | |
89 #define R2D_REFRESH_PERIOD 40 // ms | |
90 #define R2D_EMBEDDED_LCD R2D_MIRRORED_LCD | |
91 #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43)) | |
92 #if (!GSMLITE) | |
93 // D-Sample Board with Color Display | |
94 #define R2D_REFRESH_PERIOD 40 // ms | |
95 #define R2D_EMBEDDED_LCD R2D_BOARD_DSAMPLE | |
96 #else | |
97 // D-Sample Board with simulated B&W Display | |
98 #define R2D_REFRESH_PERIOD 40 // ms | |
99 #define R2D_EMBEDDED_LCD R2D_BOARD_BW_DSAMPLE | |
100 #endif | |
101 #endif | |
102 #endif | |
103 | |
104 // Launch R2D_REFRESH_LOOP to estimate the time | |
105 // taken by one loop | |
106 #define R2D_BENCHMARKING R2D_OFF | |
107 #define R2D_REFRESH_LOOP 100 | |
108 | |
109 | |
110 /******************************* | |
111 | |
112 Hardware dependence | |
113 | |
114 *******************************/ | |
115 | |
116 // Shift by 2 to get the size of a long int | |
117 #define R2D_LONGSIZE_FACTOR 2 | |
118 | |
119 // ln2 of the size of a memory word in bits | |
120 // (2^5 = 32 bits) | |
121 #define R2D_MEMORY_WORD 5 | |
122 | |
123 /******************************* | |
124 | |
125 Values used internally | |
126 | |
127 *******************************/ | |
128 | |
129 #if (R2D_EMBEDDED_LCD == R2D_SIMPLE_LCD) | |
130 #include "r2d/lcds/simple/r2d_simple_lcd_i.h" | |
131 #endif | |
132 | |
133 // Color LCD is just a simulation on PC and is using the | |
134 // color framebuffers | |
135 #if (R2D_EMBEDDED_LCD == R2D_PC_COLOR_LCD) | |
136 #include "r2d/lcds/colorpc/r2d_pc_color_lcd_i.h" | |
137 #endif | |
138 | |
139 #if (R2D_EMBEDDED_LCD == R2D_PC_CSAMPLE) | |
140 #include "r2d/lcds/pc_csample/r2d_pc_csample_lcd_i.h" | |
141 #endif | |
142 | |
143 #if (R2D_EMBEDDED_LCD == R2D_PC_DSAMPLE) | |
144 #include "r2d/lcds/pc_dsample/r2d_pc_dsample_lcd_i.h" | |
145 #endif | |
146 | |
147 // Color LCD is just a simulation on PC and is using the | |
148 // color framebuffers | |
149 #if (R2D_EMBEDDED_LCD == R2D_MIRRORED_LCD) | |
150 #include "r2d/lcds/mirrored/r2d_mirrored_lcd_i.h" | |
151 #endif | |
152 | |
153 #if (R2D_EMBEDDED_LCD == R2D_CUSTOMER_LCD) | |
154 #include "r2d/lcds/customer/r2d_customer_lcd_i.h" | |
155 #endif | |
156 | |
157 #if (R2D_EMBEDDED_LCD == R2D_HORIZONTAL_LCD) | |
158 #include "r2d/lcds/horizontal/r2d_horizontal_lcd_i.h" | |
159 #endif | |
160 | |
161 #if (R2D_EMBEDDED_LCD == R2D_BOARD_COLOR_LCD) | |
162 #include "r2d/lcds/colorboard/r2d_board_color_lcd_i.h" | |
163 #endif | |
164 | |
165 #if (R2D_EMBEDDED_LCD == R2D_BOARD_DSAMPLE) | |
166 #include "r2d/lcds/d_sample/r2d_board_dsample_i.h" | |
167 #endif | |
168 | |
169 #if (R2D_EMBEDDED_LCD == R2D_BOARD_BW_DSAMPLE) | |
170 #include "r2d/lcds/bw_d_sample/r2d_board_bw_dsample_i.h" | |
171 #endif | |
172 | |
173 #if (R2D_EMBEDDED_LCD == R2D_PC_COLOR_LCD) | |
174 #ifdef R2D_ASM | |
175 #undef R2D_ASM | |
176 #endif | |
177 #define R2D_ASM R2D_OFF | |
178 #endif | |
179 | |
180 #if (R2D_ASM == R2D_ON) | |
181 #if (R2D_DITHERING == R2D_ON) | |
182 #undef R2D_DITHERING | |
183 #define R2D_DITHERING R2D_OFF | |
184 #endif | |
185 | |
186 #endif | |
187 | |
188 | |
189 // Mask used to write or read a pixel value from a memory word | |
190 // It is also used in monochrome mode to extract the intensity level | |
191 // In color mode, a pixel will contain several intensity | |
192 // level and another mask to extract components should be used | |
193 | |
194 // ifdef used because of limitation with TI preprocessor | |
195 // which is giving 0 for R2D_PIXEL_MASK instead of 0xFFFFFFFF | |
196 // when R2D_PIXEL_DEPTH is 32 | |
197 #if (R2D_PIXEL_DEPTH == 32) | |
198 #define R2D_PIXEL_MASK 0xFFFFFFFF | |
199 #else | |
200 #define R2D_PIXEL_MASK (~(-1<<R2D_PIXEL_DEPTH)) | |
201 #endif | |
202 | |
203 // Pixel value mask for dithered levels | |
204 #define R2D_DITHERED_MASK (~(-1<<R2D_DITHERING_DIMENSION)) | |
205 | |
206 | |
207 #if (R2D_PIXELS_PER_MEMORY_WORD == 0) | |
208 | |
209 // Position of the pixel in a memory word is extracted with | |
210 // that mask applied to the pixel horizontal or vertical | |
211 // coordinate (depending on the REFRESH mode) | |
212 // It allows to convert between unit pixels to unit memory words | |
213 #define R2D_WORD_POSITION_MASK 0 | |
214 | |
215 // Extension of vertical or horizontal for memory alignments | |
216 // constraints | |
217 #if (R2D_REFRESH == R2D_VERTICAL) | |
218 #define R2D_MWHEIGHT R2D_HEIGHT | |
219 #else | |
220 #define R2D_MWWIDTH R2D_WIDTH | |
221 #endif | |
222 | |
223 // Extend lengths to a integer number of memory words | |
224 // and return new length in memory word units | |
225 #define R2D_ALIGNED_MWLENGTH(a) a | |
226 #else | |
227 // Above formula are right when the number of pixels | |
228 // can be divided by 2 (so R2D_PIXELS_PER_MEMORY_WORD != 0 ) | |
229 | |
230 // Position of the pixel in a memory word is extracted with | |
231 // that mask applied to the pixel horizontal or vertical | |
232 // coordinate (depending on the REFRESH mode) | |
233 // It allows to convert between unit pixels to unit memory words | |
234 #define R2D_WORD_POSITION_MASK (~(-1<<R2D_PIXELS_PER_MEMORY_WORD)) | |
235 | |
236 // Extension of vertical or horizontal for memory alignments | |
237 // constraints (the extension is done by excess. Sometime one | |
238 // word may be added although it is not really needed) | |
239 #if (R2D_REFRESH == R2D_VERTICAL) | |
240 #define R2D_MWHEIGHT ((R2D_HEIGHT>>R2D_PIXELS_PER_MEMORY_WORD)+1) | |
241 #else | |
242 #define R2D_MWWIDTH ((R2D_WIDTH>>R2D_PIXELS_PER_MEMORY_WORD)+1) | |
243 #endif | |
244 | |
245 // Extend lengths to a integer number of memory words | |
246 // and return new length in memory word units | |
247 | |
248 // Never change it. It used for blit_rect | |
249 #define R2D_ALIGNED_MWLENGTH(a) ((a>>R2D_PIXELS_PER_MEMORY_WORD) + 1) | |
250 | |
251 | |
252 #endif | |
253 // Start of description of metrics values | |
254 // for each char | |
255 // The first values are the global ones for the font | |
256 #define R2D_METRIC_START 8 | |
257 | |
258 | |
259 // Position of buffer width value relative | |
260 // to start of char metrics in a font metric array | |
261 #define R2D_BUFFER_WIDTH_POS (-5) | |
262 | |
263 | |
264 | |
265 #endif |