From 58d64f9a00dea44273004cfecc15f68008571ab3 Mon Sep 17 00:00:00 2001 From: Gregory Eslinger Date: Sat, 3 Dec 2022 09:50:00 -0700 Subject: [PATCH 1/2] Fixed mismatch in printf types Removed duplicate `l` in format Updated print types Updated CMake --- .../get-started/hello_world/main/CMakeLists.txt | 2 -- .../get-started/hello_world/main/hello_world_main.c | 13 +++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/examples/get-started/hello_world/main/CMakeLists.txt b/examples/get-started/hello_world/main/CMakeLists.txt index 392c049cbf..07686dc8e1 100644 --- a/examples/get-started/hello_world/main/CMakeLists.txt +++ b/examples/get-started/hello_world/main/CMakeLists.txt @@ -1,4 +1,2 @@ idf_component_register(SRCS "hello_world_main.c" INCLUDE_DIRS "") - -target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format") diff --git a/examples/get-started/hello_world/main/hello_world_main.c b/examples/get-started/hello_world/main/hello_world_main.c index e03e1847f9..1208e06ec4 100644 --- a/examples/get-started/hello_world/main/hello_world_main.c +++ b/examples/get-started/hello_world/main/hello_world_main.c @@ -5,6 +5,7 @@ */ #include +#include #include "sdkconfig.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" @@ -19,25 +20,25 @@ void app_main(void) esp_chip_info_t chip_info; uint32_t flash_size; esp_chip_info(&chip_info); - printf("This is %s chip with %d CPU core(s), WiFi%s%s%s, ", + printf("This is %s chip with %" PRIu8 " CPU core(s), WiFi%s%s%s, ", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "", (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : ""); - unsigned major_rev = chip_info.revision / 100; - unsigned minor_rev = chip_info.revision % 100; - printf("silicon revision v%d.%d, ", major_rev, minor_rev); + const uint16_t major_rev = chip_info.revision / (uint16_t)100; + const uint16_t minor_rev = chip_info.revision % (uint16_t)100; + printf("silicon revision v%" PRIu16 ".%" PRIu16 ", ", major_rev, minor_rev); if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) { printf("Get flash size failed"); return; } - printf("%uMB %s flash\n", flash_size / (1024 * 1024), + printf("%" PRIu32 "MB %s flash\n", flash_size / (uint32_t)(1024 * 1024), (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external"); - printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size()); + printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size()); for (int i = 10; i >= 0; i--) { printf("Restarting in %d seconds...\n", i); From e20b28e0c89080b16c6cf21fad95f5e609566bd1 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 6 Dec 2022 14:59:34 +0100 Subject: [PATCH 2/2] hello_world: revert to %d for 8/16-bit for newlib-nano compatibility --- examples/get-started/hello_world/main/hello_world_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/get-started/hello_world/main/hello_world_main.c b/examples/get-started/hello_world/main/hello_world_main.c index 1208e06ec4..924371e06c 100644 --- a/examples/get-started/hello_world/main/hello_world_main.c +++ b/examples/get-started/hello_world/main/hello_world_main.c @@ -20,16 +20,16 @@ void app_main(void) esp_chip_info_t chip_info; uint32_t flash_size; esp_chip_info(&chip_info); - printf("This is %s chip with %" PRIu8 " CPU core(s), WiFi%s%s%s, ", + printf("This is %s chip with %d CPU core(s), WiFi%s%s%s, ", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "", (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : ""); - const uint16_t major_rev = chip_info.revision / (uint16_t)100; - const uint16_t minor_rev = chip_info.revision % (uint16_t)100; - printf("silicon revision v%" PRIu16 ".%" PRIu16 ", ", major_rev, minor_rev); + unsigned major_rev = chip_info.revision / 100; + unsigned minor_rev = chip_info.revision % 100; + printf("silicon revision v%d.%d, ", major_rev, minor_rev); if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) { printf("Get flash size failed"); return;