/* DEBUG MODULE Copyright (C) 2016-2017 by Xose PĂ©rez */ #if DEBUG_SERIAL_SUPPORT || DEBUG_UDP_SUPPORT #include #include #if DEBUG_UDP_SUPPORT #include WiFiUDP udpDebug; #endif void debugSend(const char * format, ...) { char buffer[DEBUG_MESSAGE_MAX_LENGTH+1]; va_list args; va_start(args, format); int len = ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, format, args); va_end(args); #if DEBUG_SERIAL_SUPPORT DEBUG_PORT.printf(buffer); if (len > DEBUG_MESSAGE_MAX_LENGTH) { DEBUG_PORT.printf(" (...)\n"); } #endif #if DEBUG_UDP_SUPPORT udpDebug.beginPacket(DEBUG_UDP_IP, DEBUG_UDP_PORT); udpDebug.write(buffer); if (len > DEBUG_MESSAGE_MAX_LENGTH) { udpDebug.write(" (...)\n"); } udpDebug.endPacket(); delay(1); #endif } void debugSend_P(PGM_P format, ...) { char f[DEBUG_MESSAGE_MAX_LENGTH+1]; memcpy_P(f, format, DEBUG_MESSAGE_MAX_LENGTH); char buffer[DEBUG_MESSAGE_MAX_LENGTH+1]; va_list args; va_start(args, format); int len = ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, f, args); va_end(args); #if DEBUG_SERIAL_SUPPORT DEBUG_PORT.printf(buffer); if (len > DEBUG_MESSAGE_MAX_LENGTH) { DEBUG_PORT.printf(" (...)\n"); } #endif #if DEBUG_UDP_SUPPORT udpDebug.beginPacket(DEBUG_UDP_IP, DEBUG_UDP_PORT); udpDebug.write(buffer); if (len > DEBUG_MESSAGE_MAX_LENGTH) { udpDebug.write(" (...)\n"); } udpDebug.endPacket(); delay(1); #endif } #endif // DEBUG_SERIAL_SUPPORT || DEBUG_UDP_SUPPORT