/** \file
 *
 *  Specifies the interface details for the Rowe_600LCM component in the
 *  SensorModule.
 *
 *  Rowe_600LCM.h should only be included by Rowe_600.cpp
 *  Other classes should include Rowe_600IF.h
 *
 *  Copyright (c) 2014 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef Rowe_600LCMIF_H
#define Rowe_600LCMIF_H

#include "data/ElementURI.h"

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

// 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/HasUartIF.h"

static const ConfigURI VERBOSITY_CFG( NAME, "verbosity", Units::COUNT );
static const ConfigURI MAX_SPEED_CFG( NAME, "maxSpeed", Units::METER_PER_SECOND );
static const ConfigURI BOTTOM_LCM_CHAN_NAME_CFG( NAME, "lcmChannelBottom", Units::NONE, STRVALUE );
static const ConfigURI WATER_LCM_CHAN_NAME_CFG( NAME, "lcmChannelWater", Units::NONE, STRVALUE );
static const ConfigURI DVL_LCM_CHAN_NAME_CFG( NAME, "lcmChannelDVL", Units::NONE, STRVALUE );
static const ConfigURI LCM_APP_NAME_CFG( NAME, "lcmApplication", Units::NONE, STRVALUE );

static const ConfigURI BOTTOM_TRACK_VELOCITY_ACCURACY_CFG( NAME, "bottomTrackVelocityAccuracy", Units::METER_PER_SECOND );
static const ConfigURI WATER_TRACK_VELOCITY_ACCURACY_CFG( NAME, "waterTrackVelocityAccuracy", Units::METER_PER_SECOND );
static const ConfigURI ALTITUDE_ACCURACY_CFG( NAME, "altitudeAccuracy", Units::METER );

static const DataURI STATUS_READING( NAME, "Status", Units::COUNT );
static const DataURI ALTITUDE1_READING( NAME, "Altitude1", Units::METER );
static const DataURI ALTITUDE2_READING( NAME, "Altitude2", Units::METER );
static const DataURI ALTITUDE3_READING( NAME, "Altitude3", Units::METER );
static const DataURI ALTITUDE4_READING( NAME, "Altitude4", Units::METER );

}
#endif /*Rowe_600LCMIF_H*/
