test
[aversive.git] / modules / hardware / timer / timer_conf_check.c
1 /*  
2  *  Copyright Droids Corporation, Microb Technology, Eirbot (2006)
3  * 
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program; if not, write to the Free Software
16  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  *
18  *  Revision : $Id: timer_conf_check.c,v 1.1.2.4 2009-01-30 20:18:36 zer0 Exp $
19  *
20  */
21
22 #include <aversive/timers.h>
23
24 #include <timer.h>
25 #include <timer_definitions.h>
26 #include <timer_prescaler.h>
27
28 #include <timer_config.h>
29
30
31 #if defined TIMER0_ENABLED && ! defined TIMER0_AVAILABLE
32 #error This arch has no TIMER0
33 #endif
34
35 #if defined TIMER1_ENABLED && ! defined TIMER1_AVAILABLE
36 #error This arch has no TIMER1
37 #endif
38
39 #if defined TIMER2_ENABLED && ! defined TIMER2_AVAILABLE
40 #error This arch has no TIMER2
41 #endif
42
43 #if defined TIMER3_ENABLED && ! defined TIMER3_AVAILABLE
44 #error This arch has no TIMER3
45 #endif
46
47 #if defined TIMER4_ENABLED && ! defined TIMER4_AVAILABLE
48 #error This arch has no TIMER4
49 #endif
50
51 #if defined TIMER5_ENABLED && ! defined TIMER5_AVAILABLE
52 #error This arch has no TIMER5
53 #endif
54
55
56 #if defined TIMER0_ENABLED
57
58 #if defined TIMER0_PRESCALER_REG_0 && TIMER0_PRESCALER_REG_0 == TIMER0_PRESCALER_DIV
59 #define TIMER0_CONF_OK
60 #endif
61
62 #if defined TIMER0_PRESCALER_REG_1 && TIMER0_PRESCALER_REG_1 == TIMER0_PRESCALER_DIV
63 #define TIMER0_CONF_OK
64 #endif
65
66 #if defined TIMER0_PRESCALER_REG_2 && TIMER0_PRESCALER_REG_2 == TIMER0_PRESCALER_DIV
67 #define TIMER0_CONF_OK
68 #endif
69
70 #if defined TIMER0_PRESCALER_REG_3 && TIMER0_PRESCALER_REG_3 == TIMER0_PRESCALER_DIV
71 #define TIMER0_CONF_OK
72 #endif
73
74 #if defined TIMER0_PRESCALER_REG_4 && TIMER0_PRESCALER_REG_4 == TIMER0_PRESCALER_DIV
75 #define TIMER0_CONF_OK
76 #endif
77
78 #if defined TIMER0_PRESCALER_REG_5 && TIMER0_PRESCALER_REG_5 == TIMER0_PRESCALER_DIV
79 #define TIMER0_CONF_OK
80 #endif
81
82 #if defined TIMER0_PRESCALER_REG_6 && TIMER0_PRESCALER_REG_6 == TIMER0_PRESCALER_DIV
83 #define TIMER0_CONF_OK
84 #endif
85
86 #if defined TIMER0_PRESCALER_REG_7 && TIMER0_PRESCALER_REG_7 == TIMER0_PRESCALER_DIV
87 #define TIMER0_CONF_OK
88 #endif
89
90 #if defined TIMER0_PRESCALER_REG_8 && TIMER0_PRESCALER_REG_8 == TIMER0_PRESCALER_DIV
91 #define TIMER0_CONF_OK
92 #endif
93
94 #if defined TIMER0_PRESCALER_REG_9 && TIMER0_PRESCALER_REG_9 == TIMER0_PRESCALER_DIV
95 #define TIMER0_CONF_OK
96 #endif
97
98 #if defined TIMER0_PRESCALER_REG_10 && TIMER0_PRESCALER_REG_10 == TIMER0_PRESCALER_DIV
99 #define TIMER0_CONF_OK
100 #endif
101
102 #if defined TIMER0_PRESCALER_REG_11 && TIMER0_PRESCALER_REG_11 == TIMER0_PRESCALER_DIV
103 #define TIMER0_CONF_OK
104 #endif
105
106 #if defined TIMER0_PRESCALER_REG_12 && TIMER0_PRESCALER_REG_12 == TIMER0_PRESCALER_DIV
107 #define TIMER0_CONF_OK
108 #endif
109
110 #if defined TIMER0_PRESCALER_REG_13 && TIMER0_PRESCALER_REG_13 == TIMER0_PRESCALER_DIV
111 #define TIMER0_CONF_OK
112 #endif
113
114 #if defined TIMER0_PRESCALER_REG_14 && TIMER0_PRESCALER_REG_14 == TIMER0_PRESCALER_DIV
115 #define TIMER0_CONF_OK
116 #endif
117
118 #if defined TIMER0_PRESCALER_REG_15 && TIMER0_PRESCALER_REG_15 == TIMER0_PRESCALER_DIV
119 #define TIMER0_CONF_OK
120 #endif
121
122 #ifndef TIMER0_CONF_OK
123 #error TIMER0 has a bad prescaler value
124 #endif
125
126 #endif
127
128
129
130 #if defined TIMER1_ENABLED
131
132 #if defined TIMER1_PRESCALER_REG_0 && TIMER1_PRESCALER_REG_0 == TIMER1_PRESCALER_DIV
133 #define TIMER1_CONF_OK
134 #endif
135
136 #if defined TIMER1_PRESCALER_REG_1 && TIMER1_PRESCALER_REG_1 == TIMER1_PRESCALER_DIV
137 #define TIMER1_CONF_OK
138 #endif
139
140 #if defined TIMER1_PRESCALER_REG_2 && TIMER1_PRESCALER_REG_2 == TIMER1_PRESCALER_DIV
141 #define TIMER1_CONF_OK
142 #endif
143
144 #if defined TIMER1_PRESCALER_REG_3 && TIMER1_PRESCALER_REG_3 == TIMER1_PRESCALER_DIV
145 #define TIMER1_CONF_OK
146 #endif
147
148 #if defined TIMER1_PRESCALER_REG_4 && TIMER1_PRESCALER_REG_4 == TIMER1_PRESCALER_DIV
149 #define TIMER1_CONF_OK
150 #endif
151
152 #if defined TIMER1_PRESCALER_REG_5 && TIMER1_PRESCALER_REG_5 == TIMER1_PRESCALER_DIV
153 #define TIMER1_CONF_OK
154 #endif
155
156 #if defined TIMER1_PRESCALER_REG_6 && TIMER1_PRESCALER_REG_6 == TIMER1_PRESCALER_DIV
157 #define TIMER1_CONF_OK
158 #endif
159
160 #if defined TIMER1_PRESCALER_REG_7 && TIMER1_PRESCALER_REG_7 == TIMER1_PRESCALER_DIV
161 #define TIMER1_CONF_OK
162 #endif
163
164 #if defined TIMER1_PRESCALER_REG_8 && TIMER1_PRESCALER_REG_8 == TIMER1_PRESCALER_DIV
165 #define TIMER1_CONF_OK
166 #endif
167
168 #if defined TIMER1_PRESCALER_REG_9 && TIMER1_PRESCALER_REG_9 == TIMER1_PRESCALER_DIV
169 #define TIMER1_CONF_OK
170 #endif
171
172 #if defined TIMER1_PRESCALER_REG_10 && TIMER1_PRESCALER_REG_10 == TIMER1_PRESCALER_DIV
173 #define TIMER1_CONF_OK
174 #endif
175
176 #if defined TIMER1_PRESCALER_REG_11 && TIMER1_PRESCALER_REG_11 == TIMER1_PRESCALER_DIV
177 #define TIMER1_CONF_OK
178 #endif
179
180 #if defined TIMER1_PRESCALER_REG_12 && TIMER1_PRESCALER_REG_12 == TIMER1_PRESCALER_DIV
181 #define TIMER1_CONF_OK
182 #endif
183
184 #if defined TIMER1_PRESCALER_REG_13 && TIMER1_PRESCALER_REG_13 == TIMER1_PRESCALER_DIV
185 #define TIMER1_CONF_OK
186 #endif
187
188 #if defined TIMER1_PRESCALER_REG_14 && TIMER1_PRESCALER_REG_14 == TIMER1_PRESCALER_DIV
189 #define TIMER1_CONF_OK
190 #endif
191
192 #if defined TIMER1_PRESCALER_REG_15 && TIMER1_PRESCALER_REG_15 == TIMER1_PRESCALER_DIV
193 #define TIMER1_CONF_OK
194 #endif
195
196 #ifndef TIMER1_CONF_OK
197 #error TIMER1 has a bad prescaler value
198 #endif
199
200 #endif
201
202
203 #if defined TIMER2_ENABLED
204
205 #if defined TIMER2_PRESCALER_REG_0 && TIMER2_PRESCALER_REG_0 == TIMER2_PRESCALER_DIV
206 #define TIMER2_CONF_OK
207 #endif
208
209 #if defined TIMER2_PRESCALER_REG_1 && TIMER2_PRESCALER_REG_1 == TIMER2_PRESCALER_DIV
210 #define TIMER2_CONF_OK
211 #endif
212
213 #if defined TIMER2_PRESCALER_REG_2 && TIMER2_PRESCALER_REG_2 == TIMER2_PRESCALER_DIV
214 #define TIMER2_CONF_OK
215 #endif
216
217 #if defined TIMER2_PRESCALER_REG_3 && TIMER2_PRESCALER_REG_3 == TIMER2_PRESCALER_DIV
218 #define TIMER2_CONF_OK
219 #endif
220
221 #if defined TIMER2_PRESCALER_REG_4 && TIMER2_PRESCALER_REG_4 == TIMER2_PRESCALER_DIV
222 #define TIMER2_CONF_OK
223 #endif
224
225 #if defined TIMER2_PRESCALER_REG_5 && TIMER2_PRESCALER_REG_5 == TIMER2_PRESCALER_DIV
226 #define TIMER2_CONF_OK
227 #endif
228
229 #if defined TIMER2_PRESCALER_REG_6 && TIMER2_PRESCALER_REG_6 == TIMER2_PRESCALER_DIV
230 #define TIMER2_CONF_OK
231 #endif
232
233 #if defined TIMER2_PRESCALER_REG_7 && TIMER2_PRESCALER_REG_7 == TIMER2_PRESCALER_DIV
234 #define TIMER2_CONF_OK
235 #endif
236
237 #if defined TIMER2_PRESCALER_REG_8 && TIMER2_PRESCALER_REG_8 == TIMER2_PRESCALER_DIV
238 #define TIMER2_CONF_OK
239 #endif
240
241 #if defined TIMER2_PRESCALER_REG_9 && TIMER2_PRESCALER_REG_9 == TIMER2_PRESCALER_DIV
242 #define TIMER2_CONF_OK
243 #endif
244
245 #if defined TIMER2_PRESCALER_REG_10 && TIMER2_PRESCALER_REG_10 == TIMER2_PRESCALER_DIV
246 #define TIMER2_CONF_OK
247 #endif
248
249 #if defined TIMER2_PRESCALER_REG_11 && TIMER2_PRESCALER_REG_11 == TIMER2_PRESCALER_DIV
250 #define TIMER2_CONF_OK
251 #endif
252
253 #if defined TIMER2_PRESCALER_REG_12 && TIMER2_PRESCALER_REG_12 == TIMER2_PRESCALER_DIV
254 #define TIMER2_CONF_OK
255 #endif
256
257 #if defined TIMER2_PRESCALER_REG_13 && TIMER2_PRESCALER_REG_13 == TIMER2_PRESCALER_DIV
258 #define TIMER2_CONF_OK
259 #endif
260
261 #if defined TIMER2_PRESCALER_REG_14 && TIMER2_PRESCALER_REG_14 == TIMER2_PRESCALER_DIV
262 #define TIMER2_CONF_OK
263 #endif
264
265 #if defined TIMER2_PRESCALER_REG_15 && TIMER2_PRESCALER_REG_15 == TIMER2_PRESCALER_DIV
266 #define TIMER2_CONF_OK
267 #endif
268
269 #ifndef TIMER2_CONF_OK
270 #error TIMER2 has a bad prescaler value
271 #endif
272
273 #endif
274
275
276 #if defined TIMER3_ENABLED
277
278 #if defined TIMER3_PRESCALER_REG_0 && TIMER3_PRESCALER_REG_0 == TIMER3_PRESCALER_DIV
279 #define TIMER3_CONF_OK
280 #endif
281
282 #if defined TIMER3_PRESCALER_REG_1 && TIMER3_PRESCALER_REG_1 == TIMER3_PRESCALER_DIV
283 #define TIMER3_CONF_OK
284 #endif
285
286 #if defined TIMER3_PRESCALER_REG_2 && TIMER3_PRESCALER_REG_2 == TIMER3_PRESCALER_DIV
287 #define TIMER3_CONF_OK
288 #endif
289
290 #if defined TIMER3_PRESCALER_REG_3 && TIMER3_PRESCALER_REG_3 == TIMER3_PRESCALER_DIV
291 #define TIMER3_CONF_OK
292 #endif
293
294 #if defined TIMER3_PRESCALER_REG_4 && TIMER3_PRESCALER_REG_4 == TIMER3_PRESCALER_DIV
295 #define TIMER3_CONF_OK
296 #endif
297
298 #if defined TIMER3_PRESCALER_REG_5 && TIMER3_PRESCALER_REG_5 == TIMER3_PRESCALER_DIV
299 #define TIMER3_CONF_OK
300 #endif
301
302 #if defined TIMER3_PRESCALER_REG_6 && TIMER3_PRESCALER_REG_6 == TIMER3_PRESCALER_DIV
303 #define TIMER3_CONF_OK
304 #endif
305
306 #if defined TIMER3_PRESCALER_REG_7 && TIMER3_PRESCALER_REG_7 == TIMER3_PRESCALER_DIV
307 #define TIMER3_CONF_OK
308 #endif
309
310 #if defined TIMER3_PRESCALER_REG_8 && TIMER3_PRESCALER_REG_8 == TIMER3_PRESCALER_DIV
311 #define TIMER3_CONF_OK
312 #endif
313
314 #if defined TIMER3_PRESCALER_REG_9 && TIMER3_PRESCALER_REG_9 == TIMER3_PRESCALER_DIV
315 #define TIMER3_CONF_OK
316 #endif
317
318 #if defined TIMER3_PRESCALER_REG_10 && TIMER3_PRESCALER_REG_10 == TIMER3_PRESCALER_DIV
319 #define TIMER3_CONF_OK
320 #endif
321
322 #if defined TIMER3_PRESCALER_REG_11 && TIMER3_PRESCALER_REG_11 == TIMER3_PRESCALER_DIV
323 #define TIMER3_CONF_OK
324 #endif
325
326 #if defined TIMER3_PRESCALER_REG_12 && TIMER3_PRESCALER_REG_12 == TIMER3_PRESCALER_DIV
327 #define TIMER3_CONF_OK
328 #endif
329
330 #if defined TIMER3_PRESCALER_REG_13 && TIMER3_PRESCALER_REG_13 == TIMER3_PRESCALER_DIV
331 #define TIMER3_CONF_OK
332 #endif
333
334 #if defined TIMER3_PRESCALER_REG_14 && TIMER3_PRESCALER_REG_14 == TIMER3_PRESCALER_DIV
335 #define TIMER3_CONF_OK
336 #endif
337
338 #if defined TIMER3_PRESCALER_REG_15 && TIMER3_PRESCALER_REG_15 == TIMER3_PRESCALER_DIV
339 #define TIMER3_CONF_OK
340 #endif
341
342 #ifndef TIMER3_CONF_OK
343 #error TIMER3 has a bad prescaler value
344 #endif
345
346 #endif
347
348 #if defined TIMER4_ENABLED
349
350 #if defined TIMER4_PRESCALER_REG_0 && TIMER4_PRESCALER_REG_0 == TIMER4_PRESCALER_DIV
351 #define TIMER4_CONF_OK
352 #endif
353
354 #if defined TIMER4_PRESCALER_REG_1 && TIMER4_PRESCALER_REG_1 == TIMER4_PRESCALER_DIV
355 #define TIMER4_CONF_OK
356 #endif
357
358 #if defined TIMER4_PRESCALER_REG_2 && TIMER4_PRESCALER_REG_2 == TIMER4_PRESCALER_DIV
359 #define TIMER4_CONF_OK
360 #endif
361
362 #if defined TIMER4_PRESCALER_REG_3 && TIMER4_PRESCALER_REG_3 == TIMER4_PRESCALER_DIV
363 #define TIMER4_CONF_OK
364 #endif
365
366 #if defined TIMER4_PRESCALER_REG_4 && TIMER4_PRESCALER_REG_4 == TIMER4_PRESCALER_DIV
367 #define TIMER4_CONF_OK
368 #endif
369
370 #if defined TIMER4_PRESCALER_REG_5 && TIMER4_PRESCALER_REG_5 == TIMER4_PRESCALER_DIV
371 #define TIMER4_CONF_OK
372 #endif
373
374 #if defined TIMER4_PRESCALER_REG_6 && TIMER4_PRESCALER_REG_6 == TIMER4_PRESCALER_DIV
375 #define TIMER4_CONF_OK
376 #endif
377
378 #if defined TIMER4_PRESCALER_REG_7 && TIMER4_PRESCALER_REG_7 == TIMER4_PRESCALER_DIV
379 #define TIMER4_CONF_OK
380 #endif
381
382 #if defined TIMER4_PRESCALER_REG_8 && TIMER4_PRESCALER_REG_8 == TIMER4_PRESCALER_DIV
383 #define TIMER4_CONF_OK
384 #endif
385
386 #if defined TIMER4_PRESCALER_REG_9 && TIMER4_PRESCALER_REG_9 == TIMER4_PRESCALER_DIV
387 #define TIMER4_CONF_OK
388 #endif
389
390 #if defined TIMER4_PRESCALER_REG_10 && TIMER4_PRESCALER_REG_10 == TIMER4_PRESCALER_DIV
391 #define TIMER4_CONF_OK
392 #endif
393
394 #if defined TIMER4_PRESCALER_REG_11 && TIMER4_PRESCALER_REG_11 == TIMER4_PRESCALER_DIV
395 #define TIMER4_CONF_OK
396 #endif
397
398 #if defined TIMER4_PRESCALER_REG_12 && TIMER4_PRESCALER_REG_12 == TIMER4_PRESCALER_DIV
399 #define TIMER4_CONF_OK
400 #endif
401
402 #if defined TIMER4_PRESCALER_REG_13 && TIMER4_PRESCALER_REG_13 == TIMER4_PRESCALER_DIV
403 #define TIMER4_CONF_OK
404 #endif
405
406 #if defined TIMER4_PRESCALER_REG_14 && TIMER4_PRESCALER_REG_14 == TIMER4_PRESCALER_DIV
407 #define TIMER4_CONF_OK
408 #endif
409
410 #if defined TIMER4_PRESCALER_REG_15 && TIMER4_PRESCALER_REG_15 == TIMER4_PRESCALER_DIV
411 #define TIMER4_CONF_OK
412 #endif
413
414 #ifndef TIMER4_CONF_OK
415 #error TIMER4 has a bad prescaler value
416 #endif
417
418 #endif
419
420 #if defined TIMER5_ENABLED
421
422 #if defined TIMER5_PRESCALER_REG_0 && TIMER5_PRESCALER_REG_0 == TIMER5_PRESCALER_DIV
423 #define TIMER5_CONF_OK
424 #endif
425
426 #if defined TIMER5_PRESCALER_REG_1 && TIMER5_PRESCALER_REG_1 == TIMER5_PRESCALER_DIV
427 #define TIMER5_CONF_OK
428 #endif
429
430 #if defined TIMER5_PRESCALER_REG_2 && TIMER5_PRESCALER_REG_2 == TIMER5_PRESCALER_DIV
431 #define TIMER5_CONF_OK
432 #endif
433
434 #if defined TIMER5_PRESCALER_REG_3 && TIMER5_PRESCALER_REG_3 == TIMER5_PRESCALER_DIV
435 #define TIMER5_CONF_OK
436 #endif
437
438 #if defined TIMER5_PRESCALER_REG_4 && TIMER5_PRESCALER_REG_4 == TIMER5_PRESCALER_DIV
439 #define TIMER5_CONF_OK
440 #endif
441
442 #if defined TIMER5_PRESCALER_REG_5 && TIMER5_PRESCALER_REG_5 == TIMER5_PRESCALER_DIV
443 #define TIMER5_CONF_OK
444 #endif
445
446 #if defined TIMER5_PRESCALER_REG_6 && TIMER5_PRESCALER_REG_6 == TIMER5_PRESCALER_DIV
447 #define TIMER5_CONF_OK
448 #endif
449
450 #if defined TIMER5_PRESCALER_REG_7 && TIMER5_PRESCALER_REG_7 == TIMER5_PRESCALER_DIV
451 #define TIMER5_CONF_OK
452 #endif
453
454 #if defined TIMER5_PRESCALER_REG_8 && TIMER5_PRESCALER_REG_8 == TIMER5_PRESCALER_DIV
455 #define TIMER5_CONF_OK
456 #endif
457
458 #if defined TIMER5_PRESCALER_REG_9 && TIMER5_PRESCALER_REG_9 == TIMER5_PRESCALER_DIV
459 #define TIMER5_CONF_OK
460 #endif
461
462 #if defined TIMER5_PRESCALER_REG_10 && TIMER5_PRESCALER_REG_10 == TIMER5_PRESCALER_DIV
463 #define TIMER5_CONF_OK
464 #endif
465
466 #if defined TIMER5_PRESCALER_REG_11 && TIMER5_PRESCALER_REG_11 == TIMER5_PRESCALER_DIV
467 #define TIMER5_CONF_OK
468 #endif
469
470 #if defined TIMER5_PRESCALER_REG_12 && TIMER5_PRESCALER_REG_12 == TIMER5_PRESCALER_DIV
471 #define TIMER5_CONF_OK
472 #endif
473
474 #if defined TIMER5_PRESCALER_REG_13 && TIMER5_PRESCALER_REG_13 == TIMER5_PRESCALER_DIV
475 #define TIMER5_CONF_OK
476 #endif
477
478 #if defined TIMER5_PRESCALER_REG_14 && TIMER5_PRESCALER_REG_14 == TIMER5_PRESCALER_DIV
479 #define TIMER5_CONF_OK
480 #endif
481
482 #if defined TIMER5_PRESCALER_REG_15 && TIMER5_PRESCALER_REG_15 == TIMER5_PRESCALER_DIV
483 #define TIMER5_CONF_OK
484 #endif
485
486 #ifndef TIMER5_CONF_OK
487 #error TIMER5 has a bad prescaler value
488 #endif
489
490 #endif
491