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

#ifndef PAR_LICORIF_H_
#define PAR_LICORIF_H_

#include "data/ElementURI.h"

/**
 *  Specifies the interface details for the Depth_MSI_US300 component in the
 *  SensorModule.
 *
 *  PAR_Licor.h should only be included by PAR_Licor.cpp
 *  Other classes should include PAR_LicorIF.h
 *
 *  \ingroup modules_sensor
 */
namespace PAR_LicorIF
{
/// Static const for component name
/// (Can be used by other components)
static const Str NAME( "PAR_Licor" );

// 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/HasAnalogToDigitalIF.h"
#include "component/HasAnalogToDigitalTimeoutIF.h"

static const ConfigURI ADC_CAL_CFG( NAME, "adcCal", Units::MICROAMPERE_PER_COUNT );
static const ConfigURI DARK_COUNT_CFG( NAME, "darkCount", Units::COUNT );
static const ConfigURI MULTIPLIER_CFG( NAME, "multiplier", Units::MICROMOLE_PER_SECOND_PER_SQUARE_METER_PER_MICROAMPERE );
static const ConfigURI PAR_CAL_CFG( NAME, "parCal", Units::NONE );
static const ConfigURI MAX_BOUND_CFG( NAME, "maxBound", Units::MICROMOLE_PER_SECOND_PER_SQUARE_METER );
static const ConfigURI MIN_BOUND_CFG( NAME, "minBound", Units::MICROMOLE_PER_SECOND_PER_SQUARE_METER );
static const ConfigURI MAX_VALID_PITCH_CFG( NAME, "maxValidPitch", Units::DEGREE );
static const ConfigURI MIN_VALID_PITCH_CFG( NAME, "minValidPitch", Units::DEGREE );
static const ConfigURI SERIAL_CFG( NAME, "serial", Units::NONE );

static const DataURI ADC_COUNT( NAME, "adcCount", Units::COUNT );

}

#endif /*DEPTH_KellerIF_H_*/
