-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhardware.ino
39 lines (33 loc) · 840 Bytes
/
hardware.ino
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
void configureOutputs()
{
for (byte x = 0; x < 3; x++) {
if (Settings.cho[x] != 0) {
int pin = abs(Settings.cho[x]);
int active = Settings.cho[x] < 0 ? LOW : HIGH;
//by default, all outputs are disabled
pinMode(pin, OUTPUT);
digitalWrite(pin, !active);
}
}
}
boolean isOutputDisabled(int channel)
{
return Settings.cho[channel] == 0;
}
boolean getOutputStatus(int channel)
{
int pin = abs(Settings.cho[channel]);
int active = Settings.cho[channel] < 0 ? LOW : HIGH;
return pin != 0 && digitalRead(pin) == active;
}
boolean setOutputStatus(int channel, boolean activate)
{
int pin = abs(Settings.cho[channel]);
int active = Settings.cho[channel] < 0 ? LOW : HIGH;
if (activate) {
digitalWrite(pin, active);
} else {
digitalWrite(pin, !active);
}
return activate;
}