#include <Arduino.h>
const int resptime[] = {1, 2, 1, 3, 1};
const int optime[] = {10, 17, 30, 32, 40};
const int resptime[] = {1, 2, 1, 3, 1};
const int totalpins = 5;
const int aborttime = 10; // msec
void setup() {
Serial.begin(115200);
}
void loop() {
int counter = 0;
for (int i = 0; i < totalpins; i++) {
Serial.printf("Running pin output %d for %d seconds\n", i + 1, abs(optime[i] - counter));
delay(abs(optime[0] - counter) * 1000);
counter += abs(optime[0] - counter);
Serial.printf("%d seconds elapsed\n", counter);
Serial.printf("Running pin response %d for %d seconds\n", i + 1, resptime[i]);
delay(resptime[i] * 1000);
counter += resptime[0];
Serial.printf("%d seconds elapsed\n", counter);
}
delay(aborttime * 1000); // Additional abort time
}