#include <Servo.h>
#include <serialStr.h>
#include <timeObj.h>

Servo     theServo;
serialStr serialReader;
timeObj   swingTimer;

void setup() {
  
  Serial.begin(9600);
  Serial.println("Type a time in seconds for the servo to stay over.");
  theServo.attach(2);
  theServo.write(0);
  serialReader.setCallback(gotStr);
  swingTimer.reset();
}


void gotStr(char* inStr) {

  int swingTime;

  swingTime = atoi(inStr);
  if (swingTime) {
    theServo.write(180);
    swingTimer.setTime(swingTime * 1000);
  }
}


void loop() {
  
  idle();
  if (swingTimer.ding()) {
    theServo.write(0);
    swingTimer.reset();
  }
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
servo1:GND
servo1:V+
servo1:PWM