mirror of https://github.com/arendst/Tasmota.git
Reduce generic log buffer to 128 chars
This commit is contained in:
parent
78ce7b142d
commit
708d231c9c
|
@ -147,7 +147,7 @@ class TasAutoMutex {
|
||||||
TasAutoMutex::TasAutoMutex(void **mutex, const char *name, int maxWait, bool take) {
|
TasAutoMutex::TasAutoMutex(void **mutex, const char *name, int maxWait, bool take) {
|
||||||
if (mutex) {
|
if (mutex) {
|
||||||
if (!(*mutex)){
|
if (!(*mutex)){
|
||||||
TasAutoMutex::init(mutex);
|
TasAutoMutex::init(mutex);
|
||||||
}
|
}
|
||||||
this->mutex = (SemaphoreHandle_t)*mutex;
|
this->mutex = (SemaphoreHandle_t)*mutex;
|
||||||
this->maxWait = maxWait;
|
this->maxWait = maxWait;
|
||||||
|
@ -2172,12 +2172,22 @@ void AddLogData(uint32_t loglevel, const char* log_data) {
|
||||||
|
|
||||||
void AddLog_P(uint32_t loglevel, PGM_P formatP, ...)
|
void AddLog_P(uint32_t loglevel, PGM_P formatP, ...)
|
||||||
{
|
{
|
||||||
char log_data[LOGSZ];
|
char log_data[132];
|
||||||
|
|
||||||
va_list arg;
|
va_list arg;
|
||||||
va_start(arg, formatP);
|
va_start(arg, formatP);
|
||||||
vsnprintf_P(log_data, sizeof(log_data), formatP, arg);
|
uint32_t len = vsnprintf_P(log_data, 129, formatP, arg);
|
||||||
va_end(arg);
|
va_end(arg);
|
||||||
|
if (len > 128) { strcat(log_data, "..."); } // Actual data is more
|
||||||
|
|
||||||
|
#ifdef DEBUG_TASMOTA_CORE
|
||||||
|
// Profile max_len
|
||||||
|
static uint32_t max_len = 0;
|
||||||
|
if (len > max_len) {
|
||||||
|
max_len = len;
|
||||||
|
Serial.printf("PRF: AddLog_P %d\n", max_len);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
AddLogData(loglevel, log_data);
|
AddLogData(loglevel, log_data);
|
||||||
}
|
}
|
||||||
|
@ -2188,9 +2198,18 @@ void AddLog_Debug(PGM_P formatP, ...)
|
||||||
|
|
||||||
va_list arg;
|
va_list arg;
|
||||||
va_start(arg, formatP);
|
va_start(arg, formatP);
|
||||||
vsnprintf_P(log_data, sizeof(log_data), formatP, arg);
|
uint32_t len = vsnprintf_P(log_data, sizeof(log_data), formatP, arg);
|
||||||
va_end(arg);
|
va_end(arg);
|
||||||
|
|
||||||
|
#ifdef DEBUG_TASMOTA_CORE
|
||||||
|
// Profile max_len
|
||||||
|
static uint32_t max_len = 0;
|
||||||
|
if (len > max_len) {
|
||||||
|
max_len = len;
|
||||||
|
Serial.printf("PRF: AddLog_Debug %d\n", max_len);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
AddLogData(LOG_LEVEL_DEBUG, log_data);
|
AddLogData(LOG_LEVEL_DEBUG, log_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2211,13 +2230,13 @@ void AddLogMissed(const char *sensor, uint32_t misses)
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddLogBufferSize(uint32_t loglevel, uint8_t *buffer, uint32_t count, uint32_t size) {
|
void AddLogBufferSize(uint32_t loglevel, uint8_t *buffer, uint32_t count, uint32_t size) {
|
||||||
char log_data[LOGSZ];
|
char log_data[4 + (count * size * 3)];
|
||||||
|
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR("DMP:"));
|
snprintf_P(log_data, sizeof(log_data), PSTR("DMP:"));
|
||||||
for (uint32_t i = 0; i < count; i++) {
|
for (uint32_t i = 0; i < count; i++) {
|
||||||
if (1 == size) { // uint8_t
|
if (1 == size) { // uint8_t
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR("%s %02X"), log_data, *(buffer));
|
snprintf_P(log_data, sizeof(log_data), PSTR("%s %02X"), log_data, *(buffer));
|
||||||
} else { // uint16_t
|
} else { // uint16_t
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR("%s %02X%02X"), log_data, *(buffer +1), *(buffer));
|
snprintf_P(log_data, sizeof(log_data), PSTR("%s %02X%02X"), log_data, *(buffer +1), *(buffer));
|
||||||
}
|
}
|
||||||
buffer += size;
|
buffer += size;
|
||||||
|
|
|
@ -218,11 +218,13 @@ bool MqttPublishLib(const char* topic, bool retained) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_TASMOTA_CORE
|
||||||
void MqttDumpData(char* topic, char* data, uint32_t data_len) {
|
void MqttDumpData(char* topic, char* data, uint32_t data_len) {
|
||||||
char dump_data[data_len +1];
|
char dump_data[data_len +1];
|
||||||
memcpy(dump_data, data, sizeof(dump_data)); // Make another copy for removing optional control characters
|
memcpy(dump_data, data, sizeof(dump_data)); // Make another copy for removing optional control characters
|
||||||
AddLog_P(LOG_LEVEL_DEBUG_MORE, PSTR(D_LOG_MQTT D_DATA_SIZE " %d, \"%s %s\""), data_len, topic, RemoveControlCharacter(dump_data));
|
DEBUG_CORE_LOG(PSTR(D_LOG_MQTT "Size %d, \"%s %s\""), data_len, topic, RemoveControlCharacter(dump_data));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void MqttDataHandler(char* mqtt_topic, uint8_t* mqtt_data, unsigned int data_len) {
|
void MqttDataHandler(char* mqtt_topic, uint8_t* mqtt_data, unsigned int data_len) {
|
||||||
#ifdef USE_DEBUG_DRIVER
|
#ifdef USE_DEBUG_DRIVER
|
||||||
|
@ -248,9 +250,9 @@ void MqttDataHandler(char* mqtt_topic, uint8_t* mqtt_data, unsigned int data_len
|
||||||
char data[data_len +1];
|
char data[data_len +1];
|
||||||
memcpy(data, mqtt_data, sizeof(data));
|
memcpy(data, mqtt_data, sizeof(data));
|
||||||
|
|
||||||
// AddLog_P(LOG_LEVEL_DEBUG_MORE, PSTR(D_LOG_MQTT D_DATA_SIZE " %d, \"%s %s\""), data_len, topic, data);
|
#ifdef DEBUG_TASMOTA_CORE
|
||||||
// if (LOG_LEVEL_DEBUG_MORE <= TasmotaGlobal.seriallog_level) { Serial.println(data); }
|
|
||||||
MqttDumpData(topic, data, data_len); // Use a function to save stack space used by dump_data
|
MqttDumpData(topic, data, data_len); // Use a function to save stack space used by dump_data
|
||||||
|
#endif
|
||||||
|
|
||||||
// MQTT pre-processing
|
// MQTT pre-processing
|
||||||
XdrvMailbox.index = strlen(topic);
|
XdrvMailbox.index = strlen(topic);
|
||||||
|
|
Loading…
Reference in New Issue