From 465afd91bc5a43f7e5b2730ddfbea81e88ceda5d Mon Sep 17 00:00:00 2001 From: Fenoglio Date: Tue, 24 Jul 2018 14:32:00 +0200 Subject: [PATCH] Changed handling of buttons to use a common routine. Introdiced long_pressed state --- .../Arduino-logging-library-master/LICENCSE | 22 + .../Logging.cpp | 125 +++++ .../Arduino-logging-library-master/Logging.h | 146 ++++++ .../Logging.zip | Bin 0 -> 157704 bytes .../Logging_WikiPage.txt | 54 ++ .../doc/doxygen_objdb_4636.tmp | 0 .../doc/html/_logging_8cpp-source.html | 146 ++++++ .../doc/html/_logging_8cpp.html | 57 +++ .../doc/html/_logging_8cpp__incl.md5 | 1 + .../doc/html/_logging_8cpp__incl.png | Bin 0 -> 7262 bytes .../doc/html/_logging_8h-source.html | 77 +++ .../doc/html/_logging_8h.html | 236 +++++++++ .../doc/html/_logging_8h__dep__incl.map | 1 + .../doc/html/_logging_8h__dep__incl.md5 | 1 + .../doc/html/_logging_8h__dep__incl.png | Bin 0 -> 2553 bytes .../doc/html/_logging_8h__incl.map | 0 .../doc/html/_logging_8h__incl.md5 | 1 + .../doc/html/_logging_8h__incl.png | Bin 0 -> 6304 bytes .../doc/html/annotated.html | 32 ++ .../doc/html/class_logging-members.html | 39 ++ .../doc/html/class_logging.html | 450 +++++++++++++++++ ...cf44ab531c72761fba811882336a2ad_cgraph.map | 1 + ...cf44ab531c72761fba811882336a2ad_cgraph.md5 | 1 + ...cf44ab531c72761fba811882336a2ad_cgraph.png | Bin 0 -> 1122 bytes ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map | 1 + ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 | 1 + ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png | Bin 0 -> 1165 bytes ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.map | 1 + ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 | 1 + ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png | Bin 0 -> 1102 bytes ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.map | 1 + ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 | 1 + ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.png | Bin 0 -> 1137 bytes .../doc/html/classes.html | 34 ++ .../doc/html/doxygen.css | 473 ++++++++++++++++++ .../doc/html/doxygen.png | Bin 0 -> 1281 bytes .../doc/html/files.html | 33 ++ .../doc/html/ftv2blank.png | Bin 0 -> 174 bytes .../doc/html/ftv2doc.png | Bin 0 -> 255 bytes .../doc/html/ftv2folderclosed.png | Bin 0 -> 259 bytes .../doc/html/ftv2folderopen.png | Bin 0 -> 261 bytes .../doc/html/ftv2lastnode.png | Bin 0 -> 233 bytes .../doc/html/ftv2link.png | Bin 0 -> 358 bytes .../doc/html/ftv2mlastnode.png | Bin 0 -> 160 bytes .../doc/html/ftv2mnode.png | Bin 0 -> 194 bytes .../doc/html/ftv2node.png | Bin 0 -> 235 bytes .../doc/html/ftv2plastnode.png | Bin 0 -> 165 bytes .../doc/html/ftv2pnode.png | Bin 0 -> 200 bytes .../doc/html/ftv2vertline.png | Bin 0 -> 229 bytes .../doc/html/functions.html | 58 +++ .../doc/html/functions_func.html | 54 ++ .../doc/html/functions_vars.html | 44 ++ .../doc/html/globals.html | 59 +++ .../doc/html/globals_defs.html | 56 +++ .../doc/html/globals_vars.html | 43 ++ .../doc/html/graph_legend.dot | 23 + .../doc/html/graph_legend.html | 85 ++++ .../doc/html/graph_legend.png | Bin 0 -> 13795 bytes .../doc/html/index.html | 11 + .../doc/html/main.html | 25 + .../doc/html/tab_b.gif | Bin 0 -> 35 bytes .../doc/html/tab_l.gif | Bin 0 -> 706 bytes .../doc/html/tab_r.gif | Bin 0 -> 2585 bytes .../doc/html/tabs.css | 102 ++++ .../doc/html/tree.html | 79 +++ .../doc/latex/FreeSans.ttf | Bin 0 -> 22932 bytes .../doc/latex/Makefile | 19 + .../doc/latex/_logging_8cpp.tex | 32 ++ .../doc/latex/_logging_8cpp__incl.eps | 392 +++++++++++++++ .../doc/latex/_logging_8cpp__incl.md5 | 1 + .../doc/latex/_logging_8cpp__incl.pdf | Bin 0 -> 6916 bytes .../doc/latex/_logging_8h.tex | 153 ++++++ .../doc/latex/_logging_8h__dep__incl.eps | 256 ++++++++++ .../doc/latex/_logging_8h__dep__incl.md5 | 1 + .../doc/latex/_logging_8h__dep__incl.pdf | Bin 0 -> 6265 bytes .../doc/latex/_logging_8h__incl.eps | 353 +++++++++++++ .../doc/latex/_logging_8h__incl.md5 | 1 + .../doc/latex/_logging_8h__incl.pdf | Bin 0 -> 6685 bytes .../doc/latex/annotated.tex | 4 + .../doc/latex/class_logging.tex | 257 ++++++++++ ...cf44ab531c72761fba811882336a2ad_cgraph.eps | 256 ++++++++++ ...cf44ab531c72761fba811882336a2ad_cgraph.md5 | 1 + ...cf44ab531c72761fba811882336a2ad_cgraph.pdf | Bin 0 -> 4876 bytes ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps | 256 ++++++++++ ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 | 1 + ...ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf | Bin 0 -> 5216 bytes ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.eps | 256 ++++++++++ ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 | 1 + ...a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf | Bin 0 -> 4908 bytes ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps | 256 ++++++++++ ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 | 1 + ...0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf | Bin 0 -> 5125 bytes .../doc/latex/doxygen.sty | 78 +++ .../doc/latex/files.tex | 5 + .../doc/latex/refman.tex | 59 +++ .../Logging_example/Logging_example.ino | 47 ++ .../Logging_example/Logging_example.ino.bak | 47 ++ .../Logging_example/Logging_example.ino.orig | 47 ++ .../keywords.txt | 32 ++ speedclock.h | 27 +- speedclock.ino | 261 +++++----- 101 files changed, 5535 insertions(+), 140 deletions(-) create mode 100644 Arduino_Libs/Arduino-logging-library-master/LICENCSE create mode 100644 Arduino_Libs/Arduino-logging-library-master/Logging.cpp create mode 100644 Arduino_Libs/Arduino-logging-library-master/Logging.h create mode 100644 Arduino_Libs/Arduino-logging-library-master/Logging.zip create mode 100644 Arduino_Libs/Arduino-logging-library-master/Logging_WikiPage.txt create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/doxygen_objdb_4636.tmp create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp-source.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h-source.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/annotated.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging-members.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/classes.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.css create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/files.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2blank.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2doc.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderclosed.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderopen.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2lastnode.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2link.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mlastnode.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mnode.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2node.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2plastnode.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2pnode.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2vertline.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/functions.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/functions_func.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/functions_vars.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/globals.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/globals_defs.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/globals_vars.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.dot create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.png create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/index.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/main.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/tab_b.gif create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/tab_l.gif create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/tab_r.gif create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/tabs.css create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/html/tree.html create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/FreeSans.ttf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/Makefile create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/annotated.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/doxygen.sty create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/files.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/doc/latex/refman.tex create mode 100644 Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino create mode 100644 Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.bak create mode 100644 Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.orig create mode 100644 Arduino_Libs/Arduino-logging-library-master/keywords.txt diff --git a/Arduino_Libs/Arduino-logging-library-master/LICENCSE b/Arduino_Libs/Arduino-logging-library-master/LICENCSE new file mode 100644 index 0000000..69c7374 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/LICENCSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015, LunaX + +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/Arduino_Libs/Arduino-logging-library-master/Logging.cpp b/Arduino_Libs/Arduino-logging-library-master/Logging.cpp new file mode 100644 index 0000000..aede239 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/Logging.cpp @@ -0,0 +1,125 @@ +#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/Arduino_Libs/Arduino-logging-library-master/Logging.h b/Arduino_Libs/Arduino-logging-library-master/Logging.h new file mode 100644 index 0000000..930fa1b --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/Logging.h @@ -0,0 +1,146 @@ +#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/Arduino_Libs/Arduino-logging-library-master/Logging.zip b/Arduino_Libs/Arduino-logging-library-master/Logging.zip new file mode 100644 index 0000000000000000000000000000000000000000..6978edb5da2fe3a7102a3976eb183550bc04fc0e GIT binary patch literal 157704 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

f>X)F&gM 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 ijY|A)Hk0FTXkJ%F0kSR-h%fNd&H%g= 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/Arduino_Libs/Arduino-logging-library-master/doc/doxygen_objdb_4636.tmp b/Arduino_Libs/Arduino-logging-library-master/doc/doxygen_objdb_4636.tmp new file mode 100644 index 0000000..e69de29 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp-source.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp-source.html new file mode 100644 index 0000000..475dfa4 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp-source.html @@ -0,0 +1,146 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp.html new file mode 100644 index 0000000..bff159c --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp.html @@ -0,0 +1,57 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.md5 new file mode 100644 index 0000000..42fa2fc --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.md5 @@ -0,0 +1 @@ +9bc36cc228a2c8d3e1c6ff210fc4873c \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..63b116e3567e025222912ecad32edb9f909ec253 GIT binary patch literal 7262 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 HNyvWz6!i4% literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h-source.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h-source.html new file mode 100644 index 0000000..08f0086 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h-source.html @@ -0,0 +1,77 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h.html new file mode 100644 index 0000000..e31432c --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h.html @@ -0,0 +1,236 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.map b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.map new file mode 100644 index 0000000..0b98831 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.map @@ -0,0 +1 @@ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.md5 new file mode 100644 index 0000000..d63556a --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.md5 @@ -0,0 +1 @@ +f474553a6094abd8cb87cb218f448acf \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a3bb9c54da5f7153c24679b4c37bd905d46b458a GIT binary patch literal 2553 zcmc(hc~H{b8pnURyrx$6x-_OzNmi0&k>M_qQtrt_i@8x^X{ni_@FpSp_8MwQ_L|CT zDQGUKfmtdpiQQ66&7~A1#Z04Aa7hzPNxXLN-1km*-nldPult;tvwWX(=A1LnIiGn_ zP)A+XYZzz%0I=T86?qH**7U6QW7qz)S}Wv_CRUrDf;?Q1z{>Z+Xe`NCRn%hKybh}g zl?>K`VLE|_`T#)vt{d{u@n7yu4MA_cJE;F`c9$?9(Hb=Ya zn!wlmYVHZLgBnXM?&M#+E^f@!0(5jd)_}GhGDFVzS{Ussgxgip1=L*mN+DXlle%mj zHD}UAWUgJ^_)kl~G11{T$1A!3@M`87?Rk#MMI=(Tu%LHW2|#7Pc=4hWb3b~trnqvD z9odm)Xm#+ro+;_C=*YDr6tIcL&U*l0&ldI7^{U#Y0H9%l0sviC1^}1_do#*;?$xZO z_-bDpa&&VcB)fjd2-?igC>XMl;mV`DBSOZ7t|UcaGS6HhC%W5kPnSZ^u2f_ z_MY@LrT*1{B*SPYejX#Jx{sa}G!+KBL@$!M1aBr4XbDX75F|neL|iQ~$a(YFk>VNl zHlna>SFqo(Z9g814u)24$OMTgSuOa@!0p4YrhnwOX_F@Keq9xL}7(0wZjt}V^>7)Pb zg(Z8KB~zd>m_=nDz$*$T3FBT~p1GXZfe%L87dpK| zF)&HMxvU90-br$J|FsCaZQ4~0ghi`OpIKQ}wMWXauEu8U+ z9T{)>%32m_rd9KATr7|3-;F1?aOmyl#0{LvxM-;{Z=H`T$Yb2u>%82dN0AZAvRO>O zKodlB?0O-+aO~g`KPh}Hb^A_!{M&p(dZiRQc->kns^kHtmn%@X!}!i0t-Cl=la@j9 zv5UCIKsENr?vja&p?FUaQ<|TpmT|N)?ZWbkGV|P+a)PVSsvX@=ckdwm^7;MWKCLLH zwWoaZs|8R3?PB}v9!hB!PbZXY3(y7yRR^-Xz6|U8m1YTcQ%cKq#s1j*XemHUcff2>O8i@g^=9{J5!!ZmA7)FHW)hkw_8m6gkgE z`^?)7T3S}*P6d&%pf?C4SFsls6O&)QpkPQAggwt}W)FFu^-@wze>**05{Vz;6To1u zJxNkRpN@AVcmjE?b|{8Z06Vr<-^TI?wc(QFlW-QWzM-PgS0b_f;@02RHF0YZN!zPb z=Dd2QCk;eN4s=Lzx0@SNF*E(H-ZI1!=mIAyWlq@Q(1pY|esiLj%?UZ_h{Q6Z@D$pu z!>^K7vj5O5>DW;7>4s)Pnu^A8QG2G@OlnMa7i+>im!*u-)HX%k4(S#-V?~0%OE--i zi95G;{j396ao(yO9~JYwF<0k9B@ZN`g0M#D-1ulqNjCZG$nu7S&gb^m zud~UYsOr!5=OGd`CMWH$IJ%q$7Q?$i0C1Z{9O9;LMa5Zd+b zUC4q=25+z;7y&}sb5#J5sGbMtZArHdAu zTtYX0@Y&=`IYNy(d2yX!s`z2~NBHru@dX5WzxIN>koCASb{$X8V-OF)Uxl^$;=-NX zn?X70lRi#V^0>Y^l4ss-qvU&-j^K`Q9n!N0 z{_1@M_Pv6@239^~uN?QXDr@LSS)5ail!=S5vOK&=M}m5rA73l}Op>*18Nkp_et2g} zO4I~-a2~Uy&`s&~f*0nj(JaNPlX~uSgN8TPk+rH;Omf1G z!h;QV*4&%vifOOv7SwQJjR)&SlT)fO_;GGX__CnJxXW1x5%*U?YnqOwNl`Y`Cy{my zX#z#vz$AF!a%S&*+ae`%3B!?@Q3i_z%e1m`WqhmIeP2_>Sl z*6+PFWG*U-a}7XKPlPWU(_vD+Ho#Yd87R8*D_>fvDbHcjCdKTxg2Q0b#kJhJr zCD$Uau;L$ljvP@!Y^nCTQhaGO+`$<{4Z?=Dt-Xor+~Ukie@IC>R^ok5o%Hg2ih5P4 zazYE%J}S&GwUz<^U_hPK=i@6^bD1A3A?us+ XKK%@on20X=?r=MN6v=Wr^XuOM(h9SM literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.map b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.map new file mode 100644 index 0000000..e69de29 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.md5 new file mode 100644 index 0000000..40689a5 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.md5 @@ -0,0 +1 @@ +a2cd343e55b11f7ce30991e2ff3c64f6 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/_logging_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..7f150fa36be9eb8972db9f926b300a1282c2e34f GIT binary patch literal 6304 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 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/annotated.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/annotated.html new file mode 100644 index 0000000..0013253 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/annotated.html @@ -0,0 +1,32 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging-members.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging-members.html new file mode 100644 index 0000000..b16513b --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging-members.html @@ -0,0 +1,39 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging.html new file mode 100644 index 0000000..c380cc8 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging.html @@ -0,0 +1,450 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map new file mode 100644 index 0000000..4e7e826 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.map @@ -0,0 +1 @@ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 new file mode 100644 index 0000000..7cbc5c5 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 @@ -0,0 +1 @@ +b44edf156b3ed94fc1e1a435a07bb5dd \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a3a1c820be40e5a754363897625aad1def6108 GIT binary patch literal 1122 zcmV-o1fBbdP)L-{**W{UCrbS2?&72X5fKp)5fKp)5s^iX@c1Nv3uz`oi981I z(RLDD;QK3kKBD=)I-)2XJPKfZY;3HT2~h`DR#pID$#NRq8U-*8V9|CW1fcm^G;|G8 zfk3rd#q8{C&oZLU{4Egu;1z%g+er`rU|wo))69a1@`VM0h(s(9L?mK?AR-Y91QChE zPcf46JP*F_n+lhS{yfhU+tPfl1OQNw@7w8z{-RjP$5??#TUr+=3xVv+ncI~{qj0fa zKU~`0p8I7xAH%X#9Dw-w7%e2ZEf8d1y*@DPy6X9{V+EAU({BLhWvR6P?(5gN-?noj zGg4cF@I3F|pVZdcj?<>wP8wg=S5m>aQa`%fr01MdmjU&9cek)LGBWkFQkl90j2BYu zU$y;7ZP2t!ZMyBG@pXOa_H}WC@#5qoJ;#ovGJ*)M7qssOx25xCaRY+G>h}HMwsc-pZecN{ z7{Q^wZs;$?((Ol`=R};7Sf-{JzVC-#klijCM#bnRZqjo)IW{kp!a#G&83xoX*Hx31 z%GA12&U2-lg^i7ewo+?dKuOzL?cK!hByOi|#$>8MP_$xk2tz}cCyT|CS8V5^6i&oA zY_NH(b6P3faU6B8T%N|>-sexpkDovLQ#0pW7hfU{s{O)gUE&Tn6w zYk#bLTWPkV+Tsd}5oggcc)kh7ijEXyzFMtbv+;WnVXOKkR{Zn+slnf3Gl9&EAXIAv zu@9gCU{5Kv=(>1StJOXLiwBxhTfaYGlJ=NAHE=khUyND{{m78bsXbN3hLAeCp2NU}LM%C|u9@t=4g;AHg;g@pI35 zfdIlUS`!yEi$ZU#tv#s$cwsw_7h($07*qoM6N<$f{LRMSO5S3 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map new file mode 100644 index 0000000..9105e07 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.map @@ -0,0 +1 @@ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 new file mode 100644 index 0000000..4e4f608 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 @@ -0,0 +1 @@ +5e8a322879636277bcdb0b2b55b54b9f \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c0895ce371cccaa7ae6c3717563c62f459012c GIT binary patch literal 1165 zcmV;81akX{P))7s7ytkSFG)l}RCt{2-7#n!M-&F&|J_NByBLGf z-8zIcsg0@_Y_PU;=M-w3Iz<{w5rm{u1S(niyW(f3#SMsT_7Yy zh$9Js?Q{+o?zuQQzHDZ8SG%(_d#nEgpjP!hw} z&H}jPI}r-zA%N?llc?Zs=mhA0u4DYX`i~jI1K$R)xUjHLcS01{*47pP3{Q{)C}Ej7lXkdbQ&&v0N{4$BnSYYwuX++EQsjvVzD72 zFIa4d$O{%5BJzU8hKRgyQf%Tlb`hpA{pH0k)4%VZ5m{O9mb9e5Ji+p@-uiB`BuPT2 zK#tALt(@+3^w{?Ho8JMS{}VbNhfFV=4XJ28dVt3k!ex{}k|frdNF2v3b~O+g%>(*v zzyEwMik5Cf(efEIZ=g~IUW!c|$NzrV+Fl(OX)_%kG`^{?GHl;lk?*NUoGNWo>KGs& zs^VdM1>6yUf zdHUFPU6DN$TTEMw^z6iRo|SvmbK9}2wkh>DfHzbz3jiV#iHuf8Bl$FnmVQx{o1>B3 z+10{e^>nrY%N#hG&}b*ly=sUsRIjyR5`HvaTcmT|+%KXgC@LIpWj2AC{ zJ_nq-|Loc2ziLjCDqyjx$j3}0YpHbDW;!&z8dGetenY#MJ(P`+HLEf8;d<~NBxafZ zpFaKO5ytPD4yxB%{zwGxWj#g&!~NOKV-dYM93Hv5xA)~XfbW3^K4&#q`!X&zRm;S1 zzQ^L4vtnZ!%t?}DE(0dpOpmj*6_pjk#pY_>5+|+5&%sq&TZrgTRc1xh diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 new file mode 100644 index 0000000..d8d161d --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 @@ -0,0 +1 @@ +2e8d61f05c7d2cc58b8f665f5d80d4de \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..bf963efce3a24b342f4786ff2082579262f78ba0 GIT binary patch literal 1102 zcmV-U1hM;xP)9)I#ue(-Q{<>?J;udL2AcB1W&I9U2qv5SL8keq*jd_PNPDA;AOl{D# zo7!~S-Nx5lOSi9!8;lnxAJcQ}Ste6};1JorAKW&b7uA`OR$M4_ItoAX7;IP-fAKW&b7u9LPVwz$E zM?<>NktvpLKk7V*IHzm5ngWD%l&DS=r;{b^hy&h{Q=^m`1^^Kp6p?GKmU`zn7vDIJ z=Z%bbj>Xi%I!08diPNci>3F^7l*v?UU>5<4N~DU>(Q{MPYVEY`T$EA=qL1l}3;-Nf z3WtVv#XKd43uTXT8Kob+vf<+|koH#L}_IqtBfGY6!on8bV06eTzFu%S& zyOQE{k}T5o(iSWtVdun&(amvD=XTSUi1jr94*T;@DSQWTS45rM*q9yL*qFJRa_3JX zkHh|fVSNoC?(`tomPULEr&Q%F&_0#(j{?V?9t7Lch(GYG7XTpH{r{x#$?Vgoo3Cx> z5L3VJr}r8o_r=2c6o82AVF4g2F%|%#5@P`%DlrxSq7q{PASyBAZNSCFMYLM2EOVh^ zIRpIprXblh3Bz|wOa)*Wz)*qyP1T@Tvzb%707*qoM6N<$g2kc&rvLx| literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map new file mode 100644 index 0000000..5d4ffa6 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.map @@ -0,0 +1 @@ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 new file mode 100644 index 0000000..f957c37 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 @@ -0,0 +1 @@ +efec75918d9cbb82f0986a019f6a914b \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c22ef2d11fd0742c298cf7639780a66caff0f8 GIT binary patch literal 1137 zcmV-%1djWOP)yXOh4SLVJw2UwK$L^^^>x=F*l-p=8^D_DKnTF#d$Fr3P$dum z!0ha7ZqZPFrlzJaKR@p}3>#JfTy-4;0RUEX1&t!3AfkF<0wE$}Odv#Lj0uE@j4^=_ zkufU?#P@w0&6KJ?-}m=@WUWtyk~QxyiIaG=w{goX2m&Yl_`Y9Q-*wPx-8v2Ioj7#p z_p5K;mUmpoW0~qrm@cJ_M`n0#A}(Pv2!en!i%jH6DezoJLBd((& zdkRS)am#@4MW7BrS1NWogcJUy~{l0!IK`Yc%lM^N#mCud~!_-aJ!q z7&7#sD}$n3SEf47+PGEb)U^>^ikK`- z;;t<&mMqs&7ee6R-@^$2*M*QXo;R}rG@eNL>shb2{3XZkqto{AdGuIUFKN)lwW(_( zx|C2YEp%rKz68Dqb#!q=$ZNw!E+qZd5 zW8T^Mj&66+`QHO+wQgQP%x`i6fRxxB%tFK$DdpovLq6|zA1naC_V(MNXCHC<95yx{ zP1>-!XJMPQ1fqJe2SKp!)@OKth09dW)0L$a*GAF?sOp+j8?U-+i`Lg&cb1rIVKzBU%A$iYu1=aZveYw) zF>84pmqq_)8rTA`BBfaE^_JdS>|&TrPLr}|5{j#nrj0DmORAftY$#6e!c<||QnV_@ zoJ30W0X*H?!-dVwAI;6prB1K6Xft^Xqm0Xz%5b^|l6H9$Ewj;nSyeG+J@HitdGYY! zQoofw?eZpCW~2SebH0h1_f)=$1F(uQt8}~fKLYsZI*t_bem{k28>LS+rFkP65mgTp z2oV`$0wE$}Odv#Lj0uE@j4^=_kumLU+_|~ABI6)SYVxlw0pJSo?{A2ZTWt*fQ{X + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.css b/Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.css new file mode 100644 index 0000000..22c4843 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.css @@ -0,0 +1,473 @@ +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/Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a274bbaffdd67f6d784c894d9cf28729db0e14 GIT binary patch literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/files.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/files.html new file mode 100644 index 0000000..57e8865 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/files.html @@ -0,0 +1,33 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2blank.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..493c3c0b615ade5b22027bde773faf2c0e076d66 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr2qYM%T@!Q%(o7{me!&ckj8p!u14)&*MwA5S zr6z#mEsk^N1FBF3sc_EE%}vcKVF=AhO-xa6_jFST&P^;T z2~I3aEm8;rVk12R#UIz>f`J-DJY5_^DsClP9B62eH+WF*G=YJMp~A-KbWwke5Kx}M M)78&qol`;+0EL(^EC2ui literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2doc.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..f72999f92172cca6edaa2538286b3e369bec9f49 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5yjnX4egh%q=bp-`Pe zR7&bp17l3gfhmh7Fm(iZ2eAfco|q!h5)>qKG?UBh!IC9QGMbJAHf6IEiufk_g|d7~ qkWqJ4k(|I-Aeo-5U~n{Fnc?dN!3Uwu?t6hQVDNPHb6Mw<&;$TLIZ`G7 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderclosed.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d063440cbf13c4128dacd96661b6fce58abf26 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^55uo^`BphW;jCHO69?}tw{JfcdnZ<*@N=4I z?xF5Qc|QYEmKAIZ;JRGVHe=bn*tx1_|J^^vyg*oVM#A1kZlFULJYD@<);T3K0RTgB BWg7qh literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderopen.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe2c913cf493ee37ad8e3a5132382138d93ac92 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5u(C zYP)Mg%H-DB+{J~>rPn_#pYTax?r*V6ubqGX{lvROQ{?n5_cbm+cQAOm`njxgN@xNA D92;js literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2lastnode.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9ba90cb0cf71c8ce662956bfee7d64cf60fa6 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gk+!>EaktaVt4N i!r*{E4>QXNV>t$uAA#a^n)TVt_DW*G8-srQl%FeIsRSdYm zeDdtWec}u&7@8h5rqv#p7g*pRdwwmugmlS-+cHV~j}#7`Nwj9m+AU)JGGo`8z_}`K z?s#Xsy%Z;1_jl5Y+?Gum8WyK6`MBvup0SAOKJ)mWcHyteJ?WLL>>-)=?&<$H&t5oH Vd!azZ1yDdSc)I$ztaD0e0sw}(dc*(# literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mlastnode.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..09ceb6adb01054ce799ad20c0e818ab9272f2df2 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&fg$isFPOjJ*AaIJQGm()YSDb0rfjgNefXW#>UHx3vIVCg! E0ORy6RsaA1 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mnode.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..3254c05112199fbc80aad313611c58a5b388792d GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&YcgaLd(;| zF{I*Fa>4?=2W(CyOv{5p*uLi}G<-ambjQcb>&~4!CzK3KXWY6d$*{eWU47N}X+XCz OFnGH9xvXPg)ksC(lf|p%(p+w2Gk+y>EaktaVt4N l!r*{E4>Lv;t literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2plastnode.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b07e00913d8069ebbb51bd7fd6d70d8bba88f75 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&MJ literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2pnode.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..2001b797ba2b98a4127f1d3efca64aef08bf6d51 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&Ycga!obtT zF{I*Fa>4?=2W(Dkd1@Anj~<0|oqBMOmqox%*rjK-r)THv+0v0L%h-agt(X~hWwYzA SIxU|Ma*U^|pUXO@geCywmoZiV literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2vertline.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..b330f3a33c0085c183ff39fc56b1b274160c1da0 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gqgt>EaktaVt4N e!r*{^G#i7W2*a|cHZQDzQVgE1elF{r5}E+)J2fZ( literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/functions.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/functions.html new file mode 100644 index 0000000..eb64096 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/functions.html @@ -0,0 +1,58 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/functions_func.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/functions_func.html new file mode 100644 index 0000000..ef1ead3 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/functions_func.html @@ -0,0 +1,54 @@ + + +Logging: Class Members - Functions + + + + + +
+  +

+

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

+

+
+
Generated on Tue Mar 6 20:17:24 2012 for Logging by  + +doxygen 1.5.6
+ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/globals.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/globals.html new file mode 100644 index 0000000..bfbd518 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/globals.html @@ -0,0 +1,59 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/globals_defs.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/globals_defs.html new file mode 100644 index 0000000..d80de84 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/globals_defs.html @@ -0,0 +1,56 @@ + + +Logging: Class Members + + + + + +
+  +

+

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

+

+
+
Generated on Tue Mar 6 20:17:24 2012 for Logging by  + +doxygen 1.5.6
+ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.dot b/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.dot new file mode 100644 index 0000000..1f7c6e4 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.dot @@ -0,0 +1,23 @@ +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/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.html new file mode 100644 index 0000000..79fdf29 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.html @@ -0,0 +1,85 @@ + + +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/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.png b/Arduino_Libs/Arduino-logging-library-master/doc/html/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..1f49d7ff0a6258a9d83294790157822b8376f8db GIT binary patch literal 13795 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 PXaNdxs)#Zf)4=}$Bd#v3 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/index.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/index.html new file mode 100644 index 0000000..ea2faa4 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/index.html @@ -0,0 +1,11 @@ + + +Logging + + + + + <a href="main.html">Frames are disabled. Click here to go to the main page.</a> + + + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/main.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/main.html new file mode 100644 index 0000000..c722324 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/main.html @@ -0,0 +1,25 @@ + + +Logging: Main Page + + + + + +
+

Logging Documentation

+

+

+
Generated on Tue Mar 6 20:17:24 2012 for Logging by  + +doxygen 1.5.6
+ + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_b.gif b/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_l.gif b/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_r.gif b/Arduino_Libs/Arduino-logging-library-master/doc/html/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/html/tabs.css b/Arduino_Libs/Arduino-logging-library-master/doc/html/tabs.css new file mode 100644 index 0000000..95f00a9 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/tabs.css @@ -0,0 +1,102 @@ +/* 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/Arduino_Libs/Arduino-logging-library-master/doc/html/tree.html b/Arduino_Libs/Arduino-logging-library-master/doc/html/tree.html new file mode 100644 index 0000000..a886f2c --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/html/tree.html @@ -0,0 +1,79 @@ + + + + + + + TreeView + + + + + + diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/FreeSans.ttf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/FreeSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b550b90ba5480f9a3db170a19a1f86daecb0dc92 GIT binary patch literal 22932 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 RlllN>Fk>(~eFPlj{{dxA`xyWL literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/Makefile b/Arduino_Libs/Arduino-logging-library-master/doc/latex/Makefile new file mode 100644 index 0000000..8b7c89a --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/Makefile @@ -0,0 +1,19 @@ +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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp.tex new file mode 100644 index 0000000..3cd3691 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp.tex @@ -0,0 +1,32 @@ +\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.eps new file mode 100644 index 0000000..a3288ae --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.eps @@ -0,0 +1,392 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.md5 new file mode 100644 index 0000000..f8eeced --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.md5 @@ -0,0 +1 @@ +d8b0810a428a95861502d74c2672c55f \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8cpp__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..994299c4798a60c4fb961d6c2e429658d6376d8a GIT binary patch literal 6916 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 SUlcR~9-bGjSYf%r3h{sUB5T+H literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h.tex new file mode 100644 index 0000000..9e56344 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h.tex @@ -0,0 +1,153 @@ +\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.eps new file mode 100644 index 0000000..ae82db2 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.eps @@ -0,0 +1,256 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.md5 new file mode 100644 index 0000000..9d175e1 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.md5 @@ -0,0 +1 @@ +6a05ccb4580feaa0a41a9439546f2ae1 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__dep__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5bf30fda44323cf378458a18056aec7cec2dc41d GIT binary patch literal 6265 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 literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.eps new file mode 100644 index 0000000..b3de7f5 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.eps @@ -0,0 +1,353 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.md5 new file mode 100644 index 0000000..d37d578 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.md5 @@ -0,0 +1 @@ +ee71a91a2b38f624cb7272bb9991a2b0 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/_logging_8h__incl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..487b054e505a07b945dac6f98bccd6bb5740a193 GIT binary patch literal 6685 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 Ivl-(50PR{2ivR!s literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/annotated.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/annotated.tex new file mode 100644 index 0000000..1dd82f8 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/annotated.tex @@ -0,0 +1,4 @@ +\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging.tex new file mode 100644 index 0000000..1e828b4 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging.tex @@ -0,0 +1,257 @@ +\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps new file mode 100644 index 0000000..e971549 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.eps @@ -0,0 +1,256 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 new file mode 100644 index 0000000..1865ac1 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.md5 @@ -0,0 +1 @@ +3277410f8d9ecca3a5de0ab53691ba26 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_1cf44ab531c72761fba811882336a2ad_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..df16ffa603fc7ec88563a5bfacf3c9d9c15a3520 GIT binary patch literal 4876 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 G#{U4zDx2^C literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps new file mode 100644 index 0000000..27b4ffc --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.eps @@ -0,0 +1,256 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 new file mode 100644 index 0000000..bb251bd --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.md5 @@ -0,0 +1 @@ +e24d211a832d762b210c351a2929e4e6 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_2ae6a981ea685c851b87cf4c1ec2fb8f_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e8e8d5ef5061123a15c648f372d006a50bd7a96 GIT binary patch literal 5216 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' 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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 new file mode 100644 index 0000000..fde9732 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.md5 @@ -0,0 +1 @@ +e09d701f830a3a3458eb02a37752be21 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_8a99e1a55e2b24d864d89e9aa86b2f2e_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6ed6f9f28c9f9f7c18e23b20eb9cb63fdd1d545a GIT binary patch literal 4908 zcmb_gdq7iV8#go21t^fFnR&d>P}t68=ZtN_a4nc&J+5-qSyLmUdtjsJxh=Sa<6CR z>mpaYQZQ@Wf2yzlHhIb?I}Os=!Z~$?bxcj;@ABr>Qy4wPf+$2Vv_6vJVqg#_2#%s`91st-aiNhMhy;Y9?J6NOP)9NQ0|*SPvRG)2 zjgj$$I5-G!!Tv17hgT~A0uCGb1KYz5_69~mb}Ly3o@_F(P>g{0K`V%Zzz!+=0o_#j zgB_XDt{Fsfq?u0W*uvq9hT=#A;6P~mUR`JV_S~S$DFHk+LIa^nrNco0$nJ?e=z9=rk z5nnkjClFF6K@CR2KoUARA;B<8B1gvx;7DGX$1^fT$MHc7H(8Q84YPyquuSVK;2qL- z`Dc$t2UjkT_vG@A4rU<9QhfYiZD3Sjc%*j-Ls5~Wg@t*dnqu{g$;#0Tgz_n)wa3ZM z5`d~?SS~1$WFSHYhm(#qib~;`CIgqq#z0bpS91IbI#(T(PJXA{U&!>(>cQu=+BG}% z!Ojk25_)toh!`+2DLqb;{xHj8k#5c2-pY1EHjKB2c zw}*>`z5m$#4wX~hSBALwOC_o~{m?wK({$$-Z{#}v^qH!!Pu$JfN4~k$E7&!Gup+OI zK9*HF=$AgT;9c=0&O-D|>4g>0hpz8zXkJ)Q^&rpSw8HaR-?gQ-S+(W0wxJ_udA-zo z^wQ|CK)Q4i1Raxay#K;RC!c1QrRiVZ_qx|CAKGu!s@o%@R1xAiYdsH~6<`xQ;?7lG z9A7!?3d8I#--ccLz2%cttxMlGW5nfZ#(nk1*W~hwvR)&+`>Rs>R0l_7p4~a4-(;Ux zk)0cQujyYLJa_dPZE@Ii=L~2?QOv;1HBs=E#~*CGQ0eaRsA;qLtjGG&NgrQVy%b&D z=d|j`uLttq+VN+quXEW0*_?qlZw~sS*YRFuGe~iP``*)g4h?MxuUcG^Q<6DIH`p++ zYDxN%xG%i#Ka?NNo3L_IOkP`de~IX;ADfd}2Mu!FojKcje`{#=vbz4YRB^;dNutrC zTykUX=yH?sl>3tO#22T%zp}|BTb#Hexb=usJ^E4K;tjI>U$my5Sd~BJb-%`;0n;0{ z7y1rwWNhr-T}vj$k<~+?<->A)a@=PQPlp@4>L+

|plA3w2uUh#Xadm9spS2OmB zif-2y-g+FJ{>18*AAhRM2^pciIHG0h#WyZ)2@vJQ;`FK7vG7%!?8(F2Q2ciN=5Y(B zWY@1-wZLH54>9>tT3djd}%N?nw- z0RP#!>Z1jdN3?#e*t#$`clLmDpC59a8|PPc@?b%6V$HQHD&D(WH$-QpWd=z{mV)%sp`G#!l;tG#35CZBfdm^9U)bl z)2`~+AB-~}xo*3A`c7)b;_}_+Z9yk8D$d7^KistN!KaPmvV9iaDW8dlPdJq~ZDerB z%X?*hD-Svq&iBrL_ZO~c>7_OoV&w0#f{U}>3aA-8;vLgt+=~*A85A`S!rA+1pk>_G$~?T>E9y4(lr#mq*?u73X6|rR=>t?e{%pOJn0p zJ<8=f+DgCtasTyw6|a1dzjI!2iE$pYR6SNzvK4kONOf9WR#|!X7wpDC@2phJwe9+} z7tFUF?l|GU`ccDOpGP&1S1X0y8EaEk%KH#cPX4mJj@SW*-MO+v>UOl*XUx8n1Mjt_ zzU9y5wcJvq?HSM2hSrzOS=XGiFd;Q{*Tv9gIxLa(IBR>i&s%AQn^GHf(?ojYEuSCfs_gm-mV9O>+^egQTssZXLfNJoL0!(Vvs_~$~%WbhZx zBs7S|8bl?UCZ;h|WZIM{eOi)UZV(121%3e}m?tTbjkJo4_L-Z7z}v`wRFF12WE3x8 zQ`nNN$zZC2Y{_N|tFZYC?J5ee=E<-SvWsv@{=#TY1jNy_ImyI9m{=}GMX1CFGBV(m znMyNB5Gs}m!Iq4{sL+D(vVBAFbMrUL^%AfwQLA;`Eu4d!XD$PWJd{8DZq&0EADGi!WF)SYm zOpHmz637eKg8-AHViXKDW800e@8nSQgZY?s!|FMrM_M(SzsD~*na^%sPNAmtDal|+ z3se8g+?uNUVJJu*S;{D_+nC+NlSvi&?YiaMl!|B36-JkxSLJN_Jv&m?%L!pqGBh3 zss;gqJ9~yw06nMQ^V_JaQG)jCFHGgz;4_Vwzu7waa7S5t{Y_PatD8M*0pNVCc&Qb9 zp&=M1MdT9PUSmQ85dtw#i~k_uNPn;YS2M9aizap~*foletyk#S&a0x0p^V__gc1V2 ztF`|iDM3gG$Ov`N2r0M~@;}JZLBlaA81{S85Q4uKJw=n?;1k4CGz10r{ikRW3|v#6 zqDdv-ZvHgQ_gP(;3|z%~%Au$XdK__ i)M_~%D3vS!St5@A$iZ?X!`Xv|;{+k_^bDRFBKRL=XQ=!D literal 0 HcmV?d00001 diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps new file mode 100644 index 0000000..70d0c50 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.eps @@ -0,0 +1,256 @@ +%!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/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 new file mode 100644 index 0000000..8f0071f --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.md5 @@ -0,0 +1 @@ +25ab114c57dd2bf7b625223980cba149 \ No newline at end of file diff --git a/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf b/Arduino_Libs/Arduino-logging-library-master/doc/latex/class_logging_e0fcd9e5350d7b9158c8ae9289fef193_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fc29eec2ae130a412a6b9c24855ec4dc7132509b GIT binary patch literal 5125 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\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/files.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/files.tex new file mode 100644 index 0000000..b9066e3 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/files.tex @@ -0,0 +1,5 @@ +\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/Arduino_Libs/Arduino-logging-library-master/doc/latex/refman.tex b/Arduino_Libs/Arduino-logging-library-master/doc/latex/refman.tex new file mode 100644 index 0000000..701a4b1 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/doc/latex/refman.tex @@ -0,0 +1,59 @@ +\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/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino new file mode 100644 index 0000000..a9ec5e0 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino @@ -0,0 +1,47 @@ +#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/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.bak b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.bak new file mode 100644 index 0000000..303adb6 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.bak @@ -0,0 +1,47 @@ +#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/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.orig b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.orig new file mode 100644 index 0000000..3c3bab7 --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/examples/Logging_example/Logging_example.ino.orig @@ -0,0 +1,47 @@ +#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/Arduino_Libs/Arduino-logging-library-master/keywords.txt b/Arduino_Libs/Arduino-logging-library-master/keywords.txt new file mode 100644 index 0000000..eb7d93a --- /dev/null +++ b/Arduino_Libs/Arduino-logging-library-master/keywords.txt @@ -0,0 +1,32 @@ +####################################### +# Syntax Coloring Map logging lib +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +####################################### +# 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 + +####################################### +# Instances (KEYWORD2) +####################################### +Logging KEYWORD2 Logging library + +####################################### +# Constants (LITERAL1) +####################################### +LOG_LEVEL_NOOUTPUT LITERAL1 Constants +LOG_LEVEL_ERRORS LITERAL1 Constants +LOG_LEVEL_INFOS LITERAL1 Constants +LOG_LEVEL_DEBUG LITERAL1 Constants +LOG_LEVEL_VERBOSE LITERAL1 Constants + diff --git a/speedclock.h b/speedclock.h index 58eafb0..55e173e 100644 --- a/speedclock.h +++ b/speedclock.h @@ -26,23 +26,22 @@ typedef struct transcv_struct{ #define MIN_DELAY_BETWEEN_SEND_MS 1000 // this defines the time in milliseconds before the next set of data will be send to the base station - except the button was pressed. #define CONN_TIMEOUT 5000 // if there was no data received from the TOPSTATION for that amount of time - the connection is flagged as lost -#define KEY_BOUNCE_MS 10 // the time we use to avoid keybouncing ... +#define KEY_BOUNCE_MS 50 // the time we use to avoid keybouncing ... +#define KEY_LONGPRESSED_MS 1000 +#define BUTTON_NOTPRESSED HIGH +#define BUTTON_PRESSED LOW +#define BUTTON_LONGPRESSED 3 +typedef enum {BUTTON_STOPCANCEL = 0, BUTTON_START, BUTTON_FAIL,NO_LAST_BUTTON} button_number_e; +const uint8_t BUTTONPins[NO_LAST_BUTTON] = { + [BUTTON_STOPCANCEL] = 2, // stop/cancel button input pin + [BUTTON_START] = 4, // start button input pin + [BUTTON_FAIL] = 3, // stop button input pin +}; -#define STOPBUTTON_IN 2 // this is the input for the button -#define STOPBUTTON_PRESSED LOW // this the signal level the top button will be at as soon as pressed #define MIN_DELAY_BETWEEN_PRESSED_MS 1000 // this defines the time in milliseconds before the button is expected to be pressed again. We do this to avaoid keybouncing -#define STARTBUTTON_IN 4 // start button -#define STARTBUTTON_PRESSED LOW -#define CANCELBUTTON_IN 2 // chancle button -#define CANCELBUTTON_PRESSED LOW -#define FAILSTARTBUTTON_IN 3 // fail start button -#define FAILSTARTBUTTON_PRESSED LOW - #define PIEZO_PIN 6 // piezo speaker - - #define DISPLAY_I2C_ADDRESS 0x3C //Adress of the Display typedef enum {TIMER_INIT = 0, TIMER_NOCONNECTION, TIMER_IDLE, TIMER_READY, TIMER_STARTED, TIMER_RUNNING , TIMER_CANCELLED, TIMER_STOPPED, TIMER_TIMEDOUT, TIMER_FAIL, TIMER_WAIT} timer_state_e; @@ -102,4 +101,8 @@ void update_statemessage(timer_state_e timer_state); void failSequence(void); void wait(unsigned long ms); void start_isr(void); +void update_buttons(void); + + + #endif diff --git a/speedclock.ino b/speedclock.ino index 74bad5f..6a5089d 100644 --- a/speedclock.ino +++ b/speedclock.ino @@ -1,4 +1,3 @@ - #include // this will enable us to simply use the Timer1. The Timer1 is NOT used by any Arduino internal functions we are using in thsi sketch (the Servo lib is usually using the Timer1) - so we are free to use it for our needs as we like :-) #include #include "SSD1306Ascii.h" @@ -47,7 +46,11 @@ volatile uint8_t failsequence_count = 0; boolean topbuttonwaspressed = false; // set to true if the stop button was pressed -timer_state_e timer_state = TIMER_IDLE; // current state needs to be initialized to somethin different then new_state due to the fact that some pieces of the code check for differnt values of state and _new_state to detect an update... +uint8_t button_state[NO_LAST_BUTTON] = {BUTTON_NOTPRESSED}; +unsigned long button_last_changed_at[NO_LAST_BUTTON] = {0}; +uint8_t button_last_changed_to[NO_LAST_BUTTON] = {BUTTON_NOTPRESSED}; + +timer_state_e timer_state = TIMER_INIT; // current state needs to be initialized to somethin different then new_state due to the fact that some pieces of the code check for differnt values of state and _new_state to detect an update... timer_state_e timer_new_state = TIMER_NOCONNECTION; // next state - in the startup phase the first state - will be TIMER_NOCONNECTION ... checking if a connection to TOPSTATION is established timer_mode_e timer_mode = MODE_COMPETE; // mode of the BASESTATION - this can be changed in IDLE state by pressing the CANCEL button @@ -56,18 +59,15 @@ transcv_s radio_data; void setup(){ - PCICR = 0; // disable all pin change interrupts - Serial.begin(115200); + + // set the BUTTON pins as pullup input pins ... + for(uint8_t button = 0; button LED_BLINK_ALL_MS){ blink_on_swiched_at = millis(); blink_on = !blink_on; @@ -122,14 +124,14 @@ void loop(void) { if (stationNumber == TOPSTATION){ // Radio is the top station and sends continously its time and the time the stop button was pressed. - startloop_ms = millis(); + if(false == offset_sync_sequence){ // check for pressed button ... if(topbuttonwaspressed == false){ if( (millis() - radio_data.topbuttonpressedtime) > MIN_DELAY_BETWEEN_PRESSED_MS){ // ignore if the button was "pressed" a few millis before - this is keybouncing and would give a false result and if the button is pressed for a longer time that would effect the time as well - if(digitalRead(STOPBUTTON_IN) == STOPBUTTON_PRESSED){ + if(digitalRead(BUTTONPins[BUTTON_STOPCANCEL]) != BUTTON_NOTPRESSED){ // button was pressed - store the time radio_data.topbuttonpressedtime = millis(); topbuttonwaspressed = true; @@ -137,7 +139,7 @@ void loop(void) { } } } else { - if(digitalRead(STOPBUTTON_IN) != STOPBUTTON_PRESSED){ + if(digitalRead(BUTTONPins[BUTTON_STOPCANCEL]) == BUTTON_NOTPRESSED){ topbuttonwaspressed = false; digitalWrite(LEDPins[RUN_LED], LED_OFF); } @@ -151,20 +153,20 @@ void loop(void) { if(offset_sync_sequence || topbuttonwaspressed || ((millis()-radio_data.topstationtime) >= MIN_DELAY_BETWEEN_SEND_MS)){ // store current millis to be send as reference ... radio_data.topstationtime = millis(); // set the current milli second count - Serial.print("senddate_to_base "); - Serial.println(millis()); - //Serial.print("ms - topstationtime: "); - //Serial.print( radio_data.topstationtime ); - //Serial.print(" stoppressedtime: "); - //Serial.print( radio_data.topbuttonpressedtime ); - Serial.print(" offset counter value : "); - Serial.println(counter_time_offset); + //Serial.print("senddate_to_base at:"); + //Serial.println(millis()); + //Serial.print(" -> topstationtime:"); + //Serial.print(radio_data.topstationtime); + //Serial.print("ms stoppressedtime:"); + //Serial.print(radio_data.topbuttonpressedtime); + //Serial.print("ms offset counter value :"); + //Serial.println(counter_time_offset); // send data ... if (!radio.write(&radio_data,sizeof(radio_data))){ // Send the counter variable to the other radio if(((millis() - connection_last_established_at_ms) >= (CONN_TIMEOUT-100)) || (connection_last_established_at_ms == 0)){ connection_available = false; - Serial.println(F("Failed to send data to BASESSTATION ... will retry")); + //Serial.println("Failed to send data to BASESSTATION ... will retry"); digitalWrite(LEDPins[FAIL_LED], LED_ON); digitalWrite(LEDPins[READY_LED], LED_OFF); offset_sync_sequence = true; @@ -179,7 +181,7 @@ void loop(void) { } else { - //Serial.println("Data sent to BASESSTATION"); + //Serial.print("Data sent to BASESSTATION"); digitalWrite(LEDPins[FAIL_LED], LED_OFF); if(offset_sync_sequence){ digitalWrite(LEDPins[FAIL_LED], blink_on); @@ -200,16 +202,16 @@ void loop(void) { } - Serial.print("looptime_top "); - Serial.println(millis()-startloop_ms); - + //Serial.print("looptime_top "); + //Serial.println(millis()); } /****************** Code for the BASESTATION is here - the display and the start button is connected here. All caclulation will be done here ***************************/ if ( stationNumber == BASESTATION ) { - startloop_ms = millis(); + // update button states ... + update_buttons(); // receive data from top_station, calculate offset and set 'last connection' time stamp receive_values(); @@ -219,11 +221,11 @@ void loop(void) { // set state to new_state if(timer_state != timer_new_state){ - Serial.print(millis()); - Serial.print("ms : current state: "); - Serial.print(timer_state); - Serial.print(" new state: "); - Serial.println(timer_new_state); + //Serial.print(millis()); + //Serial.print("ms : current state:"); + //Serial.print(timer_state); + //Serial.print(" new state:"); + //Serial.println(timer_new_state); } timer_state = timer_new_state; @@ -241,21 +243,15 @@ void loop(void) { if(connection_available == false){ // if the connection was lost ... switch to noconnection state timer_new_state = TIMER_NOCONNECTION; - //Serial.println("No connection state will be next"); } else{ // if the offset is claculated, cancel not pressed and failstart not pressed switch to IDLE mode ... if((time_offset_ok == true) && - (digitalRead(CANCELBUTTON_IN) != CANCELBUTTON_PRESSED) && - (digitalRead(FAILSTARTBUTTON_IN) != FAILSTARTBUTTON_PRESSED) ) + (button_state[BUTTON_STOPCANCEL] == BUTTON_NOTPRESSED) && + (button_state[BUTTON_FAIL] == BUTTON_NOTPRESSED) ) { // check if offset is OK - if not .. set state back to INIT - //Serial.println("idle state will be next"); timer_new_state = TIMER_IDLE; - } else { - //Serial.println("init state will be next"); - //Serial.print("offset_ok :"); - //Serial.println(time_offset_ok); } } break; @@ -274,13 +270,11 @@ void loop(void) { } else{ // check if the FALSESTATE button is pressed OR we are in trainingsmode - somebody is ready to run, but STARTBUTTON is NOT pressed ... - if(((digitalRead(FAILSTARTBUTTON_IN) == FAILSTARTBUTTON_PRESSED) || (timer_mode == MODE_TRAINING)) && - (digitalRead(STARTBUTTON_IN) != STARTBUTTON_PRESSED)) + if(((button_state[BUTTON_FAIL] != BUTTON_NOTPRESSED) || (timer_mode == MODE_TRAINING)) && + (button_state[BUTTON_START] == BUTTON_NOTPRESSED)) { - //wait a few milliseconds to prevent keybouncing - this is a very simplistic method here - delay(KEY_BOUNCE_MS); //read again and check if still active ... - if(digitalRead(FAILSTARTBUTTON_IN) == FAILSTARTBUTTON_PRESSED){ + if(button_state[BUTTON_FAIL] != BUTTON_NOTPRESSED){ timer_new_state = TIMER_READY; } } @@ -288,28 +282,24 @@ void loop(void) { } break; case TIMER_READY: - delay(10); - if((digitalRead(FAILSTARTBUTTON_IN) != FAILSTARTBUTTON_PRESSED) && + if((button_state[BUTTON_FAIL] == BUTTON_NOTPRESSED) && (timer_mode != MODE_TRAINING)) { // false start was released again - go back to IDLE ... so far this is not a false start - run was not started yet timer_new_state = TIMER_IDLE; } else { // check if the start button was pressed ... there is at least still someone waiting for the run . - if(digitalRead(STARTBUTTON_IN) == STARTBUTTON_PRESSED){ + if(button_state[BUTTON_START] != BUTTON_NOTPRESSED){ // now enable the interrupt for the FALSESTART button startsequence_count = 0; startsequence_done = false; running_time_offset = mean_time_offset; false_start = false; - attachInterrupt(digitalPinToInterrupt(FAILSTARTBUTTON_IN), false_start_isr, RISING ); + attachInterrupt(digitalPinToInterrupt(BUTTONPins[BUTTON_FAIL]), false_start_isr, RISING ); Timer1.initialize(); timer_new_state = TIMER_STARTED; // set the startime - this is the current time plus the length of this sequence start_time = millis() + STARTSEQ_LENGTH_MS; - //Serial.print(millis()); - //Serial.print(" <- current time ; starttime -> "); - //Serial.println(start_time); // call the start sequence interrupt routine ... Timer1.attachInterrupt(start_isr,STARTSEQ_PAUSE[startsequence_count]); // startISR to run every given microseconds } @@ -330,18 +320,14 @@ void loop(void) { } break; case TIMER_RUNNING: - //noTone(PIEZO_PIN); if(time_offset_ok != true){ // check if offset is still OK - if not .. set warning warn_during_run = true; } if((signed long)(millis() - start_time) > TIMER_TIMEOUT){ - //Serial.print(millis()); - //Serial.print("<- curren time ; runtime ->"); - //Serial.println(millis() - start_time); timer_new_state = TIMER_TIMEDOUT; } else { - if(digitalRead(CANCELBUTTON_IN) == CANCELBUTTON_PRESSED){ + if(button_state[BUTTON_STOPCANCEL] != BUTTON_NOTPRESSED){ timer_new_state = TIMER_CANCELLED; } else { if(radio_data.topbuttonpressedtime > running_time_offset){ @@ -356,7 +342,7 @@ void loop(void) { case TIMER_STOPPED: //calculate the run_time and switch to WAIT delay(KEY_BOUNCE_MS); - if(digitalRead(CANCELBUTTON_IN) != CANCELBUTTON_PRESSED){ + if(button_state[BUTTON_STOPCANCEL] == BUTTON_NOTPRESSED){ timer_new_state = TIMER_WAIT; } break; @@ -365,7 +351,7 @@ void loop(void) { run_time = 99999; if(true == failsequence_done){ delay(KEY_BOUNCE_MS); - if(digitalRead(CANCELBUTTON_IN) != CANCELBUTTON_PRESSED){ + if(button_state[BUTTON_STOPCANCEL] == BUTTON_NOTPRESSED){ timer_new_state = TIMER_WAIT; } } @@ -374,26 +360,22 @@ void loop(void) { // what to do in chancel mode ? run_time = 99999; delay(KEY_BOUNCE_MS); - if(digitalRead(CANCELBUTTON_IN) != CANCELBUTTON_PRESSED){ + if(button_state[BUTTON_STOPCANCEL] == BUTTON_NOTPRESSED){ timer_new_state = TIMER_WAIT; } break; case TIMER_TIMEDOUT: // time out run_time = millis() - start_time; - delay(KEY_BOUNCE_MS); - if(digitalRead(CANCELBUTTON_IN) != CANCELBUTTON_PRESSED){ + if(button_state[BUTTON_STOPCANCEL] == BUTTON_NOTPRESSED){ timer_new_state = TIMER_WAIT; } break; case TIMER_WAIT: - delay(10); - // disable interrupt if not already done - //detachInterrupt(digitalPinToInterrupt(FAILSTARTBUTTON_IN)); // wait until the chancel button was pressed to go ahead - if((digitalRead(CANCELBUTTON_IN) == CANCELBUTTON_PRESSED) //&& - //(digitalRead(STOPBUTTON_IN) != STOPBUTTON_PRESSED) && - //(digitalRead(FAILSTARTBUTTON_IN) != FAILSTARTBUTTON_PRESSED) + if((button_state[BUTTON_STOPCANCEL] != BUTTON_NOTPRESSED) && + (button_state[BUTTON_START] == BUTTON_NOTPRESSED) && + (button_state[BUTTON_FAIL] == BUTTON_NOTPRESSED) ) { timer_new_state = TIMER_IDLE; @@ -409,15 +391,56 @@ void loop(void) { //####################### HELPER FUNCTIONS ########################### +void update_buttons(void){ + uint8_t curr_button_state; + unsigned long button_pressed_at = millis(); + String state_string; + // we have some buttons to update that are used in the sketch ... + for(uint8_t button = 0; button < NO_LAST_BUTTON; button++){ + // which state do we have ? + if(digitalRead(BUTTONPins[button]) != BUTTON_PRESSED){ + state_string = " not pressed."; + curr_button_state = BUTTON_NOTPRESSED; + } else { + state_string = " pressed."; + curr_button_state = BUTTON_PRESSED; + } + if( curr_button_state != button_last_changed_to[button] ){ + button_last_changed_at[button] = button_pressed_at; + button_last_changed_to[button] = curr_button_state; + } + + if(((curr_button_state == BUTTON_NOTPRESSED) && (button_state[button] != BUTTON_NOTPRESSED)) || + ((curr_button_state == BUTTON_PRESSED) && (button_state[button] == BUTTON_NOTPRESSED))) // the button has changed its state + { + // is that bouncing or settled? + if((unsigned long)(button_pressed_at - button_last_changed_at[button]) > KEY_BOUNCE_MS){ + // settled! -> change the stored state. + button_state[button] = curr_button_state; + } else { + } + } else { + if((curr_button_state == BUTTON_PRESSED) && + (button_state[button] == BUTTON_PRESSED)) + { + //check for long pressed button ... + if((unsigned long)(button_pressed_at - button_last_changed_at[button]) > KEY_LONGPRESSED_MS){ + button_state[button] = BUTTON_LONGPRESSED; + } + } + } + } +} + void receive_values(void){ signed long current_time_offset = 0; // current offset ... // wait the connection time out time before receiving data - this is to tell the TOP_STATION to resend offset values in fast mode ... if(keep_connection_off){ if((millis() - connection_last_established_at_ms) > (2*CONN_TIMEOUT)){ keep_connection_off = false; - Serial.println("Connection ON allowed."); + //Serial.print("Connection ON allowed."); } else { - Serial.println("Connection OFF forced."); + //Serial.print("Connection OFF forced."); } } else { @@ -432,11 +455,11 @@ void receive_values(void){ current_time_offset = radio_data.topstationtime - millis(); // the offset between TOP_STATION and BASESTATION //Serial.print("Current time on host in millis:"); //Serial.print(millis()); - //Serial.print(F(" Current time on client in millis: ")); + //Serial.print(" Current time on client in millis: "); //Serial.println(radio_data.topstationtime); //Serial.print("Offset is: "); //Serial.println(current_time_offset); - //Serial.print(F(" Button was pressed last time on client in millis: ")); + //Serial.print(" Button was pressed last time on client in millis: "); //Serial.println(radio_data.topbuttonpressedtime); // offset calculation ... only needed if the variation is bigger than allowed or not enough values available already ... @@ -448,7 +471,7 @@ void receive_values(void){ if(abs(current_time_offset - mean_time_offset) < MAX_DIFFERENCE_OFFSET_MS){ // if the current value is in range - decrease the fail counter by 1 if it was not zero already if(failed_offsets > 0){ - Serial.println("INFO: The last received TOPSTATION offset time stamp was again in range. Decrease internal fail counter"); + //Serial.println("INFO: The last received TOPSTATION offset time stamp was again in range. Decrease internal fail counter"); failed_offsets--; } // the offset is in range - check if we have already enough values of if we need to add more ... @@ -457,11 +480,11 @@ void receive_values(void){ sum_time_offset = sum_time_offset + current_time_offset; counter_time_offset++; mean_time_offset = sum_time_offset/counter_time_offset; - Serial.print(F("Offset calulation. We have ")); + Serial.print("Offset calulation. We have "); Serial.print(counter_time_offset); - Serial.print(F("/")); + Serial.print("/"); Serial.print(REQUIRED_NUMBER_MEANVALS); - Serial.print(F(" values. Mean offset value based on that is: ")); + Serial.print(" values. Mean offset value based on that is: "); Serial.println(mean_time_offset); } else { time_offset_ok = true; @@ -471,21 +494,22 @@ void receive_values(void){ // the current offset is out of range ... // if the values before also already failed the criterion but the max allowed number of such fails is not reached ... just increase the counter. if(failed_offsets < MAX_ALLOWED_FAILED_OFFSETS){ - Serial.println("WARNING: The last received TOPSTATION offset time stamp was out of range. Increase internal fail counter"); + //Serial.println("WARNING: The last received TOPSTATION offset time stamp was out of range. Increase internal fail counter"); failed_offsets++; } else{ // if the values before also already failed the criterion AND the max allowed number of such fails is reached ... we need to restart the mean calculation and set the timer to unready state ... - Serial.print(F("ERROR: TopStation and BaseStation are out off sync. Offset calculation will be restarted. Last ")); - Serial.print(MAX_ALLOWED_FAILED_OFFSETS); - //offset ")); - Serial.print(current_time_offset); - Serial.print("is to far from the mean offset "); - Serial.println( abs(current_time_offset - mean_time_offset) ); - Serial.print(F(" is more than the allowed: ")); - Serial.print(MAX_DIFFERENCE_OFFSET_MS); - Serial.print(F(" compared to the mean offset: ")); - Serial.println(mean_time_offset); + Serial.println("TopStation and BaseStation are out off sync. Offset calculation will be (re)started. "); + //Serial.print("Last "); + //Serial.print(MAX_ALLOWED_FAILED_OFFSETS); + //Serial.print(" offsets (last one: "); + //Serial.print(current_time_offset); + //Serial.print(" ) were to far from the mean offset "); + //Serial.println( abs(current_time_offset - mean_time_offset) ); + //Serial.print("This more than the allowed: "); + //Serial.print(MAX_DIFFERENCE_OFFSET_MS); + //Serial.print(" compared to the mean offset: "); + //Serial.println(mean_time_offset); time_offset_ok = false; counter_time_offset = 0; sum_time_offset = 0; @@ -511,9 +535,7 @@ void update_screen(timer_state_e state){ String content = ""; String footer = ""; - char header_to_char[50]; - char content_to_char[50]; - char footer_to_char[50]; + char string_to_char[50]; float curr_time_local = 0.0; @@ -565,7 +587,6 @@ void update_screen(timer_state_e state){ footer = "Reaction time: "; footer += curr_time_local; footer += " sec"; - Serial.println(footer); break; case TIMER_TIMEDOUT: header = "Timed out!"; @@ -589,19 +610,15 @@ void update_screen(timer_state_e state){ display.clear(0,200,7,7); } //snprintf( string_to_char, sizeof(string_to_char),"%s", header); - header.toCharArray(header_to_char, sizeof(header_to_char)); - content.toCharArray(content_to_char, sizeof(content_to_char)); - footer.toCharArray(footer_to_char, sizeof(footer_to_char)); - //Serial.print("DISPLAY: "); - //Serial.println(string_to_char); + header.toCharArray(string_to_char, sizeof(string_to_char)); display.setFont(System5x7); display.set1X(); - int xpos = (128 - (display.strWidth(header_to_char)))/2 - 10; + int xpos = (128 - (display.strWidth(string_to_char)))/2 - 10; display.home(); display.setLetterSpacing(1); - display.setCursor(64 - (display.strWidth(header_to_char) / 2), 0); - display.print(header_to_char); + display.setCursor(64 - (display.strWidth(string_to_char) / 2), 0); + display.print(string_to_char); display.setCursor(1,0); //check if there is a connection to the topstation if(connection_available != true){ @@ -617,17 +634,20 @@ void update_screen(timer_state_e state){ display.print("----------------------------"); //end of the Header + content.toCharArray(string_to_char, sizeof(string_to_char)); //display.setLetterSpacing(1); display.set2X(); - display.setCursor(64 - (display.strWidth(content_to_char) / 2), 3); - display.print(content_to_char); + display.setCursor(64 - (display.strWidth(string_to_char) / 2), 3); + display.print(string_to_char); //end of the Content + + footer.toCharArray(string_to_char, sizeof(string_to_char)); display.set1X(); display.setCursor(0,6); display.setLetterSpacing(0); display.print("----------------------------"); - display.setCursor(64 - (display.strWidth(footer_to_char) / 2), 7); - display.print(footer_to_char); + display.setCursor(64 - (display.strWidth(string_to_char) / 2), 7); + display.print(string_to_char); } } @@ -639,26 +659,20 @@ void set_state_LEDs(timer_state_e state, boolean warn){ leds_states = LEDStates[state]; } // loop over all the LEDs and set state ... - for(uint8_t led = 0; led "); - Serial.println(failsequence_count); if(failsequence_count 0){ @@ -691,19 +701,15 @@ void false_start_isr(void){ // this is the interrupt routine for the FALSESTART button // this will save the time when the runner is really started if(timer_new_state != TIMER_READY){ - //Serial.print(millis()); - //Serial.println("** Interrupt service routine started: false_start_ISR **"); - //Serial.print("false start button: "); - //Serial.println(digitalRead(FAILSTARTBUTTON_IN)); runner_start_time = millis(); + //Serial.print(runner_start_time); + //Serial.println(" ms <- current time ** false_start_ISR ** false start button released: "); if(false == startsequence_done){ false_start = true; - Serial.print(millis()); - Serial.print(" <- current time ; starttime -> "); - Serial.print(start_time); - Serial.println(" ** Interrupt service routine detected false_start. **"); + //Serial.print(start_time); + //Serial.println(" <- starttime ** Interrupt service routine detected false_start. **"); } - detachInterrupt(digitalPinToInterrupt(FAILSTARTBUTTON_IN)); + detachInterrupt(digitalPinToInterrupt(BUTTONPins[BUTTON_FAIL])); } } @@ -735,4 +741,3 @@ void start_isr(void){ } } -