From 28d73ad8660e27f9c7b20b6e978d3d0c412dec00 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 7 Nov 2022 12:01:29 +1100 Subject: [PATCH] Split driver-y things into a separate component --- CMakeLists.txt | 13 +++++++++++-- main/CMakeLists.txt | 5 ----- src/drivers/CMakeLists.txt | 5 +++++ {main => src/drivers}/battery.cpp | 0 {main => src/drivers}/dac.cpp | 0 {main => src/drivers}/display-init.cpp | 0 {main => src/drivers}/display.cpp | 0 {main => src/drivers}/gpio-expander.cpp | 0 {main => src/drivers}/i2c.cpp | 0 {main => src/drivers/include}/battery.hpp | 0 {main => src/drivers/include}/dac.hpp | 0 {main => src/drivers/include}/display-init.hpp | 0 {main => src/drivers/include}/display.hpp | 0 {main => src/drivers/include}/gpio-expander.hpp | 0 {main => src/drivers/include}/i2c.hpp | 0 {main => src/drivers/include}/playback.hpp | 0 {main => src/drivers/include}/storage.hpp | 0 {main => src/drivers}/playback.cpp | 0 {main => src/drivers}/storage.cpp | 0 src/main/CMakeLists.txt | 3 +++ main/gay-ipod-fw.cpp => src/main/main.cpp | 0 21 files changed, 19 insertions(+), 7 deletions(-) delete mode 100644 main/CMakeLists.txt create mode 100644 src/drivers/CMakeLists.txt rename {main => src/drivers}/battery.cpp (100%) rename {main => src/drivers}/dac.cpp (100%) rename {main => src/drivers}/display-init.cpp (100%) rename {main => src/drivers}/display.cpp (100%) rename {main => src/drivers}/gpio-expander.cpp (100%) rename {main => src/drivers}/i2c.cpp (100%) rename {main => src/drivers/include}/battery.hpp (100%) rename {main => src/drivers/include}/dac.hpp (100%) rename {main => src/drivers/include}/display-init.hpp (100%) rename {main => src/drivers/include}/display.hpp (100%) rename {main => src/drivers/include}/gpio-expander.hpp (100%) rename {main => src/drivers/include}/i2c.hpp (100%) rename {main => src/drivers/include}/playback.hpp (100%) rename {main => src/drivers/include}/storage.hpp (100%) rename {main => src/drivers}/playback.cpp (100%) rename {main => src/drivers}/storage.cpp (100%) create mode 100644 src/main/CMakeLists.txt rename main/gay-ipod-fw.cpp => src/main/main.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5f8cb98..93dc6e89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,25 @@ # For more information about build system see # https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html -# The following five lines of boilerplate have to be in your project's -# CMakeLists in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.8) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include($ENV{ADF_PATH}/CMakeLists.txt) + +# Build only the subset of components that we actually depend on. +set(COMPONENTS "") + +# External dependencies list(APPEND EXTRA_COMPONENT_DIRS "lib/result") list(APPEND EXTRA_COMPONENT_DIRS "lib/lvgl") +# Project components +list(APPEND EXTRA_COMPONENT_DIRS "src/") + include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(gay-ipod-fw) +# Extra build flags that should apply to the entire build. This should mostly +# just be used to setting flags that our external dependencies requires. +# Otherwise, prefer adding per-component build flags to keep things neat. idf_build_set_property(COMPILE_OPTIONS "-DRESULT_DISABLE_EXCEPTIONS -DLV_CONF_INCLUDE_SIMPLE" APPEND) diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt deleted file mode 100644 index 5ef0bf9e..00000000 --- a/main/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -idf_component_register( - SRCS "gay-ipod-fw.cpp" "dac.cpp" "gpio-expander.cpp" "battery.cpp" "storage.cpp" - "i2c.cpp" "playback.cpp" "display.cpp" "display-init.cpp" - INCLUDE_DIRS "." - REQUIRES "esp_adc_cal" "fatfs" "audio_pipeline" "audio_stream" "result" "lvgl") diff --git a/src/drivers/CMakeLists.txt b/src/drivers/CMakeLists.txt new file mode 100644 index 00000000..b9682050 --- /dev/null +++ b/src/drivers/CMakeLists.txt @@ -0,0 +1,5 @@ +idf_component_register( + SRCS "dac.cpp" "gpio-expander.cpp" "battery.cpp" "storage.cpp" "i2c.cpp" + "playback.cpp" "display.cpp" "display-init.cpp" + INCLUDE_DIRS "include" + REQUIRES "esp_adc_cal" "fatfs" "audio_pipeline" "audio_stream" "result" "lvgl") diff --git a/main/battery.cpp b/src/drivers/battery.cpp similarity index 100% rename from main/battery.cpp rename to src/drivers/battery.cpp diff --git a/main/dac.cpp b/src/drivers/dac.cpp similarity index 100% rename from main/dac.cpp rename to src/drivers/dac.cpp diff --git a/main/display-init.cpp b/src/drivers/display-init.cpp similarity index 100% rename from main/display-init.cpp rename to src/drivers/display-init.cpp diff --git a/main/display.cpp b/src/drivers/display.cpp similarity index 100% rename from main/display.cpp rename to src/drivers/display.cpp diff --git a/main/gpio-expander.cpp b/src/drivers/gpio-expander.cpp similarity index 100% rename from main/gpio-expander.cpp rename to src/drivers/gpio-expander.cpp diff --git a/main/i2c.cpp b/src/drivers/i2c.cpp similarity index 100% rename from main/i2c.cpp rename to src/drivers/i2c.cpp diff --git a/main/battery.hpp b/src/drivers/include/battery.hpp similarity index 100% rename from main/battery.hpp rename to src/drivers/include/battery.hpp diff --git a/main/dac.hpp b/src/drivers/include/dac.hpp similarity index 100% rename from main/dac.hpp rename to src/drivers/include/dac.hpp diff --git a/main/display-init.hpp b/src/drivers/include/display-init.hpp similarity index 100% rename from main/display-init.hpp rename to src/drivers/include/display-init.hpp diff --git a/main/display.hpp b/src/drivers/include/display.hpp similarity index 100% rename from main/display.hpp rename to src/drivers/include/display.hpp diff --git a/main/gpio-expander.hpp b/src/drivers/include/gpio-expander.hpp similarity index 100% rename from main/gpio-expander.hpp rename to src/drivers/include/gpio-expander.hpp diff --git a/main/i2c.hpp b/src/drivers/include/i2c.hpp similarity index 100% rename from main/i2c.hpp rename to src/drivers/include/i2c.hpp diff --git a/main/playback.hpp b/src/drivers/include/playback.hpp similarity index 100% rename from main/playback.hpp rename to src/drivers/include/playback.hpp diff --git a/main/storage.hpp b/src/drivers/include/storage.hpp similarity index 100% rename from main/storage.hpp rename to src/drivers/include/storage.hpp diff --git a/main/playback.cpp b/src/drivers/playback.cpp similarity index 100% rename from main/playback.cpp rename to src/drivers/playback.cpp diff --git a/main/storage.cpp b/src/drivers/storage.cpp similarity index 100% rename from main/storage.cpp rename to src/drivers/storage.cpp diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt new file mode 100644 index 00000000..b744a447 --- /dev/null +++ b/src/main/CMakeLists.txt @@ -0,0 +1,3 @@ +idf_component_register( + SRCS "main.cpp" + REQUIRES "drivers") diff --git a/main/gay-ipod-fw.cpp b/src/main/main.cpp similarity index 100% rename from main/gay-ipod-fw.cpp rename to src/main/main.cpp