]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/protocol/lufa/LUFA-git/Projects/Webserver/Lib/uip/clock.c
allow overriding of TARGET
[qmk_firmware.git] / tmk_core / protocol / lufa / LUFA-git / Projects / Webserver / Lib / uip / clock.c
1 #include <stdint.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4
5 #include <LUFA/Common/Common.h>
6
7 #include "clock.h"
8
9 //Counted time
10 volatile clock_time_t clock_datetime = 0;
11
12 //Overflow interrupt
13 ISR(TIMER1_COMPA_vect, ISR_BLOCK)
14 {
15         clock_datetime += 1;
16 }
17
18 //Initialise the clock
19 void clock_init()
20 {
21         OCR1A  = (((F_CPU / 1024) / 100) - 1);
22         TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10));
23         TIMSK1 = (1 << OCIE1A);
24 }
25
26 //Return time
27 clock_time_t clock_time()
28 {
29         clock_time_t time;
30
31         GlobalInterruptDisable();
32         time = clock_datetime;
33         GlobalInterruptEnable();
34
35         return time;
36 }
37