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

#ifndef Radio_SurfaceIF_H
#define Radio_SurfaceIF_H

#include "data/ElementURI.h"

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

// 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 RADIO_SURFACE_POWER( NAME, "radio_surface_power", Units::ENUM );

typedef enum
{
    RADIO_SURFACE_POWER_OFF = 0,
    RADIO_SURFACE_POWER_ON = 1,
} RadioPower;
}

#endif /*Radio_SurfaceIF_H*/
