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

  DESCRIPTION: Logging object for the FuelCell

  $Id: FuelCellLog.h,v 1.1 2001/04/04 17:48:14 jrieffel Exp $
  *-----------------------------------------------------------------------*/

#ifndef _FUELCELL_LOG_H
#define _FUELCELL_LOG_H

#include "DataLog.h"
#include "DataLogWriter.h"

#include "IntegerData.h"
#include "DoubleData.h"

class FuelCell;

#define FuelCellLogName "fuelcell"

class FuelCellLog : public DataLogWriter
{

public:

  FuelCellLog( FuelCell *, DataLog::FileFormat );
  ~FuelCellLog();

protected:
  virtual void setFields();

  FuelCell *_fuelcell;

  DoubleData *_health;

  IntegerData 
    *_FC_control_state,
    *_elapsed_time,
    *_anolyte_pump_a_current,
    *_anolyte_pump_b_current,
    *_catholyte_pump_current,
    *_peroxide_pump_current,
    *_anolyte_temp,
    *_catholyte_temp,
    *_fwd_peroxide_temp,
    *_aft_peroxide_temp,
    *_stack_voltage,
    *_stack_current,
    *_battery_voltage,
    *_battery_current,
    *_peroxide_used,
    *_v_setpoint,
    *_makeup_injection_count,
    *_base_injection_duration;
};

#endif
