#include "DataLogWriter.h"
#include "adam6017.h"
#include "adam6017Log.h"
#include "Syslog.h"

adam6017Log::adam6017Log(adam6017 *adam, 
	               DataLog::FileFormat fileFormat)
           :DataLogWriter(adam6017LogName, fileFormat, AutoTimeStamp) 
{
  char buf[100];
  setMnemonic("adam6017Log");
  Boolean debug = False;
  char channel_name[6];

  setMnemonic("dataAdam");
  addField( (_chan[0] = new DoubleData("chan0")) );
  addField( (_chan[1] = new DoubleData("chan1")) );
  addField( (_chan[2] = new DoubleData("chan2")) );
  addField( (_chan[3] = new DoubleData("chan3")) );
  addField( (_chan[4] = new DoubleData("chan4")) );
  addField( (_chan[5] = new DoubleData("chan5")) );
  addField( (_chan[6] = new DoubleData("chan6")) );
  addField( (_chan[7] = new DoubleData("chan7")) ); 

  //set up a variable for each channel. 
/*
  for (int i = 0; i <= 7; i++) {
      sprintf(channel_name,"chan%1d", i); channel_name[6] = 0x0;
      printf("channel name %s\n", channel_name);
      addField((_chan[i] = new DoubleData(channel_name)));
  }
*/
  _adam = adam;
}


adam6017Log::~adam6017Log()
{
  for (int i = 0; i <= 7 ; i++) {
     delete _chan[i];
  }

}


void adam6017Log::setFields()
{
  // Set values
  for (int i = 0; i <= 7; i++)
  {
    _chan[i]->setValue(_adam->_channel[i]);
  }

}

