#include <unistd.h>
#include <termios.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/uio.h>
#include <fcntl.h>
#include <errno.h>
#include "SharedData.h"
#include "PeriodicTask.h"
#include "SerialDevice.h"
#include "time.h"
#include "Syslog.h"
#include "LayeredControlIF.h"
#include "StreamSerialDriver.h"

class TriggerLog;

class Trigger: public PeriodicTask {
  
//  friend class epiBattLog;
  
 public:
  
  Trigger();
  Trigger(SerialDevice *interface);
  ~Trigger();
  
  float _triggerTime;

 protected:
  
  // Initialize 
  DeviceIF::Status init();

  // Periodic callback
  void sample(void);

  SerialDevice *_device;
  TriggerLog   *_log;
};
