summaryrefslogtreecommitdiff
path: root/src/system.h
blob: 10a2f73def6e3e6dd724976916df95bd358c5673 (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
47
48
49
50
51
52
53
54
55
56
57
#ifndef __SYSTEM_H__
#define __SYSTEM_H__

class System {
	private:
		uint8_t btn_debounce;

		void idle(void);
		void sleep(void);

		uint8_t warmwhite;
		uint8_t red;
		uint8_t green;
		uint8_t blue;
		uint8_t mode_changed;

	public:

		uint8_t anim_step_fine;
		uint8_t anim_step_coarse;
		void initialize(void);

		void loop(void);

		uint8_t is_charging;

		enum BCMode : uint8_t {
			OFF = 0,
			WARMWHITE,
			SLOWRGB,
			SUN,
			RED,
			GREEN,
			BLUE,
			YELLOW,
			MAGENTA,
			CYAN,
			FASTRGB,
			SLOWRGB2,
			FASTRGB2,
			MODE_ENUM_MAX,
		};

		BCMode mode;

		void next_mode(void);

		void debounce_done(void);

		void debounce_start(void);

		System() { btn_debounce = 0; mode = OFF; is_charging = 0; mode_changed = 0; };
};

extern System blinkencat;

#endif