#ifndef _PANTILTDM_H
#define _PANTILTDM_H

#include "MicroDm.h"

enum
{
  LightPan = 0, LightTilt, CameraPan, CameraTilt, 
  NControllers
};

class PanTiltDm  : public ThreeByFiveDm
{
  public:
  
  PanTiltDm(const char *name, const char *dmPrefix);
  ~PanTiltDm();

  const char *deviceAxisName(int index);
  
  DmNat16Object *humidity;
  DmInt16Object *temperature;
  DmInt16Object *stepperTemperature;
  DmInt16Object *localGfCurrent;
  DmInt16Object *externGfCurrent;

  DmEmptyObject *initialize[NControllers];
  DmEmptyObject *reset[NControllers];
  DmFlt32Object *stepper[NControllers];
  DmFlt32Object *analog[NControllers];
  DmBooleanObject *cwSwitch[NControllers];
  DmBooleanObject *ccwSwitch[NControllers];
  DmBooleanObject *deltaAlarm[NControllers];
  DmBooleanObject *fault[NControllers];
  
  protected:
  static char *_deviceAxis[NControllers];
};


#endif
