-
Notifications
You must be signed in to change notification settings - Fork 0
/
globals.h
53 lines (40 loc) · 1.01 KB
/
globals.h
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
47
48
49
50
51
52
53
#ifndef _GLOBALS_H_
#define _GLOBALS_H_
#define F_CPU 125000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/power.h>
#include <avr/sleep.h>
#include <avr/wdt.h>
#include <util/delay.h>
#define TICKS_PER_SECOND 61L
#define FULL_POWER 255
#define HALF_POWER 128
#define THIRD_POWER 85
#define QUARTER_POWER 64
uint8_t dild_power;
typedef enum {false, true} bool_t;
typedef enum {UP, DOWN} button_state_t;
typedef enum {OFF, ON, WAITING} output_state_t;
enum {DAY, DILD_WAITING, DILD_ACTIVE, WILD, ALARM} mode;
enum {NORMAL, SETTING} main_mode;
enum {SLOW, FAST} timer;
typedef struct {
button_state_t current, new, old;
uint32_t time, down_time;
} button_t;
typedef struct {
uint8_t port, brightness;
int8_t times, repeat;
uint16_t on_time, off_time, delay;
bool_t has_timer;
uint32_t count_from;
output_state_t state;
} output_t;
button_t button1, button2;
output_t vibrator;
volatile uint32_t counter;
uint32_t count_to, alarm_count_to;
uint16_t ticks_per_wdt;
bool_t calibrating;
#endif