00001 #ifndef LOGGING_H
00002 #define LOGGING_H
00003 #include <inttypes.h>
00004 #include <stdarg.h>
00005 #if defined(ARDUINO) && ARDUINO >= 100
00006 #include "Arduino.h"
00007 #else
00008 #include "WProgram.h"
00009 #endif
00010
00011 extern "C" {
00012 #include <avr/io.h>
00013 }
00014
00015
00016 #define LOG_LEVEL_NOOUTPUT 0
00017 #define LOG_LEVEL_ERRORS 1
00018 #define LOG_LEVEL_INFOS 2
00019 #define LOG_LEVEL_DEBUG 3
00020 #define LOG_LEVEL_VERBOSE 4
00021
00022
00023 #define LOGLEVEL LOG_LEVEL_DEBUG
00024
00025
00026 #define CR "\r\n"
00027 #define LOGGING_VERSION 1
00028
00071 class Logging {
00072 private:
00073 int _level;
00074 long _baud;
00075 public:
00079 Logging(){} ;
00080
00087 void Init(int level, long baud);
00088
00098 void Error(char* msg, ...);
00099
00110 void Info(char* msg, ...);
00111
00122 void Debug(char* msg, ...);
00123
00134 void Verbose(char* msg, ...);
00135
00136
00137 private:
00138 void print(const char *format, va_list args);
00139 };
00140
00141 extern Logging Log;
00142 #endif
00143
00144
00145
00146