//-*-c++-*-
#ifndef INCLUDED_FlashLEDBehavior_h_
#define INCLUDED_FlashLEDBehavior_h_
 
#include "Behaviors/StateMachine.h"

#include "Events/EventRouter.h"
class FlashLEDBehavior : public StateNode {
public:
	FlashLEDBehavior() : StateNode("FlashLEDBehavior") {}

 	virtual void setup() {
    std::cout << getName() << " is setting up the state machine." << std::endl;
    
#statemachine

//States
standbyNode: StateNode

flashNode: LedNode[getMC()->flash(RobotInfo::GreenLEDMask, 1000);]

//Transitions
standbyNode =E(buttonEGID, RobotInfo::GreenButOffset, activateETID)=>flashNode

flashNode   =C=> standbyNode

#endstatemachine

    startnode = standbyNode;
  }

  virtual void DoStart() {
    std::cout << getName() << " is starting up." << std::endl;
  }
 
  virtual void DoStop() {
    std::cout << getName() << " is shutting down." << std::endl;
  }

private:  // Dummy methods to satisfy the compiler
  FlashLEDBehavior(const FlashLEDBehavior&);
  FlashLEDBehavior& operator=(const FlashLEDBehavior&);

};

#endif
