/****************************************************************************/
/* Copyright (c) 2000 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : DummyTailCone.h                                               */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 02/07/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#ifndef _DummyTailCone_H
#define _DummyTailCone_H
#include "TailConeIF_SK.h"
#include "SimulatorIF.h"

class DummyTailCone : public TailConeIF_SK {

public:

  DummyTailCone();
  ~DummyTailCone();

protected:

  virtual long setPropellerSpeed(double rpm);
  virtual long setElevator(double angle);
  virtual long setRudder(double angle);
  virtual long command(double speed, double elevator, double rudder);
  virtual long initialize();
  virtual long setDeadman(short seconds);

  virtual long configure(short serialNo, TailConeIF::MotorType type, 
			 double slewRate, long currentLimit);

  virtual long configuration(short *serialNo, TailConeIF::MotorType *type, 
			     double *slewRate, long *currentLimit);

  virtual long propellerSpeed(double *speed, long *time);
  virtual long elevator(double *angle, long *time);
  virtual long rudder(double *angle, long *time);

  virtual long actual(double *speed, double *elevator, double *rudder, 
		      long *time);

  virtual long health(long *statusWord, long *time);
  virtual long temperatures(float *motor, float *actuator, long *time);
  virtual long currents(float *motor, float *actuator, long *time);
  virtual long groundFault(float *current);
  virtual void enableThruster();
  virtual void disableThruster();
  virtual Boolean thrusterEnabled();

  Boolean _thrusterEnabled;

  virtual int spawnAuxTasks();


  double _propSpeed, _elevator, _rudder;
};

#endif
