#ifndef _USBL_H
#define _USBL_H

#include "NavSensor.h"
#include "UsblIF.h"
#include "NavigationIF.h"

// Dummy value for now...
#define MaxUsblFixDepth 0.1

/*
CLASS 
Usbl

DESCRIPTION
USBL NavSensor

AUTHOR
Rob McEwen, following Tom O'Reilly's template.
*/
class Usbl : public NavSensor {

public:

   Usbl(const char *name, NavSensors *sensors, int maxBad = 3);

   /////////////////////////////////////////////////////////////////////
   // Latest Usbl fix
   double _rangeMag;
   double _rangeB[3];
   short  _tat;
   TimeIF::TimeSpec _sampleTime;
   UsblIF::UsblDataStatus _usblStatus;
   Boolean _rangeGood;

protected:

   virtual TaskInterface *createTaskIF(int timeout);
   
   virtual DeviceIF::Status readTaskIF(Boolean *valid, 
				       TimeIF::TimeSpec *sampleTime);

   UsblIF *_usblIF;

};


#endif

