/* * LogCore.cpp * * Created on: 17 May 2016 * Author: wentzelc */ // redA Libraries #include "LogCore.h" // Standard C/C++ Libraries #include #include #include #include //--------------------------------------------------------------------------- // Global vars EDebugLevel DebugLevel = dlLow; char LogStr[1000]; // Temporary var to create log messages, globally available to save on memory operations //--------------------------------------------------------------------------- bool LogMessage( const char * Heading, EDebugLevel Level, const char *Message ) { // Validate values if (!Message) return false; // Check debug level if (Level > DebugLevel) { return true; } // Show normal output if (!Heading) { printf( "%s\n", Message ); } else { printf( "%s: %s\n", Heading, Message ); } return true; } //--------------------------------------------------------------------------- bool ShowOutput( const char * Heading, EDebugLevel Level, const short Show, const char * Buffer, int Len ) { // Validate values if (!Buffer) return false; if (Len == -1) Len = strlen( Buffer ); // Check debug level if (Level > DebugLevel) { return true; } // Show Hex output if (Show & OUT_HEX) { printf( "%s [%d]: ", Heading, Len ); for (int i=0; i 126)) { if ((Show & OUT_CRLF) && ((Buffer[i] == '\r') || (Buffer[i] == '\n'))) printf( "%c", Buffer[i] ); else printf( "." ); } else { printf( "%c", Buffer[i] ); } } } if (!(Show & (OUT_ASIS | OUT_CRLF)) || (Buffer[Len-1] != '\n')) { printf( "\n" ); } } return true; } //---------------------------------------------------------------------------