From ad57182cf8e0ae5bee5077affe4d25f8391d8801 Mon Sep 17 00:00:00 2001 From: Blitblank Date: Sat, 29 Nov 2025 21:55:10 -0600 Subject: [PATCH] first commit --- .gitignore | 1 + CMakeLists.txt | 7 ++++++ README.md | 2 ++ scripts/build.sh | 3 +++ scripts/cmake_presets.json | 0 scripts/flash.sh | 3 +++ scripts/monitor.sh | 3 +++ sdk.config.defaults | 0 src/main.c | 50 ++++++++++++++++++++++++++++++++++++++ 9 files changed, 69 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 scripts/build.sh create mode 100644 scripts/cmake_presets.json create mode 100644 scripts/flash.sh create mode 100644 scripts/monitor.sh create mode 100644 sdk.config.defaults create mode 100644 src/main.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d163863 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7b70a69 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,7 @@ + +# TODO: check version +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/scripts/project.cmake) + +project(this) diff --git a/README.md b/README.md new file mode 100644 index 0000000..482b677 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ + +For now, a template for an embdedded application for the ESP32-S3-Wroom1 module running ESP-IDF diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100644 index 0000000..f15511d --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,3 @@ +#!usr/bin/bash + +# TODO: implement diff --git a/scripts/cmake_presets.json b/scripts/cmake_presets.json new file mode 100644 index 0000000..e69de29 diff --git a/scripts/flash.sh b/scripts/flash.sh new file mode 100644 index 0000000..f15511d --- /dev/null +++ b/scripts/flash.sh @@ -0,0 +1,3 @@ +#!usr/bin/bash + +# TODO: implement diff --git a/scripts/monitor.sh b/scripts/monitor.sh new file mode 100644 index 0000000..f15511d --- /dev/null +++ b/scripts/monitor.sh @@ -0,0 +1,3 @@ +#!usr/bin/bash + +# TODO: implement diff --git a/sdk.config.defaults b/sdk.config.defaults new file mode 100644 index 0000000..e69de29 diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..b482c8a --- /dev/null +++ b/src/main.c @@ -0,0 +1,50 @@ + +// Copied from official ESP-IDF repository +// https://github.com/espressif/esp-idf/blob/v5.5.1/examples/get-started/hello_world/main/hello_world_main.c + +#include +#include +#include "sdkconfig.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "esp_chip_info.h" +#include "esp_flash.h" +#include "esp_system.h" + +void app_main(void) +{ + printf("Hello world!\n"); + + /* Print chip information */ + 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), %s%s%s%s, ", + CONFIG_IDF_TARGET, + chip_info.cores, + (chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "", + (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); + if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) { + printf("Get flash size failed"); + return; + } + + 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: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size()); + + for (int i = 10; i >= 0; i--) { + printf("Restarting in %d seconds...\n", i); + vTaskDelay(1000 / portTICK_PERIOD_MS); + } + printf("Restarting now.\n"); + fflush(stdout); + esp_restart(); +} \ No newline at end of file