62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
#include "RelayBox.h"
|
|
#include "hardware.h"
|
|
#include <avr/wdt.h>
|
|
|
|
|
|
|
|
|
|
|
|
Switch switches[NUM_OF_LINES];
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
switches[i].begin(FEEDBACK_PIN[i], BUTTON_PIN[i], RELAY_PIN[i], LED_PIN[i]);
|
|
}
|
|
|
|
wdt_enable(WDTO_8S);
|
|
}
|
|
|
|
void loop() {
|
|
wdt_reset();
|
|
|
|
#ifndef TEST_MODE
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
switches[i].exec();
|
|
}
|
|
#else
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(RELAY_PIN[i], false);
|
|
digitalWrite(LED_PIN[i], false);
|
|
}
|
|
delay(500);
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(RELAY_PIN[i], true);
|
|
delay(100);
|
|
}
|
|
delay(500);
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(RELAY_PIN[i], false);
|
|
delay(100);
|
|
}
|
|
delay(500);
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(LED_PIN[i], true);
|
|
delay(100);
|
|
}
|
|
delay(500);
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(LED_PIN[i], false);
|
|
delay(100);
|
|
}
|
|
delay(100);
|
|
|
|
while (true) {
|
|
for (uint8_t i = 0; i < NUM_OF_LINES; i++) {
|
|
digitalWrite(LED_PIN[i], digitalRead(FEEDBACK_PIN[i]));
|
|
digitalWrite(RELAY_PIN[i], digitalRead(BUTTON_PIN[i]));
|
|
}
|
|
}
|
|
#endif
|
|
}
|