/****************************************************************************/
/* Copyright (c) 2000 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : FanIF.idl                                                     */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 02/07/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/

//#include "InstrumentIF.idl"

/*
CLASS 
FanIF

DESCRIPTION
TaskInterface to Fan device driver 

*/

interface FanIF 
{
   typedef sequence<double,2> Vector;
   typedef sequence<short,2> VectorInt;
   typedef sequence<short,8> VectorInt8;

   struct Data 
   {
	 //
	 // Temperature, high and low limits from the DS1620, in Centigrade.
	 // Channel[0] is on the fan card, [1] is on Sib's power board.
	 //
	 Vector Temp1620;
	 Vector Temp1620Hi;
	 Vector Temp1620Lo;
	 //
	 // 1620 Status
	 //
	 VectorInt Temp1620Status;
	 //
	 // Temperature in Centigrade, and humidity in relative %, from the
	 // SHT1x on the fan card.
	 //
	 double Humidity;
	 double TempSHT1x;
	 //
	 // Pressure in kPa from the MPX2200 on the fan card.
	 //
	 double Pressure;
	 //
	 // A/D channels:
	 //
	 VectorInt8 Ana;

	 short TestFlag2;

   };
	
//    /////////////////////////////////////////////////////////
//    // Get data from instrument
//    // [output] Data: 
      short Get(out Data data);

//    //Test:
      short EnvDiagLED(in short state);

//    // I/O
//    short EnvReadCfg();   //Put these in the Data structure if necessary
//    short EnvReadDig();   //Put these in the Data structure if necessary
//    short EnvSetDig(in short value);
//    short EnvFan(in short value);
//    short EnvSetEnables(in short value);
 
//    // Temperature
      short EnvWriteTemp (in short TempHi, in short TempLo, in short Ch);
};
