summaryrefslogtreecommitdiff
path: root/main.c
blob: f130906fe74e17012d4897b074b652cb5b54d6d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "main.h"
#include "max7219.h"
#include "clock.h"
#include "timebase.h"
#include "dcf77.h"


int main( void )
{
  PORTA = 0xFF;		// enable pull ups
  PORTB = 0xFF;
  DDRA |= 1<<PA4;
  display_init();
  display_off();
  timebase_init();
  sei();
  for(;;){
    scan_dcf77();
#if 1
    if( DCF77_PIN & 1<<DCF77 )
      PORTA |= 1<< PA4;
    else
      PORTA &= ~(1<<PA4);
#endif
    if( timeflags & 1<<ONE_SECOND ){
      timeflags = 0;
      clock();
      if( synchronize == 0 )
        continue;
      if( synchronize == 1 && time.hour == 3 ){
        if( time.minute == 20 )
          display_off();
        if( time.minute == 28 )
          synchronize = 2;
        continue;
      }
      if( time.hour == 4 )
        synchronize = 1;

      DDRA &= ~(1<<PA4);
      display_clear();
      display_time();
      display_out();
    }
  }
}