diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b168b8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,367 @@ +#### Ignore file for Arduino as editted with Visual Micro + +## Windows +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows shortcuts +*.lnk + +## Linux +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +## MacOS +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +## Generated files +bin/ +gen/ +out/ +release/ + +## Visual Micro generated files +__vm/ + +# Local configuration file (sdk path, etc) +local.properties + +# Log Files +*.log + +##### Backup +*.bak +*.bck +*.gho +*.ori +*.orig +*.tmp + +##### Dropbox +# Dropbox settings and caches +.dropbox +.dropbox.attr +.dropbox.cache + +# Log file - the following switch allows to specify the file that will be +# used to write all messages from simulation: -l +*.log + +##### SVN +.svn/ + +##### TortoiseGit +# Project-level settings +/.tgitconfig + + +##### VisualStudioCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + + +##### VisualStudio +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual studio related SQlite files +*.db-shm +*.db-wal + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# Tabs Studio +*.tss + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +##### C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +##### C +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +# Cmake +cmake*/ +CMakeListsPrivate.txt + +# PlatformIO IDE data +.pio/ + +# Jetbrains IDE configuration +.idea/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..992647a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,32 @@ +{ + "language": "c", + "before_install": [ + "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16", + "sleep 3", + "export DISPLAY=:1.0", + "wget http://downloads.arduino.cc/arduino-1.8.1-linux64.tar.xz", + "wget http://downloads.arduino.cc/arduino-1.6.13-linux64.tar.xz", + "tar xf arduino-1.6.13-linux64.tar.xz", + "tar xf arduino-1.8.1-linux64.tar.xz" + ], + "install": [ + ], + "script": [ + "sudo cp -r arduino-1.6.13 /usr/local/share/arduino", + "sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino", + "sudo ln -s $PWD /usr/local/share/arduino/libraries/ArduinoLog", + "arduino --verify --board arduino:avr:uno $PWD/examples/Log-basic/Log-basic.ino" + "arduino --verify --board arduino:avr:uno $PWD/examples/Log-advanced/Log-advanced.ino" + + "sudo rm -rf /usr/local/share/arduino", + "sudo cp -r arduino-1.8.1 /usr/local/share/arduino", + "sudo rm /usr/local/bin/arduino", + "sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino", + "sudo ln -s $PWD /usr/local/share/arduino/libraries/ArduinoLog", + "arduino --verify --board arduino:avr:uno $PWD/examples/Log-basic/Log-basic.ino" + "arduino --verify --board arduino:avr:uno $PWD/examples/Log-advanced/Log-advanced.ino" + ], + "group": "stable", + "dist": "precise", + "os": "linux" +} \ No newline at end of file diff --git a/ArduinoLog.cpp b/ArduinoLog.cpp new file mode 100644 index 0000000..b9085d4 --- /dev/null +++ b/ArduinoLog.cpp @@ -0,0 +1,269 @@ +/* + _ ___ ___ _ _ ___ _ _ ___ _ ___ ___ + /_\ | _ \ \| | | |_ _| \| |/ _ \| | / _ \ / __| + / _ \| / |) | |_| || || .` | (_) | |_| (_) | (_ | + /_/ \_\_|_\___/ \___/|___|_|\_|\___/|____\___/ \___| + + Log library for Arduino + version 1.1.1 + https://github.com/thijse/Arduino-Log + +Licensed under the MIT License . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include "ArduinoLog.h" + +void Logging::begin(int level, Print* logOutput, bool showLevel) +{ +#ifndef DISABLE_LOGGING + setLevel(level); + setShowLevel(showLevel); + _logOutput = logOutput; +#endif +} + +void Logging::setLevel(int level) +{ +#ifndef DISABLE_LOGGING + _level = constrain(level, LOG_LEVEL_SILENT, LOG_LEVEL_VERBOSE); +#endif +} + +int Logging::getLevel() const +{ +#ifndef DISABLE_LOGGING + return _level; +#else + return 0; +#endif +} + +void Logging::setShowLevel(bool showLevel) +{ +#ifndef DISABLE_LOGGING + _showLevel = showLevel; +#endif +} + +bool Logging::getShowLevel() const +{ +#ifndef DISABLE_LOGGING + return _showLevel; +#else + return false; +#endif +} + +void Logging::setPrefix(printfunction f) +{ +#ifndef DISABLE_LOGGING + _prefix = f; +#endif +} + +void Logging::clearPrefix() +{ +#ifndef DISABLE_LOGGING + _prefix = nullptr; +#endif +} + +void Logging::setSuffix(printfunction f) +{ +#ifndef DISABLE_LOGGING + _suffix = f; +#endif +} + +void Logging::clearSuffix() +{ +#ifndef DISABLE_LOGGING + _suffix = nullptr; +#endif +} + +void Logging::print(const __FlashStringHelper *format, va_list args) +{ +#ifndef DISABLE_LOGGING + PGM_P p = reinterpret_cast(format); +// This copy is only necessary on some architectures (x86) to change a passed +// array in to a va_list. +#ifdef __x86_64__ + va_list args_copy; + va_copy(args_copy, args); +#endif + char c = pgm_read_byte(p++); + for(;c != 0; c = pgm_read_byte(p++)) + { + if (c == '%') + { + c = pgm_read_byte(p++); +#ifdef __x86_64__ + printFormat(c, &args_copy); +#else + printFormat(c, &args); +#endif + } + else + { + _logOutput->print(c); + } + } +#ifdef __x86_64__ + va_end(args_copy); +#endif +#endif +} + +void Logging::print(const char *format, va_list args) { +#ifndef DISABLE_LOGGING +// This copy is only necessary on some architectures (x86) to change a passed +// array in to a va_list. +#ifdef __x86_64__ + va_list args_copy; + va_copy(args_copy, args); +#endif + for (; *format != 0; ++format) + { + if (*format == '%') + { + ++format; +#ifdef __x86_64__ + printFormat(*format, &args_copy); +#else + printFormat(*format, &args); +#endif + } + else + { + _logOutput->print(*format); + } + } +#ifdef __x86_64__ + va_end(args_copy); +#endif +#endif +} + +void Logging::printFormat(const char format, va_list *args) { +#ifndef DISABLE_LOGGING + if (format == '\0') return; + if (format == '%') + { + _logOutput->print(format); + } + else if (format == 's') + { + register char *s = va_arg(*args, char *); + _logOutput->print(s); + } + else if (format == 'S') + { + register __FlashStringHelper *s = va_arg(*args, __FlashStringHelper *); + _logOutput->print(s); + } + else if (format == 'd' || format == 'i') + { + _logOutput->print(va_arg(*args, int), DEC); + } + else if (format == 'D' || format == 'F') + { + _logOutput->print(va_arg(*args, double)); + } + else if (format == 'x') + { + _logOutput->print(va_arg(*args, int), HEX); + } + else if (format == 'X') + { + _logOutput->print("0x"); + //_logOutput->print(va_arg(*args, int), HEX); + register uint16_t h = (uint16_t) va_arg( *args, int ); + if (h<0xFFF) _logOutput->print('0'); + if (h<0xFF ) _logOutput->print('0'); + if (h<0xF ) _logOutput->print('0'); + _logOutput->print(h,HEX); + } + else if (format == 'p') + { + register Printable *obj = (Printable *) va_arg(*args, int); + _logOutput->print(*obj); + } + else if (format == 'b') + { + _logOutput->print(va_arg(*args, int), BIN); + } + else if (format == 'B') + { + _logOutput->print("0b"); + _logOutput->print(va_arg(*args, int), BIN); + } + else if (format == 'l') + { + _logOutput->print(va_arg(*args, long), DEC); + } + else if (format == 'u') + { + _logOutput->print(va_arg(*args, unsigned long), DEC); + } + else if (format == 'c') + { + _logOutput->print((char) va_arg(*args, int)); + } + else if( format == 'C' ) { + register char c = (char) va_arg( *args, int ); + if (c>=0x20 && c<0x7F) { + _logOutput->print(c); + } else { + _logOutput->print("0x"); + if (c<0xF) _logOutput->print('0'); + _logOutput->print(c, HEX); + } + } + else if(format == 't') + { + if (va_arg(*args, int) == 1) + { + _logOutput->print("T"); + } + else + { + _logOutput->print("F"); + } + } + else if (format == 'T') + { + if (va_arg(*args, int) == 1) + { + _logOutput->print(F("true")); + } + else + { + _logOutput->print(F("false")); + } + } +#endif +} + +#ifndef __DO_NOT_INSTANTIATE__ +Logging Log = Logging(); +#endif + diff --git a/ArduinoLog.h b/ArduinoLog.h new file mode 100644 index 0000000..9ec9fb0 --- /dev/null +++ b/ArduinoLog.h @@ -0,0 +1,387 @@ +/* + _ ___ ___ _ _ ___ _ _ ___ _ ___ ___ + /_\ | _ \ \| | | |_ _| \| |/ _ \| | / _ \ / __| + / _ \| / |) | |_| || || .` | (_) | |_| (_) | (_ | + /_/ \_\_|_\___/ \___/|___|_|\_|\___/|____\___/ \___| + + Log library for Arduino + version 1.1.1 + https://github.com/thijse/Arduino-Log + +Licensed under the MIT License . + +*/ +#pragma once +#include +#include + +// Non standard: Arduino.h also chosen if ARDUINO is not defined. To facilitate use in non-Arduino test environments +#if ARDUINO < 100 + #include "WProgram.h" +#else + #include "Arduino.h" +#endif + +// PGM stubs to facilitate use in non-Arduino test environments +#ifndef PGM_P +#define PGM_P const char * +#define pgm_read_byte(addr) (*(const unsigned char *)(addr)) +#define PSTR(str) (str) +#define F(string_literal) (reinterpret_cast(PSTR(string_literal))) +#endif +typedef void (*printfunction)(Print*, int); + + +// ************************************************************************* +// Uncomment line below to fully disable logging, and reduce project size +// ************************************************************************ +//#define DISABLE_LOGGING + +#define LOG_LEVEL_SILENT 0 +#define LOG_LEVEL_FATAL 1 +#define LOG_LEVEL_ERROR 2 +#define LOG_LEVEL_WARNING 3 +#define LOG_LEVEL_INFO 4 +#define LOG_LEVEL_NOTICE 4 +#define LOG_LEVEL_TRACE 5 +#define LOG_LEVEL_VERBOSE 6 + +#define CR "\n" +#define LF "\r" +#define NL "\n\r" +#define LOGGING_VERSION 1_0_4 + +/** + * ArduinoLog is a minimalistic framework to help the programmer output log statements to an output of choice, + * fashioned after extensive logging libraries such as log4cpp ,log4j and log4net. In case of problems with an + * application, it is helpful to enable logging so that the problem can be located. ArduinoLog is designed so + * that log statements can remain in the code with minimal performance cost. In order to facilitate this the + * loglevel can be adjusted, and (if your code is completely tested) all logging code can be compiled out. + * + * ---- Wildcards + * + * %s display as string (char*) + * %S display as string from flash memory (__FlashStringHelper* or char[] PROGMEM) + * %c display as single character + * %C display as single character or as hexadecimal value (prefixed by `0x`) if not a printable character + * %d display as integer value + * %l display as long value + * %u display as unsigned long value + * %x display as hexadecimal value + * %X display as hexadecimal value prefixed by `0x` and leading zeros + * %b display as binary number + * %B display as binary number, prefixed by `0b` + * %t display as boolean value "t" or "f" + * %T display as boolean value "true" or "false" + * %D,%F display as double value + * %p display a printable object + * + * ---- Loglevels + * + * 0 - LOG_LEVEL_SILENT no output + * 1 - LOG_LEVEL_FATAL fatal errors + * 2 - LOG_LEVEL_ERROR all errors + * 3 - LOG_LEVEL_WARNING errors and warnings + * 4 - LOG_LEVEL_INFO errors, warnings and notices + * 4 - LOG_LEVEL_NOTICE Same as INFO, kept for backward compatibility + * 5 - LOG_LEVEL_TRACE errors, warnings, notices, traces + * 6 - LOG_LEVEL_VERBOSE all + */ + +class Logging +{ +public: + /** + * default Constructor + */ + Logging() +#ifndef DISABLE_LOGGING + : _level(LOG_LEVEL_SILENT), + _showLevel(true), + _logOutput(NULL) +#endif + { + + } + + /** + * Initializing, must be called as first. Note that if you use + * this variant of Init, you need to initialize the baud rate + * yourself, if printer happens to be a serial port. + * + * \param level - logging levels <= this will be logged. + * \param printer - place that logging output will be sent to. + * \return void + * + */ + void begin(int level, Print *output, bool showLevel = true); + + /** + * Set the log level. + * + * \param level - The new log level. + * \return void + */ + void setLevel(int level); + + /** + * Get the log level. + * + * \return The current log level. + */ + int getLevel() const; + + /** + * Set whether to show the log level. + * + * \param showLevel - true if the log level should be shown for each log + * false otherwise. + * \return void + */ + void setShowLevel(bool showLevel); + + /** + * Get whether the log level is shown during logging + * + * \return true if the log level is be shown for each log + * false otherwise. + */ + bool getShowLevel() const; + + /** + * Sets a function to be called before each log command. + * + * \param f - The function to be called + * \return void + */ + void setPrefix(printfunction f); + + /** + * clears prefix. + * + * \return void + */ + void clearPrefix(); + + /** + * Sets a function to be called after each log command. + * + * \param f - The function to be called + * \return void + */ + void setSuffix(printfunction f); + + /** + * clears suffix. + * + * \return void + */ + void clearSuffix(); + + /** + * Output a fatal error message. Output message contains + * F: followed by original message + * Fatal error messages are printed out at + * loglevels >= LOG_LEVEL_FATAL + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void fatal(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_FATAL, false, msg, args...); +#endif + } + + template void fatalln(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_FATAL, true, msg, args...); +#endif + } + + /** + * Output an error message. Output message contains + * E: followed by original message + * Error messages are printed out at + * loglevels >= LOG_LEVEL_ERROR + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void error(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_ERROR, false, msg, args...); +#endif + } + + template void errorln(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_ERROR, true, msg, args...); +#endif + } + /** + * Output a warning message. Output message contains + * W: followed by original message + * Warning messages are printed out at + * loglevels >= LOG_LEVEL_WARNING + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void warning(T msg, Args...args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_WARNING, false, msg, args...); +#endif + } + + template void warningln(T msg, Args...args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_WARNING, true, msg, args...); +#endif + } + + /** + * Output a notice message. Output message contains + * N: followed by original message + * Notice messages are printed out at + * loglevels >= LOG_LEVEL_NOTICE + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void notice(T msg, Args...args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_NOTICE, false, msg, args...); +#endif + } + + template void noticeln(T msg, Args...args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_NOTICE, true, msg, args...); +#endif + } + + template void info(T msg, Args...args) { +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_INFO, false, msg, args...); +#endif + } + + template void infoln(T msg, Args...args) { +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_INFO, true, msg, args...); +#endif + } + + /** + * Output a trace message. Output message contains + * N: followed by original message + * Trace messages are printed out at + * loglevels >= LOG_LEVEL_TRACE + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void trace(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_TRACE, false, msg, args...); +#endif + } + + template void traceln(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_TRACE, true, msg, args...); +#endif + } + + /** + * Output a verbose message. Output message contains + * V: followed by original message + * Debug messages are printed out at + * loglevels >= LOG_LEVEL_VERBOSE + * + * \param msg format string to output + * \param ... any number of variables + * \return void + */ + template void verbose(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_VERBOSE, false, msg, args...); +#endif + } + + template void verboseln(T msg, Args... args){ +#ifndef DISABLE_LOGGING + printLevel(LOG_LEVEL_VERBOSE, true, msg, args...); +#endif + } + +private: + void print(const char *format, va_list args); + + void print(const __FlashStringHelper *format, va_list args); + + void print(const Printable& obj, va_list args) + { +#ifndef DISABLE_LOGGING + _logOutput->print(obj); +#endif + } + + void printFormat(const char format, va_list *args); + + template void printLevel(int level, bool cr, T msg, ...) + { +#ifndef DISABLE_LOGGING + if (level > _level) + { + return; + } + if (level < LOG_LEVEL_SILENT) + { + level = LOG_LEVEL_SILENT; + } + + + if (_prefix != NULL) + { + _prefix(_logOutput, level); + } + + if (_showLevel) { + static const char levels[] = "FEWITV"; + _logOutput->print(levels[level - 1]); + _logOutput->print(": "); + } + + va_list args; + va_start(args, msg); + print(msg, args); + + if(_suffix != NULL) + { + _suffix(_logOutput, level); + } + if (cr) + { + _logOutput->print(CR); + } +#endif + } + +#ifndef DISABLE_LOGGING + int _level; + bool _showLevel; + Print* _logOutput; + + printfunction _prefix = NULL; + printfunction _suffix = NULL; +#endif +}; + +extern Logging Log; diff --git a/Images/logo.png b/Images/logo.png new file mode 100644 index 0000000..88f4475 Binary files /dev/null and b/Images/logo.png differ diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..554b7df --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2017,2018,2021 Thijs Elenbaas, MrRobot62, rahuldeo2047, NOX73, + dhylands, Josha, blemasle, mfalkvidd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Logging.cpp b/Logging.cpp deleted file mode 100644 index aede239..0000000 --- a/Logging.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "Logging.h" - -void Logging::Init(int level, long baud){ - _level = constrain(level,LOG_LEVEL_NOOUTPUT,LOG_LEVEL_VERBOSE); - _baud = baud; - Serial.begin(_baud); -} - -void Logging::Error(char* msg, ...){ - if (LOG_LEVEL_ERRORS <= _level) { - print ("ERROR: ",0); - va_list args; - va_start(args, msg); - print(msg,args); - } -} - - -void Logging::Info(char* msg, ...){ - if (LOG_LEVEL_INFOS <= _level) { - va_list args; - va_start(args, msg); - print(msg,args); - } -} - -void Logging::Debug(char* msg, ...){ - if (LOG_LEVEL_DEBUG <= _level) { - va_list args; - va_start(args, msg); - print(msg,args); - } -} - - -void Logging::Verbose(char* msg, ...){ - if (LOG_LEVEL_VERBOSE <= _level) { - va_list args; - va_start(args, msg); - print(msg,args); - } -} - - - - void Logging::print(const char *format, va_list args) { - // - // loop through format string - for (; *format != 0; ++format) { - if (*format == '%') { - ++format; - if (*format == '\0') break; - if (*format == '%') { - Serial.print(*format); - continue; - } - if( *format == 's' ) { - register char *s = (char *)va_arg( args, int ); - Serial.print(s); - continue; - } - if( *format == 'd' || *format == 'i') { - Serial.print(va_arg( args, int ),DEC); - continue; - } - if( *format == 'x' ) { - Serial.print(va_arg( args, int ),HEX); - continue; - } - if( *format == 'X' ) { - Serial.print("0x"); - Serial.print(va_arg( args, int ),HEX); - continue; - } - if( *format == 'b' ) { - Serial.print(va_arg( args, int ),BIN); - continue; - } - if( *format == 'B' ) { - Serial.print("0b"); - Serial.print(va_arg( args, int ),BIN); - continue; - } - if( *format == 'l' ) { - Serial.print(va_arg( args, long ),DEC); - continue; - } - - if( *format == 'c' ) { - Serial.print(va_arg( args, int )); - continue; - } - if( *format == 't' ) { - if (va_arg( args, int ) == 1) { - Serial.print("T"); - } - else { - Serial.print("F"); - } - continue; - } - if( *format == 'T' ) { - if (va_arg( args, int ) == 1) { - Serial.print("true"); - } - else { - Serial.print("false"); - } - continue; - } - - } - Serial.print(*format); - } - } - - Logging Log = Logging(); - - - - - - - - diff --git a/Logging.h b/Logging.h deleted file mode 100644 index 930fa1b..0000000 --- a/Logging.h +++ /dev/null @@ -1,146 +0,0 @@ -#ifndef LOGGING_H -#define LOGGING_H -#include -#include -#if defined(ARDUINO) && ARDUINO >= 100 - #include "Arduino.h" -#else - #include "WProgram.h" -#endif -//#include "pins_arduino.h" -extern "C" { - #include -} - - -#define LOG_LEVEL_NOOUTPUT 0 -#define LOG_LEVEL_ERRORS 1 -#define LOG_LEVEL_INFOS 2 -#define LOG_LEVEL_DEBUG 3 -#define LOG_LEVEL_VERBOSE 4 - -// default loglevel if nothing is set from user -#define LOGLEVEL LOG_LEVEL_DEBUG - - -#define CR "\r\n" -#define LOGGING_VERSION 1 - -/*! -* Logging is a helper class to output informations over -* RS232. If you know log4j or log4net, this logging class -* is more or less similar ;-)
-* Different loglevels can be used to extend or reduce output -* All methods are able to handle any number of output parameters. -* All methods print out a formated string (like printf).
-* To reduce output and program size, reduce loglevel. -*
-* Output format string can contain below wildcards. Every wildcard -* must be start with percent sign (\%) -* -* Depending on loglevel, source code is excluded from compile !
-*
-* Wildcards
-*
    -*
  • \%s replace with an string (char*)
  • -*
  • \%c replace with an character
  • -*
  • \%d replace with an integer value
  • -*
  • \%l replace with an long value
  • -*
  • \%x replace and convert integer value into hex
  • -*
  • \%X like %x but combine with 0x123AB
  • -*
  • \%b replace and convert integer value into binary
  • -*
  • \%B like %x but combine with 0b10100011
  • -*
  • \%t replace and convert boolean value into "t" or "f"
  • -*
  • \%T like %t but convert into "true" or "false"
  • -*

-* Loglevels
-* -* -* -* -* -* -*
0LOG_LEVEL_NOOUTPUTno output
1LOG_LEVEL_ERRORSonly errors
2LOG_LEVEL_INFOSerrors and info
3LOG_LEVEL_DEBUGerrors, info and debug
4LOG_LEVEL_VERBOSEall
-*
-*

History


-* -* -* -* -*/ -class Logging { -private: - int _level; - long _baud; -public: - /*! - * default Constructor - */ - Logging(){} ; - - /** - * Initializing, must be called as first. - * \param void - * \return void - * - */ - void Init(int level, long baud); - - /** - * Output an error message. Output message contains - * ERROR: followed by original msg - * Error messages are printed out, at every loglevel - * except 0 ;-) - * \param msg format string to output - * \param ... any number of variables - * \return void - */ - void Error(char* msg, ...); - - /** - * Output an info message. Output message contains - * Info messages are printed out at l - * loglevels >= LOG_LEVEL_INFOS - * - * \param msg format string to output - * \param ... any number of variables - * \return void - */ - - void Info(char* msg, ...); - - /** - * Output an debug message. Output message contains - * Debug messages are printed out at l - * loglevels >= LOG_LEVEL_DEBUG - * - * \param msg format string to output - * \param ... any number of variables - * \return void - */ - - void Debug(char* msg, ...); - - /** - * Output an verbose message. Output message contains - * Debug messages are printed out at l - * loglevels >= LOG_LEVEL_VERBOSE - * - * \param msg format string to output - * \param ... any number of variables - * \return void - */ - - void Verbose(char* msg, ...); - - -private: - void print(const char *format, va_list args); -}; - -extern Logging Log; -#endif - - - - diff --git a/Logging.zip b/Logging.zip deleted file mode 100644 index 6978edb..0000000 Binary files a/Logging.zip and /dev/null differ diff --git a/Logging_WikiPage.txt b/Logging_WikiPage.txt deleted file mode 100644 index ab6c98e..0000000 --- a/Logging_WikiPage.txt +++ /dev/null @@ -1,54 +0,0 @@ -%define=box block bgcolor=#dddddd border="2px dotted white"% -%define=wbox block bgcolor=#eeeeee color=#000000 border="1px dotted black" padding="2px"% - - -%wbox%[@Logging library for Arudino -by LunaX - 2010/2011 -@]%% - -!CURRENT VERSION - -1.0)24-FEB-2012 beta version. - -!HISTORY - -1.0) 24-FEB-2012 Initial Release\\ - - -!DESCRIPTION -Easy to use logging library, like log4j or log4net. After getting a logger object, you will have -methods like Error, Info, Warn, Debug, Verbose to log informations over RS232. -Depending on the current loglevel lower logleves are not printed out. -It is possible to work with variable argument lists during output. -Detailed description is included in doc folder - -!HOW TO IMPORT/INSTALL -Download here zip file here [[https://github.com/mrRobot62/Arduino-logging-library]] - -Put the Logging folder in "libraries\". - -Open example project which is included in the zip file. Try it, like it :-) - -Some benefits: -!Use formated strings with wildcards -||border=0 -||!wildcard ||!Comment ||Example || -||%s ||replace with an string (char*) ||logger.Info("String %s",myString); || -||%c ||replace with an character ||logger.Info("use %c as input",myChar); || -||%d ||replace with an integer value ||logger.Info("current value %d",myValue); || -||%l ||replace with an long value ||logger.Info("current long %l",myLong); || -||%x ||replace and convert integer value into hex ||logger.Info ("as hex %x), myValue); || -||%X ||like %x but combine with 0x123AB ||logger.Info ("as hex %X), myValue); || -||%b ||replace and convert integer value into binary ||logger.Info ("as bin %b), myValue); || -||%B ||like %x but combine with 0b10100011 ||logger.Info ("as bin %B), myValue); || -||%t ||replace and convert boolean value into "t" or "f" ||logger.Info ("is it true? %t), myBool); || -||%T ||like %t but convert into "true" or "false" ||logger.Info ("is it true? %T), myBool); || - -!Methods for output -||border=0 -||!Methode ||!Comment || -||Error ||print messages with loglevel >= LOGLEVEL_ERROR || -||Info ||print messages with loglevel >= LOGLEVEL_INFO || -||Debug ||print messages with loglevel >= LOGLEVEL_DEBUG || -||Verbose ||print messages with loglevel >= LOGLEVEL_VERGBOSE || -%% diff --git a/README.md b/README.md new file mode 100644 index 0000000..628cd76 --- /dev/null +++ b/README.md @@ -0,0 +1,219 @@ +![ArduinoLog logo](/Images/logo.png?raw=true ) +ArduinoLog - C++ Log library for Arduino devices +==================== +[![Build Status](https://travis-ci.org/thijse/Arduino-Log.svg?branch=master)](https://travis-ci.org/thijse/Arduino-Log) +[![License](https://img.shields.io/badge/license-MIT%20License-blue.svg)](http://doge.mit-license.org) + +*An minimalistic Logging framework for Arduino-compatible embedded systems.* + +ArduinoLog is a minimalistic framework to help the programmer output log statements to an output of choice, fashioned after extensive logging libraries such as log4cpp ,log4j and log4net. In case of problems with an application, it is helpful to enable logging so that the problem can be located. ArduinoLog is designed so that log statements can remain in the code with minimal performance cost. In order to facilitate this the loglevel can be adjusted, and (if your code is completely tested) all logging code can be compiled out. + +## Features + +* Different log levels (Error, Info, Warn, Debug, Verbose ) +* Supports multiple variables +* Supports formatted strings +* Supports formatted strings from flash memory +* Fixed memory allocation (zero malloc) +* MIT License + +## Tested for + +* All Arduino boards (Uno, Due, Mini, Micro, Yun...) +* ESP8266 +* ESP32 + +## Downloading + +This package has been published to the Arduino & PlatformIO package managers, but you can also download it from GitHub. + +- By directly loading fetching the Archive from GitHub: + 1. Go to [https://github.com/thijse/Arduino-Log](https://github.com/thijse/Arduino-Log) + 2. Click the DOWNLOAD ZIP button in the panel on the + 3. Rename the uncompressed folder **Arduino-Log-master** to **Arduino-Log**. + 4. You may need to create the libraries subfolder if its your first library. + 5. Place the **Arduino-Log** library folder in your **/libraries/** folder. + 5. Restart the IDE. + 6. For more information, [read this extended manual](http://thijs.elenbaas.net/2012/07/installing-an-arduino-library/) + + +## Quick start + +```c++ + Serial.begin(9600); + + // Initialize with log level and log output. + Log.begin (LOG_LEVEL_VERBOSE, &Serial); + + // Start logging text and formatted values + Log.errorln ( "Log as Error with binary values : %b, %B" , 23 , 345808); + Log.warning (F("Log as Warning with integer values from Flash : %d, %d"CR) , 34 , 799870); +``` + +See [Log-basic.ino](examples/Log-basic/Log-basic.ino) example + + +## Usage + +### Initialisation + +The log library needs to be initialized with the log level of messages to show and the log output. The latter will often be the Serial interface. +Optionally, you can indicate whether to show the log type (error, debug, etc) for each line. + +``` +begin(int level, Print* logOutput, bool showLevel) +begin(int level, Print* logOutput) +``` + +The loglevels available are + +``` +* 0 - LOG_LEVEL_SILENT no output +* 1 - LOG_LEVEL_FATAL fatal errors +* 2 - LOG_LEVEL_ERROR all errors +* 3 - LOG_LEVEL_WARNING errors, and warnings +* 4 - LOG_LEVEL_NOTICE errors, warnings and notices +* 5 - LOG_LEVEL_TRACE errors, warnings, notices & traces +* 6 - LOG_LEVEL_VERBOSE all +``` + +example + +``` +Log.begin(LOG_LEVEL_ERROR, &Serial, true); +``` + +if you want to fully remove all logging code, uncomment `#define DISABLE_LOGGING` in `ArduinoLog.h`, this may significantly reduce your sketch/library size. + +### Log events + +The library allows you to log on different levels by the following functions + +```c++ +void fatal (const char *format, va_list logVariables); +void error (const char *format, va_list logVariables); +void warning (const char *format, va_list logVariables); +void notice (const char *format, va_list logVariables); +void trace (const char *format, va_list logVariables); +void verbose (const char *format, va_list logVariables); +``` + +where the format string can be used to format the log variables + +``` +* %s display as string (char*) +* %S display as string from flash memory (__FlashStringHelper* or char[] PROGMEM) +* %c display as single character +* %C display as single character or as hexadecimal value (prefixed by `0x`) if not a printable character +* %d display as integer value +* %l display as long value +* %u display as unsigned long value +* %x display as hexadecimal value +* %X display as hexadecimal value prefixed by `0x` and leading zeros +* %b display as binary number +* %B display as binary number, prefixed by `0b` +* %t display as boolean value "t" or "f" +* %T display as boolean value "true" or "false" +* %D,%F display as double value +* %p display a printable object +``` + + Newlines can be added using the `CR` keyword or by using the `...ln` version of each of the log functions. The difference when using the `...ln` is that the newline is placed after suffix, and only a single newline can be added. Some terminals prefer `NL` (New line). + +### Examples + +```c++ +Log.fatal (F("Log as Fatal with string value from Flash : %s"CR ) , "value" ); +Log.errorln ( "Log as Error with binary values : %b, %B" , 23 , 345808); +Log.warning (F("Log as Warning with integer values from Flash : %d, %d"CR) , 34 , 799870); +Log.notice ( "Log as Notice with hexadecimal values : %x, %X"CR , 21 , 348972); +Log.trace ( "Log as Trace with Flash string : %S"CR ) , F("value") ); +Log.verboseln (F("Log as Verbose with bool value from Flash : %t, %T" ) , true, false ); +``` + +### Disable library + +(if your code is completely tested) all logging code can be compiled out. Do this by uncommenting +```c++ +#define DISABLE_LOGGING +``` +in `Logging.h`. This may significantly reduce your project size. + + +## Advanced usage + +Advanced features are demonstrated in [Log-advanced](examples/Log-advanced/Log-advanced.ino) example. + +### Displaying a printable object + +Some Arduino objects are printable. That is, they implement the `Printable` interface and are able for format their own representation +As an example, the IPadress object is printable: + +```c++ +IPAddress ipAddress(192, 168, 0, 1); +Log.verboseln ("ip address : %p", ipAddress); +``` + +[this example](https://forum.arduino.cc/t/printable-classes/438816) shows how to make your own classes printable + + ### Storing messages in Flash memory + +Flash strings log variables can be stored and reused at several places to reduce final hex size. + +```c++ +const __FlashStringHelper * logAs = F("Log as"); +Log.fatal (F("%S Fatal with string value from Flash : %s"CR ) , logAs, "value" ); +Log.error ( "%S Error with binary values : %b, %B"CR , logAs, 23 , 345808); +``` + +If you want to declare that string globally (outside of a function), you will need to use the PROGMEM macro instead. + +```c++ +const char LOG_AS[] PROGMEM = "Log as "; + +void logError() { + Log.error ( "%S Error with binary values : %b, %B"CR , PSTRPTR(LOG_AS), 23 , 345808); +} +``` + +### Custom logging format + +You can modify your logging format by defining a custom prefix & suffix for each log line. For example: +```c++ +void printPrefix(Print* _logOutput, int logLevel) { + printTimestamp(_logOutput); + printLogLevel (_logOutput, logLevel); +} +``` +will result in log timestamps very similar to e.g. NLOG: +``` +00:47:51.432 VERBOSE Message to be logged +``` + +## Credit + +Based on library by +* [Bernd Klein](https://github.com/mrRobot62) + +Bugfixes & features by +* [rahuldeo2047](https://github.com/rahuldeo2047) +* [NOX73](https://github.com/NOX73) +* [Dave Hylands](https://github.com/dhylands) +* [Jos Hanon](https://github.com/Josha) +* [Bertrand Lemasle](https://github.com/blemasle) +* [Mikael Falkvidd](https://github.com/mfalkvidd) +* [Rowan Goemans](https://github.com/rowanG077) +* [Nils Bokermann](https://github.com/sanddorn) +* [Florian](https://github.com/1technophile) +* [wrong-kendall](https://github.com/wrong-kendall) +* [bitli](https://github.com/bitli) +* [ChristianBauerAMDC](https://github.com/ChristianBauerAMDC) + +## On using and modifying libraries + +- [http://www.arduino.cc/en/Main/Libraries](http://www.arduino.cc/en/Main/Libraries) +- [http://www.arduino.cc/en/Reference/Libraries](http://www.arduino.cc/en/Reference/Libraries) + +## Copyright + +ArduinoLog (Copyright © 2017,2018, 2019, 2021) is provided under MIT License. diff --git a/doc/doxygen_objdb_4636.tmp b/doc/doxygen_objdb_4636.tmp deleted file mode 100644 index e69de29..0000000 diff --git a/doc/html/_logging_8cpp-source.html b/doc/html/_logging_8cpp-source.html deleted file mode 100644 index 475dfa4..0000000 --- a/doc/html/_logging_8cpp-source.html +++ /dev/null @@ -1,146 +0,0 @@ - - -Logging: K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp Source File - - - - - -
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/_logging_8cpp.html b/doc/html/_logging_8cpp.html deleted file mode 100644 index bff159c..0000000 --- a/doc/html/_logging_8cpp.html +++ /dev/null @@ -1,57 +0,0 @@ - - -Logging: K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp File Reference - - - - - -
-

K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp File Reference

#include "Logging.h"
- -

-

-Include dependency graph for Logging.cpp:
-
-

-
- -

-Go to the source code of this file.

01 FEB 2012initial release
06 MAR 2012implement a preinstanciate object (like in Wire, ...)
methode init get now loglevel and baud parameter
- - - - -

Variables

Logging Log = Logging()
-

Variable Documentation

- -
-
- - - - -
Logging Log = Logging()
-
-
- -

- -

Definition at line 117 of file Logging.cpp.

- -
-

- -


Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/_logging_8cpp__incl.md5 b/doc/html/_logging_8cpp__incl.md5 deleted file mode 100644 index 42fa2fc..0000000 --- a/doc/html/_logging_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9bc36cc228a2c8d3e1c6ff210fc4873c \ No newline at end of file diff --git a/doc/html/_logging_8cpp__incl.png b/doc/html/_logging_8cpp__incl.png deleted file mode 100644 index 63b116e..0000000 Binary files a/doc/html/_logging_8cpp__incl.png and /dev/null differ diff --git a/doc/html/_logging_8h-source.html b/doc/html/_logging_8h-source.html deleted file mode 100644 index 08f0086..0000000 --- a/doc/html/_logging_8h-source.html +++ /dev/null @@ -1,77 +0,0 @@ - - -Logging: K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h Source File - - - - - -
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/_logging_8h.html b/doc/html/_logging_8h.html deleted file mode 100644 index e31432c..0000000 --- a/doc/html/_logging_8h.html +++ /dev/null @@ -1,236 +0,0 @@ - - -Logging: K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h File Reference - - - - - -
-

K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h File Reference

#include <inttypes.h>
-#include <stdarg.h>
-#include "WProgram.h"
-#include <avr/io.h>
- -

-

-Include dependency graph for Logging.h:
-
-

-
- -

-

-This graph shows which files directly or indirectly include this file:
-
-

- - -
- -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  Logging

Defines

#define LOG_LEVEL_NOOUTPUT   0
#define LOG_LEVEL_ERRORS   1
#define LOG_LEVEL_INFOS   2
#define LOG_LEVEL_DEBUG   3
#define LOG_LEVEL_VERBOSE   4
#define LOGLEVEL   LOG_LEVEL_DEBUG
#define CR   "\r\n"
#define LOGGING_VERSION   1

Variables

Logging Log
-


Define Documentation

- -
-
- - - - -
#define CR   "\r\n"
-
-
- -

- -

Definition at line 26 of file Logging.h.

- -
-

- -

-
- - - - -
#define LOG_LEVEL_DEBUG   3
-
-
- -

- -

Definition at line 19 of file Logging.h.

- -

Referenced by Logging::Debug().

- -
-

- -

-
- - - - -
#define LOG_LEVEL_ERRORS   1
-
-
- -

- -

Definition at line 17 of file Logging.h.

- -

Referenced by Logging::Error().

- -
-

- -

-
- - - - -
#define LOG_LEVEL_INFOS   2
-
-
- -

- -

Definition at line 18 of file Logging.h.

- -

Referenced by Logging::Info().

- -
-

- -

-
- - - - -
#define LOG_LEVEL_NOOUTPUT   0
-
-
- -

- -

Definition at line 16 of file Logging.h.

- -

Referenced by Logging::Init().

- -
-

- -

-
- - - - -
#define LOG_LEVEL_VERBOSE   4
-
-
- -

- -

Definition at line 20 of file Logging.h.

- -

Referenced by Logging::Init(), and Logging::Verbose().

- -
-

- -

-
- - - - -
#define LOGGING_VERSION   1
-
-
- -

- -

Definition at line 27 of file Logging.h.

- -
-

- -

-
- - - - -
#define LOGLEVEL   LOG_LEVEL_DEBUG
-
-
- -

- -

Definition at line 23 of file Logging.h.

- -
-

-


Variable Documentation

- -
-
- - - - -
Logging Log
-
-
- -

- -

Definition at line 117 of file Logging.cpp.

- -
-

-

-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/_logging_8h__dep__incl.map b/doc/html/_logging_8h__dep__incl.map deleted file mode 100644 index 0b98831..0000000 --- a/doc/html/_logging_8h__dep__incl.map +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/html/_logging_8h__dep__incl.md5 b/doc/html/_logging_8h__dep__incl.md5 deleted file mode 100644 index d63556a..0000000 --- a/doc/html/_logging_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f474553a6094abd8cb87cb218f448acf \ No newline at end of file diff --git a/doc/html/_logging_8h__dep__incl.png b/doc/html/_logging_8h__dep__incl.png deleted file mode 100644 index a3bb9c5..0000000 Binary files a/doc/html/_logging_8h__dep__incl.png and /dev/null differ diff --git a/doc/html/_logging_8h__incl.map b/doc/html/_logging_8h__incl.map deleted file mode 100644 index e69de29..0000000 diff --git a/doc/html/_logging_8h__incl.md5 b/doc/html/_logging_8h__incl.md5 deleted file mode 100644 index 40689a5..0000000 --- a/doc/html/_logging_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a2cd343e55b11f7ce30991e2ff3c64f6 \ No newline at end of file diff --git a/doc/html/_logging_8h__incl.png b/doc/html/_logging_8h__incl.png deleted file mode 100644 index 7f150fa..0000000 Binary files a/doc/html/_logging_8h__incl.png and /dev/null differ diff --git a/doc/html/annotated.html b/doc/html/annotated.html deleted file mode 100644 index 0013253..0000000 --- a/doc/html/annotated.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Logging: Class List - - - - - -
-

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: - -
Logging
-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/class_logging-members.html b/doc/html/class_logging-members.html deleted file mode 100644 index b16513b..0000000 --- a/doc/html/class_logging-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -Logging: Member List - - - - - -
-

Logging Member List

This is the complete list of members for Logging, including all inherited members.

- - - - - - - - - -
_baudLogging [private]
_levelLogging [private]
Debug(char *msg,...)Logging
Error(char *msg,...)Logging
Info(char *msg,...)Logging
Init(int level, long baud)Logging
Logging()Logging [inline]
print(const char *format, va_list args)Logging [private]
Verbose(char *msg,...)Logging

-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/class_logging.html b/doc/html/class_logging.html deleted file mode 100644 index c380cc8..0000000 --- a/doc/html/class_logging.html +++ /dev/null @@ -1,450 +0,0 @@ - - -Logging: Logging Class Reference - - - - - -
-

Logging Class Reference

#include <Logging.h> -

- -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 Logging ()
void Init (int level, long baud)
void Error (char *msg,...)
void Info (char *msg,...)
void Debug (char *msg,...)
void Verbose (char *msg,...)

Private Member Functions

void print (const char *format, va_list args)

Private Attributes

int _level
long _baud
-


Detailed Description

-Logging is a helper class to output informations over RS232. If you know log4j or log4net, this logging class is more or less similar ;-)
- Different loglevels can be used to extend or reduce output All methods are able to handle any number of output parameters. All methods print out a formated string (like printf).
- To reduce output and program size, reduce loglevel.
- Output format string can contain below wildcards. Every wildcard must be start with percent sign (%)

-Depending on loglevel, source code is excluded from compile !
-
- Wildcards
-

    -
  • -%s replace with an string (char*)
  • -
  • -%c replace with an character
  • -
  • -%d replace with an integer value
  • -
  • -%l replace with an long value
  • -
  • -%x replace and convert integer value into hex
  • -
  • -%X like x but combine with 0x123AB
  • -
  • -%b replace and convert integer value into binary
  • -
  • -%B like x but combine with 0b10100011
  • -
  • -%t replace and convert boolean value into "t" or "f"
  • -
  • -%T like t but convert into "true" or "false"
  • -
-
- Loglevels
- - - - - - - - - - - -
0LOG_LEVEL_NOOUTPUTno output
1LOG_LEVEL_ERRORSonly errors
2LOG_LEVEL_INFOSerrors and info
3LOG_LEVEL_DEBUGerrors, info and debug
4LOG_LEVEL_VERBOSEall
-
-

History

-

-
- - - - - - - -
01 FEB 2012initial release
06 MAR 2012implement a preinstanciate object (like in Wire, ...)
methode init get now loglevel and baud parameter
- -

Definition at line 71 of file Logging.h.

-

Constructor & Destructor Documentation

- -
-
- - - - - - - - -
Logging::Logging (  )  [inline]
-
-
- -

-default Constructor -

Definition at line 79 of file Logging.h.

- -
-

-


Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void Logging::Init (int  level,
long  baud 
)
-
-
- -

-Initializing, must be called as first.

Parameters:
- - -
void 
-
-
Returns:
void
- -

Definition at line 3 of file Logging.cpp.

- -

References _baud, _level, LOG_LEVEL_NOOUTPUT, and LOG_LEVEL_VERBOSE.

- -
-

- -

-
- - - - - - - - - - - - - - - - - - -
void Logging::Error (char *  msg,
  ... 
)
-
-
- -

-Output an error message. Output message contains ERROR: followed by original msg Error messages are printed out, at every loglevel except 0 ;-)

Parameters:
- - - -
msg format string to output
... any number of variables
-
-
Returns:
void
- -

Definition at line 9 of file Logging.cpp.

- -

References _level, LOG_LEVEL_ERRORS, and print().

- -

-

-Here is the call graph for this function:
-
-

- - -
- -
-

- -

-
- - - - - - - - - - - - - - - - - - -
void Logging::Info (char *  msg,
  ... 
)
-
-
- -

-Output an info message. Output message contains Info messages are printed out at l loglevels >= LOG_LEVEL_INFOS

-

Parameters:
- - - -
msg format string to output
... any number of variables
-
-
Returns:
void
- -

Definition at line 19 of file Logging.cpp.

- -

References _level, LOG_LEVEL_INFOS, and print().

- -

-

-Here is the call graph for this function:
-
-

- - -
- -
-

- -

-
- - - - - - - - - - - - - - - - - - -
void Logging::Debug (char *  msg,
  ... 
)
-
-
- -

-Output an debug message. Output message contains Debug messages are printed out at l loglevels >= LOG_LEVEL_DEBUG

-

Parameters:
- - - -
msg format string to output
... any number of variables
-
-
Returns:
void
- -

Definition at line 27 of file Logging.cpp.

- -

References _level, LOG_LEVEL_DEBUG, and print().

- -

-

-Here is the call graph for this function:
-
-

- - -
- -
-

- -

-
- - - - - - - - - - - - - - - - - - -
void Logging::Verbose (char *  msg,
  ... 
)
-
-
- -

-Output an verbose message. Output message contains Debug messages are printed out at l loglevels >= LOG_LEVEL_VERBOSE

-

Parameters:
- - - -
msg format string to output
... any number of variables
-
-
Returns:
void
- -

Definition at line 36 of file Logging.cpp.

- -

References _level, LOG_LEVEL_VERBOSE, and print().

- -

-

-Here is the call graph for this function:
-
-

- - -
- -
-

- -

-
- - - - - - - - - - - - - - - - - - -
void Logging::print (const char *  format,
va_list  args 
) [private]
-
-
- -

- -

Definition at line 46 of file Logging.cpp.

- -

Referenced by Debug(), Error(), Info(), and Verbose().

- -
-

-


Member Data Documentation

- -
-
- - - - -
int Logging::_level [private]
-
-
- -

- -

Definition at line 73 of file Logging.h.

- -

Referenced by Debug(), Error(), Info(), Init(), and Verbose().

- -
-

- -

-
- - - - -
long Logging::_baud [private]
-
-
- -

- -

Definition at line 74 of file Logging.h.

- -

Referenced by Init().

- -
-

-


The documentation for this class was generated from the following files:
    -
  • K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h
  • K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp
-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map b/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map deleted file mode 100644 index 4e7e826..0000000 --- a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 b/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 deleted file mode 100644 index 7cbc5c5..0000000 --- a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b44edf156b3ed94fc1e1a435a07bb5dd \ No newline at end of file diff --git a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png b/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png deleted file mode 100644 index b7a3a1c..0000000 Binary files a/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png and /dev/null differ diff --git a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map b/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map deleted file mode 100644 index 9105e07..0000000 --- a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 b/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 deleted file mode 100644 index 4e4f608..0000000 --- a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5e8a322879636277bcdb0b2b55b54b9f \ No newline at end of file diff --git a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png b/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png deleted file mode 100644 index c1c0895..0000000 Binary files a/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png and /dev/null differ diff --git a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.map b/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.map deleted file mode 100644 index bbd6c1c..0000000 --- a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.map +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 b/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 deleted file mode 100644 index d8d161d..0000000 --- a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2e8d61f05c7d2cc58b8f665f5d80d4de \ No newline at end of file diff --git a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png b/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png deleted file mode 100644 index bf963ef..0000000 Binary files a/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png and /dev/null differ diff --git a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map b/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map deleted file mode 100644 index 5d4ffa6..0000000 --- a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 b/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 deleted file mode 100644 index f957c37..0000000 --- a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -efec75918d9cbb82f0986a019f6a914b \ No newline at end of file diff --git a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png b/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png deleted file mode 100644 index b5c22ef..0000000 Binary files a/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png and /dev/null differ diff --git a/doc/html/classes.html b/doc/html/classes.html deleted file mode 100644 index 639f63d..0000000 --- a/doc/html/classes.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Logging: Alphabetical List - - - - - -
-

Class Index

- -
  L  
-
Logging   

-

-
Generated on Sun Feb 26 09:52:54 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css deleted file mode 100644 index 22c4843..0000000 --- a/doc/html/doxygen.css +++ /dev/null @@ -1,473 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -BODY,TD { - font-size: 90%; -} -H1 { - text-align: center; - font-size: 160%; -} -H2 { - font-size: 120%; -} -H3 { - font-size: 100%; -} -CAPTION { - font-weight: bold -} -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navpath { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { - text-decoration: none; - background-color: #6666cc; - color: #ffffff -} -A.el { - text-decoration: none; - font-weight: bold -} -A.elRef { - font-weight: bold -} -A.code:link { - text-decoration: none; - font-weight: normal; - color: #0000FF -} -A.code:visited { - text-decoration: none; - font-weight: normal; - color: #0000FF -} -A.codeRef:link { - font-weight: normal; - color: #0000FF -} -A.codeRef:visited { - font-weight: normal; - color: #0000FF -} -A:hover { - text-decoration: none; - background-color: #f2f2ff -} -DL.el { - margin-left: -1cm -} -.fragment { - font-family: monospace, fixed; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px -} - -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { - margin-left: 16px; - font-style: italic; - font-size: 90% -} -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #e8eef2; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { - text-align: center; -} -IMG.formulaDsp { -} -IMG.formulaInl { - vertical-align: middle; -} -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -SPAN.vhdldigit { color: #ff00ff } -SPAN.vhdlchar { color: #000000 } -SPAN.vhdlkeyword { color: #700070 } -SPAN.vhdllogic { color: #ff0000 } - -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; -} -.search { - color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -TD.tiny { - font-size: 75%; -} -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #84b0c7; -} -TH.dirtab { - background: #e8eef2; - font-weight: bold; -} -HR { - height: 1px; - border: none; - border-top: 1px solid black; -} - -/* Style for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #606060; - font-weight: normal; - margin-left: 3px; -} -.memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -.memitem { - padding: 4px; - background-color: #eef3f5; - border-width: 1px; - border-style: solid; - border-color: #dedeee; - -moz-border-radius: 8px 8px 8px 8px; -} -.memname { - white-space: nowrap; - font-weight: bold; -} -.memdoc{ - padding-left: 10px; -} -.memproto { - background-color: #d5e1e8; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #84b0c7; - font-weight: bold; - -moz-border-radius: 8px 8px 8px 8px; -} -.paramkey { - text-align: right; -} -.paramtype { - white-space: nowrap; -} -.paramname { - color: #602020; - font-style: italic; - white-space: nowrap; -} -/* End Styling for detailed member documentation */ - -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin:0.5em; -} -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; -} -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* The following two styles can be used to replace the root node title */ -/* with an image of your choice. Simply uncomment the next two styles, */ -/* specify the name of your image and be sure to set 'height' to the */ -/* proper pixel height of your image. */ - -/* .directory h3.swap { */ -/* height: 61px; */ -/* background-repeat: no-repeat; */ -/* background-image: url("yourimage.gif"); */ -/* } */ -/* .directory h3.swap span { */ -/* display: none; */ -/* } */ - -.directory > h3 { - margin-top: 0; -} -.directory p { - margin: 0px; - white-space: nowrap; -} -.directory div { - display: none; - margin: 0px; -} -.directory img { - vertical-align: -30%; -} -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} -.directory-alt > h3 { - margin-top: 0; -} -.directory-alt p { - margin: 0px; - white-space: nowrap; -} -.directory-alt div { - display: none; - margin: 0px; -} -.directory-alt img { - vertical-align: -30%; -} - diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png deleted file mode 100644 index f0a274b..0000000 Binary files a/doc/html/doxygen.png and /dev/null differ diff --git a/doc/html/files.html b/doc/html/files.html deleted file mode 100644 index 57e8865..0000000 --- a/doc/html/files.html +++ /dev/null @@ -1,33 +0,0 @@ - - -Logging: File Index - - - - - -
-

File List

Here is a list of all files with brief descriptions: - - -
K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp [code]
K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h [code]
-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png deleted file mode 100644 index 493c3c0..0000000 Binary files a/doc/html/ftv2blank.png and /dev/null differ diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png deleted file mode 100644 index f72999f..0000000 Binary files a/doc/html/ftv2doc.png and /dev/null differ diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png deleted file mode 100644 index d6d0634..0000000 Binary files a/doc/html/ftv2folderclosed.png and /dev/null differ diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png deleted file mode 100644 index bbe2c91..0000000 Binary files a/doc/html/ftv2folderopen.png and /dev/null differ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png deleted file mode 100644 index e7b9ba9..0000000 Binary files a/doc/html/ftv2lastnode.png and /dev/null differ diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png deleted file mode 100644 index 14f3fed..0000000 Binary files a/doc/html/ftv2link.png and /dev/null differ diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png deleted file mode 100644 index 09ceb6a..0000000 Binary files a/doc/html/ftv2mlastnode.png and /dev/null differ diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png deleted file mode 100644 index 3254c05..0000000 Binary files a/doc/html/ftv2mnode.png and /dev/null differ diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png deleted file mode 100644 index c9f06a5..0000000 Binary files a/doc/html/ftv2node.png and /dev/null differ diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png deleted file mode 100644 index 0b07e00..0000000 Binary files a/doc/html/ftv2plastnode.png and /dev/null differ diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png deleted file mode 100644 index 2001b79..0000000 Binary files a/doc/html/ftv2pnode.png and /dev/null differ diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png deleted file mode 100644 index b330f3a..0000000 Binary files a/doc/html/ftv2vertline.png and /dev/null differ diff --git a/doc/html/functions.html b/doc/html/functions.html deleted file mode 100644 index eb64096..0000000 --- a/doc/html/functions.html +++ /dev/null @@ -1,58 +0,0 @@ - - -Logging: Class Members - - - - - -
-Here is a list of all class members with links to the classes they belong to: -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html deleted file mode 100644 index ef1ead3..0000000 --- a/doc/html/functions_func.html +++ /dev/null @@ -1,54 +0,0 @@ - - -Logging: Class Members - Functions - - - - - -
-  -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html deleted file mode 100644 index 99826ae..0000000 --- a/doc/html/functions_vars.html +++ /dev/null @@ -1,44 +0,0 @@ - - -Logging: Class Members - Variables - - - - - -
-  -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/globals.html b/doc/html/globals.html deleted file mode 100644 index bfbd518..0000000 --- a/doc/html/globals.html +++ /dev/null @@ -1,59 +0,0 @@ - - -Logging: Class Members - - - - - -
-Here is a list of all file members with links to the files they belong to: -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html deleted file mode 100644 index d80de84..0000000 --- a/doc/html/globals_defs.html +++ /dev/null @@ -1,56 +0,0 @@ - - -Logging: Class Members - - - - - -
-  -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html deleted file mode 100644 index f88a79f..0000000 --- a/doc/html/globals_vars.html +++ /dev/null @@ -1,43 +0,0 @@ - - -Logging: Class Members - - - - - -
-  -

-

-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/graph_legend.dot b/doc/html/graph_legend.dot deleted file mode 100644 index 1f7c6e4..0000000 --- a/doc/html/graph_legend.dot +++ /dev/null @@ -1,23 +0,0 @@ -digraph G -{ - bgcolor="transparent"; - edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10]; - node [fontname="FreeSans",fontsize=10,shape=record]; - Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"]; - Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"]; - Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"]; - Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans"]; - Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"]; - Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans"]; - Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"]; - Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="grey75"]; - Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"]; - Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans"]; - Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"]; - Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans"]; - Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"]; -} diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html deleted file mode 100644 index 79fdf29..0000000 --- a/doc/html/graph_legend.html +++ /dev/null @@ -1,85 +0,0 @@ - - -Logging: Graph Legend - - - - - -
-

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

-Consider the following example:

/*! Invisible class because of truncation */
-class Invisible { };
-
-/*! Truncated class, inheritance relation is hidden */
-class Truncated : public Invisible { };
-
-/* Class not documented with doxygen comments */
-class Undocumented { };
-
-/*! Class that is inherited using public inheritance */
-class PublicBase : public Truncated { };
-
-/*! A template class */
-template<class T> class Templ { };
-
-/*! Class that is inherited using protected inheritance */
-class ProtectedBase { };
-
-/*! Class that is inherited using private inheritance */
-class PrivateBase { };
-
-/*! Class that is used by the Inherited class */
-class Used { };
-
-/*! Super class that inherits a number of other classes */
-class Inherited : public PublicBase,
-                  protected ProtectedBase,
-                  private PrivateBase,
-                  public Undocumented,
-                  public Templ<int>
-{
-  private:
-    Used *m_usedClass;
-};
-
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

-

-graph_legend.png -
-

-The boxes in the above graph have the following meaning:

    -
  • -A filled gray box represents the struct or class for which the graph is generated.
  • -
  • -A box with a black border denotes a documented struct or class.
  • -
  • -A box with a grey border denotes an undocumented struct or class.
  • -
  • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • -
-The arrows have the following meaning:
    -
  • -A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • -
  • -A dark green arrow is used for protected inheritance.
  • -
  • -A dark red arrow is used for private inheritance.
  • -
  • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • -
  • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • -
-
-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/graph_legend.png b/doc/html/graph_legend.png deleted file mode 100644 index 1f49d7f..0000000 Binary files a/doc/html/graph_legend.png and /dev/null differ diff --git a/doc/html/index.html b/doc/html/index.html deleted file mode 100644 index ea2faa4..0000000 --- a/doc/html/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - -Logging - - - - - <a href="main.html">Frames are disabled. Click here to go to the main page.</a> - - - diff --git a/doc/html/main.html b/doc/html/main.html deleted file mode 100644 index c722324..0000000 --- a/doc/html/main.html +++ /dev/null @@ -1,25 +0,0 @@ - - -Logging: Main Page - - - - - -
-

Logging Documentation

-

-

-
Generated on Tue Mar 6 20:17:24 2012 for Logging by  - -doxygen 1.5.6
- - diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif deleted file mode 100644 index 0d62348..0000000 Binary files a/doc/html/tab_b.gif and /dev/null differ diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif deleted file mode 100644 index 9b1e633..0000000 Binary files a/doc/html/tab_l.gif and /dev/null differ diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif deleted file mode 100644 index ce9dd9f..0000000 Binary files a/doc/html/tab_r.gif and /dev/null differ diff --git a/doc/html/tabs.css b/doc/html/tabs.css deleted file mode 100644 index 95f00a9..0000000 --- a/doc/html/tabs.css +++ /dev/null @@ -1,102 +0,0 @@ -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - -DIV.tabs -{ - float : left; - width : 100%; - background : url("tab_b.gif") repeat-x bottom; - margin-bottom : 4px; -} - -DIV.tabs UL -{ - margin : 0px; - padding-left : 10px; - list-style : none; -} - -DIV.tabs LI, DIV.tabs FORM -{ - display : inline; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - float : left; - background : url("tab_r.gif") no-repeat right top; - border-bottom : 1px solid #84B0C7; - font-size : x-small; - font-weight : bold; - text-decoration : none; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs SPAN -{ - float : left; - display : block; - background : url("tab_l.gif") no-repeat left top; - padding : 5px 9px; - white-space : nowrap; -} - -DIV.tabs INPUT -{ - float : right; - display : inline; - font-size : 1em; -} - -DIV.tabs TD -{ - font-size : x-small; - font-weight : bold; - text-decoration : none; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - background-position: 100% -150px; - border-width : 0px; -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #84B0C7; -} diff --git a/doc/html/tree.html b/doc/html/tree.html deleted file mode 100644 index a886f2c..0000000 --- a/doc/html/tree.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - TreeView - - - - - - diff --git a/doc/latex/FreeSans.ttf b/doc/latex/FreeSans.ttf deleted file mode 100644 index b550b90..0000000 Binary files a/doc/latex/FreeSans.ttf and /dev/null differ diff --git a/doc/latex/Makefile b/doc/latex/Makefile deleted file mode 100644 index 8b7c89a..0000000 --- a/doc/latex/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -all: clean refman.pdf - -pdf: refman.pdf - -refman.pdf: refman.tex - pdflatex refman.tex - makeindex refman.idx - pdflatex refman.tex - latex_count=5 ; \ - while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - pdflatex refman.tex ;\ - latex_count=`expr $$latex_count - 1` ;\ - done - - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/doc/latex/_logging_8cpp.tex b/doc/latex/_logging_8cpp.tex deleted file mode 100644 index 3cd3691..0000000 --- a/doc/latex/_logging_8cpp.tex +++ /dev/null @@ -1,32 +0,0 @@ -\hypertarget{_logging_8cpp}{ -\section{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.cpp File Reference} -\label{_logging_8cpp}\index{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.cpp@{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.cpp}} -} -{\tt \#include \char`\"{}Logging.h\char`\"{}}\par - - -Include dependency graph for Logging.cpp:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=192pt]{_logging_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Variables} -\begin{CompactItemize} -\item -\hyperlink{class_logging}{Logging} \hyperlink{_logging_8cpp_f8164407f3289dde66d36070af4244c1}{Log} = \hyperlink{class_logging}{Logging}() -\end{CompactItemize} - - -\subsection{Variable Documentation} -\hypertarget{_logging_8cpp_f8164407f3289dde66d36070af4244c1}{ -\index{Logging.cpp@{Logging.cpp}!Log@{Log}} -\index{Log@{Log}!Logging.cpp@{Logging.cpp}} -\subsubsection[Log]{\setlength{\rightskip}{0pt plus 5cm}{\bf Logging} {\bf Log} = {\bf Logging}()}} -\label{_logging_8cpp_f8164407f3289dde66d36070af4244c1} - - - - -Definition at line 117 of file Logging.cpp. \ No newline at end of file diff --git a/doc/latex/_logging_8cpp__incl.eps b/doc/latex/_logging_8cpp__incl.eps deleted file mode 100644 index a3288ae..0000000 --- a/doc/latex/_logging_8cpp__incl.eps +++ /dev/null @@ -1,392 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 384 182 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 348 146 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath 0 116.5 moveto -0 137.5 lineto -340 137.5 lineto -340 116.5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath 0 116.5 moveto -0 137.5 lineto -340 137.5 lineto -340 116.5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8 124.5 moveto 324 (K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 141 58 199 80 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($_logging_8h.html) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 140.5 58.5 moveto -140.5 79.5 lineto -199.5 79.5 lineto -199.5 58.5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -148.5 66.5 moveto 43 (Logging.h) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 170 116.36 moveto -170 108.92 170 98.74 170 89.73 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 173.5 89.57 moveto -170 79.57 lineto -166.5 89.57 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 173.5 89.57 moveto -170 79.57 lineto -166.5 89.57 lineto -closepath stroke -grestore -% Node3 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 28.5 .5 moveto -28.5 21.5 lineto -87.5 21.5 lineto -87.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -36.5 8.5 moveto 43 (inttypes.h) alignedtext -grestore -% Node2->Node3 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 149.72 58.5 moveto -132.38 49.52 107.21 36.48 87.62 26.34 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 89 23.11 moveto -78.51 21.62 lineto -85.78 29.33 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 89 23.11 moveto -78.51 21.62 lineto -85.78 29.33 lineto -closepath stroke -grestore -% Node4 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 105 .5 moveto -105 21.5 lineto -157 21.5 lineto -157 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -113 8.5 moveto 36 (stdarg.h) alignedtext -grestore -% Node2->Node4 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 162.85 58.36 moveto -157.51 50.43 150.09 39.39 143.75 29.96 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 146.59 27.92 moveto -138.11 21.57 lineto -140.78 31.82 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 146.59 27.92 moveto -138.11 21.57 lineto -140.78 31.82 lineto -closepath stroke -grestore -% Node5 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 174.5 .5 moveto -174.5 21.5 lineto -245.5 21.5 lineto -245.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -182.5 8.5 moveto 55 (WProgram.h) alignedtext -grestore -% Node2->Node5 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 177.34 58.36 moveto -182.81 50.43 190.42 39.39 196.92 29.96 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 199.91 31.79 moveto -202.71 21.57 lineto -194.15 27.82 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 199.91 31.79 moveto -202.71 21.57 lineto -194.15 27.82 lineto -closepath stroke -grestore -% Node6 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 262.5 .5 moveto -262.5 21.5 lineto -309.5 21.5 lineto -309.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -270.5 8.5 moveto 31 (avr/io.h) alignedtext -grestore -% Node2->Node6 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 191.01 58.5 moveto -209.04 49.48 235.27 36.36 255.6 26.2 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 257.38 29.22 moveto -264.76 21.62 lineto -254.25 22.96 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 257.38 29.22 moveto -264.76 21.62 lineto -254.25 22.96 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 384 182 -end -restore -%%EOF diff --git a/doc/latex/_logging_8cpp__incl.md5 b/doc/latex/_logging_8cpp__incl.md5 deleted file mode 100644 index f8eeced..0000000 --- a/doc/latex/_logging_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d8b0810a428a95861502d74c2672c55f \ No newline at end of file diff --git a/doc/latex/_logging_8cpp__incl.pdf b/doc/latex/_logging_8cpp__incl.pdf deleted file mode 100644 index 994299c..0000000 Binary files a/doc/latex/_logging_8cpp__incl.pdf and /dev/null differ diff --git a/doc/latex/_logging_8h.tex b/doc/latex/_logging_8h.tex deleted file mode 100644 index 9e56344..0000000 --- a/doc/latex/_logging_8h.tex +++ /dev/null @@ -1,153 +0,0 @@ -\hypertarget{_logging_8h}{ -\section{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.h File Reference} -\label{_logging_8h}\index{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.h@{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/Logging.h}} -} -{\tt \#include $<$inttypes.h$>$}\par -{\tt \#include $<$stdarg.h$>$}\par -{\tt \#include \char`\"{}WProgram.h\char`\"{}}\par -{\tt \#include $<$avr/io.h$>$}\par - - -Include dependency graph for Logging.h:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=186pt]{_logging_8h__incl} -\end{center} -\end{figure} - - -This graph shows which files directly or indirectly include this file:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=192pt]{_logging_8h__dep__incl} -\end{center} -\end{figure} -\subsection*{Classes} -\begin{CompactItemize} -\item -class \hyperlink{class_logging}{Logging} -\end{CompactItemize} -\subsection*{Defines} -\begin{CompactItemize} -\item -\#define \hyperlink{_logging_8h_33ec8ee51526c3b2008ed92830c1da16}{LOG\_\-LEVEL\_\-NOOUTPUT}~0 -\item -\#define \hyperlink{_logging_8h_ec8706c3ef9b186e438cccf4a02ccc78}{LOG\_\-LEVEL\_\-ERRORS}~1 -\item -\#define \hyperlink{_logging_8h_660a0bd19f239a2e586f9a432395289e}{LOG\_\-LEVEL\_\-INFOS}~2 -\item -\#define \hyperlink{_logging_8h_130224df8c6bf22a688e3cb74a45689a}{LOG\_\-LEVEL\_\-DEBUG}~3 -\item -\#define \hyperlink{_logging_8h_7d2f762be61df3727748e69e4ff197c2}{LOG\_\-LEVEL\_\-VERBOSE}~4 -\item -\#define \hyperlink{_logging_8h_6c6fd5e242df15a7a42e9b75d55d5d3c}{LOGLEVEL}~LOG\_\-LEVEL\_\-DEBUG -\item -\#define \hyperlink{_logging_8h_876ce77f3c672c7162658151e648389e}{CR}~\char`\"{}$\backslash$r$\backslash$n\char`\"{} -\item -\#define \hyperlink{_logging_8h_7e6435a637199b392c536e50a8334d32}{LOGGING\_\-VERSION}~1 -\end{CompactItemize} -\subsection*{Variables} -\begin{CompactItemize} -\item -\hyperlink{class_logging}{Logging} \hyperlink{_logging_8h_f8164407f3289dde66d36070af4244c1}{Log} -\end{CompactItemize} - - -\subsection{Define Documentation} -\hypertarget{_logging_8h_876ce77f3c672c7162658151e648389e}{ -\index{Logging.h@{Logging.h}!CR@{CR}} -\index{CR@{CR}!Logging.h@{Logging.h}} -\subsubsection[CR]{\setlength{\rightskip}{0pt plus 5cm}\#define CR~\char`\"{}$\backslash$r$\backslash$n\char`\"{}}} -\label{_logging_8h_876ce77f3c672c7162658151e648389e} - - - - -Definition at line 26 of file Logging.h.\hypertarget{_logging_8h_130224df8c6bf22a688e3cb74a45689a}{ -\index{Logging.h@{Logging.h}!LOG\_\-LEVEL\_\-DEBUG@{LOG\_\-LEVEL\_\-DEBUG}} -\index{LOG\_\-LEVEL\_\-DEBUG@{LOG\_\-LEVEL\_\-DEBUG}!Logging.h@{Logging.h}} -\subsubsection[LOG\_\-LEVEL\_\-DEBUG]{\setlength{\rightskip}{0pt plus 5cm}\#define LOG\_\-LEVEL\_\-DEBUG~3}} -\label{_logging_8h_130224df8c6bf22a688e3cb74a45689a} - - - - -Definition at line 19 of file Logging.h. - -Referenced by Logging::Debug().\hypertarget{_logging_8h_ec8706c3ef9b186e438cccf4a02ccc78}{ -\index{Logging.h@{Logging.h}!LOG\_\-LEVEL\_\-ERRORS@{LOG\_\-LEVEL\_\-ERRORS}} -\index{LOG\_\-LEVEL\_\-ERRORS@{LOG\_\-LEVEL\_\-ERRORS}!Logging.h@{Logging.h}} -\subsubsection[LOG\_\-LEVEL\_\-ERRORS]{\setlength{\rightskip}{0pt plus 5cm}\#define LOG\_\-LEVEL\_\-ERRORS~1}} -\label{_logging_8h_ec8706c3ef9b186e438cccf4a02ccc78} - - - - -Definition at line 17 of file Logging.h. - -Referenced by Logging::Error().\hypertarget{_logging_8h_660a0bd19f239a2e586f9a432395289e}{ -\index{Logging.h@{Logging.h}!LOG\_\-LEVEL\_\-INFOS@{LOG\_\-LEVEL\_\-INFOS}} -\index{LOG\_\-LEVEL\_\-INFOS@{LOG\_\-LEVEL\_\-INFOS}!Logging.h@{Logging.h}} -\subsubsection[LOG\_\-LEVEL\_\-INFOS]{\setlength{\rightskip}{0pt plus 5cm}\#define LOG\_\-LEVEL\_\-INFOS~2}} -\label{_logging_8h_660a0bd19f239a2e586f9a432395289e} - - - - -Definition at line 18 of file Logging.h. - -Referenced by Logging::Info().\hypertarget{_logging_8h_33ec8ee51526c3b2008ed92830c1da16}{ -\index{Logging.h@{Logging.h}!LOG\_\-LEVEL\_\-NOOUTPUT@{LOG\_\-LEVEL\_\-NOOUTPUT}} -\index{LOG\_\-LEVEL\_\-NOOUTPUT@{LOG\_\-LEVEL\_\-NOOUTPUT}!Logging.h@{Logging.h}} -\subsubsection[LOG\_\-LEVEL\_\-NOOUTPUT]{\setlength{\rightskip}{0pt plus 5cm}\#define LOG\_\-LEVEL\_\-NOOUTPUT~0}} -\label{_logging_8h_33ec8ee51526c3b2008ed92830c1da16} - - - - -Definition at line 16 of file Logging.h. - -Referenced by Logging::Init().\hypertarget{_logging_8h_7d2f762be61df3727748e69e4ff197c2}{ -\index{Logging.h@{Logging.h}!LOG\_\-LEVEL\_\-VERBOSE@{LOG\_\-LEVEL\_\-VERBOSE}} -\index{LOG\_\-LEVEL\_\-VERBOSE@{LOG\_\-LEVEL\_\-VERBOSE}!Logging.h@{Logging.h}} -\subsubsection[LOG\_\-LEVEL\_\-VERBOSE]{\setlength{\rightskip}{0pt plus 5cm}\#define LOG\_\-LEVEL\_\-VERBOSE~4}} -\label{_logging_8h_7d2f762be61df3727748e69e4ff197c2} - - - - -Definition at line 20 of file Logging.h. - -Referenced by Logging::Init(), and Logging::Verbose().\hypertarget{_logging_8h_7e6435a637199b392c536e50a8334d32}{ -\index{Logging.h@{Logging.h}!LOGGING\_\-VERSION@{LOGGING\_\-VERSION}} -\index{LOGGING\_\-VERSION@{LOGGING\_\-VERSION}!Logging.h@{Logging.h}} -\subsubsection[LOGGING\_\-VERSION]{\setlength{\rightskip}{0pt plus 5cm}\#define LOGGING\_\-VERSION~1}} -\label{_logging_8h_7e6435a637199b392c536e50a8334d32} - - - - -Definition at line 27 of file Logging.h.\hypertarget{_logging_8h_6c6fd5e242df15a7a42e9b75d55d5d3c}{ -\index{Logging.h@{Logging.h}!LOGLEVEL@{LOGLEVEL}} -\index{LOGLEVEL@{LOGLEVEL}!Logging.h@{Logging.h}} -\subsubsection[LOGLEVEL]{\setlength{\rightskip}{0pt plus 5cm}\#define LOGLEVEL~LOG\_\-LEVEL\_\-DEBUG}} -\label{_logging_8h_6c6fd5e242df15a7a42e9b75d55d5d3c} - - - - -Definition at line 23 of file Logging.h. - -\subsection{Variable Documentation} -\hypertarget{_logging_8h_f8164407f3289dde66d36070af4244c1}{ -\index{Logging.h@{Logging.h}!Log@{Log}} -\index{Log@{Log}!Logging.h@{Logging.h}} -\subsubsection[Log]{\setlength{\rightskip}{0pt plus 5cm}{\bf Logging} {\bf Log}}} -\label{_logging_8h_f8164407f3289dde66d36070af4244c1} - - - - -Definition at line 117 of file Logging.cpp. \ No newline at end of file diff --git a/doc/latex/_logging_8h__dep__incl.eps b/doc/latex/_logging_8h__dep__incl.eps deleted file mode 100644 index ae82db2..0000000 --- a/doc/latex/_logging_8h__dep__incl.eps +++ /dev/null @@ -1,256 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 384 124 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 348 88 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath 5.5 58.5 moveto -5.5 79.5 lineto -334.5 79.5 lineto -334.5 58.5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath 5.5 58.5 moveto -5.5 79.5 lineto -334.5 79.5 lineto -334.5 58.5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -13.5 66.5 moveto 313 (K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 0 0 340 22 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($_logging_8cpp.html) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 0 .5 moveto -0 21.5 lineto -340 21.5 lineto -340 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8 8.5 moveto 324 (K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.cpp) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 170 48.19 moveto -170 39.17 170 28.99 170 21.57 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 166.5 48.36 moveto -170 58.36 lineto -173.5 48.36 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 166.5 48.36 moveto -170 58.36 lineto -173.5 48.36 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 384 124 -end -restore -%%EOF diff --git a/doc/latex/_logging_8h__dep__incl.md5 b/doc/latex/_logging_8h__dep__incl.md5 deleted file mode 100644 index 9d175e1..0000000 --- a/doc/latex/_logging_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6a05ccb4580feaa0a41a9439546f2ae1 \ No newline at end of file diff --git a/doc/latex/_logging_8h__dep__incl.pdf b/doc/latex/_logging_8h__dep__incl.pdf deleted file mode 100644 index 5bf30fd..0000000 Binary files a/doc/latex/_logging_8h__dep__incl.pdf and /dev/null differ diff --git a/doc/latex/_logging_8h__incl.eps b/doc/latex/_logging_8h__incl.eps deleted file mode 100644 index b3de7f5..0000000 --- a/doc/latex/_logging_8h__incl.eps +++ /dev/null @@ -1,353 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 372 124 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 336 88 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath -.5 58.5 moveto --.5 79.5 lineto -328.5 79.5 lineto -328.5 58.5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath -.5 58.5 moveto --.5 79.5 lineto -328.5 79.5 lineto -328.5 58.5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -7.5 66.5 moveto 313 (K:/Projekte/robotic/arduino/arduino_1-0Patch/libraries/Logging/Logging.h) alignedtext -grestore -% Node2 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 22.5 .5 moveto -22.5 21.5 lineto -81.5 21.5 lineto -81.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -30.5 8.5 moveto 43 (inttypes.h) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 143.72 58.5 moveto -126.38 49.52 101.21 36.48 81.62 26.34 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 83 23.11 moveto -72.51 21.62 lineto -79.78 29.33 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 83 23.11 moveto -72.51 21.62 lineto -79.78 29.33 lineto -closepath stroke -grestore -% Node3 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 99 .5 moveto -99 21.5 lineto -151 21.5 lineto -151 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -107 8.5 moveto 36 (stdarg.h) alignedtext -grestore -% Node1->Node3 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 156.85 58.36 moveto -151.51 50.43 144.09 39.39 137.75 29.96 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 140.59 27.92 moveto -132.11 21.57 lineto -134.78 31.82 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 140.59 27.92 moveto -132.11 21.57 lineto -134.78 31.82 lineto -closepath stroke -grestore -% Node4 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 168.5 .5 moveto -168.5 21.5 lineto -239.5 21.5 lineto -239.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -176.5 8.5 moveto 55 (WProgram.h) alignedtext -grestore -% Node1->Node4 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 171.34 58.36 moveto -176.81 50.43 184.42 39.39 190.92 29.96 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 193.91 31.79 moveto -196.71 21.57 lineto -188.15 27.82 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 193.91 31.79 moveto -196.71 21.57 lineto -188.15 27.82 lineto -closepath stroke -grestore -% Node5 -gsave -1 setlinewidth -0 0 0.74902 nodecolor -newpath 256.5 .5 moveto -256.5 21.5 lineto -303.5 21.5 lineto -303.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -264.5 8.5 moveto 31 (avr/io.h) alignedtext -grestore -% Node1->Node5 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 185.01 58.5 moveto -203.04 49.48 229.27 36.36 249.6 26.2 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 251.38 29.22 moveto -258.76 21.62 lineto -248.25 22.96 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 251.38 29.22 moveto -258.76 21.62 lineto -248.25 22.96 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 372 124 -end -restore -%%EOF diff --git a/doc/latex/_logging_8h__incl.md5 b/doc/latex/_logging_8h__incl.md5 deleted file mode 100644 index d37d578..0000000 --- a/doc/latex/_logging_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ee71a91a2b38f624cb7272bb9991a2b0 \ No newline at end of file diff --git a/doc/latex/_logging_8h__incl.pdf b/doc/latex/_logging_8h__incl.pdf deleted file mode 100644 index 487b054..0000000 Binary files a/doc/latex/_logging_8h__incl.pdf and /dev/null differ diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex deleted file mode 100644 index 1dd82f8..0000000 --- a/doc/latex/annotated.tex +++ /dev/null @@ -1,4 +0,0 @@ -\section{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} -\item\contentsline{section}{\hyperlink{class_logging}{Logging} }{\pageref{class_logging}}{} -\end{CompactList} diff --git a/doc/latex/class_logging.tex b/doc/latex/class_logging.tex deleted file mode 100644 index 1e828b4..0000000 --- a/doc/latex/class_logging.tex +++ /dev/null @@ -1,257 +0,0 @@ -\hypertarget{class_logging}{ -\section{Logging Class Reference} -\label{class_logging}\index{Logging@{Logging}} -} -{\tt \#include $<$Logging.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -\hyperlink{class_logging_cc3d848a3d05076fd185cd95e9c648d5}{Logging} () -\item -void \hyperlink{class_logging_f6a890a6feac5bf93b04cb22db7bd530}{Init} (int level, long baud) -\item -void \hyperlink{class_logging_1cf44ab531c72761fba811882336a2ad}{Error} (char $\ast$msg,...) -\item -void \hyperlink{class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e}{Info} (char $\ast$msg,...) -\item -void \hyperlink{class_logging_e0fcd9e5350d7b9158c8ae9289fef193}{Debug} (char $\ast$msg,...) -\item -void \hyperlink{class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f}{Verbose} (char $\ast$msg,...) -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void \hyperlink{class_logging_714840794950ab31df5da5b95322e391}{print} (const char $\ast$format, va\_\-list args) -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -int \hyperlink{class_logging_117105f639285ba5922836121294c04a}{\_\-level} -\item -long \hyperlink{class_logging_8a2fe833b6e957b763146c32d6be5f2d}{\_\-baud} -\end{CompactItemize} - - -\subsection{Detailed Description} -\hyperlink{class_logging}{Logging} is a helper class to output informations over RS232. If you know log4j or log4net, this logging class is more or less similar ;-) \par - Different loglevels can be used to extend or reduce output All methods are able to handle any number of output parameters. All methods print out a formated string (like printf).\par - To reduce output and program size, reduce loglevel. \par - Output format string can contain below wildcards. Every wildcard must be start with percent sign (\%) - -{\bf Depending on loglevel, source code is excluded from compile !}\par - \par - {\bf Wildcards}\par - \begin{itemize} -\item {\bf \%s} replace with an string (char$\ast$) \item {\bf \%c} replace with an character \item {\bf \%d} replace with an integer value \item {\bf \%l} replace with an long value \item {\bf \%x} replace and convert integer value into hex \item {\bf \%X} like x but combine with {\bf 0x}123AB \item {\bf \%b} replace and convert integer value into binary \item {\bf \%B} like x but combine with {\bf 0b}10100011 \item {\bf \%t} replace and convert boolean value into {\bf \char`\"{}t\char`\"{}} or {\bf \char`\"{}f\char`\"{}} \item {\bf \%T} like t but convert into {\bf \char`\"{}true\char`\"{}} or {\bf \char`\"{}false\char`\"{}} \end{itemize} -\par - {\bf Loglevels}\par - \begin{TabularC}{3} -\hline -0&LOG\_\-LEVEL\_\-NOOUTPUT&no output \\\hline -1&LOG\_\-LEVEL\_\-ERRORS&only errors \\\hline -2&LOG\_\-LEVEL\_\-INFOS&errors and info \\\hline -3&LOG\_\-LEVEL\_\-DEBUG&errors, info and debug \\\hline -4&LOG\_\-LEVEL\_\-VERBOSE&all \\\hline -\end{TabularC} -\par - \subsection*{History} - -\par - \begin{TabularC}{2} -\hline -01 FEB 2012&initial release \\\hline -06 MAR 2012&implement a preinstanciate object (like in Wire, ...) \\\hline -&methode init get now loglevel and baud parameter \\\hline -\end{TabularC} - - -Definition at line 71 of file Logging.h. - -\subsection{Constructor \& Destructor Documentation} -\hypertarget{class_logging_cc3d848a3d05076fd185cd95e9c648d5}{ -\index{Logging@{Logging}!Logging@{Logging}} -\index{Logging@{Logging}!Logging@{Logging}} -\subsubsection[Logging]{\setlength{\rightskip}{0pt plus 5cm}Logging::Logging ()\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}} -\label{class_logging_cc3d848a3d05076fd185cd95e9c648d5} - - -default Constructor - -Definition at line 79 of file Logging.h. - -\subsection{Member Function Documentation} -\hypertarget{class_logging_f6a890a6feac5bf93b04cb22db7bd530}{ -\index{Logging@{Logging}!Init@{Init}} -\index{Init@{Init}!Logging@{Logging}} -\subsubsection[Init]{\setlength{\rightskip}{0pt plus 5cm}void Logging::Init (int {\em level}, \/ long {\em baud})}} -\label{class_logging_f6a890a6feac5bf93b04cb22db7bd530} - - -Initializing, must be called as first. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em void}]\end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]void \end{Desc} - - -Definition at line 3 of file Logging.cpp. - -References \_\-baud, \_\-level, LOG\_\-LEVEL\_\-NOOUTPUT, and LOG\_\-LEVEL\_\-VERBOSE.\hypertarget{class_logging_1cf44ab531c72761fba811882336a2ad}{ -\index{Logging@{Logging}!Error@{Error}} -\index{Error@{Error}!Logging@{Logging}} -\subsubsection[Error]{\setlength{\rightskip}{0pt plus 5cm}void Logging::Error (char $\ast$ {\em msg}, \/ {\em ...})}} -\label{class_logging_1cf44ab531c72761fba811882336a2ad} - - -Output an error message. Output message contains ERROR: followed by original msg Error messages are printed out, at every loglevel except 0 ;-) \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em msg}]format string to output \item[{\em ...}]any number of variables \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]void \end{Desc} - - -Definition at line 9 of file Logging.cpp. - -References \_\-level, LOG\_\-LEVEL\_\-ERRORS, and print(). - -Here is the call graph for this function:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=117pt]{class_logging_1cf44ab531c72761fba811882336a2ad_cgraph} -\end{center} -\end{figure} -\hypertarget{class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e}{ -\index{Logging@{Logging}!Info@{Info}} -\index{Info@{Info}!Logging@{Logging}} -\subsubsection[Info]{\setlength{\rightskip}{0pt plus 5cm}void Logging::Info (char $\ast$ {\em msg}, \/ {\em ...})}} -\label{class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e} - - -Output an info message. Output message contains Info messages are printed out at l loglevels $>$= LOG\_\-LEVEL\_\-INFOS - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em msg}]format string to output \item[{\em ...}]any number of variables \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]void \end{Desc} - - -Definition at line 19 of file Logging.cpp. - -References \_\-level, LOG\_\-LEVEL\_\-INFOS, and print(). - -Here is the call graph for this function:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=114pt]{class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph} -\end{center} -\end{figure} -\hypertarget{class_logging_e0fcd9e5350d7b9158c8ae9289fef193}{ -\index{Logging@{Logging}!Debug@{Debug}} -\index{Debug@{Debug}!Logging@{Logging}} -\subsubsection[Debug]{\setlength{\rightskip}{0pt plus 5cm}void Logging::Debug (char $\ast$ {\em msg}, \/ {\em ...})}} -\label{class_logging_e0fcd9e5350d7b9158c8ae9289fef193} - - -Output an debug message. Output message contains Debug messages are printed out at l loglevels $>$= LOG\_\-LEVEL\_\-DEBUG - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em msg}]format string to output \item[{\em ...}]any number of variables \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]void \end{Desc} - - -Definition at line 27 of file Logging.cpp. - -References \_\-level, LOG\_\-LEVEL\_\-DEBUG, and print(). - -Here is the call graph for this function:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=120pt]{class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph} -\end{center} -\end{figure} -\hypertarget{class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f}{ -\index{Logging@{Logging}!Verbose@{Verbose}} -\index{Verbose@{Verbose}!Logging@{Logging}} -\subsubsection[Verbose]{\setlength{\rightskip}{0pt plus 5cm}void Logging::Verbose (char $\ast$ {\em msg}, \/ {\em ...})}} -\label{class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f} - - -Output an verbose message. Output message contains Debug messages are printed out at l loglevels $>$= LOG\_\-LEVEL\_\-VERBOSE - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em msg}]format string to output \item[{\em ...}]any number of variables \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]void \end{Desc} - - -Definition at line 36 of file Logging.cpp. - -References \_\-level, LOG\_\-LEVEL\_\-VERBOSE, and print(). - -Here is the call graph for this function:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=124pt]{class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph} -\end{center} -\end{figure} -\hypertarget{class_logging_714840794950ab31df5da5b95322e391}{ -\index{Logging@{Logging}!print@{print}} -\index{print@{print}!Logging@{Logging}} -\subsubsection[print]{\setlength{\rightskip}{0pt plus 5cm}void Logging::print (const char $\ast$ {\em format}, \/ va\_\-list {\em args})\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}} -\label{class_logging_714840794950ab31df5da5b95322e391} - - - - -Definition at line 46 of file Logging.cpp. - -Referenced by Debug(), Error(), Info(), and Verbose(). - -\subsection{Member Data Documentation} -\hypertarget{class_logging_117105f639285ba5922836121294c04a}{ -\index{Logging@{Logging}!\_\-level@{\_\-level}} -\index{\_\-level@{\_\-level}!Logging@{Logging}} -\subsubsection[\_\-level]{\setlength{\rightskip}{0pt plus 5cm}int {\bf Logging::\_\-level}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}} -\label{class_logging_117105f639285ba5922836121294c04a} - - - - -Definition at line 73 of file Logging.h. - -Referenced by Debug(), Error(), Info(), Init(), and Verbose().\hypertarget{class_logging_8a2fe833b6e957b763146c32d6be5f2d}{ -\index{Logging@{Logging}!\_\-baud@{\_\-baud}} -\index{\_\-baud@{\_\-baud}!Logging@{Logging}} -\subsubsection[\_\-baud]{\setlength{\rightskip}{0pt plus 5cm}long {\bf Logging::\_\-baud}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}} -\label{class_logging_8a2fe833b6e957b763146c32d6be5f2d} - - - - -Definition at line 74 of file Logging.h. - -Referenced by Init(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/\hyperlink{_logging_8h}{Logging.h}\item -K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/\hyperlink{_logging_8cpp}{Logging.cpp}\end{CompactItemize} diff --git a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps b/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps deleted file mode 100644 index e971549..0000000 --- a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps +++ /dev/null @@ -1,256 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 234 66 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 198 30 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath .5 .5 moveto -.5 21.5 lineto -77.5 21.5 lineto -77.5 .5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath .5 .5 moveto -.5 21.5 lineto -77.5 21.5 lineto -77.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8.5 8.5 moveto 61 (Logging::Error) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 115 0 189 22 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($class_logging.html#714840794950ab31df5da5b95322e391) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 114.5 .5 moveto -114.5 21.5 lineto -189.5 21.5 lineto -189.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -122.5 8.5 moveto 59 (Logging::print) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 77.57 11 moveto -86.12 11 95.28 11 104.14 11 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 104.37 14.5 moveto -114.37 11 lineto -104.37 7.5 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 104.37 14.5 moveto -114.37 11 lineto -104.37 7.5 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 234 66 -end -restore -%%EOF diff --git a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 b/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 deleted file mode 100644 index 1865ac1..0000000 --- a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3277410f8d9ecca3a5de0ab53691ba26 \ No newline at end of file diff --git a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf b/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf deleted file mode 100644 index df16ffa..0000000 Binary files a/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf and /dev/null differ diff --git a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps b/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps deleted file mode 100644 index 27b4ffc..0000000 --- a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps +++ /dev/null @@ -1,256 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 248 66 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 212 30 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath 0 .5 moveto -0 21.5 lineto -92 21.5 lineto -92 .5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath 0 .5 moveto -0 21.5 lineto -92 21.5 lineto -92 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8 8.5 moveto 76 (Logging::Verbose) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 129 0 203 22 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($class_logging.html#714840794950ab31df5da5b95322e391) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 128.5 .5 moveto -128.5 21.5 lineto -203.5 21.5 lineto -203.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -136.5 8.5 moveto 59 (Logging::print) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 92.05 11 moveto -100.6 11 109.56 11 118.16 11 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 118.43 14.5 moveto -128.43 11 lineto -118.43 7.5 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 118.43 14.5 moveto -128.43 11 lineto -118.43 7.5 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 248 66 -end -restore -%%EOF diff --git a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 b/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 deleted file mode 100644 index bb251bd..0000000 --- a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e24d211a832d762b210c351a2929e4e6 \ No newline at end of file diff --git a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf b/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf deleted file mode 100644 index 9e8e8d5..0000000 Binary files a/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf and /dev/null differ diff --git a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.eps b/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.eps deleted file mode 100644 index 2dbc664..0000000 --- a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.eps +++ /dev/null @@ -1,256 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 228 66 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 192 30 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath .5 .5 moveto -.5 21.5 lineto -71.5 21.5 lineto -71.5 .5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath .5 .5 moveto -.5 21.5 lineto -71.5 21.5 lineto -71.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8.5 8.5 moveto 55 (Logging::Info) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 109 0 183 22 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($class_logging.html#714840794950ab31df5da5b95322e391) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 108.5 .5 moveto -108.5 21.5 lineto -183.5 21.5 lineto -183.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -116.5 8.5 moveto 59 (Logging::print) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 71.71 11 moveto -80.1 11 89.17 11 98 11 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 98.19 14.5 moveto -108.19 11 lineto -98.19 7.5 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 98.19 14.5 moveto -108.19 11 lineto -98.19 7.5 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 228 66 -end -restore -%%EOF diff --git a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 b/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 deleted file mode 100644 index fde9732..0000000 --- a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e09d701f830a3a3458eb02a37752be21 \ No newline at end of file diff --git a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf b/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf deleted file mode 100644 index 6ed6f9f..0000000 Binary files a/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf and /dev/null differ diff --git a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps b/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps deleted file mode 100644 index 70d0c50..0000000 --- a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps +++ /dev/null @@ -1,256 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: graphviz version 2.26.3 (20100126.1600) -%%Title: G -%%Pages: (atend) -%%BoundingBox: (atend) -%%EndComments -save -%%BeginProlog -/DotDict 200 dict def -DotDict begin - -/setupLatin1 { -mark -/EncodingVector 256 array def - EncodingVector 0 - -ISOLatin1Encoding 0 255 getinterval putinterval -EncodingVector 45 /hyphen put - -% Set up ISO Latin 1 character encoding -/starnetISO { - dup dup findfont dup length dict begin - { 1 index /FID ne { def }{ pop pop } ifelse - } forall - /Encoding EncodingVector def - currentdict end definefont -} def -/Times-Roman starnetISO def -/Times-Italic starnetISO def -/Times-Bold starnetISO def -/Times-BoldItalic starnetISO def -/Helvetica starnetISO def -/Helvetica-Oblique starnetISO def -/Helvetica-Bold starnetISO def -/Helvetica-BoldOblique starnetISO def -/Courier starnetISO def -/Courier-Oblique starnetISO def -/Courier-Bold starnetISO def -/Courier-BoldOblique starnetISO def -cleartomark -} bind def - -%%BeginResource: procset graphviz 0 0 -/coord-font-family /Times-Roman def -/default-font-family /Times-Roman def -/coordfont coord-font-family findfont 8 scalefont def - -/InvScaleFactor 1.0 def -/set_scale { - dup 1 exch div /InvScaleFactor exch def - scale -} bind def - -% styles -/solid { [] 0 setdash } bind def -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def -/bold { 2 setlinewidth } bind def -/filled { } bind def -/unfilled { } bind def -/rounded { } bind def -/diagonals { } bind def - -% hooks for setting color -/nodecolor { sethsbcolor } bind def -/edgecolor { sethsbcolor } bind def -/graphcolor { sethsbcolor } bind def -/nopcolor {pop pop pop} bind def - -/beginpage { % i j npages - /npages exch def - /j exch def - /i exch def - /str 10 string def - npages 1 gt { - gsave - coordfont setfont - 0 0 moveto - (\() show i str cvs show (,) show j str cvs show (\)) show - grestore - } if -} bind def - -/set_font { - findfont exch - scalefont setfont -} def - -% draw text fitted to its expected width -/alignedtext { % width text - /text exch def - /width exch def - gsave - width 0 gt { - [] 0 setdash - text stringwidth pop width exch sub text length div 0 text ashow - } if - grestore -} def - -/boxprim { % xcorner ycorner xsize ysize - 4 2 roll - moveto - 2 copy - exch 0 rlineto - 0 exch rlineto - pop neg 0 rlineto - closepath -} bind def - -/ellipse_path { - /ry exch def - /rx exch def - /y exch def - /x exch def - matrix currentmatrix - newpath - x y translate - rx ry scale - 0 0 1 0 360 arc - setmatrix -} bind def - -/endpage { showpage } bind def -/showpage { } def - -/layercolorseq - [ % layer color sequence - darkest to lightest - [0 0 0] - [.2 .8 .8] - [.4 .8 .8] - [.6 .8 .8] - [.8 .8 .8] - ] -def - -/layerlen layercolorseq length def - -/setlayer {/maxlayer exch def /curlayer exch def - layercolorseq curlayer 1 sub layerlen mod get - aload pop sethsbcolor - /nodecolor {nopcolor} def - /edgecolor {nopcolor} def - /graphcolor {nopcolor} def -} bind def - -/onlayer { curlayer ne {invis} if } def - -/onlayers { - /myupper exch def - /mylower exch def - curlayer mylower lt - curlayer myupper gt - or - {invis} if -} def - -/curlayer 0 def - -%%EndResource -%%EndProlog -%%BeginSetup -14 default-font-family set_font -1 setmiterlimit -% /arrowlength 10 def -% /arrowwidth 5 def - -% make sure pdfmark is harmless for PS-interpreters other than Distiller -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse -% make '<<' and '>>' safe on PS Level 1 devices -/languagelevel where {pop languagelevel}{1} ifelse -2 lt { - userdict (<<) cvn ([) cvn load put - userdict (>>) cvn ([) cvn load put -} if - -%%EndSetup -setupLatin1 -%%Page: 1 1 -%%PageBoundingBox: 36 36 240 66 -%%PageOrientation: Portrait -0 0 1 beginpage -gsave -36 36 204 30 boxprim clip newpath -1 1 set_scale 0 rotate 40 41 translate -% Node1 -gsave -0 0 0.74902 nodecolor -newpath 0 .5 moveto -0 21.5 lineto -84 21.5 lineto -84 .5 lineto -closepath fill -1 setlinewidth -filled -0 0 0 nodecolor -newpath 0 .5 moveto -0 21.5 lineto -84 21.5 lineto -84 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -8 8.5 moveto 68 (Logging::Debug) alignedtext -grestore -% Node2 -gsave -[ /Rect [ 121 0 195 22 ] - /Border [ 0 0 0 ] - /Action << /Subtype /URI /URI ($class_logging.html#714840794950ab31df5da5b95322e391) >> - /Subtype /Link -/ANN pdfmark -1 setlinewidth -0 0 0 nodecolor -newpath 120.5 .5 moveto -120.5 21.5 lineto -195.5 21.5 lineto -195.5 .5 lineto -closepath stroke -0 0 0 nodecolor -10 /FreeSans set_font -128.5 8.5 moveto 59 (Logging::print) alignedtext -grestore -% Node1->Node2 -gsave -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 84.21 11 moveto -92.59 11 101.45 11 110.01 11 curveto -stroke -0.66667 0.77647 0.43922 edgecolor -newpath 110.24 14.5 moveto -120.24 11 lineto -110.24 7.5 lineto -closepath fill -1 setlinewidth -solid -0.66667 0.77647 0.43922 edgecolor -newpath 110.24 14.5 moveto -120.24 11 lineto -110.24 7.5 lineto -closepath stroke -grestore -endpage -showpage -grestore -%%PageTrailer -%%EndPage: 1 -%%Trailer -%%Pages: 1 -%%BoundingBox: 36 36 240 66 -end -restore -%%EOF diff --git a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 b/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 deleted file mode 100644 index 8f0071f..0000000 --- a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -25ab114c57dd2bf7b625223980cba149 \ No newline at end of file diff --git a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf b/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf deleted file mode 100644 index fc29eec..0000000 Binary files a/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf and /dev/null differ diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty deleted file mode 100644 index fc5b641..0000000 --- a/doc/latex/doxygen.sty +++ /dev/null @@ -1,78 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} -\RequirePackage{calc} -\RequirePackage{array} -\pagestyle{fancyplain} -\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} -\renewcommand{\chaptermark}[1]{\markboth{#1}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} -\lhead[\fancyplain{}{\bfseries\thepage}] - {\fancyplain{}{\bfseries\rightmark}} -\rhead[\fancyplain{}{\bfseries\leftmark}] - {\fancyplain{}{\bfseries\thepage}} -\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Mar 6 20:17:24 2012 for Logging by Doxygen }]{} -\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Mar 6 20:17:24 2012 for Logging by Doxygen }} -\cfoot{} -\newenvironment{Code} -{\footnotesize} -{\normalsize} -\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} -\newenvironment{DocInclude} -{\footnotesize} -{\normalsize} -\newenvironment{VerbInclude} -{\footnotesize} -{\normalsize} -\newenvironment{Image} -{\begin{figure}[H]} -{\end{figure}} -\newenvironment{ImageNoCaption}{}{} -\newenvironment{CompactList} -{\begin{list}{}{ - \setlength{\leftmargin}{0.5cm} - \setlength{\itemsep}{0pt} - \setlength{\parsep}{0pt} - \setlength{\topsep}{0pt} - \renewcommand{\makelabel}{\hfill}}} -{\end{list}} -\newenvironment{CompactItemize} -{ - \begin{itemize} - \setlength{\itemsep}{-3pt} - \setlength{\parsep}{0pt} - \setlength{\topsep}{0pt} - \setlength{\partopsep}{0pt} -} -{\end{itemize}} -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} -\newlength{\tmplength} -\newenvironment{TabularC}[1] -{ -\setlength{\tmplength} - {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} - \par\begin{tabular*}{\linewidth} - {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} -} -{\end{tabular*}\par} -\newcommand{\entrylabel}[1]{ - {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} -\newenvironment{Desc} -{\begin{list}{} - { - \settowidth{\labelwidth}{40pt} - \setlength{\leftmargin}{\labelwidth} - \setlength{\parsep}{0pt} - \setlength{\itemsep}{-4pt} - \renewcommand{\makelabel}{\entrylabel} - } -} -{\end{list}} -\newenvironment{Indent} - {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} - \item[]\ignorespaces} - {\unskip\end{list}} -\setlength{\parindent}{0cm} -\setlength{\parskip}{0.2cm} -\addtocounter{secnumdepth}{1} -\sloppy -\usepackage[T1]{fontenc} diff --git a/doc/latex/files.tex b/doc/latex/files.tex deleted file mode 100644 index b9066e3..0000000 --- a/doc/latex/files.tex +++ /dev/null @@ -1,5 +0,0 @@ -\section{File List} -Here is a list of all files with brief descriptions:\begin{CompactList} -\item\contentsline{section}{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/\hyperlink{_logging_8cpp}{Logging.cpp} }{\pageref{_logging_8cpp}}{} -\item\contentsline{section}{K:/Projekte/robotic/arduino/arduino\_\-1-0Patch/libraries/Logging/\hyperlink{_logging_8h}{Logging.h} }{\pageref{_logging_8h}}{} -\end{CompactList} diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex deleted file mode 100644 index 701a4b1..0000000 --- a/doc/latex/refman.tex +++ /dev/null @@ -1,59 +0,0 @@ -\documentclass[a4paper]{book} -\usepackage{a4wide} -\usepackage{makeidx} -\usepackage{fancyhdr} -\usepackage{graphicx} -\usepackage{multicol} -\usepackage{float} -\usepackage{textcomp} -\usepackage{alltt} -\usepackage{times} -\usepackage{ifpdf} -\ifpdf -\usepackage[pdftex, - pagebackref=true, - colorlinks=true, - linkcolor=blue, - unicode - ]{hyperref} -\else -\usepackage[ps2pdf, - pagebackref=true, - colorlinks=true, - linkcolor=blue, - unicode - ]{hyperref} -\usepackage{pspicture} -\fi -\usepackage[utf8]{inputenc} -\usepackage{doxygen} -\makeindex -\setcounter{tocdepth}{3} -\renewcommand{\footrulewidth}{0.4pt} -\begin{document} -\begin{titlepage} -\vspace*{7cm} -\begin{center} -{\Large Logging }\\ -\vspace*{1cm} -{\large Generated by Doxygen 1.5.6}\\ -\vspace*{0.5cm} -{\small Tue Mar 6 20:17:24 2012}\\ -\end{center} -\end{titlepage} -\clearemptydoublepage -\pagenumbering{roman} -\tableofcontents -\clearemptydoublepage -\pagenumbering{arabic} -\chapter{Class Index} -\input{annotated} -\chapter{File Index} -\input{files} -\chapter{Class Documentation} -\input{class_logging} -\chapter{File Documentation} -\input{_logging_8cpp} -\include{_logging_8h} -\printindex -\end{document} diff --git a/examples/Log-advanced/Log-advanced.ino b/examples/Log-advanced/Log-advanced.ino new file mode 100644 index 0000000..2d0c867 --- /dev/null +++ b/examples/Log-advanced/Log-advanced.ino @@ -0,0 +1,94 @@ +#include +#include +/* + _ ___ ___ _ _ ___ _ _ ___ _ ___ ___ + /_\ | _ \ \| | | |_ _| \| |/ _ \| | / _ \ / __| + / _ \| / |) | |_| || || .` | (_) | |_| (_) | (_ | + /_/ \_\_|_\___/ \___/|___|_|\_|\___/|____\___/ \___| + + Log library example showing several advanced features + Licensed under the MIT License . + + This example sketch shows most of the features of the ArduinoLog library + +*/ + +const char * charArray = "this is a string"; +const char flashCharArray1[] PROGMEM = "this is a string"; +String stringValue1 = "this is a string"; +IPAddress ipAdress(192, 168, 0, 1); + +void setup() { + // Set up serial port and wait until connected + Serial.begin(9600); + while(!Serial && !Serial.available()){} + + + Log.setPrefix(printPrefix); // set prefix similar to NLog + Log.setSuffix(printSuffix); // set suffix + Log.begin(LOG_LEVEL_VERBOSE, &Serial); + Log.setShowLevel(false); // Do not show loglevel, we will do this in the prefix +} + +void loop() { + // set up some random variables + + //__FlashStringHelper cannot be declared outside a function + const __FlashStringHelper * flashCharArray2 = F("this is a string"); + + Log.notice ( "Log global Flash string value : %S" CR, flashCharArray1 ); + Log.traceln ( "Log local Flash string value : %S" CR, flashCharArray2 ); + Log.notice ( "Log string value : %s" CR, stringValue1.c_str()); + Log.verboseln (F("Log ip adress : %p") , ipAdress ); + + delay(5000); +} + +void printPrefix(Print* _logOutput, int logLevel) { + printTimestamp(_logOutput); + printLogLevel (_logOutput, logLevel); +} + +void printTimestamp(Print* _logOutput) { + + // Division constants + const unsigned long MSECS_PER_SEC = 1000; + const unsigned long SECS_PER_MIN = 60; + const unsigned long SECS_PER_HOUR = 3600; + const unsigned long SECS_PER_DAY = 86400; + + // Total time + const unsigned long msecs = millis(); + const unsigned long secs = msecs / MSECS_PER_SEC; + + // Time in components + const unsigned long MilliSeconds = msecs % MSECS_PER_SEC; + const unsigned long Seconds = secs % SECS_PER_MIN ; + const unsigned long Minutes = (secs / SECS_PER_MIN) % SECS_PER_MIN; + const unsigned long Hours = (secs % SECS_PER_DAY) / SECS_PER_HOUR; + + // Time as string + char timestamp[20]; + sprintf(timestamp, "%02d:%02d:%02d.%03d ", Hours, Minutes, Seconds, MilliSeconds); + _logOutput->print(timestamp); +} + + +void printLogLevel(Print* _logOutput, int logLevel) { + /// Show log description based on log level + switch (logLevel) + { + default: + case 0:_logOutput->print("SILENT " ); break; + case 1:_logOutput->print("FATAL " ); break; + case 2:_logOutput->print("ERROR " ); break; + case 3:_logOutput->print("WARNING "); break; + case 4:_logOutput->print("INFO " ); break; + case 5:_logOutput->print("TRACE " ); break; + case 6:_logOutput->print("VERBOSE "); break; + } +} + +void printSuffix(Print* _logOutput, int logLevel) { + _logOutput->print(""); +} diff --git a/examples/Log-basic/Log-basic.ino b/examples/Log-basic/Log-basic.ino new file mode 100644 index 0000000..181292b --- /dev/null +++ b/examples/Log-basic/Log-basic.ino @@ -0,0 +1,90 @@ +#include +/* + _ ___ ___ _ _ ___ _ _ ___ _ ___ ___ + /_\ | _ \ \| | | |_ _| \| |/ _ \| | / _ \ / __| + / _ \| / |) | |_| || || .` | (_) | |_| (_) | (_ | + /_/ \_\_|_\___/ \___/|___|_|\_|\___/|____\___/ \___| + + Log library basic example + Licensed under the MIT License . + + This example sketch shows most of the most used features of the ArduinoLog library + +*/ + +int intValue1 , intValue2; +long longValue1, longValue2; +bool boolValue1, boolValue2; +const char charNotPrintable = 0x8B; +const char * charArray = "this is a string"; +const char flashCharArray1[] PROGMEM = "this is a string"; +String stringValue1 = "this is a string"; +float floatValue; +double doubleValue; + +void setup() { + // Set up serial port and wait until connected + Serial.begin(9600); + while(!Serial && !Serial.available()){} + randomSeed(analogRead(0)); + // Pass log level, whether to show log level, and print interface. + // Available levels are: + // LOG_LEVEL_SILENT, LOG_LEVEL_FATAL, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, LOG_LEVEL_INFO, LOG_LEVEL_TRACE, LOG_LEVEL_VERBOSE + // Note: if you want to fully remove all logging code, uncomment #define DISABLE_LOGGING in Logging.h + // this will significantly reduce your project size + + Log.begin(LOG_LEVEL_VERBOSE, &Serial); + + + //Start logging + + Log.notice(F(CR "******************************************" CR)); // Info string with Newline + Log.notice( "*** Logging example " CR); // Info string in flash memory + Log.notice(F("******************* ")); Log.notice("*********************** " CR); // two info strings without newline will end up on same line +} + +void loop() { + // set up some random variables + intValue1 = random(100); + intValue2 = random(10000); + longValue1 = random(1000000); + longValue2 = random(100000000); + boolValue1 = random(2)==0; + boolValue2 = random(2)==1; + floatValue = 12.34; + doubleValue= 1234.56789; + + + Log.notice ( "Log as Info with integer values : %d, %d" CR , intValue1, intValue2); + Log.notice (F("Log as Info with hex values : %x, %X" CR ), intValue1, intValue1); + Log.notice ( "Log as Info with hex values : %x, %X" CR , intValue2, intValue2); + Log.notice (F("Log as Info with binary values : %b, %B" CR ), intValue1, intValue1); + Log.notice ( "Log as Info with binary values : %b, %B" CR , intValue2, intValue2); + Log.notice (F("Log as Info with long values : %l, %l" CR ), longValue1, longValue2); + Log.notice ( "Log as Info with bool values : %t, %T" CR , boolValue1, boolValue2); + Log.notice (F("Log as Info with char value : %c" CR ), charArray[0]); + Log.notice ( "Log as Info with char value : %C" CR , charNotPrintable); + Log.notice (F("Log as Info with string value : %s" CR ), charArray); + Log.notice ( "Log as Info with Flash string value : %S" CR , flashCharArray1); + Log.notice ( "Log as Info with string value : %s" CR , stringValue1.c_str()); + Log.notice (F("Log as Info with float value : %F" CR ), floatValue); + Log.notice ( "Log as Info with float value : %F" CR , floatValue); + Log.notice (F("Log as Info with double value : %D" CR ), doubleValue); + Log.notice ( "Log as Info with double value : %D" CR , doubleValue); + Log.notice (F("Log as Debug with mixed values : %d, %d, %l, %l, %t, %T" CR ), intValue1 , intValue2 , + longValue1, longValue2, + boolValue1, boolValue2); + Log.trace ( "Log as Trace with bool value : %T" CR , boolValue1); + Log.traceln ( "Log as Trace with bool value : %T" , boolValue1); + Log.warning ( "Log as Warning with bool value : %T" CR , boolValue1); + Log.warningln( "Log as Warning with bool value : %T" , boolValue1); + Log.error ( "Log as Error with bool value : %T" CR , boolValue1); + Log.errorln ( "Log as Error with bool value : %T" , boolValue1); + Log.fatal ( "Log as Fatal with bool value : %T" CR , boolValue1); + Log.fatalln ( "Log as Fatal with bool value : %T" , boolValue1); + Log.verboseln(F("Log as Verbose with bool value : %T" ), boolValue2); + Log.verbose (F("Log as Verbose with bool value : %T" CR ), boolValue2); + + + delay(5000); +} \ No newline at end of file diff --git a/examples/Logging_example/Logging_example.ino b/examples/Logging_example/Logging_example.ino deleted file mode 100644 index a9ec5e0..0000000 --- a/examples/Logging_example/Logging_example.ino +++ /dev/null @@ -1,47 +0,0 @@ -#include - -/*! -* This example show some examples to use the Log library -* -* Have fun -* mrRobot@web.de -*/ - -// we need a Log object - -#define LOGLEVEL LOG_LEVEL_DEBUG - -int myInt1, myInt2; -long myLong1, myLong2; -bool myBool1, myBool2; -char* myString = "this is a string"; - -void setup() { - Log.Init(LOGLEVEL, 38400L); - Log.Info(CR"******************************************"CR); - Log.Info("My favorite output stuff in future :-)"CR); - Log.Info("******************************************"CR); - myInt1 = 232; - myInt2 = 32199; - myLong1 = 99403020; - myLong2 = 45021; - myBool1 = true; - myBool2 = !myBool1; -} - -void loop() { - Log.Info("Display my integers myInt1 %d, myInt2 %d"CR, myInt1, myInt2); - Log.Info("Display as hex myInt1=%x, myInt1=%X"CR, myInt1, myInt1); - Log.Info("Display as hex myInt2=%x, myInt2=%X"CR, myInt2, myInt2); - Log.Info("Display as binary myInt1=%b, myInt1=%B"CR, myInt1, myInt1); - Log.Info("Display as binary myInt2=%b, myInt2=%B"CR, myInt2, myInt2); - Log.Info("Display my longs myLong1 %l, myLong2=%l"CR, myLong1, myLong2); - Log.Info("Display my bool myBool1=%t, myBool2=%T"CR, myBool1, myBool2); - Log.Info("Output: %s"CR, myString); - Log.Error("is this an real error? %T"CR, myBool2); - Log.Debug("%d, %d, %l, %l, %t, %T"CR, myInt1, myInt2, - myLong1, myLong2, - myBool1, myBool2); - Log.Info(CR"have fun with this Log"CR); - delay(5000); -} diff --git a/examples/Logging_example/Logging_example.ino.bak b/examples/Logging_example/Logging_example.ino.bak deleted file mode 100644 index 303adb6..0000000 --- a/examples/Logging_example/Logging_example.ino.bak +++ /dev/null @@ -1,47 +0,0 @@ -#include - -/*! -* This example show some examples to use the Log library -* -* Have fun -* mrRobot@web.de -*/ - -// we need a Log object - -#define LOGLEVEL LOG_LEVEL_DEBUG - -int myInt1, myInt2; -long myLong1, myLong2; -bool myBool1, myBool2; -char* myString = "this is a string"; - -void setup() { - Log.Init(LOGLEVEL, 38400L); - Log.Info(CR"******************************************"CR); - Log.Info("My favorite output stuff in future :-)"CR); - Log.Info("******************************************"CR); - myInt1 = 232; - myInt2 = 32199; - myLong1 = 99403020; - myLong2 = 45021; - myBool1 = true; - myBool2 = !myBool1; -} - -void loop() { - Log.Info("Display my integers myInt1 %d, myInt2 %d"CR, myInt1, myInt2); - Log.Info("Display as hex myInt1=%x, myInt1=%X"CR, myInt1, myInt1); - Log.Info("Display as hex myInt2=%x, myInt2=%X"CR, myInt2, myInt2); - Log.Info("Display as binary myInt1=%b, myInt1=%B"CR, myInt1, myInt1); - Log.Info("Display as binary myInt2=%b, myInt2=%B"CR, myInt2, myInt2); - Log.Info("Display my longs myLong1 %l, myLong2=%l"CR, myLong1, myLong2); - Log.Info("Display my bool myBool1=%t, myBool2=%T"CR, myBool1, myBool2); - Log.Info("Output: %s"CR, myString); - Log.Error("is this an real error? %T"CR, myBool2); - Log.Debug("%d, %d, %l, %l, %t, %T"CR, myInt1, myInt2, - myLong1, myLong2, - myBool1, myBool2); - Log.Info(CR"have fun with this Log"CR); - delay(5000); -} diff --git a/examples/Logging_example/Logging_example.ino.orig b/examples/Logging_example/Logging_example.ino.orig deleted file mode 100644 index 3c3bab7..0000000 --- a/examples/Logging_example/Logging_example.ino.orig +++ /dev/null @@ -1,47 +0,0 @@ -#include - -/*! -* This example show some examples to use the Log library -* -* Have fun -* mrRobot@web.de -*/ - -// we need a Log object - -#define LOGLEVEL LOG_LEVEL_DEBUG - -int myInt1, myInt2; -long myLong1, myLong2; -bool myBool1, myBool2; -char* myString = "this is a string"; - -void setup() { - Log.Init(LOGLEVEL, 38400L); - Log.Info(CR"******************************************"CR); - Log.Info("My favorite output stuff in future :-)"CR); - Log.Info("******************************************"CR); - myInt1 = 232; - myInt2 = 32199; - myLong1 = 99403020; - myLong2 = 45021; - myBool1 = true; - myBool2 = !myBool1; -} - -void loop() { - Log.Info("Display my integers myInt1 %d, myInt2 %d"CR,myInt1, myInt2); - Log.Info("Display as hex myInt1=%x, myInt1=%X"CR,myInt1, myInt1); - Log.Info("Display as hex myInt2=%x, myInt2=%X"CR,myInt2, myInt2); - Log.Info("Display as binary myInt1=%b, myInt1=%B"CR,myInt1, myInt1); - Log.Info("Display as binary myInt2=%b, myInt2=%B"CR,myInt2, myInt2); - Log.Info("Display my longs myLong1 %l, myLong2=%l"CR,myLong1, myLong2); - Log.Info("Display my bool myBool1=%t, myBool2=%T"CR,myBool1, myBool2); - Log.Info("Output: %s"CR, myString); - Log.Error("is this an real error? %T"CR,myBool2); - Log.Debug("%d, %d, %l, %l, %t, %T"CR,myInt1,myInt2, - myLong1,myLong2, - myBool1,myBool2); - Log.Info(CR"have fun with this Log"CR); - delay(5000); -} diff --git a/examples/platformio-basic/platformio.ini b/examples/platformio-basic/platformio.ini new file mode 100644 index 0000000..4e8559a --- /dev/null +++ b/examples/platformio-basic/platformio.ini @@ -0,0 +1,37 @@ +; PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +[platformio] +default_envs = adafruit_feather_m4 + +[env:adafruit_feather_m4] +platform = atmelsam +board = adafruit_feather_m4 +framework = arduino +lib_deps = + ; TODO(kendall): Remove if/when Arduino-Log is available through + ; PlatformIO's Library Manager + https://github.com/thijse/Arduino-Log.git +test_ignore = test_native + + +[env:native] +platform = native +build_flags = + ; TODO(kendall): Remove if/when + ; https://github.com/thijse/Arduino-Log/pull/13 is merged + -DARDUINO=101 +lib_compat_mode = off +lib_deps = + https://github.com/FabioBatSilva/ArduinoFake.git + ; TODO(kendall): Remove if/when Arduino-Log is available through + ; PlatformIO's Library Manager + https://github.com/thijse/Arduino-Log.git + diff --git a/examples/platformio-basic/src/main.cpp b/examples/platformio-basic/src/main.cpp new file mode 100644 index 0000000..0a87923 --- /dev/null +++ b/examples/platformio-basic/src/main.cpp @@ -0,0 +1,121 @@ +#ifndef UNIT_TEST +#include +#include +/* + _ ___ ___ _ _ ___ _ _ ___ _ ___ ___ + /_\ | _ \ \| | | |_ _| \| |/ _ \| | / _ \ / __| + / _ \| / |) | |_| || || .` | (_) | |_| (_) | (_ | + /_/ \_\_|_\___/ \___/|___|_|\_|\___/|____\___/ \___| + + Log library example + Licensed under the MIT License . + + This example sketch shows most of the features of the ArduinoLog library + +*/ + +int intValue1, intValue2; +long longValue1, longValue2; +bool boolValue1, boolValue2; +const char *charArray = "this is a string"; +const char flashCharArray1[] PROGMEM = "this is a string"; +String stringValue1 = "this is a string"; +float floatValue; +double doubleValue; + +void printTimestamp(Print *_logOutput) { + char c[12]; + int m = sprintf(c, "%10lu ", millis()); + _logOutput->print(c); +} + +void printCarret(Print *_logOutput) { _logOutput->print('>'); } + +void setup() { + // Set up serial port and wait until connected + Serial.begin(9600); + while (!Serial && !Serial.available()) { + } + randomSeed(analogRead(0)); + // Pass log level, whether to show log level, and print interface. + // Available levels are: + // LOG_LEVEL_SILENT, LOG_LEVEL_FATAL, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, + // LOG_LEVEL_NOTICE, LOG_LEVEL_TRACE, LOG_LEVEL_VERBOSE Note: if you want to + // fully remove all logging code, uncomment #define DISABLE_LOGGING in + // Logging.h + // this will significantly reduce your project size + + Log.begin(LOG_LEVEL_VERBOSE, &Serial); + + // Start logging + + Log.notice( + F(CR "******************************************" CR)); // Info string + // with Newline + Log.notice( + "*** Logging example " CR); // Info string in + // flash memory + Log.notice(F("******************* ")); + Log.notice("*********************** " CR); // two info strings without newline +} + +void loop() { + // set up some random variables + intValue1 = random(100); + intValue2 = random(10000); + longValue1 = random(1000000); + longValue2 = random(100000000); + boolValue1 = random(2) == 0; + boolValue2 = random(2) == 1; + floatValue = 12.34; + doubleValue = 1234.56789; + + //__FlashStringHelper cannot be declared outside a function + const __FlashStringHelper *flashCharArray2 = F("this is a string"); + + Log.notice("Log as Info with integer values : %d, %d" CR, intValue1, + intValue2); + Log.notice(F("Log as Info with hex values : %x, %X" CR), intValue1, + intValue1); + Log.notice("Log as Info with hex values : %x, %X" CR, intValue2, + intValue2); + Log.notice(F("Log as Info with binary values : %b, %B" CR), intValue1, + intValue1); + Log.notice("Log as Info with binary values : %b, %B" CR, intValue2, + intValue2); + Log.notice(F("Log as Info with long values : %l, %l" CR), longValue1, + longValue2); + Log.notice("Log as Info with bool values : %t, %T" CR, boolValue1, + boolValue2); + Log.notice(F("Log as Info with string value : %s" CR), charArray); + Log.notice("Log as Info with Flash string value : %S" CR, flashCharArray1); + Log.notice("Log as Info with Flash string value : %S" CR, flashCharArray2); + Log.notice("Log as Info with string value : %s" CR, stringValue1.c_str()); + Log.notice(F("Log as Info with float value : %F" CR), floatValue); + Log.notice("Log as Info with float value : %F" CR, floatValue); + Log.notice(F("Log as Info with double value : %D" CR), doubleValue); + Log.notice("Log as Info with double value : %D" CR, doubleValue); + Log.notice(F("Log as Debug with mixed values : %d, %d, %l, %l, %t, %T" CR), + intValue1, intValue2, longValue1, longValue2, boolValue1, + boolValue2); + + Log.trace("Log as Trace with bool value : %T" CR, boolValue1); + Log.traceln("Log as Trace with bool value : %T", boolValue1); + Log.warning("Log as Warning with bool value : %T" CR, boolValue1); + Log.warningln("Log as Warning with bool value : %T", boolValue1); + Log.error("Log as Error with bool value : %T" CR, boolValue1); + Log.errorln("Log as Error with bool value : %T", boolValue1); + Log.fatal("Log as Fatal with bool value : %T" CR, boolValue1); + Log.fatalln("Log as Fatal with bool value : %T", boolValue1); + Log.verboseln(F("Log as Verbose with bool value : %T"), boolValue2); + Log.verbose(F("Log as Verbose with bool value : %T" CR), boolValue2); + + Log.setPrefix(printTimestamp); // set timestamp as prefix + Log.setSuffix(printCarret); // set carret as suffix + Log.verboseln(F("Log with suffix & prefix")); + Log.setPrefix(NULL); // set timestamp as prefix + Log.setSuffix(NULL); // set carret as suffix + + delay(5000); +} +#endif \ No newline at end of file diff --git a/examples/platformio-basic/test/test_native.cpp b/examples/platformio-basic/test/test_native.cpp new file mode 100644 index 0000000..ce46efe --- /dev/null +++ b/examples/platformio-basic/test/test_native.cpp @@ -0,0 +1,325 @@ +#include "ArduinoLog.h" +#include +#include +#include +#include +#include +#include +#include + +using namespace fakeit; +std::stringstream output_; + +void reset_output() { + output_.str(std::string()); + output_.clear(); +} + +std::string decimal_to_binary(int n) { + + std::string binary; + while (n != 0) { + binary = (n % 2 == 0 ? "0" : "1") + binary; + n /= 2; + } + return binary; +} + +void TEST_ASSERT_EQUAL_STRING_STREAM(std::stringstream const &expected_output, + std::stringstream const &actual_output) { + + TEST_ASSERT_EQUAL_STRING(expected_output.str().c_str(), + actual_output.str().c_str()); +} + +void set_up_logging_captures() { + When(OverloadedMethod(ArduinoFake(Serial), println, size_t(void))) + .AlwaysDo([&]() -> int { + output_ << "\n"; + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(char))) + .AlwaysDo([&](const char x) -> int { + output_ << x; + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(const char[]))) + .AlwaysDo([&](const char x[]) -> int { + output_ << x; + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(const String &))) + .AlwaysDo([&](const String &x) -> int { + output_ << x.c_str(); + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(unsigned char, int))) + .AlwaysDo([&](unsigned char x, int y) -> int { + if (y == 2) { + output_ << decimal_to_binary(x); + } else { + output_ << std::setbase(y) << (unsigned long)x; + } + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(unsigned long, int))) + .AlwaysDo([&](unsigned long x, int y) -> int { + output_ << std::fixed << std::setprecision(y) << x; + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(int, int))) + .AlwaysDo([&](int x, int y) -> int { + if (y == 2) { + output_ << decimal_to_binary(x); + } else { + output_ << std::setbase(y) << x; + } + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(unsigned int, int))) + .AlwaysDo([&](unsigned int x, int y) -> int { + if (y == 2) { + output_ << decimal_to_binary(x); + } else { + output_ << std::setbase(y) << x; + } + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(double, int))) + .AlwaysDo([&](double x, int y) -> int { + output_ << std::fixed << std::setprecision(y) << x; + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(long, int))) + .AlwaysDo([&](long x, int y) -> int { + if (y == 2) { + output_ << std::bitset(x).to_string(); + } else { + output_ << std::setbase(y) << x; + } + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, size_t(unsigned long, int))) + .AlwaysDo([&](unsigned long x, int y) -> int { + if (y == 2) { + output_ << std::bitset(x).to_string(); + } else { + output_ << std::setbase(y) << x; + } + return 1; + }); + When(OverloadedMethod(ArduinoFake(Serial), print, + size_t(const __FlashStringHelper *ifsh))) + .AlwaysDo([&](const __FlashStringHelper *x) -> int { + auto message = reinterpret_cast(x); + output_ << message; + return 1; + }); + + When(Method(ArduinoFake(Serial), flush)).AlwaysReturn(); +} + +void setUp(void) { + ArduinoFakeReset(); + Log.begin(LOG_LEVEL_VERBOSE, &Serial); + set_up_logging_captures(); +} +void test_int_values() { + reset_output(); + int int_value1 = 173; + int int_value2 = 65536; + Log.notice("Log as Info with integer values : %d, %d" CR, int_value1, + int_value2); + std::stringstream expected_output; + expected_output << "N: Log as Info with integer values : 173, 65536\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_int_hex_values() { + reset_output(); + int int_value1 = 152; + int int_value2 = 65010; + Log.notice(F("Log as Info with hex values : %x, %X" CR), int_value1, + int_value1); + Log.notice("Log as Info with hex values : %x, %X" CR, int_value2, + int_value2); + std::stringstream expected_output; + expected_output << "N: Log as Info with hex values : 98, 0x0098\n" + << "N: Log as Info with hex values : fdf2, 0xfdf2\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_int_binary_values() { + reset_output(); + int int_value1 = 2218; + int int_value2 = 17814; + Log.notice(F("Log as Info with binary values : %b, %B" CR), int_value1, + int_value2); + std::stringstream expected_output; + expected_output << "N: Log as Info with binary values : 100010101010, " + "0b100010110010110\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} +void test_long_values() { + reset_output(); + long long_value1 = 34359738368; + long long_value2 = 274877906944; + Log.notice(F("Log as Info with long values : %l, %l" CR), long_value1, + long_value2); + std::stringstream expected_output; + expected_output << "N: Log as Info with long values : " + "34359738368, 274877906944\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_bool_values() { + reset_output(); + bool true_value = true; + bool false_value = false; + Log.notice("Log as Info with bool values : %t, %T" CR, true_value, + true_value); + Log.notice("Log as Info with bool values : %t, %T" CR, false_value, + false_value); + std::stringstream expected_output; + expected_output << "N: Log as Info with bool values : T, true\n"; + expected_output << "N: Log as Info with bool values : F, false\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_char_string_values() { + reset_output(); + const char *charArray = "this is a string"; + Log.notice(F("Log as Info with string value : %s" CR), charArray); + std::stringstream expected_output; + expected_output << "N: Log as Info with string value : this is a string\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_flash_string_values() { + reset_output(); + //__FlashStringHelper cannot be declared outside a function + const __FlashStringHelper *flashCharArray2 = F("this is a string"); + + const char flashCharArray1[] PROGMEM = "this is a string"; + Log.notice("Log as Info with Flash string value : %S" CR, flashCharArray1); + std::stringstream expected_output; + expected_output + << "N: Log as Info with Flash string value : this is a string\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_string_values() { + reset_output(); + String stringValue1 = "this is a string"; + Log.notice("Log as Info with string value : %s" CR, stringValue1.c_str()); + std::stringstream expected_output; + expected_output << "N: Log as Info with string value : this is a string\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_float_values() { + reset_output(); + float float_value = 12.34; + Log.notice(F("Log as Info with float value : %F" CR), float_value); + Log.notice("Log as Info with float value : %F" CR, float_value); + std::stringstream expected_output; + expected_output << "N: Log as Info with float value : 12.34\n" + << "N: Log as Info with float value : 12.34\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_double_values() { + reset_output(); + double double_value = 1234.56789; + // Log.notice(F("%D" CR), double_value); + Log.notice(F("Log as Info with double value : %D" CR), double_value); + Log.notice("Log as Info with double value : %D" CR, double_value); + std::stringstream expected_output; + expected_output << "N: Log as Info with double value : 1234.57\n" + << "N: Log as Info with double value : 1234.57\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_mixed_values() { + reset_output(); + int int_value1 = 15826; + int int_value2 = 31477; + long long_value1 = 274877906944; + long long_value2 = 68719476743; + bool true_value = true; + bool false_value = false; + Log.notice(F("Log as Debug with mixed values : %d, %d, %l, %l, %t, %T" CR), + int_value1, int_value2, long_value1, long_value2, true_value, + false_value); + std::stringstream expected_output; + expected_output + << "N: Log as Debug with mixed values : 15826, 31477, 274877906944, " + "68719476743, T, false\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void test_log_levels() { + reset_output(); + bool true_value = true; + bool false_value = false; + Log.trace("Log as Trace with bool value : %T" CR, true_value); + Log.traceln("Log as Trace with bool value : %T", false_value); + Log.warning("Log as Warning with bool value : %T" CR, true_value); + Log.warningln("Log as Warning with bool value : %T", false_value); + Log.error("Log as Error with bool value : %T" CR, true_value); + Log.errorln("Log as Error with bool value : %T", false_value); + Log.fatal("Log as Fatal with bool value : %T" CR, true_value); + Log.fatalln("Log as Fatal with bool value : %T", false_value); + Log.verboseln(F("Log as Verbose with bool value : %T"), true_value); + Log.verbose(F("Log as Verbose with bool value : %T" CR), false_value); + std::stringstream expected_output; + expected_output << "T: Log as Trace with bool value : true\n" + "T: Log as Trace with bool value : false\n" + "W: Log as Warning with bool value : true\n" + "W: Log as Warning with bool value : false\n" + "E: Log as Error with bool value : true\n" + "E: Log as Error with bool value : false\n" + "F: Log as Fatal with bool value : true\n" + "F: Log as Fatal with bool value : false\n" + "V: Log as Verbose with bool value : true\n" + "V: Log as Verbose with bool value : false\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +void printTimestamp(Print *_logOutput) { + char c[12]; + int m = sprintf(c, "%10lu ", millis()); + _logOutput->print(c); +} +void printCarret(Print *_logOutput) { _logOutput->print('>'); } + +void test_prefix_and_suffix() { + reset_output(); + When(Method(ArduinoFake(), millis)).Return(1026); + Log.setPrefix(printTimestamp); // set timestamp as prefix + Log.setSuffix(printCarret); // set carret as suffix + Log.verboseln(F("Log with suffix & prefix")); + Log.setPrefix(NULL); // clear prefix + Log.setSuffix(NULL); // clear suffix + std::stringstream expected_output; + expected_output << " 1026 V: Log with suffix & prefix>\n"; + TEST_ASSERT_EQUAL_STRING_STREAM(expected_output, output_); +} + +int main(int argc, char **argv) { + UNITY_BEGIN(); + RUN_TEST(test_int_values); + RUN_TEST(test_int_hex_values); + RUN_TEST(test_int_binary_values); + RUN_TEST(test_long_values); + RUN_TEST(test_bool_values); + RUN_TEST(test_char_string_values); + RUN_TEST(test_flash_string_values); + RUN_TEST(test_string_values); + RUN_TEST(test_float_values); + RUN_TEST(test_double_values); + RUN_TEST(test_mixed_values); + RUN_TEST(test_log_levels); + RUN_TEST(test_prefix_and_suffix); + UNITY_END(); +} \ No newline at end of file diff --git a/keywords.txt b/keywords.txt index eb7d93a..9204507 100644 --- a/keywords.txt +++ b/keywords.txt @@ -1,7 +1,12 @@ ####################################### -# Syntax Coloring Map logging lib +# Syntax Coloring Map ArduinoLog library ####################################### +####################################### +# Instances (KEYWORD1) +####################################### +Logging KEYWORD1 +Log KEYWORD1 ####################################### # Datatypes (KEYWORD1) ####################################### @@ -9,24 +14,45 @@ ####################################### # Methods and Functions (KEYWORD2) ####################################### -Error KEYWORD2 error output -Warn KEYWORD2 warning output -Info KEYWORD2 info output -Debug KEYWORD2 debug output -Verbose KEYWORD2 verbose output -Init KEYWORD2 initialiazing +fatal KEYWORD2 +fatalln KEYWORD2 +error KEYWORD2 +errorln KEYWORD2 +warning KEYWORD2 +warningln KEYWORD2 +info KEYWORD2 +infoln KEYWORD2 +notice KEYWORD2 +noticeln KEYWORD2 +trace KEYWORD2 +traceln KEYWORD2 +verbose KEYWORD2 +verboseln KEYWORD2 +begin KEYWORD2 +setLevel KEYWORD2 +getLevel KEYWORD2 +setShowLevel KEYWORD2 +getShowLevel KEYWORD2 +setPrefix KEYWORD2 +setSuffix KEYWORD2 +clearPrefix KEYWORD2 +clearSuffix KEYWORD2 ####################################### # Instances (KEYWORD2) ####################################### -Logging KEYWORD2 Logging library +Logging KEYWORD2 +Log KEYWORD2 ####################################### # Constants (LITERAL1) ####################################### -LOG_LEVEL_NOOUTPUT LITERAL1 Constants -LOG_LEVEL_ERRORS LITERAL1 Constants -LOG_LEVEL_INFOS LITERAL1 Constants -LOG_LEVEL_DEBUG LITERAL1 Constants +LOG_LEVEL_SILENT LITERAL1 Constants +LOG_LEVEL_FATAL LITERAL1 Constants +LOG_LEVEL_ERROR LITERAL1 Constants +LOG_LEVEL_WARNING LITERAL1 Constants +LOG_LEVEL_NOTICE LITERAL1 Constants +LOG_LEVEL_INFO LITERAL1 Constants +LOG_LEVEL_TRACE LITERAL1 Constants LOG_LEVEL_VERBOSE LITERAL1 Constants diff --git a/library.json b/library.json new file mode 100644 index 0000000..2afeaac --- /dev/null +++ b/library.json @@ -0,0 +1,19 @@ +{ + "name": "ArduinoLog", + "keywords": "logging, debug, log, log levels, AVR, ESP8266", + "description": "ArduinoLog is a minimalistic logging framework to help the programmer output log statements to a variety of output targets. ArduinoLog is designed so that log statements can remain in the code with minimal performance cost. In order to facilitate this the loglevel can be adjusted, and if the code is completely tested all logging code can be compiled out. Tested for AVR, ESP8266 & ESP32 boards. Detailed instructions for use on Github page.", + "version": "1.1.1", + "authors": { + "name": "Thijs Elenbaas", + "url": "https://github.com/thijse", + "maintainer": true + }, + "repository": { + "type": "git", + "url": "https://github.com/thijse/Arduino-Log" + }, + "homepage": "https://github.com/thijse/Arduino-Log/", + "frameworks": ["arduino"], + "platforms": "*", + "examples": "examples/*/*.ino" +} diff --git a/library.properties b/library.properties new file mode 100644 index 0000000..1279f4a --- /dev/null +++ b/library.properties @@ -0,0 +1,10 @@ +name=ArduinoLog +version=1.1.1 +author=Thijs Elenbaas +maintainer=Thijs Elenbaas +sentence=Small logging framework +paragraph=ArduinoLog is a minimalistic logging framework to help the programmer output log statements to a variety of output targets. ArduinoLog is designed so that log statements can remain in the code with minimal performance cost. In order to facilitate this the loglevel can be adjusted, and if the code is completely tested all logging code can be compiled out. Tested for AVR, ESP8266 & ESP32 boards. Detailed instructions for use on Github page. +category=Communication +url=https://github.com/thijse/Arduino-Log/ +architectures=* +includes=ArduinoLog.h