2021-05-02 22:15:17 -04:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2018-2021 Espressif Systems (Shanghai) CO LTD
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
2018-12-12 12:35:17 -05:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include <sdkconfig.h>
|
|
|
|
#include "SEGGER_SYSVIEW_Int.h"
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
|
|
|
|
|
|
static portMUX_TYPE s_log_mutex = portMUX_INITIALIZER_UNLOCKED;
|
|
|
|
|
|
|
|
int esp_sysview_vprintf(const char * format, va_list args)
|
|
|
|
{
|
|
|
|
static char log_buffer[SEGGER_SYSVIEW_MAX_STRING_LEN];
|
|
|
|
|
|
|
|
portENTER_CRITICAL(&s_log_mutex);
|
|
|
|
size_t len = vsnprintf(log_buffer, sizeof(log_buffer), format, args);
|
|
|
|
if (len > sizeof(log_buffer) - 1) {
|
|
|
|
log_buffer[sizeof(log_buffer - 1)] = 0;
|
|
|
|
}
|
|
|
|
SEGGER_SYSVIEW_Print(log_buffer);
|
|
|
|
portEXIT_CRITICAL(&s_log_mutex);
|
|
|
|
return len;
|
|
|
|
}
|