
#include "InstrumentIF.idl"

/*
CLASS
RangeHomingIF

DESCRIPTION
TaskInterface to homing by ranging to a beacon

AUTHOR
Jerome Vaganay
*/

interface RangeHomingIF : InstrumentIF {
  
  enum homing_phase {
  	INIT,
  	ROTATE,
  	RESET,
  	HOME,
  	FINISHED
  };

  typedef sequence<double,4> tofArray;
    
  DeviceIF::Status startHoming(in long beaconNumber);
  DeviceIF::Status getHeadingCommand(out double headingCommand);
  DeviceIF::Status getPosRelative2Beacon(out double north,out double east);
  DeviceIF::Status getHomingStatus(out long homingStatus);
  DeviceIF::Status setLblPingTime(in double lblPingTime);
  DeviceIF::Status setLblTravelTimes(in tofArray lblTof);
  DeviceIF::Status setRestartHomingFlag();
  DeviceIF::Status resetHomingStatus();
};
