mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-28 19:34:59 +00:00
185 lines
7.3 KiB
C
185 lines
7.3 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <inttypes.h>
|
|
#include "sdkconfig.h"
|
|
|
|
#if CONFIG_EXAMPLE_USE_TEXT_LOG
|
|
#define ESP_LOG_MODE_BINARY_EN (0)
|
|
#endif
|
|
|
|
#include "esp_log.h"
|
|
|
|
static const char *TAG = "example";
|
|
|
|
void app_main(void)
|
|
{
|
|
ESP_LOGI(TAG, "Start");
|
|
|
|
char char_var = 'A';
|
|
ESP_LOGI(TAG, "%s %c 0x%hhx", "char_var", char_var, char_var);
|
|
|
|
uint8_t var8 = 240;
|
|
int8_t var8_2 = -120;
|
|
ESP_LOGI(TAG, "%s %" PRIu8 " %" PRIi8, "var8", var8, var8_2);
|
|
|
|
uint16_t var16 = 65303;
|
|
int16_t var16_2 = -16954;
|
|
ESP_LOGI(TAG, "%s %" PRIu16 " %" PRIi16 " 0x%hx", "var16", var16, var16_2, var16);
|
|
|
|
ESP_LOGI(TAG, "%s %d", "const int var", -1024);
|
|
ESP_LOGI(TAG, "%s %" PRIu64, ESP_LOG_ATTR_STR("const long long unsigned var"), 2095ULL);
|
|
|
|
const int int_var = 4095;
|
|
const int sint_var = -4095;
|
|
ESP_LOGI(TAG, "%s %d %d", "int_var", int_var, sint_var);
|
|
|
|
const uint32_t var32 = 9000;
|
|
const int32_t svar32 = -2000;
|
|
ESP_LOGI(TAG, "%s %" PRIu32 " %" PRIi32, "var32", var32, svar32);
|
|
|
|
const uint64_t var64 = 10700;
|
|
const int64_t svar64 = -29468;
|
|
ESP_LOGI(TAG, "%s %" PRIu64 " %" PRIi64, "var64", var64, svar64);
|
|
uint64_t var64_2 = 10800;
|
|
ESP_LOGI(TAG, "%s %" PRIu64 " %" PRIu32 " %" PRIu64, "64 32 64 vars", var64, var32, var64_2);
|
|
|
|
const size_t var_size = 96843;
|
|
ESP_LOGI(TAG, "%s %zu %d", "var_size", var_size, sizeof(var_size));
|
|
|
|
float float_var = 1.6f;
|
|
double double_var = -70.2f;
|
|
ESP_LOGI(TAG, "%s %f", "float var", float_var);
|
|
ESP_LOGI(TAG, "%s %lf", "double var", double_var);
|
|
|
|
ESP_LOGI(TAG, "%s %d %lf %" PRIu32 " %f %f %c", "int, double, var32, float, float, char", int_var, double_var, var32, float_var, float_var, char_var);
|
|
|
|
char str_array[] = "str_array";
|
|
ESP_LOGI(TAG, "%s %p", str_array, (void *)str_array);
|
|
|
|
const char *str_ptr = "str_ptr";
|
|
ESP_LOGI(TAG, "%s %p", str_ptr, (void *)str_ptr);
|
|
|
|
char buffer[] = {
|
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
|
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
|
|
0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
|
|
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
|
|
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
|
|
0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
|
|
};
|
|
ESP_LOG_BUFFER_HEX_LEVEL(TAG, buffer, sizeof(buffer), ESP_LOG_INFO);
|
|
ESP_LOGI(TAG, "buffer addr = %p", (void *)buffer);
|
|
ESP_LOG_BUFFER_HEXDUMP(TAG, buffer, sizeof(buffer), ESP_LOG_INFO);
|
|
|
|
char txt[] = "Text1:The way to get started is to quit talking and begin doing. - Walt Disney";
|
|
ESP_LOG_BUFFER_CHAR_LEVEL(TAG, txt, sizeof(txt), ESP_LOG_INFO);
|
|
|
|
static const char txt2[] = "Text2:The way to get started is to quit talking and begin doing. - Walt Disney";
|
|
ESP_LOG_BUFFER_CHAR_LEVEL(TAG, txt2, sizeof(txt2), ESP_LOG_INFO);
|
|
|
|
int buffer2[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
|
|
ESP_LOGI(TAG, "buffer2 addr = %p", (void *)buffer2);
|
|
ESP_LOG_BUFFER_HEXDUMP(TAG, buffer2, sizeof(buffer2), ESP_LOG_INFO);
|
|
|
|
uint64_t buffer3[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
|
ESP_LOGI(TAG, "buffer3 addr = %p", (void *)buffer3);
|
|
ESP_LOG_BUFFER_HEXDUMP(TAG, buffer3, sizeof(buffer3), ESP_LOG_INFO);
|
|
|
|
///////////////////String Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> String Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%s|", "Hello_world");
|
|
ESP_LOGI(TAG, "|%10s|", "ESP32");
|
|
ESP_LOGI(TAG, "|%-10s|", "ESP32");
|
|
ESP_LOGI(TAG, "|%.5s|", "Hello_world");
|
|
|
|
///////////////////Character Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Character Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%c|", 'A');
|
|
|
|
///////////////////Integer Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Integer Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%d|", 123);
|
|
ESP_LOGI(TAG, "|%5d|", 42);
|
|
ESP_LOGI(TAG, "|%05d|", 42);
|
|
ESP_LOGI(TAG, "|%-5d|", 42);
|
|
ESP_LOGI(TAG, "|%.5d|", 42);
|
|
ESP_LOGI(TAG, "|%+d|", 42);
|
|
ESP_LOGI(TAG, "|% d|", 42);
|
|
ESP_LOGI(TAG, "|%ld|", 123456789L);
|
|
ESP_LOGI(TAG, "|%lld|", 1234567890123456789LL);
|
|
ESP_LOGI(TAG, "|%+10d|", 42);
|
|
ESP_LOGI(TAG, "|% 10d|", 42);
|
|
ESP_LOGI(TAG, "|%-+10d|", 42);
|
|
ESP_LOGI(TAG, "|%- 10d|", 42);
|
|
|
|
///////////////////Pointer Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Pointer Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%p|", (void *)0x3ff26523);
|
|
|
|
///////////////////Hexadecimal Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Hexadecimal Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%x|", 255);
|
|
ESP_LOGI(TAG, "|%X|", 255);
|
|
ESP_LOGI(TAG, "|%05x|", 255);
|
|
ESP_LOGI(TAG, "|%.5x|", 255);
|
|
ESP_LOGI(TAG, "|%-5x|", 255);
|
|
ESP_LOGI(TAG, "|%hx|", (uint16_t)0xFFFF);
|
|
ESP_LOGI(TAG, "|%hhx|", (uint8_t)0xFF);
|
|
ESP_LOGI(TAG, "|%#x|", 42);
|
|
ESP_LOGI(TAG, "|%#X|", 255);
|
|
ESP_LOGI(TAG, "|%#10x|", 42);
|
|
ESP_LOGI(TAG, "|%-#10x|", 42);
|
|
|
|
///////////////////Octal Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Octal Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%o|", 8);
|
|
ESP_LOGI(TAG, "|%#o|", 8);
|
|
ESP_LOGI(TAG, "|%ho|", (uint16_t)511);
|
|
ESP_LOGI(TAG, "|%#ho|", (uint16_t)511);
|
|
ESP_LOGI(TAG, "|%#10o|", 42);
|
|
ESP_LOGI(TAG, "|%-#10o|", 42);
|
|
|
|
///////////////////Float Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Float Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%f|", 123.456);
|
|
ESP_LOGI(TAG, "|%.2f|", 123.456);
|
|
ESP_LOGI(TAG, "|%.2f|", -123.456);
|
|
ESP_LOGI(TAG, "|%10.2f|", 3.14159);
|
|
ESP_LOGI(TAG, "|%-10.2f|", 3.14159);
|
|
ESP_LOGI(TAG, "|%10.6f|", -123.45678933);
|
|
ESP_LOGI(TAG, "|%-10.6f|", -123.45678933);
|
|
|
|
///////////////////Scientific Float Formatting Tests///////////////////
|
|
ESP_LOGI(TAG, ">>> Scientific Float Formatting Tests <<<");
|
|
ESP_LOGI(TAG, "|%F|", 123456.789);
|
|
ESP_LOGI(TAG, "|%e|", 123456.789);
|
|
ESP_LOGI(TAG, "|%E|", 123456.789);
|
|
ESP_LOGI(TAG, "|%g|", 123456.789);
|
|
ESP_LOGI(TAG, "|%G|", 123456.789);
|
|
|
|
///////////////////Literal Percent Sign///////////////////
|
|
ESP_LOGI(TAG, ">>> Literal Percent Sign Tests <<<");
|
|
ESP_LOGI(TAG, "|%%|");
|
|
ESP_LOGI(TAG, "|%%| |%s|", "Hello_world");
|
|
ESP_LOGI(TAG, "} |%s|", "Hello_world");
|
|
|
|
///////////////////Multiple variables in one log///////////////////
|
|
ESP_LOGI(TAG, ">>> Multiple Variables in One Log <<<");
|
|
ESP_LOGI(TAG, "%s |%10s| |%-10s| |%.5s|", "string width", "ESP32", "ESP32", "ESP32 Test");
|
|
ESP_LOGI(TAG, "%s |%hx| |%hhx|", "shorts", (uint16_t)65535, (uint8_t)255);
|
|
ESP_LOGI(TAG, "%s |% d| |% d|", " flag", 42, -42);
|
|
ESP_LOGI(TAG, "%s |%+d| |%+d|", "+ flag", 42, -42);
|
|
ESP_LOGI(TAG, "%s |%#lx| |%#lo|", "# flag long", 1234567890L, 1234567890L);
|
|
ESP_LOGI(TAG, "%s |%ld| |%lld|", "longs", 1234567890L, 123456789012345LL);
|
|
ESP_LOGI(TAG, "%s |%10.2f| |%-10.2f| |%.4f|", "float width", 3.14159, 3.14159, 3.14159);
|
|
ESP_LOGI(TAG, "%s |%10.6lf| |%-10.6lf| |%.2lf|", "double width", -123.456789, -123.456789, -123.456789);
|
|
|
|
ESP_LOGI(TAG, "Success");
|
|
}
|