Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
198 arune 1
/* vim: sw=8 ts=8 si et: */
2
/****************************************************************************
3
* Title   :   compatibility module for forward compatibility with
4
              newer ARV C compiler which does not have older
5
              macros
6
* Authors:    Guido Socher
7
* Copyright: GPL
8
*
9
*        
10
*****************************************************************************/
11
#ifndef AVR_COMPAT_H
12
#define AVR_COMPAT_H
13
 
14
// uncomment the following line if you have avr-1.2.x or less:
15
//#define ALIBC_OLD 1
16
 
17
#ifndef cbi
18
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
19
#endif
20
 
21
#ifndef sbi
22
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
23
#endif
24
 
25
#ifndef inb
26
#define inb(sfr) _SFR_BYTE(sfr) 
27
#endif
28
 
29
#ifndef outb
30
#define outb(sfr, val) (_SFR_BYTE(sfr) = (val))
31
#endif
32
 
33
#ifndef inw
34
#define inw(sfr) _SFR_WORD(sfr)
35
#endif
36
 
37
#ifndef outw
38
#define outw(sfr, val) ( _SFR_WORD(sfr) = (val)) 
39
#endif
40
 
41
#ifndef outp
42
#define outp(val, sfr) outb(sfr, val) 
43
#endif
44
 
45
#ifndef inp
46
#define inp(sfr) inb(sfr) 
47
#endif
48
 
49
#ifndef BV
50
#define BV(bit) _BV(bit)
51
#endif
52
 
53
/* compatibility macro for libc 1.0 to 1.2 */
54
#ifndef PRG_RDB
55
#define PRG_RDB(addr)       pgm_read_byte(addr)
56
#endif
57
 
58
#endif //AVR_COMPAT_H
59