Statistics
| Branch: | Revision:

root / arduino-1.0 / hardware / arduino / bootloaders / stk500v2 / avrinterruptnames.h @ 58d82c77

History | View | Annotate | Download (19.1 KB)

1
//**************************************************************************************************
2
//*
3
//*        interrupt vector names
4
//*
5
//*                It is important to note that the vector numbers listed here
6
//*                are the ATMEL documentation numbers. The Arduino numbers are 1 less
7
//*                This is because the Atmel docs start numbering the interrupts at 1
8
//*                when it is actually vector #0 in the table.
9
//**************************************************************************************************
10
//*        Jun  1,        2010        <MLS> Added support for ATmega1281
11
//*        Jun 30,        2010        <MLS> Putting in more ifdefs to conserve space
12
//*        Jul  3,        2010        <MLS> More #ifdefs to conserve space and testing on most of my boards
13
//*        Jul  4,        2010        <MLS> Started using vector defs for #ifdefs as defined in <avr/io.h>
14
//*        Jul 13,        2010        <MLS> Added support for __AVR_ATmega128__
15
//*        Aug 26,        2010        <MLS> Added support for __AVR_ATmega2561__
16
//**************************************************************************************************
17

    
18
//#include        "avrinterruptnames.h"
19

    
20
//**************************************************************************************************
21
//*        this defines the interrupt vectors and allows us to compile ONLY those strings that are actually 
22
//*        in the target CPU. This way we do not have to keep making changes based on cpu, it will be 
23
//*        automatic even if we add a new CPU
24
#ifndef _AVR_IO_H_
25
        #include        <avr/io.h>
26
#endif
27
//**************************************************************************************************
28

    
29
#ifdef __MWERKS__
30
        #define        prog_char        char
31
        #define        PGM_P                char *
32
#endif
33

    
34
        prog_char        gAvrInt_RESET[]                        PROGMEM        =        "RESET";
35
#ifdef INT0_vect
36
        prog_char        gAvrInt_INT0[]                        PROGMEM        =        "INT0";
37
#endif
38
#ifdef INT1_vect
39
        prog_char        gAvrInt_INT1[]                        PROGMEM        =        "INT1";
40
#endif
41
#ifdef INT2_vect
42
        prog_char        gAvrInt_INT2[]                        PROGMEM        =        "INT2";
43
#endif
44
#ifdef INT3_vect
45
        prog_char        gAvrInt_INT3[]                        PROGMEM        =        "INT3";
46
#endif
47
#ifdef INT4_vect
48
        prog_char        gAvrInt_INT4[]                        PROGMEM        =        "INT4";
49
#endif
50
#ifdef INT5_vect
51
        prog_char        gAvrInt_INT5[]                        PROGMEM        =        "INT5";
52
#endif
53
#ifdef INT6_vect
54
        prog_char        gAvrInt_INT6[]                        PROGMEM        =        "INT6";
55
#endif
56
#ifdef INT7_vect
57
        prog_char        gAvrInt_INT7[]                        PROGMEM        =        "INT7";
58
#endif
59
#ifdef PCINT0_vect
60
        prog_char        gAvrInt_PCINT0[]                PROGMEM        =        "PCINT0";
61
#endif
62
#ifdef PCINT1_vect
63
        prog_char        gAvrInt_PCINT1[]                PROGMEM        =        "PCINT1";
64
#endif
65
#ifdef PCINT2_vect
66
        prog_char        gAvrInt_PCINT2[]                PROGMEM        =        "PCINT2";
67
#endif
68
#ifdef PCINT3_vect
69
        prog_char        gAvrInt_PCINT3[]                PROGMEM        =        "PCINT3";
70
#endif
71
#ifdef WDT_vect
72
        prog_char        gAvrInt_WDT[]                        PROGMEM        =        "WDT";
73
#endif
74
#ifdef TIMER0_COMP_vect
75
        prog_char        gAvrInt_TIMER0_COMP[]        PROGMEM        =        "TIMER0 COMP";
76
#endif
77
#ifdef TIMER0_COMPA_vect
78
        prog_char        gAvrInt_TIMER0_COMPA[]        PROGMEM        =        "TIMER0 COMPA";
79
#endif
80
#ifdef TIMER0_COMPB_vect
81
        prog_char        gAvrInt_TIMER0_COMPB[]        PROGMEM        =        "TIMER0 COMPB";
82
#endif
83
#ifdef TIMER0_OVF_vect
84
        prog_char        gAvrInt_TIMER0_OVF[]        PROGMEM        =        "TIMER0 OVF";
85
#endif
86
#ifdef TIMER1_CAPT_vect
87
        prog_char        gAvrInt_TIMER1_CAPT[]        PROGMEM        =        "TIMER1 CAPT";
88
#endif
89
#ifdef TIMER1_COMPA_vect
90
        prog_char        gAvrInt_TIMER1_COMPA[]        PROGMEM        =        "TIMER1 COMPA";
91
#endif
92
#ifdef TIMER1_COMPB_vect
93
        prog_char        gAvrInt_TIMER1_COMPB[]        PROGMEM        =        "TIMER1 COMPB";
94
#endif
95
#ifdef TIMER1_COMPC_vect
96
        prog_char        gAvrInt_TIMER1_COMPC[]        PROGMEM        =        "TIMER1 COMPC";
97
#endif
98
#ifdef TIMER1_OVF_vect
99
        prog_char        gAvrInt_TIMER1_OVF[]        PROGMEM        =        "TIMER1 OVF";
100
#endif
101
#ifdef TIMER2_COMP_vect
102
        prog_char        gAvrInt_TIMER2_COMP[]        PROGMEM        =        "TIMER2 COMP";
103
#endif
104
#ifdef TIMER2_COMPA_vect
105
        prog_char        gAvrInt_TIMER2_COMPA[]        PROGMEM        =        "TIMER2 COMPA";
106
#endif
107
#ifdef TIMER2_COMPB_vect
108
        prog_char        gAvrInt_TIMER2_COMPB[]        PROGMEM        =        "TIMER2 COMPB";
109
#endif
110
#ifdef TIMER2_OVF_vect
111
        prog_char        gAvrInt_TIMER2_OVF[]        PROGMEM        =        "TIMER2 OVF";
112
#endif
113
#ifdef TIMER3_CAPT_vect
114
        prog_char        gAvrInt_TIMER3_CAPT[]        PROGMEM        =        "TIMER3 CAPT";
115
#endif
116
#ifdef TIMER3_COMPA_vect
117
        prog_char        gAvrInt_TIMER3_COMPA[]        PROGMEM        =        "TIMER3 COMPA";
118
#endif
119
#ifdef TIMER3_COMPB_vect
120
        prog_char        gAvrInt_TIMER3_COMPB[]        PROGMEM        =        "TIMER3 COMPB";
121
#endif
122
#ifdef TIMER3_COMPC_vect
123
        prog_char        gAvrInt_TIMER3_COMPC[]        PROGMEM        =        "TIMER3 COMPC";
124
#endif
125
#ifdef TIMER3_OVF_vect
126
        prog_char        gAvrInt_TIMER3_OVF[]        PROGMEM        =        "TIMER3 OVF";
127
#endif
128
#ifdef TIMER4_CAPT_vect
129
        prog_char        gAvrInt_TIMER4_CAPT[]        PROGMEM        =        "TIMER4 CAPT";
130
#endif
131
#ifdef TIMER4_COMPA_vect
132
        prog_char        gAvrInt_TIMER4_COMPA[]        PROGMEM        =        "TIMER4 COMPA";
133
#endif
134
#ifdef TIMER4_COMPB_vect
135
        prog_char        gAvrInt_TIMER4_COMPB[]        PROGMEM        =        "TIMER4 COMPB";
136
#endif
137
#ifdef TIMER4_COMPC_vect
138
        prog_char        gAvrInt_TIMER4_COMPC[]        PROGMEM        =        "TIMER4 COMPC";
139
#endif
140
#ifdef TIMER4_COMPD_vect
141
        prog_char        gAvrInt_TIMER4_COMPD[]        PROGMEM        =        "TIMER4 COMPD";
142
#endif
143
#ifdef TIMER4_OVF_vect
144
        prog_char        gAvrInt_TIMER4_OVF[]        PROGMEM        =        "TIMER4 OVF";
145
#endif
146
#ifdef TIMER4_FPF_vect
147
        prog_char        gAvrInt_TIMER4_FPF[]        PROGMEM        =        "TIMER4 Fault Protection";
148
#endif
149
#ifdef TIMER5_CAPT_vect
150
        prog_char        gAvrInt_TIMER5_CAPT[]        PROGMEM        =        "TIMER5 CAPT";
151
#endif
152
#ifdef TIMER5_COMPA_vect
153
        prog_char        gAvrInt_TIMER5_COMPA[]        PROGMEM        =        "TIMER5 COMPA";
154
#endif
155
#ifdef TIMER5_COMPB_vect
156
        prog_char        gAvrInt_TIMER5_COMPB[]        PROGMEM        =        "TIMER5 COMPB";
157
#endif
158
#ifdef TIMER5_COMPC_vect
159
        prog_char        gAvrInt_TIMER5_COMPC[]        PROGMEM        =        "TIMER5 COMPC";
160
#endif
161
#ifdef TIMER5_OVF_vect
162
        prog_char        gAvrInt_TIMER5_OVF[]        PROGMEM        =        "TIMER5 OVF";
163
#endif
164

    
165
//*        when there is only 1 usart
166
#if defined(USART_RX_vect) || defined(USART_RXC_vect)
167
        prog_char        gAvrInt_USART_RX[]                PROGMEM        =        "USART RX";
168
#endif
169
#if defined(USART_UDRE_vect)
170
        prog_char        gAvrInt_USART_UDRE[]        PROGMEM        =        "USART UDRE";
171
#endif
172
#if defined(USART_TX_vect) || defined(USART_TXC_vect)
173
        prog_char        gAvrInt_USART_TX[]                PROGMEM        =        "USART TX";
174
#endif
175

    
176

    
177
//*        usart 0
178
#if defined(USART0_RX_vect)
179
        prog_char        gAvrInt_USART0_RX[]                PROGMEM        =        "USART0 RX";
180
#endif
181
#if defined(USART0_UDRE_vect)
182
        prog_char        gAvrInt_USART0_UDRE[]        PROGMEM        =        "USART0 UDRE";
183
#endif
184
#if defined(USART0_TX_vect)
185
        prog_char        gAvrInt_USART0_TX[]                PROGMEM        =        "USART0 TX";
186
#endif
187

    
188

    
189
//*        usart 1
190
#ifdef USART1_RX_vect
191
        prog_char        gAvrInt_USART1_RX[]                PROGMEM        =        "USART1 RX";
192
#endif
193
#ifdef USART1_UDRE_vect
194
        prog_char        gAvrInt_USART1_UDRE[]        PROGMEM        =        "USART1 UDRE";
195
#endif
196
#ifdef USART1_TX_vect
197
        prog_char        gAvrInt_USART1_TX[]                PROGMEM        =        "USART1 TX";
198
#endif
199

    
200
//*        usart 2
201
#ifdef USART2_RX_vect
202
        prog_char        gAvrInt_USART2_RX[]                PROGMEM        =        "USART2 RX";
203
#endif
204
#ifdef USART2_UDRE_vect
205
        prog_char        gAvrInt_USART2_UDRE[]        PROGMEM        =        "USART2 UDRE";
206
#endif
207
#ifdef USART2_TX_vect
208
        prog_char        gAvrInt_USART2_TX[]                PROGMEM        =        "USART2 TX";
209
#endif
210

    
211
//*        usart 3
212
#ifdef USART3_RX_vect
213
        prog_char        gAvrInt_USART3_RX[]                PROGMEM        =        "USART3 RX";
214
#endif
215
#ifdef USART3_UDRE_vect
216
        prog_char        gAvrInt_USART3_UDRE[]        PROGMEM        =        "USART3 UDRE";
217
#endif
218
#ifdef USART3_TX_vect
219
        prog_char        gAvrInt_USART3_TX[]                PROGMEM        =        "USART3 TX";
220
#endif
221
#ifdef SPI_STC_vect
222
        prog_char        gAvrInt_SPI_STC[]                PROGMEM        =        "SPI STC";
223
#endif
224
#ifdef ADC_vect
225
        prog_char        gAvrInt_ADC[]                        PROGMEM        =        "ADC";
226
#endif
227
#if defined(ANALOG_COMP_vect) || defined(ANA_COMP_vect)
228
        prog_char        gAvrInt_ANALOG_COMP[]        PROGMEM        =        "ANALOG COMP";
229
#endif
230
#if defined(EE_READY_vect) || defined(EE_RDY_vect)
231
        prog_char        gAvrInt_EE_READY[]                PROGMEM        =        "EE READY";
232
#endif
233
#ifdef TWI_vect
234
        prog_char        gAvrInt_TWI[]                        PROGMEM        =        "TWI";
235
#endif
236
#if defined(SPM_READY_vect) || defined(SPM_RDY_vect)
237
        prog_char        gAvrInt_SPM_READY[]                PROGMEM        =        "SPM READY";
238
#endif
239
#ifdef USI_START_vect
240
        prog_char        gAvrInt_USI_START[]                PROGMEM        =        "USI START";
241
#endif
242
#ifdef USI_OVERFLOW_vect
243
        prog_char        gAvrInt_USI_OVERFLOW[]        PROGMEM        =        "USI OVERFLOW";
244
#endif
245
#ifdef USB_GEN_vect
246
        prog_char        gAvrInt_USB_General[]        PROGMEM        =        "USB General";
247
#endif
248
#ifdef USB_COM_vect
249
        prog_char        gAvrInt_USB_Endpoint[]        PROGMEM        =        "USB Endpoint";
250
#endif
251

    
252
#ifdef LCD_vect
253
        prog_char        gAvrInt_LCD_StartFrame[]        PROGMEM        =        "LCD Start of Frame";
254
#endif
255

    
256

    
257
//**************************************************************************************************
258
//*        these do not have vector defs and have to be done by CPU type
259
#if defined(__AVR_ATmega645__ ) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
260
        prog_char        gAvrInt_NOT_USED[]                PROGMEM        =        "NOT_USED";
261
#endif
262
#if defined(__AVR_ATmega32U4__)
263
        prog_char        gAvrInt_RESERVED[]                PROGMEM        =        "Reserved";
264
#endif
265

    
266
        prog_char        gAvrInt_END[]                        PROGMEM        =        "*";
267

    
268

    
269

    
270

    
271

    
272
//**************************************************************************************************
273
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
274
#pragma mark __AVR_ATmega168__ / __AVR_ATmega328P__
275

    
276
#define        _INTERRUPT_NAMES_DEFINED_
277

    
278
PGM_P gInterruptNameTable[]        PROGMEM =
279
{
280

    
281
        gAvrInt_RESET,                        //        1
282
        gAvrInt_INT0,                        //        2
283
        gAvrInt_INT1,                        //        3
284
        gAvrInt_PCINT0,                        //        4
285
        gAvrInt_PCINT1,                        //        5
286
        gAvrInt_PCINT2,                        //        6
287
        gAvrInt_WDT,                        //        7
288
        gAvrInt_TIMER2_COMPA,        //        8
289
        gAvrInt_TIMER2_COMPB,        //        9
290
        gAvrInt_TIMER2_OVF,                //        10
291
        gAvrInt_TIMER1_CAPT,        //        11
292
        gAvrInt_TIMER1_COMPA,        //        12
293
        gAvrInt_TIMER1_COMPB,        //        13
294
        gAvrInt_TIMER1_OVF,                //        14
295
        gAvrInt_TIMER0_COMPA,        //        15
296
        gAvrInt_TIMER0_COMPB,        //        16
297
        gAvrInt_TIMER0_OVF,                //        17
298
        gAvrInt_SPI_STC,                //        18
299
        gAvrInt_USART_RX,                //        19
300
        gAvrInt_USART_UDRE,        //        20
301
        gAvrInt_USART_TX,                //        21
302
        gAvrInt_ADC,                        //        22
303
        gAvrInt_EE_READY,                //        23
304
        gAvrInt_ANALOG_COMP,        //        24
305
        gAvrInt_TWI,                        //        25
306
        gAvrInt_SPM_READY,                //        26
307
};
308

    
309
#endif
310

    
311
//**************************************************************************************************
312
#pragma mark __AVR_ATmega169__
313
#if defined(__AVR_ATmega169__)
314

    
315
#define        _INTERRUPT_NAMES_DEFINED_
316

    
317
PGM_P gInterruptNameTable[]        PROGMEM =
318
{
319

    
320
        gAvrInt_RESET,                        //        1
321
        gAvrInt_INT0,                        //        2
322
        gAvrInt_PCINT0,                        //        3
323
        gAvrInt_PCINT1,                        //        4
324
        gAvrInt_TIMER2_COMP,        //        5
325
        gAvrInt_TIMER2_OVF,                //        6
326
        gAvrInt_TIMER1_CAPT,        //        7
327
        gAvrInt_TIMER1_COMPA,        //        8
328
        gAvrInt_TIMER1_COMPB,        //        9
329
        gAvrInt_TIMER1_OVF,                //        10
330
        gAvrInt_TIMER0_COMP,        //        11
331
        gAvrInt_TIMER0_OVF,                //        12
332
        gAvrInt_SPI_STC,                //        13
333
        gAvrInt_USART0_RX,                //        14
334
        gAvrInt_USART0_UDRE,        //        15
335
        gAvrInt_USART0_TX,                //        16
336
        gAvrInt_USI_START,                //        17
337
        gAvrInt_USI_OVERFLOW,        //        18
338
        gAvrInt_ANALOG_COMP,        //        19
339
        gAvrInt_ADC,                        //        20
340
        gAvrInt_EE_READY,                //        21
341
        gAvrInt_SPM_READY,                //        22
342
        gAvrInt_LCD_StartFrame,        //        23
343

    
344
};
345

    
346
#endif
347

    
348

    
349
//**************************************************************************************************
350
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)
351
#pragma mark __AVR_ATmega640__ __AVR_ATmega1280__ __AVR_ATmega1281__ __AVR_ATmega2560__ __AVR_ATmega2561__
352

    
353
#define        _INTERRUPT_NAMES_DEFINED_
354

    
355
PGM_P gInterruptNameTable[]        PROGMEM =
356
{
357

    
358
        gAvrInt_RESET,                        //        1
359
        gAvrInt_INT0,                        //        2
360
        gAvrInt_INT1,                        //        3
361
        gAvrInt_INT2,                        //        4
362
        gAvrInt_INT3,                        //        5
363
        gAvrInt_INT4,                        //        6
364
        gAvrInt_INT5,                        //        7
365
        gAvrInt_INT6,                        //        8
366
        gAvrInt_INT7,                        //        9
367
        gAvrInt_PCINT0,                        //        10
368
        gAvrInt_PCINT1,                        //        11
369
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
370
        gAvrInt_PCINT2,                        //        12
371
#else
372
        gAvrInt_NOT_USED,                //        12
373
#endif
374
        gAvrInt_WDT,                        //        13
375
        gAvrInt_TIMER2_COMPA,        //        14
376
        gAvrInt_TIMER2_COMPB,        //        15
377
        gAvrInt_TIMER2_OVF,                //        16
378
        gAvrInt_TIMER1_CAPT,        //        17
379
        gAvrInt_TIMER1_COMPA,        //        18
380
        gAvrInt_TIMER1_COMPB,        //        19
381
        gAvrInt_TIMER1_COMPC,        //        20
382
        gAvrInt_TIMER1_OVF,                //        21
383
        gAvrInt_TIMER0_COMPA,        //        22
384
        gAvrInt_TIMER0_COMPB,        //        23
385
        gAvrInt_TIMER0_OVF,                //        24
386
        gAvrInt_SPI_STC,                //        25
387

    
388
        gAvrInt_USART0_RX,                //        26
389
        gAvrInt_USART0_UDRE,        //        27
390
        gAvrInt_USART0_TX,                //        28
391
        gAvrInt_ANALOG_COMP,        //        29
392
        gAvrInt_ADC,                        //        30
393
        gAvrInt_EE_READY,                //        31
394

    
395
        gAvrInt_TIMER3_CAPT,        //        32
396
        gAvrInt_TIMER3_COMPA,        //        33
397
        gAvrInt_TIMER3_COMPB,        //        34
398
        gAvrInt_TIMER3_COMPC,        //        35
399
        gAvrInt_TIMER3_OVF,                //        36
400

    
401
        gAvrInt_USART1_RX,                //        37
402
        gAvrInt_USART1_UDRE,        //        38
403
        gAvrInt_USART1_TX,                //        39
404
        gAvrInt_TWI,                        //        40
405
        gAvrInt_SPM_READY,                //        41
406
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
407
        gAvrInt_TIMER4_CAPT,        //        42
408
#else
409
        gAvrInt_NOT_USED,                //        42
410
#endif
411
        gAvrInt_TIMER4_COMPA,        //        43
412
        gAvrInt_TIMER4_COMPB,        //        44
413
        gAvrInt_TIMER4_COMPC,        //        45
414
        gAvrInt_TIMER4_OVF,                //        46
415
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
416
        gAvrInt_TIMER5_CAPT,        //        47
417
#else
418
        gAvrInt_NOT_USED,                //        47
419
#endif
420
        gAvrInt_TIMER5_COMPA,        //        48
421
        gAvrInt_TIMER5_COMPB,        //        49
422
        gAvrInt_TIMER5_COMPC,        //        50
423
        gAvrInt_TIMER5_OVF,                //        51
424

    
425
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
426
        gAvrInt_USART2_RX,                //        52
427
        gAvrInt_USART2_UDRE,        //        53
428
        gAvrInt_USART2_TX,                //        54
429

    
430
        gAvrInt_USART3_RX,                //        55
431
        gAvrInt_USART3_UDRE,        //        56
432
        gAvrInt_USART3_TX,                //        57
433
#endif
434

    
435
};
436

    
437
#endif
438

    
439

    
440

    
441
//**************************************************************************************************
442
#if defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
443
#pragma mark __AVR_ATmega324P__  __AVR_ATmega644__ __AVR_ATmega644P__ __AVR_ATmega1284P__
444

    
445
#define        _INTERRUPT_NAMES_DEFINED_
446

    
447
PGM_P gInterruptNameTable[]        PROGMEM =
448
{
449

    
450
        gAvrInt_RESET,                        //        1
451
        gAvrInt_INT0,                        //        2
452
        gAvrInt_INT1,                        //        3
453
        gAvrInt_INT2,                        //        4
454
        gAvrInt_PCINT0,                        //        5
455
        gAvrInt_PCINT1,                        //        6
456
        gAvrInt_PCINT2,                        //        7
457
        gAvrInt_PCINT3,                        //        8
458
        gAvrInt_WDT,                        //        9
459
        gAvrInt_TIMER2_COMPA,        //        10
460
        gAvrInt_TIMER2_COMPB,        //        11
461
        gAvrInt_TIMER2_OVF,                //        12
462
        gAvrInt_TIMER1_CAPT,        //        13
463
        gAvrInt_TIMER1_COMPA,        //        14
464
        gAvrInt_TIMER1_COMPB,        //        15
465
        gAvrInt_TIMER1_OVF,                //        16
466
        gAvrInt_TIMER0_COMPA,        //        17
467
        gAvrInt_TIMER0_COMPB,        //        18
468
        gAvrInt_TIMER0_OVF,                //        19
469
        gAvrInt_SPI_STC,                //        20
470
        gAvrInt_USART0_RX,                //        21
471
        gAvrInt_USART0_UDRE,        //        22
472
        gAvrInt_USART0_TX,                //        23
473
        gAvrInt_ANALOG_COMP,        //        24
474
        gAvrInt_ADC,                        //        25
475
        gAvrInt_EE_READY,                //        26
476
        gAvrInt_TWI,                        //        27
477
        gAvrInt_SPM_READY,                //        28
478

    
479
#if defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega644P__)
480
        gAvrInt_USART1_RX,                //        29
481
        gAvrInt_USART1_UDRE,        //        30
482
        gAvrInt_USART1_TX,                //        31
483
#endif
484

    
485
};
486

    
487

    
488
#endif
489

    
490
//**************************************************************************************************
491
#if defined(__AVR_ATmega645__ )
492
#pragma mark __AVR_ATmega645__
493

    
494
#define        _INTERRUPT_NAMES_DEFINED_
495

    
496
PGM_P gInterruptNameTable[]        PROGMEM =
497
{
498

    
499
        gAvrInt_RESET,                        //        1
500
        gAvrInt_INT0,                        //        2
501
        gAvrInt_PCINT0,                        //        3
502
        gAvrInt_PCINT1,                        //        4
503
        gAvrInt_TIMER2_COMP,        //        5
504
        gAvrInt_TIMER2_OVF,                //        6
505
        gAvrInt_TIMER1_CAPT,        //        7
506
        gAvrInt_TIMER1_COMPA,        //        8
507
        gAvrInt_TIMER1_COMPB,        //        9
508
        gAvrInt_TIMER1_OVF,                //        10
509
        gAvrInt_TIMER0_COMP,        //        11
510
        gAvrInt_TIMER0_OVF,                //        12
511
        gAvrInt_SPI_STC,                //        13
512
        gAvrInt_USART0_RX,                //        14
513
        gAvrInt_USART0_UDRE,        //        15
514
        gAvrInt_USART0_TX,                //        16
515
        gAvrInt_USI_START,                //        17
516
        gAvrInt_USI_OVERFLOW,        //        18
517
        gAvrInt_ANALOG_COMP,        //        19
518
        gAvrInt_ADC,                        //        20
519
        gAvrInt_EE_READY,                //        21
520
        gAvrInt_SPM_READY,                //        22
521
        gAvrInt_NOT_USED,                //        23
522

    
523
#if defined(__AVR_ATmega3250__) || defined(__AVR_ATmega6450__)
524
        gAvrInt_PCINT2,                        //        24
525
        gAvrInt_PCINT3,                        //        25
526
#endif
527
};
528

    
529

    
530
#endif
531

    
532

    
533
//**************************************************************************************************
534
#if defined(__AVR_ATmega32__ )
535
#pragma mark __AVR_ATmega32__
536

    
537
#define        _INTERRUPT_NAMES_DEFINED_
538

    
539
PGM_P gInterruptNameTable[]        PROGMEM =
540
{
541

    
542
        gAvrInt_RESET,                        //        1
543
        gAvrInt_INT0,                        //        2
544
        gAvrInt_INT1,                        //        3
545
        gAvrInt_INT2,                        //        4
546
        gAvrInt_TIMER2_COMP,        //        5
547
        gAvrInt_TIMER2_OVF,                //        6
548
        gAvrInt_TIMER1_CAPT,        //        7
549
        gAvrInt_TIMER1_COMPA,        //        8
550
        gAvrInt_TIMER1_COMPB,        //        9
551
        gAvrInt_TIMER1_OVF,                //        10
552
        gAvrInt_TIMER0_COMP,        //        11
553
        gAvrInt_TIMER0_OVF,                //        12
554
        gAvrInt_SPI_STC,                //        13
555
        gAvrInt_USART_RX,                //        14
556
        gAvrInt_USART_UDRE,                //        15
557
        gAvrInt_USART_TX,                //        16
558
        gAvrInt_ADC,                        //        17
559
        gAvrInt_EE_READY,                //        18
560
        gAvrInt_ANALOG_COMP,        //        19
561
        gAvrInt_TWI,                        //        20
562
        gAvrInt_SPM_READY,                //        21
563

    
564
};
565

    
566

    
567
#endif
568

    
569
//**************************************************************************************************
570
#if defined(__AVR_ATmega32U4__)
571
#pragma mark __AVR_ATmega32U4__
572
//*        teensy 2.0
573
//*        http://www.pjrc.com/teensy/pinout.html
574
#define        _INTERRUPT_NAMES_DEFINED_
575

    
576

    
577
PGM_P gInterruptNameTable[]        PROGMEM =
578
{
579

    
580
        gAvrInt_RESET,                        //        1
581
        gAvrInt_INT0,                        //        2
582
        gAvrInt_INT1,                        //        3
583
        gAvrInt_INT2,                        //        4
584
        gAvrInt_INT3,                        //        5
585
        gAvrInt_RESERVED,                //        6
586
        gAvrInt_RESERVED,                //        7
587
        gAvrInt_INT6,                        //        8
588
        gAvrInt_RESERVED,                //        9
589
        gAvrInt_PCINT0,                        //        10
590
        gAvrInt_USB_General,        //        11
591
        gAvrInt_USB_Endpoint,        //        12
592
        gAvrInt_WDT,                        //        13
593
        gAvrInt_RESERVED,                //        14
594
        gAvrInt_RESERVED,                //        15
595
        gAvrInt_RESERVED,                //        16
596
        gAvrInt_TIMER1_CAPT,        //        17
597
        gAvrInt_TIMER1_COMPA,        //        18
598
        gAvrInt_TIMER1_COMPB,        //        19
599
        gAvrInt_TIMER1_COMPC,        //        20
600
        gAvrInt_TIMER1_OVF,                //        21
601
        gAvrInt_TIMER0_COMPA,        //        22
602
        gAvrInt_TIMER0_COMPB,        //        23
603
        gAvrInt_TIMER0_OVF,                //        24
604
        gAvrInt_SPI_STC,                //        25
605

    
606
        gAvrInt_USART1_RX,                //        26
607
        gAvrInt_USART1_UDRE,        //        27
608
        gAvrInt_USART1_TX,                //        28
609
        gAvrInt_ANALOG_COMP,        //        29
610
        
611
        gAvrInt_ADC,                        //        30
612
        gAvrInt_EE_READY,                //        31
613

    
614
        gAvrInt_TIMER3_CAPT,        //        32
615
        gAvrInt_TIMER3_COMPA,        //        33
616
        gAvrInt_TIMER3_COMPB,        //        34
617
        gAvrInt_TIMER3_COMPC,        //        35
618
        gAvrInt_TIMER3_OVF,                //        36
619
        gAvrInt_TWI,                        //        37
620
        gAvrInt_SPM_READY,                //        38
621

    
622
        gAvrInt_TIMER4_COMPA,        //        39
623
        gAvrInt_TIMER4_COMPB,        //        40
624
        gAvrInt_TIMER4_COMPD,        //        41
625
        gAvrInt_TIMER4_OVF,                //        42
626
        gAvrInt_TIMER4_FPF,                //        43
627
};
628

    
629
#endif
630

    
631
//**************************************************************************************************
632
#if defined(__AVR_AT90USB1286__)
633
#pragma mark __AVR_AT90USB1286__
634
//*        teensy++ 2.0
635
//*        http://www.pjrc.com/teensy/pinout.html
636
#define        _INTERRUPT_NAMES_DEFINED_
637

    
638

    
639
PGM_P gInterruptNameTable[]        PROGMEM =
640
{
641

    
642
        gAvrInt_RESET,                        //        1
643
        gAvrInt_INT0,                        //        2
644
        gAvrInt_INT1,                        //        3
645
        gAvrInt_INT2,                        //        4
646
        gAvrInt_INT3,                        //        5
647
        gAvrInt_INT4,                        //        6
648
        gAvrInt_INT5,                        //        7
649
        gAvrInt_INT6,                        //        8
650
        gAvrInt_INT7,                        //        9
651
        gAvrInt_PCINT0,                        //        10
652
        gAvrInt_USB_General,        //        11
653
        gAvrInt_USB_Endpoint,        //        12
654
        gAvrInt_WDT,                        //        13
655
        gAvrInt_TIMER2_COMPA,        //        14
656
        gAvrInt_TIMER2_COMPB,        //        15
657
        gAvrInt_TIMER2_OVF,                //        16
658
        gAvrInt_TIMER1_CAPT,        //        17
659
        gAvrInt_TIMER1_COMPA,        //        18
660
        gAvrInt_TIMER1_COMPB,        //        19
661
        gAvrInt_TIMER1_COMPC,        //        20
662
        gAvrInt_TIMER1_OVF,                //        21
663
        gAvrInt_TIMER0_COMPA,        //        22
664
        gAvrInt_TIMER0_COMPB,        //        23
665
        gAvrInt_TIMER0_OVF,                //        24
666
        gAvrInt_SPI_STC,                //        25
667

    
668
        gAvrInt_USART1_RX,                //        26
669
        gAvrInt_USART1_UDRE,        //        27
670
        gAvrInt_USART1_TX,                //        28
671
        gAvrInt_ANALOG_COMP,        //        29
672
        
673
        gAvrInt_ADC,                        //        30
674
        gAvrInt_EE_READY,                //        31
675

    
676
        gAvrInt_TIMER3_CAPT,        //        32
677
        gAvrInt_TIMER3_COMPA,        //        33
678
        gAvrInt_TIMER3_COMPB,        //        34
679
        gAvrInt_TIMER3_COMPC,        //        35
680
        gAvrInt_TIMER3_OVF,                //        36
681
        gAvrInt_TWI,                        //        37
682
        gAvrInt_SPM_READY,                //        38
683

    
684
};
685

    
686
#endif
687

    
688

    
689

    
690

    
691
//**************************************************************************************************
692
#if defined(__AVR_ATmega128__)
693
#pragma mark __AVR_ATmega128__
694
#define        _INTERRUPT_NAMES_DEFINED_
695

    
696

    
697
PGM_P gInterruptNameTable[]        PROGMEM =
698
{
699

    
700
        gAvrInt_RESET,                        //        1
701
        gAvrInt_INT0,                        //        2
702
        gAvrInt_INT1,                        //        3
703
        gAvrInt_INT2,                        //        4
704
        gAvrInt_INT3,                        //        5
705
        gAvrInt_INT4,                        //        6
706
        gAvrInt_INT5,                        //        7
707
        gAvrInt_INT6,                        //        8
708
        gAvrInt_INT7,                        //        9
709
        gAvrInt_TIMER2_COMP,        //        10
710
        gAvrInt_TIMER2_OVF,                //        11
711
        gAvrInt_TIMER1_CAPT,        //        12
712
        gAvrInt_TIMER1_COMPA,        //        13
713
        gAvrInt_TIMER1_COMPB,        //        14
714
        gAvrInt_TIMER1_OVF,                //        15
715
        gAvrInt_TIMER0_COMP,        //        16
716
        gAvrInt_TIMER0_OVF,                //        17
717
        gAvrInt_SPI_STC,                //        18
718
        gAvrInt_USART0_RX,                //        19
719
        gAvrInt_USART0_UDRE,        //        20
720
        gAvrInt_USART0_TX,                //        21
721
        gAvrInt_ADC,                        //        22
722
        gAvrInt_EE_READY,                //        23
723
        gAvrInt_ANALOG_COMP,        //        24
724
        gAvrInt_TIMER1_COMPC,        //        25
725
        gAvrInt_TIMER3_CAPT,        //        26
726
        gAvrInt_TIMER3_COMPA,        //        27
727
        gAvrInt_TIMER3_COMPB,        //        28
728
        gAvrInt_TIMER3_COMPC,        //        29
729
        gAvrInt_TIMER3_OVF,                //        30
730
        gAvrInt_USART1_RX,                //        31
731
        gAvrInt_USART1_UDRE,        //        32
732
        gAvrInt_USART1_TX,                //        33
733
        gAvrInt_TWI,                        //        34
734
        gAvrInt_SPM_READY,                //        35
735

    
736
};
737

    
738
#endif
739

    
740
#if !defined(_INTERRUPT_NAMES_DEFINED_)
741
        #warning        No interrupt string defs for this cpu
742
#endif