source: firmware/FSC/src/typedefs.h@ 15970

Last change on this file since 15970 was 10109, checked in by lutz, 14 years ago
niculin & dom debugged quite some stuff
File size: 3.2 KB
Line 
1#ifndef __TYPEDEFS_H
2#define __TYPEDEFS_H
3//-----------------------------------------------------------------------------
4
5#include <stdio.h>
6#include <stdlib.h>
7#include <string.h>
8#include <ctype.h>
9#include <limits.h>
10#include <util/delay.h>
11#include <avr/io.h>
12#include <avr/interrupt.h>
13#include "macros.h"
14#include <avr/pgmspace.h>
15
16//-----------------------------------------------------------------------------
17
18#define true 1
19#define TRUE 1
20#define ON 1
21#define on 1
22#define SET 1
23#define set 1
24
25#define false 0
26#define FALSE 0
27#define OFF 0
28#define off 0
29#define CLEAR 0
30#define clear 0
31
32#define BIT0 0x01
33#define BIT1 0x02
34#define BIT2 0x04
35#define BIT3 0x08
36#define BIT4 0x10
37#define BIT5 0x20
38#define BIT6 0x40
39#define BIT7 0x80
40#define BIT8 0x0100
41#define BIT9 0x0200
42#define BIT10 0x0400
43#define BIT11 0x0800
44#define BIT12 0x1000
45#define BIT13 0x2000
46#define BIT14 0x4000
47#define BIT15 0x8000
48#define BIT16 0x010000
49#define BIT17 0x020000
50#define BIT18 0x040000
51#define BIT19 0x080000
52#define BIT20 0x100000
53#define BIT21 0x200000
54#define BIT22 0x400000
55#define BIT23 0x800000
56#define BIT24 0x01000000
57#define BIT25 0x02000000
58#define BIT26 0x04000000
59#define BIT27 0x08000000
60#define BIT28 0x10000000
61#define BIT29 0x20000000
62#define BIT30 0x40000000
63#define BIT31 0x80000000
64//-----------------------------------------------------------------------------
65
66// Typendeklarationen
67typedef signed char S8;
68typedef signed char S08;
69typedef signed char tS08;
70typedef unsigned char U8;
71typedef unsigned char U08;
72typedef unsigned char tU08;
73
74typedef signed int S16;
75typedef signed int tS16;
76typedef unsigned int U16;
77typedef unsigned int tU16;
78typedef signed long S32;
79typedef signed long tS32;
80typedef unsigned long U32;
81typedef unsigned long tU32;
82
83typedef S08 *pS8;
84typedef S08 *pS08;
85typedef U08 *pU8;
86typedef U08 *pU08;
87typedef S16 *pS16;
88typedef U16 *pU16;
89typedef S32 *pS32;
90typedef U32 *pU32;
91typedef float *pfloat;
92
93typedef U08 BOOL;
94typedef BOOL *pBOOL;
95typedef U08 bool;
96
97//typedef U08 __flash *fpU08; //geht nicht mit gcc
98//typedef U08 PROGMEM prog_U08;
99//typedef prog_U08 *fpU08;
100typedef U08 *fpU08;
101
102typedef union uMEM16 // Word and Byte access to 16-Bit data
103{
104 U16 word; // Word
105 pU16 pword; // Pointer to Word
106 U08 byte[2]; // Byte
107 pU08 pbyte; // Pointer to Byte
108} tMEM16;
109
110typedef union uMEM32 // DWord, Word and Byte access to 32-Bit data
111{
112 U32 dword; // DWORD
113 pU32 pdword[2]; // Pointer to U32
114
115 float fp; // Float
116 pfloat pfp[2]; // Pointer to float
117
118 U16 word[2]; // Word
119 pU16 pword[2]; // Pointer to U16
120
121 U08 byte[4]; // Byte
122 pU08 pbyte[2]; // Pointer to U08
123
124} tMEM32;
125
126typedef enum // Enumeration of watchdog prescale values
127{
128 WDT_PS_2K, // 2048 cycles (16ms)
129 WDT_PS_4K, // 40968 cycles (32ms)
130 WDT_PS_8K, // 8192 cycles (64ms)
131 WDT_PS_16K, // 16384 cycles (0.125s)
132 WDT_PS_32K, // 32768 cycles (0.25s)
133 WDT_PS_64K, // 65536 cycles (0.5s)
134 WDT_PS_128K, // 131072 cycles (1.0s)
135 WDT_PS_256K, // 262144 cycles (2.0s)
136 WDT_PS_512K, // 524288 cycles (4.0s)
137 WDT_PS_1024K // 1048576 cycles (8.0s)
138} tWDT_PRESCALE;
139//-----------------------------------------------------------------------------
140
141#endif
Note: See TracBrowser for help on using the repository browser.