Files
RelayBox/RelayBox.cpp
Wolfgang Hottgenroth bdc2c905cf initial
2015-05-27 11:16:03 +02:00

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
}