/****************************************************************************/
/* Copyright (c) 2012 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : DeltaTLog.cc                                             */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 09/17/2012                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#include "DataLogWriter.h"
#include "WaypointWallLog.h"
#include "WaypointWall.h"
#include "ShortData.h"
#include "TimeP.h"
#include "Syslog.h"

WaypointWallLog::WaypointWallLog(DataLog::FileFormat fileFormat, char *data_name) 

  : DataLogWriter(data_name, fileFormat, AutoTimeStamp) 
//  : DataLogWriter(WaypointWallLogName, fileFormat, AutoTimeStamp) 
{
   _dataName = strdup(data_name);
   init();
}

void WaypointWallLog::init(void)
{
  char mnemonic[100];
  sprintf(mnemonic, "%s.data", _dataName);
  setMnemonic(mnemonic);

//  sprintf(mnemonic, "%s.BehaviorType", _dataName);
//  addField((_behaviorType = new StringData(mnemonic)));
  sprintf(mnemonic, "%s.CurrentN", _dataName);
  addField((_currentN =     new FloatData(mnemonic)));
  sprintf(mnemonic, "%s.CurrentE", _dataName);
  addField((_currentE =     new FloatData(mnemonic)));
  sprintf(mnemonic, "%s.NextN", _dataName);
  addField((_nextN =        new FloatData(mnemonic)));
  sprintf(mnemonic, "%s.NextE", _dataName);
  addField((_nextE =        new FloatData("wp.mnemonic")));
  sprintf(mnemonic, "%s.Bearing", _dataName);
  addField((_bearing =      new FloatData(mnemonic)));

}


WaypointWallLog::~WaypointWallLog()
{

}


void WaypointWallLog::setFields(float currN, float currE,
				float nextN, float nextE, float bearing)
{
   Boolean debug = False;

//   _behaviorType->setValue(name);
   _currentN->setValue(currN);
   _currentE->setValue(currE);
   _nextN->setValue(nextN);
   _nextE->setValue(nextE);
   _bearing->setValue(bearing);
   
   printf("bearing now = %f\n", _bearing->value());
}

void WaypointWallLog::setFields()
{
   printf("bearing now = %f\n", _bearing->value());
}



