#include "TimeIF.idl"
#include "InstrumentIF.idl"

// Modified:
//         : 2000.01.08 Reed, added salinity.
//         : 2000.01.10 Reed, added soundVelocity.
//                            added freqCorrected.

interface SeacatSBE19IF : InstrumentIF {

  ////////////////////////////////////////////////////////
  // Get Conductivity Data  in Siemens/meter
  Status conductivity(out double cond,  out TimeIF::TimeSpec sampleTime);

  ///////////////////////////////////////////////////////////////////
  // Get Temperature in degrees C
  Status temperature(out double temp, out TimeIF::TimeSpec sampleTime);

  ///////////////////////////////////////////////////////////////////
  // Get depth estimate in meters
  Status depth(out double depth, out TimeIF::TimeSpec sampleTime);

  ///////////////////////////////////////////////////////////////////
  // Get pressure in pascals
  Status pressure(out double pressure, out TimeIF::TimeSpec sampleTime);

  ///////////////////////////////////////////////////////////////////
  // Get external Voltages. OBS = v0 and Fluorometer = v1
  Status voltages(out double v0,  out double v1, out TimeIF::TimeSpec sampleTime);

  ///////////////////////////////////////////////////////////////////
  // Get Optical Backscatterance in Formazin Turbidity Units
  Status obs(out double obs, out TimeIF::TimeSpec sample_t);

  ///////////////////////////////////////////////////////////////////
  // Get fluorometer reading of Chlorophyll-a concentration in micro-grams/liter 
  Status fluorometer(out double fluorometer, out TimeIF::TimeSpec sample_t);

  ///////////////////////////////////////////////////////////////////
  // Get salinity concentration in ppt (parts/thousand)
  Status salinity(out double salinity, out TimeIF::TimeSpec sample_t);

  ///////////////////////////////////////////////////////////////////
  // Get sound velocity in m/s
  Status soundVelocity(out double soundVelocity, out TimeIF::TimeSpec sample_t);

  ///////////////////////////////////////////////////////////////////
  // Get frequency corrected value (0=no, 1=yes)
  Status freqCorrected(out short freqCorrected, out TimeIF::TimeSpec sample_t);
};
