/****************************************************************************

  Header file for MoterService_ Flat Sate Machine
  based on the Gen2 Events and Services Framework

 ****************************************************************************/

#ifndef MotorSM_H
#define MotorSM_H

// Event Definitions
#include "ES_Configure.h" /* gets us event definitions */
#include "ES_Types.h"     /* gets bool type for returns */
#include "ES_Events.h"

// typedefs for the states
// State definitions for use with the query function
typedef enum
{
  InitMotor, ReadyMotor, RotateCW90, RotateCCW90
}MotorState_t;

// Public Function Prototypes

bool InitMotorSM(uint8_t Priority);
bool PostMotorSM(ES_Event_t ThisEvent);
ES_Event_t RunMotorSM(ES_Event_t ThisEvent);
//MotorState_t QueryMotorSM(void);
//void SetNewTurnRPM (uint8_t NewRPM);
//void SetNewStraightRPM (uint8_t NewRPM);

#endif /* MotorSM_H */