
#ifndef _logBuffer_h
#define _logBuffer_h

#include "RBPXPLRTERM_config.h"

#ifdef LOGGING_ENABLED

typedef struct {
  long timestamp;
  byte state;
  byte event;
  int count;
  byte flags;
  byte auxData;
  String* logtext;
} logevent;

#define LOGMODE_STOP         200
#define LOGMODE_ONESHOT      201
#define LOGMODE_ROLL         202
#define LOGMODE_TRIG_ONESHOT 203
#define LOGMODE_TRIG_ROLL    204

extern void initLogBuffer();
extern void clearLogBuffer();
extern void startLog(byte theLogMode = LOGMODE_ROLL);
extern void writeLog(byte sta, byte evt, int cnt, byte flgs, byte aux, String ltx);
extern void writeLog(byte sta, byte evt, int cnt, byte flgs, byte aux);
extern void writeLog(String ltx);
extern void dumpLogBuffer();

#endif

#endif
