/** \file
 *
 *  Specifies the interface details for the RDI_Pathfinder component in the
 *  SensorModule.
 *
 *  RDI_Pathfinder.h should only be included by RDI_Pathfinder.cpp
 *  Other classes should include RDI_Pathfinder.h
 *
 *  Copyright (c) 2007,2008,2009 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef RDI_PATHFINDERIF_H
#define RDI_PATHFINDERIF_H

#include "data/ElementURI.h"
#include "data/BlobValue.h"

/**
 *  Specifies the interface details for the RDI_Pathfinder component in the
 *  SensorModule.
 *
 *  \ingroup modules_sensor
 */
namespace RDI_PathfinderIF
{
/// Static const for component name
/// (Can be used by other components)
static const Str NAME( "RDI_Pathfinder" );

// Include common ConfigURIs -- must be in namespace and follow definition of NAME
#include "component/HasLoadAtStartupIF.h"
#include "component/HasHardwareIF.h"
#include "component/HasLoadControlIF.h"
#include "component/HasPowerIF.h"
#include "component/HasUartIF.h"

static const DataURI STATUS_READING( NAME, "Status", Units::COUNT );

static const DataURI WATER_MASS_VELOCITY_FLAG( NAME, "water_mass_velocity_flag", Units::COUNT );
static const DataURI WATER_MASS_CENTER_RANGE( NAME, "range_to_water_mass_center", Units::METER );

static const DataURI BOTTOM_VELOCITY_FLAG_READING( NAME, "BottomVelocityFlag", Units::COUNT );

static const DataURI BEAM1RANGE( NAME, "Beam1Range", Units::METER );
static const DataURI BEAM2RANGE( NAME, "Beam2Range", Units::METER );
static const DataURI BEAM3RANGE( NAME, "Beam3Range", Units::METER );
static const DataURI BEAM4RANGE( NAME, "Beam4Range", Units::METER );

static const ConfigURI USE_PD6_CFG( NAME, "usePD6", Units::BOOL );

}

#endif /*RDI_PATHFINDERIF_H*/
