//=========================================================================
// Summary  : Reson 6046 Server
// Filename : Reson6046Server.cc
// Author   : Reed Christenson reed@bluefinrobotics.com
// Project  : Reson 6046 Driver
// Revision : 0.0
// Created  : 2002.03.21
// Modified : 2002.03.21
//=========================================================================
// Description : Reson 6046 Server
//=========================================================================

#include "SimulatedReson.h"

Reson6046Server::Reson6046Server()
    : Reson6046IF_SK()
{
}

Reson6046Server::~Reson6046Server()
{
}


// ############################################################
// ## Reson 6046 Specific Commands
// ############################################################

DeviceIF::Status Reson6046Server::startLogging()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::start7KCenterLogging()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::stopLogging()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::stop7KCenterLogging()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::startSubsystem( Reson6046IF::ResonSonarSystems sonarSystem )
{
    // Read in shared memory.
    return DeviceIF::Ok;
}


DeviceIF::Status Reson6046Server::stopSubsystem( Reson6046IF::ResonSonarSystems sonarSystem )
{
    return DeviceIF::Ok;
}


DeviceIF::Status Reson6046Server::pingStatus( Reson6046IF::ResonSonarSystems sonarSystem, 
					      unsigned short *pingStatus )
{
    return DeviceIF::Error;
}


// Set pulse filename.
DeviceIF::Status Reson6046Server::setPulseFilename( Reson6046IF::ResonSonarSystems sonarSystem,
						    Reson6046IF::String32 pulseFilename )
{    
    return DeviceIF::Ok;
}

// Set Ping Range.
DeviceIF::Status Reson6046Server::setPingRange( Reson6046IF::ResonSonarSystems sonarSystem,
						float pingRange )
{
    return DeviceIF::Ok;
}

// Set Ping rate.
DeviceIF::Status Reson6046Server::setPingRate( Reson6046IF::ResonSonarSystems sonarSystem,
					       float pingRate )
{
    return DeviceIF::Ok;
}


// Set Ping Power.
DeviceIF::Status Reson6046Server::setPingPower( Reson6046IF::ResonSonarSystems sonarSystem,
						float pingPower )
{
    return DeviceIF::Ok;
}

// Set MB receiver gain.
DeviceIF::Status Reson6046Server::setRxGain( Reson6046IF::ResonSonarSystems sonarSys,
					     float gain )
{
    return DeviceIF::Ok;
}

// Set MB pulse width.
DeviceIF::Status Reson6046Server::setPulseWidth( Reson6046IF::ResonSonarSystems sonarSys,
						 float width )
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBBottomDetectionFilters(float minRange,
							      float maxRange,
							      float minDepth,
							      float maxDepth)
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setTime()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setVerboseMode( unsigned short flag )
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::getVersion()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBSnippetControl(Boolean on_off, unsigned short int window_size)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::getSonarStatus( Reson6046IF::ResonSonarSystems sonarSystem )
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::getModules()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::getRunList()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::sonarReboot()
{
    return DeviceIF::Error;
}

DeviceIF::Status Reson6046Server::sonarSystemReboot()
{
    return DeviceIF::Error;
}

DeviceIF::Status Reson6046Server::sonarShutdown()
{
    return DeviceIF::Error;
}

DeviceIF::Status Reson6046Server::sonarSystemShutdown()
{
    return DeviceIF::Error;
}

DeviceIF::Status Reson6046Server::sonarSystemPowerOn()
{
    return DeviceIF::Error;
}
DeviceIF::Status Reson6046Server::sonarSystemPowerOff()
{
    return DeviceIF::Error;
}

DeviceIF::Status Reson6046Server::dataLoggingOn()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::dataLoggingOff()
{
    return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setSBPDuration(float duration_milli)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setSBPGain(float gain)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBSoundVelocity(float m_per_s)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBAbsorptionLoss(float loss)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBSpreadingLoss(float loss)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBBottomDetectDepthRangeOn(Boolean d_on_off, Boolean r_on_off)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBBottomDetectRecalc()
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::setMBBottomDetectRecalcInterval(short seconds)
{
  return DeviceIF::Ok;
}

DeviceIF::Status Reson6046Server::status()
{
  return DeviceIF::Ok;
}

int Reson6046Server::spawnAuxTasks()
{
    return 0;
}
