
#include "actuator.h"

int relayState;

/* *****************************************************************************
 *  FUNCTION:       buzzerLoop
 */
void buzzerLoop(int param) {
  tone(BUZZER_PIN,1000,100);
}

/* ****************************************************************************
 *  FUNCTION:       setRelay
 *  INPUT:          newRelayState   - true: relay ON, else OFF
 *  DESCRIPTION:    set relay according to <newRelayState>
*/
void setRelay(bool newRelayState) {
  relayState = (newRelayState?HIGH:LOW);
  digitalWrite(RELAY_PIN, relayState);
}

/* *****************************************************************************
 *  FUNCTION:       relayLoop
 *  DESCRIPTION:    to be called every second
 *                  toggles relay ON -> OFF -> ON ....
 */
 void relayLoop(int param) {
  //
  // toggle the relay every second 
  //
  relayState = (relayState==HIGH?LOW:HIGH);
  digitalWrite(RELAY_PIN, relayState);
}

/* *****************************************************************************
 *  FUNCTION:       initActuator
 */
void initActuator() {
  // initialize relay state
  relayState = LOW;
  //initialize relay output pin
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN,relayState);
  //initialize buzzer output pin
  pinMode(BUZZER_PIN, OUTPUT);
  digitalWrite(BUZZER_PIN,LOW);
	// addLoopScanner(1000,relayLoop,1000,"relay pattern 1 second loop");
  // addLoopScanner(1000,buzzerLoop,1000,"buzzer 1kHz beep 1 second loop");
}