From 84be50fd19aa5f9206a9a82e69def2955645e7ff Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Mon, 13 May 2024 20:58:56 +0200 Subject: [PATCH] current stage Signed-off-by: Peter Siegmund --- .clang-format | 1 + .github/workflows/esp32_build.yml | 20 +++++++++----------- CMakeLists.txt | 3 ++- components/ble/CMakeLists.txt | 2 +- components/ble/osr_ble.c | 22 ++++++++++------------ data/dummy.txt | 1 + main/main.c | 24 ++++++++++-------------- partitions.csv | 7 +++++++ sdkconfig.defaults | 14 +++++++++++--- sdkconfig.defaults linux | 2 ++ sdkconfig.defaults.esp32s3 | 2 ++ version.txt | 1 + 12 files changed, 57 insertions(+), 42 deletions(-) create mode 100644 .clang-format create mode 100644 data/dummy.txt create mode 100644 partitions.csv create mode 100644 sdkconfig.defaults linux create mode 100644 sdkconfig.defaults.esp32s3 create mode 100644 version.txt diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..3f19e61 --- /dev/null +++ b/.clang-format @@ -0,0 +1 @@ +BasedOnStyle: Chromium diff --git a/.github/workflows/esp32_build.yml b/.github/workflows/esp32_build.yml index 2c9fe0d..78f4e5b 100644 --- a/.github/workflows/esp32_build.yml +++ b/.github/workflows/esp32_build.yml @@ -6,6 +6,12 @@ on: jobs: build: + strategy: + matrix: + idf_ver: + [release-v4.4.6, release-v5.0.5, release-v5.1.3, release-v5.2.1] + idf_target: [esp32, esp32s3, esp32c3] + runs-on: ubuntu-latest steps: @@ -13,16 +19,8 @@ jobs: uses: actions/checkout@v4 with: submodules: "recursive" - - name: esp-idf build + - name: ESP-IDF build uses: espressif/esp-idf-ci-action@v1 with: - esp_idf_version: v5.2.1 - target: esp32s3 - - name: Archive build output artifacts - uses: actions/upload-artifact@v4 - with: - name: build - path: | - build/bootloader/bootloader.bin - build/partition_table/partition-table.bin - build/${{ github.event.repository.name }}.bin + esp_idf_version: ${{ matrix.idf_ver }} + target: ${{ matrix.idf_target }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 6770713..7afabfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,4 +7,5 @@ cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(firmware_thomas_the_tank_engine) -# idf_build_set_property(COMPILE_OPTIONS "-Wno-error" APPEND) +idf_build_set_property(COMPILE_OPTIONS "-Werror" APPEND) +spiffs_create_partition_image(spiffs data FLASH_IN_PROJECT) diff --git a/components/ble/CMakeLists.txt b/components/ble/CMakeLists.txt index db4ce1e..18f6170 100644 --- a/components/ble/CMakeLists.txt +++ b/components/ble/CMakeLists.txt @@ -1,3 +1,3 @@ idf_component_register(SRCS "osr_ble.c" INCLUDE_DIRS "." - REQUIRES "nvs_flash") + PRIV_REQUIRES "nvs_flash") diff --git a/components/ble/osr_ble.c b/components/ble/osr_ble.c index 038201a..d1d2137 100644 --- a/components/ble/osr_ble.c +++ b/components/ble/osr_ble.c @@ -3,18 +3,16 @@ #include #include -void nvs_init() -{ - esp_err_t ret = nvs_flash_init(); - if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) - { - ESP_ERROR_CHECK(nvs_flash_erase()); - ret = nvs_flash_init(); - } - ESP_ERROR_CHECK(ret); +void nvs_init() { + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || + ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK(nvs_flash_erase()); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK(ret); } -void osr_ble_init() -{ - nvs_init(); +void osr_ble_init() { + nvs_init(); } diff --git a/data/dummy.txt b/data/dummy.txt new file mode 100644 index 0000000..9a524f1 --- /dev/null +++ b/data/dummy.txt @@ -0,0 +1 @@ +This is just a dummy file. \ No newline at end of file diff --git a/main/main.c b/main/main.c index 0861013..dbb5d86 100644 --- a/main/main.c +++ b/main/main.c @@ -1,23 +1,19 @@ -#include #include +#include #include "osr_ble.h" -void setup() -{ - osr_ble_init(); +void setup() { + osr_ble_init(); } -void loop() -{ - ESP_ERROR_CHECK(esp_task_wdt_reset()); +void loop() { + ESP_ERROR_CHECK(esp_task_wdt_reset()); } -void app_main() -{ - setup(); - while (1) - { - loop(); - } +void app_main() { + setup(); + while (1) { + loop(); + } } diff --git a/partitions.csv b/partitions.csv new file mode 100644 index 0000000..960469b --- /dev/null +++ b/partitions.csv @@ -0,0 +1,7 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x140000, +app1, app, ota_1, 0x150000,0x140000, +spiffs, data, spiffs, 0x290000,0x160000, +coredump, data, coredump,0x3F0000,0x10000, diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 35bc3cf..31036e2 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -1,6 +1,3 @@ -# default ESP target -CONFIG_IDF_TARGET="esp32s3" - # activate Bluetooth Low Energy (BLE) CONFIG_BT_ENABLED=y CONFIG_BT_NIMBLE_ENABLED=y @@ -9,3 +6,14 @@ CONFIG_BT_NIMBLE_ENABLED=y CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y CONFIG_LOG_DEFAULT_LEVEL=4 CONFIG_LOG_MAXIMUM_LEVEL=4 + +# Flash Size +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" + +# Partitions +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y diff --git a/sdkconfig.defaults linux b/sdkconfig.defaults linux new file mode 100644 index 0000000..3d3b993 --- /dev/null +++ b/sdkconfig.defaults linux @@ -0,0 +1,2 @@ +# FreeRTOS Linux Simulator +CONFIG_IDF_TARGET="linux" diff --git a/sdkconfig.defaults.esp32s3 b/sdkconfig.defaults.esp32s3 new file mode 100644 index 0000000..7c2cf11 --- /dev/null +++ b/sdkconfig.defaults.esp32s3 @@ -0,0 +1,2 @@ +# default ESP target +CONFIG_IDF_TARGET="esp32s3" diff --git a/version.txt b/version.txt new file mode 100644 index 0000000..8a9ecc2 --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file