-
Notifications
You must be signed in to change notification settings - Fork 14
/
Settings.h
102 lines (77 loc) · 2.21 KB
/
Settings.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/**
Settings
Die vom Benutzer getaetigten Einstellungen werden hier verwaltet
und im EEPROM persistiert.
@mc Arduino/RBBB
@autor Christian Aschoff / caschoff _AT_ mac _DOT_ com
@version 1.3
@created 23.1.2013
@updated 16.2.2015
Versionshistorie:
V 1.0: - Erstellt.
V 1.1: - LDR-Modus aufgenommen.
V 1.2: - Brightness aufgenommen.
- EnableAlarm aufgenommen.
- DcfSignalIsInverted aufgenommen.
- TimeShift aufgenommen.
V 1.3: - Unterstuetzung fuer die alte Arduino-IDE (bis 1.0.6) entfernt.
*/
#ifndef SETTINGS_H
#define SETTINGS_H
#include "Arduino.h"
#include "Colors.h"
#include "TimeStamp.h"
class Settings {
public:
enum eTransitions : byte {
TRANSITION_MODE_NORMAL,
TRANSITION_MODE_FADE,
TRANSITION_MODE_MATRIX,
TRANSITION_MODE_SLIDE,
TRANSITION_MODE_MAX
};
Settings();
byte getLanguage();
void setLanguage(byte language);
byte getEvent();
void setEvent(byte event);
boolean getRenderCornersCw();
void setRenderCornersCw(boolean cw);
boolean getUseLdr();
void setUseLdr(boolean useLdr);
byte getBrightness();
void setBrightness(byte brightness);
void setColor(eColors color);
eColors getColor();
boolean getEnableAlarm();
void setEnableAlarm(boolean enableAlarm);
byte getTransitionMode();
void setTransitionMode(byte transitionMode);
boolean getDcfSignalIsInverted();
void setDcfSignalIsInverted(boolean dcfSignalIsInverted);
char getTimeShift();
void setTimeShift(char timeShift);
byte getJumpToNormalTimeout();
void setJumpToNormalTimeout(byte jumpToNormalTimeout);
byte getColorChangeRate();
void setColorChangeRate(byte rate);
void loadFromEEPROM();
void saveToEEPROM();
void resetToDefault();
TimeStamp* getNightModeTime(bool onTime);
private:
byte _language;
boolean _renderCornersCw;
boolean _use_ldr;
byte _brightness;
boolean _enableAlarm;
boolean _dcfSignalIsInverted;
char _timeShift;
eColors _color;
byte _transitionMode;
byte _event;
TimeStamp* _nightModeTime[2];
byte _jumpToNormalTimeout;
byte _colorChangeRate;
};
#endif