-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfigMenu.ino
More file actions
91 lines (77 loc) · 2.15 KB
/
ConfigMenu.ino
File metadata and controls
91 lines (77 loc) · 2.15 KB
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
#define VOL_MIN 0
#define VOL_MAX 10
#define INT_MIN 0
#define INT_MAX 15
void doConfig(){
while(readKey() != -1);
blankAll();
disp[0].set_char(DECODE, 0b11001111);
disp[2].set_char(0x20, 'B');
disp[2].set_char(0x21, 'R');
disp[2].set_char(0x22, 'I');
disp[1].set_char(0x20, 'V');
disp[1].set_char(0x21, 'O');
disp[1].set_char(0x22, 'L');
disp[0].set_char(0x20, 'T');
disp[0].set_char(0x21, 'O');
disp[0].set_char(0x22, 'N');
disp[0].set_char(0x23, 0x0e);
disp[0].set_char(0x2d, 0);
boolean exitConfig = false;
boolean saveValues = true;
while(! exitConfig){
disp[2].set_char(0x24, (byte)((byte)intensity/10));
disp[2].set_char(0x2c, (byte)((byte)intensity%10));
disp[1].set_char(0x24, (byte)((byte)volume/10));
disp[1].set_char(0x2c, (byte)((byte)volume%10));
disp[0].set_char(0x24, 0b01111110);
disp[0].set_char(0x2c, blinkBeep?0b00010101:0b01000111);
disp[0].set_char(0x25, blinkBeep?0x00:0b01000111);
char in = readKey();
if(in != -1){
switch(in){
case '1':
if(intensity > INT_MIN)intensity--;
setIntensity(intensity);
break;
case '3':
if(intensity < INT_MAX)intensity++;
setIntensity(intensity);
break;
case '4':
if(volume > VOL_MIN)volume--;
setVolume(volume);
break;
case '6':
if(volume < VOL_MAX)volume++;
setVolume(volume);
break;
case '7':
blinkBeep = true;
break;
case '9':
blinkBeep = false;
break;
case 'A':
saveValues = false;
case 'D':
exitConfig = true;
break;
}
while(readKey() != -1);
}
}
disp[0].set_char(DECODE, 0b11111111);
blankAll();
if(saveValues){
EEPROM[INTENSITY_STORAGE_LOCATION] = intensity;
EEPROM[VOLUME_STORAGE_LOCATION] = volume;
EEPROM[BLINKBEEP_STORAGE_LOCATION] = blinkBeep;
} else {
intensity = EEPROM[INTENSITY_STORAGE_LOCATION];
volume = EEPROM[VOLUME_STORAGE_LOCATION];
blinkBeep = EEPROM[BLINKBEEP_STORAGE_LOCATION];
}
setVolume(volume);
setIntensity(intensity);
}