Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
533 arune 1
/**
2
 * IR common driver, functions to be used in receiver and transmitter
3
 *
4
 * @date    2007-07-07
5
 *
6
 * @author  Anders Runeson
7
 *  
8
 */
9
 
10
/*-----------------------------------------------------------------------------
11
 * Includes
12
 *---------------------------------------------------------------------------*/
13
#include <drivers/ir/ircommon.h>
14
#include <avr/io.h>
15
 
16
/*-----------------------------------------------------------------------------
17
 * Globals
18
 *---------------------------------------------------------------------------*/
19
 
20
/*-----------------------------------------------------------------------------
21
 * Prerequisites
22
 *---------------------------------------------------------------------------*/
23
 
24
 
25
/*-----------------------------------------------------------------------------
26
 * Public Functions
27
 *---------------------------------------------------------------------------*/
28
 
29
 
30
//TODO: skriv doxygen-header som för de andra funktionerna
31
void initTimer(void) {
32
    //sätt upp timer
33
    #if defined(__AVR_ATmega8__)
34
    TCCR1B = (0<<CS12) | (1<<CS11) | (0<<CS10); // prescaler: 8
35
    TIFR  |= (1<<TOV1);             // clear overflow flag.
36
    TCNT1 = 0;
37
    #endif
38
    #if defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__)
39
    TCCR1B = (0<<CS12) | (1<<CS11) | (0<<CS10); // prescaler: 8
40
    TIFR1  |= (1<<TOV1);            // clear overflow flag.
41
    TCNT1 = 0;
42
    #endif
43
}
44
 
45
//TODO: skriv doxygen-header som för de andra funktionerna
46
uint8_t isTimerOvfl(void) {
47
    #if defined(__AVR_ATmega8__)
48
    if (TIFR  & (1<<TOV1)) return 1;
49
    #endif
50
    #if defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__)
51
    if (TIFR1  & (1<<TOV1)) return 1;
52
    #endif
53
 
54
    return 0;
55
}
56
 
57
//TODO: skriv doxygen-header som för de andra funktionerna
58
uint16_t getTimerVal(void) {
59
    #if defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__)
60
    return TCNT1;
61
    #endif
62
}
63
 
64
//TODO: skriv doxygen-header som för de andra funktionerna
65
void setTimerVal(uint16_t value) {
66
    #if defined(__AVR_ATmega8__)
67
    TCNT1 = value;
68
    TIFR |= (1<<TOV1);  // clear overflow flag.
69
    #endif
70
    #if defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__)
71
    TCNT1 = value;
72
    TIFR1 |= (1<<TOV1);  // clear overflow flag.
73
    #endif
74
}
547 andfri 75