/* This file is part of the WiFiEspAT library for Arduino https://github.com/jandrassy/WiFiEspAT Copyright 2019 Juraj Andrassy This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . */ #ifndef _WIFIESPAT_DEBUG_H_ #define _WIFIESPAT_DEBUG_H_ #include #define FSH_P const __FlashStringHelper* #define LOG_LEVEL_SILENT 0 #define LOG_LEVEL_ERROR 1 #define LOG_LEVEL_WARN 2 #define LOG_LEVEL_INFO 3 #define LOG_LEVEL_DEBUG 4 #ifndef WIFIESPAT_LOG_LEVEL #define WIFIESPAT_LOG_LEVEL LOG_LEVEL_SILENT #endif #ifdef ARDUINO_SAM_ZERO // M0 #define LOG_OUTPUT SerialUSB #else #define LOG_OUTPUT Serial #endif #define LOG_ERROR_PREFIX "esp ERROR: " #if WIFIESPAT_LOG_LEVEL >= LOG_LEVEL_ERROR extern const char LOG_ERROR_PREFIX_PROGMEM[]; #define LOG_ERROR_PRINT_PREFIX() LOG_OUTPUT.print((FSH_P) LOG_ERROR_PREFIX_PROGMEM) #define LOG_ERROR_PRINT(msg) LOG_OUTPUT.print(msg) #define LOG_ERROR_PRINTLN(msg) LOG_OUTPUT.println(msg) #else #define LOG_ERROR_PRINT_PREFIX() #define LOG_ERROR_PRINT(msg) #define LOG_ERROR_PRINTLN(msg) #endif #define LOG_WARN_PREFIX "esp WARN: " #if WIFIESPAT_LOG_LEVEL >= LOG_LEVEL_WARN extern const char LOG_WARN_PREFIX_PROGMEM[]; #define LOG_WARN_PRINT_PREFIX() LOG_OUTPUT.print((FSH_P) LOG_WARN_PREFIX_PROGMEM) #define LOG_WARN_PRINT(msg) LOG_OUTPUT.print(msg) #define LOG_WARN_PRINTLN(msg) LOG_OUTPUT.println(msg) #else #define LOG_WARN_PRINT_PREFIX() #define LOG_WARN_PRINT(msg) #define LOG_WARN_PRINTLN(msg) #endif #define LOG_INFO_PREFIX "esp INFO: " #if WIFIESPAT_LOG_LEVEL >= LOG_LEVEL_INFO extern const char LOG_INFO_PREFIX_PROGMEM[]; #define LOG_INFO_PRINT_PREFIX() LOG_OUTPUT.print((FSH_P) LOG_INFO_PREFIX_PROGMEM) #define LOG_INFO_PRINT(msg) LOG_OUTPUT.print(msg) #define LOG_INFO_PRINTLN(msg) LOG_OUTPUT.println(msg) #else #define LOG_INFO_PRINT_PREFIX() #define LOG_INFO_PRINT(msg) #define LOG_INFO_PRINTLN(msg) #endif #define LOG_DEBUG_PREFIX "esp> " #if WIFIESPAT_LOG_LEVEL >= LOG_LEVEL_DEBUG extern const char LOG_DEBUG_PREFIX_PROGMEM[]; #define LOG_DEBUG_PRINT_PREFIX() LOG_OUTPUT.print((FSH_P) LOG_DEBUG_PREFIX_PROGMEM) #define LOG_DEBUG_PRINT(msg) LOG_OUTPUT.print(msg) #define LOG_DEBUG_PRINTLN(msg) LOG_OUTPUT.println(msg) #else #define LOG_DEBUG_PRINT_PREFIX() #define LOG_DEBUG_PRINT(msg) #define LOG_DEBUG_PRINTLN(msg) #endif #endif