init
[pyfrprog.git] / RLT.c
1 /*****************************************************************************/\r
2 /* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */\r
3 /* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */\r
4 /* ELIGIBILITY FOR ANY PURPOSES.                                             */\r
5 /*                 (C) Fujitsu Microelectronics Europe GmbH                  */\r
6 /*****************************************************************************/\r
7 \r
8 #include "RLT.h"\r
9 \r
10 void RLT_InitializeTimer(unsigned char channel, unsigned char runmode, unsigned char clockmode, unsigned char triggermode, unsigned char outputmode)\r
11 {\r
12         unsigned short setvalue = 0x00;\r
13         \r
14         /*      Prepare seting for the TMCSR Register   */\r
15         setvalue |= ( (clockmode << 10) | (triggermode << 7) | ((outputmode & 0x01) << 5) | ((runmode & 0x01) << 4) | 0x02 /* CNTE */ ); \r
16 \r
17         /*      Set the corresponding RLT channel       */\r
18         switch(channel)\r
19         {\r
20                 case 0:\r
21                 {\r
22                         TMCSR0 = setvalue;\r
23                         break;\r
24                 }\r
25                 case 1:\r
26                 {\r
27                         TMCSR1 = setvalue;\r
28                         break;\r
29                 }\r
30                 case 2:\r
31                 {\r
32                         TMCSR2 = setvalue;\r
33                         break;\r
34                 }\r
35                 case 3:\r
36                 {\r
37                         TMCSR3 = setvalue;\r
38                         break;\r
39                 }\r
40                 case 4:\r
41                 {\r
42                         TMCSR4 = setvalue;\r
43                         break;\r
44                 }\r
45                 case 5:\r
46                 {\r
47                         TMCSR5 = setvalue;\r
48                         break;\r
49                 }\r
50                 case 6:\r
51                 {\r
52                         TMCSR6 = setvalue;\r
53                         break;\r
54                 }\r
55                 case 7:\r
56                 {\r
57                         TMCSR7 = setvalue;\r
58                         break;\r
59                 }\r
60         }       \r
61 }\r
62 \r
63 void RLT_SetReloadValue(unsigned char channel, unsigned short int value)\r
64 {\r
65         switch(channel)\r
66         {\r
67                 case 0:\r
68                 {\r
69                         TMRLR0 = value;\r
70                         break;\r
71                 }       \r
72                 case 1:\r
73                 {\r
74                         TMRLR1 = value;\r
75                         break;\r
76                 }       \r
77                 case 2:\r
78                 {\r
79                         TMRLR2 = value;\r
80                         break;\r
81                 }       \r
82                 case 3:\r
83                 {\r
84                         TMRLR3 = value;\r
85                         break;\r
86                 }       \r
87                 case 4:\r
88                 {\r
89                         TMRLR4 = value;\r
90                         break;\r
91                 }       \r
92                 case 5:\r
93                 {\r
94                         TMRLR5 = value;\r
95                         break;\r
96                 }       \r
97                 case 6:\r
98                 {\r
99                         TMRLR6 = value;\r
100                         break;\r
101                 }       \r
102                 case 7:\r
103                 {\r
104                         TMRLR7 = value;\r
105                         break;\r
106                 }\r
107         }       \r
108 }\r
109 \r
110 void RLT_TriggerTimer(unsigned char channel)\r
111 {\r
112         switch(channel)\r
113         {\r
114                 case 0:\r
115                 {\r
116                         TMCSR0_TRG = 1;\r
117                         break;\r
118                 }       \r
119                 case 1:\r
120                 {\r
121                         TMCSR1_TRG = 1;\r
122                         break;\r
123                 }       \r
124                 case 2:\r
125                 {\r
126                         TMCSR2_TRG = 1;\r
127                         break;\r
128                 }       \r
129                 case 3:\r
130                 {\r
131                         TMCSR3_TRG = 1;\r
132                         break;\r
133                 }       \r
134                 case 4:\r
135                 {\r
136                         TMCSR4_TRG = 1;\r
137                         break;\r
138                 }       \r
139                 case 5:\r
140                 {\r
141                         TMCSR5_TRG = 1;\r
142                         break;\r
143                 }       \r
144                 case 6:\r
145                 {\r
146                         TMCSR6_TRG = 1;\r
147                         break;\r
148                 }       \r
149                 case 7:\r
150                 {\r
151                         TMCSR7_TRG = 1;\r
152                         break;\r
153                 }\r
154         }\r
155 }\r
156 \r
157 void RLT_EnableInterrupt(unsigned char channel)\r
158 {\r
159         switch(channel)\r
160         {\r
161                 case 0:\r
162                 {\r
163                         /*      Clear Pending Interrupt Flag    */\r
164                         TMCSR0_UF = 0;\r
165                         \r
166                         /* Enable Interrupt     */\r
167                         TMCSR0_INTE = 1;\r
168                         break;\r
169                 }       \r
170                 case 1:\r
171                 {\r
172                         /*      Clear Pending Interrupt Flag    */\r
173                         TMCSR1_UF = 0;\r
174                         \r
175                         /* Enable Interrupt     */\r
176                         TMCSR1_INTE = 1;\r
177                         break;\r
178                 }       \r
179                 case 2:\r
180                 {\r
181                         /*      Clear Pending Interrupt Flag    */\r
182                         TMCSR2_UF = 0;\r
183                         \r
184                         /* Enable Interrupt     */\r
185                         TMCSR2_INTE = 1;\r
186                         break;\r
187                 }       \r
188                 case 3:\r
189                 {\r
190                         /*      Clear Pending Interrupt Flag    */\r
191                         TMCSR3_UF = 0;\r
192                         \r
193                         /* Enable Interrupt     */\r
194                         TMCSR3_INTE = 1;\r
195                         break;\r
196                 }       \r
197                 case 4:\r
198                 {\r
199                         /*      Clear Pending Interrupt Flag    */\r
200                         TMCSR4_UF = 0;\r
201                         \r
202                         /* Enable Interrupt     */\r
203                         TMCSR4_INTE = 1;\r
204                         break;\r
205                 }       \r
206                 case 5:\r
207                 {\r
208                         /*      Clear Pending Interrupt Flag    */\r
209                         TMCSR5_UF = 0;\r
210                         \r
211                         /* Enable Interrupt     */\r
212                         TMCSR5_INTE = 1;\r
213                         break;\r
214                 }       \r
215                 case 6:\r
216                 {\r
217                         /*      Clear Pending Interrupt Flag    */\r
218                         TMCSR6_UF = 0;\r
219                         \r
220                         /* Enable Interrupt     */\r
221                         TMCSR6_INTE = 1;\r
222                         break;\r
223                 }       \r
224                 case 7:\r
225                 {\r
226                         /*      Clear Pending Interrupt Flag    */\r
227                         TMCSR7_UF = 0;\r
228                         \r
229                         /* Enable Interrupt     */\r
230                         TMCSR7_INTE = 1;\r
231                         break;\r
232                 }\r
233         }\r
234 }\r
235 \r
236 __interrupt void RLT_Channel0_ISR()\r
237 {\r
238         /*      Clear Pending Interrupt Flag    */\r
239         TMCSR0_UF = 0;\r
240         \r
241         /*      Do what you have to do  */\r
242         PDR27++;\r
243 }\r
244 \r
245 __interrupt void RLT_Channel1_ISR()\r
246 {\r
247         /*      Clear Pending Interrupt Flag    */\r
248         TMCSR1_UF = 0;\r
249         \r
250         /*      Do what you have to do  */\r
251 }\r
252 \r
253 __interrupt void RLT_Channel2_ISR()\r
254 {\r
255         /*      Clear Pending Interrupt Flag    */\r
256         TMCSR2_UF = 0;\r
257         \r
258         /*      Do what you have to do  */\r
259 }\r
260 \r
261 __interrupt void RLT_Channel3_ISR()\r
262 {\r
263         /*      Clear Pending Interrupt Flag    */\r
264         TMCSR3_UF = 0;\r
265         \r
266         /*      Do what you have to do  */\r
267 }\r
268 \r
269 __interrupt void RLT_Channel4_ISR()\r
270 {\r
271         /*      Clear Pending Interrupt Flag    */\r
272         TMCSR4_UF = 0;\r
273         \r
274         /*      Do what you have to do  */\r
275 }\r
276 \r
277 __interrupt void RLT_Channel5_ISR()\r
278 {\r
279         /*      Clear Pending Interrupt Flag    */\r
280         TMCSR5_UF = 0;\r
281         \r
282         /*      Do what you have to do  */\r
283 }\r
284 \r
285 __interrupt void RLT_Channel6_ISR()\r
286 {\r
287         /*      Clear Pending Interrupt Flag    */\r
288         TMCSR6_UF = 0;\r
289         \r
290         /*      Do what you have to do  */\r
291 }\r
292 \r
293 __interrupt void RLT_Channel7_ISR()\r
294 {\r
295         /*      Clear Pending Interrupt Flag    */\r
296         TMCSR7_UF = 0;\r
297         \r
298         /*      Do what you have to do  */\r
299 }\r