From 095dbb1ce6716c9da517010c24bb64c45f11fe11 Mon Sep 17 00:00:00 2001 From: Jan Beinke <git@janbeinke.com> Date: Sun, 7 Jun 2020 17:15:52 +0200 Subject: [PATCH] Restucture and make the device folder a component This is importent to ease the possibility of using EMBED_TXTFILES to embed the .pem certificate into the image. --- .gitignore | 4 ++-- CMakeLists.txt | 1 + default.nix | 15 +++++++-------- {main => qthing}/CMakeLists.txt | 2 +- {main => qthing}/color.cpp | 0 {main => qthing}/device.h | 0 {main => qthing}/event.cpp | 0 {main => qthing}/event.h | 0 {main => qthing}/io.cpp | 0 {main => qthing}/io.h | 0 {main => qthing}/lcd.cpp | 0 {main => qthing}/lcd.h | 0 {main => qthing}/main.cpp | 0 {main => qthing}/measured.cpp | 0 {main => qthing}/measured.h | 4 ++-- {main => qthing}/mqtt.cpp | 2 +- {main => qthing}/mqtt.h | 0 {main => qthing}/mqtt_c.c | 0 {main => qthing}/mqtt_c.h | 0 {main => qthing}/mqtt_common.h | 4 ++-- {main => qthing}/mqtt_ota.cpp | 0 {main => qthing}/mqtt_ota.h | 0 .../network/broken/ethernet_lan8720.cpp | 0 {main => qthing}/network/network.cpp | 2 +- {main => qthing}/network/network.h | 0 {main => qthing}/network/network_animation.cpp | 0 {main => qthing}/network/udp.cpp | 0 {main => qthing}/network/udp.h | 0 {main => qthing}/network/wlan.cpp | 2 +- {main => qthing}/ntp.cpp | 0 {main => qthing}/ntp.h | 0 {main => qthing}/oled.cpp | 0 {main => qthing}/oled.h | 0 {main => qthing}/oled_symbols.h | 0 {main => qthing}/peripherals/button_panel_5x5.cpp | 0 {main => qthing}/peripherals/led_strip.cpp | 0 {main => qthing}/peripherals/led_strip.h | 0 {main => qthing}/polyfill.h | 0 {main => qthing}/qthing.h | 0 {main => qthing}/rc_433.cpp | 0 {main => qthing}/rc_433.h | 0 {main => qthing}/sensor.cpp | 0 {main => qthing}/sensor.h | 0 {main => qthing}/status.cpp | 0 {main => qthing}/status.h | 0 {main => qthing}/system/power.cpp | 0 {main => qthing}/util.cpp | 0 {main => qthing}/util.h | 0 48 files changed, 18 insertions(+), 18 deletions(-) rename {main => qthing}/CMakeLists.txt (96%) rename {main => qthing}/color.cpp (100%) rename {main => qthing}/device.h (100%) rename {main => qthing}/event.cpp (100%) rename {main => qthing}/event.h (100%) rename {main => qthing}/io.cpp (100%) rename {main => qthing}/io.h (100%) rename {main => qthing}/lcd.cpp (100%) rename {main => qthing}/lcd.h (100%) rename {main => qthing}/main.cpp (100%) rename {main => qthing}/measured.cpp (100%) rename {main => qthing}/measured.h (97%) rename {main => qthing}/mqtt.cpp (99%) rename {main => qthing}/mqtt.h (100%) rename {main => qthing}/mqtt_c.c (100%) rename {main => qthing}/mqtt_c.h (100%) rename {main => qthing}/mqtt_common.h (94%) rename {main => qthing}/mqtt_ota.cpp (100%) rename {main => qthing}/mqtt_ota.h (100%) rename {main => qthing}/network/broken/ethernet_lan8720.cpp (100%) rename {main => qthing}/network/network.cpp (98%) rename {main => qthing}/network/network.h (100%) rename {main => qthing}/network/network_animation.cpp (100%) rename {main => qthing}/network/udp.cpp (100%) rename {main => qthing}/network/udp.h (100%) rename {main => qthing}/network/wlan.cpp (97%) rename {main => qthing}/ntp.cpp (100%) rename {main => qthing}/ntp.h (100%) rename {main => qthing}/oled.cpp (100%) rename {main => qthing}/oled.h (100%) rename {main => qthing}/oled_symbols.h (100%) rename {main => qthing}/peripherals/button_panel_5x5.cpp (100%) rename {main => qthing}/peripherals/led_strip.cpp (100%) rename {main => qthing}/peripherals/led_strip.h (100%) rename {main => qthing}/polyfill.h (100%) rename {main => qthing}/qthing.h (100%) rename {main => qthing}/rc_433.cpp (100%) rename {main => qthing}/rc_433.h (100%) rename {main => qthing}/sensor.cpp (100%) rename {main => qthing}/sensor.h (100%) rename {main => qthing}/status.cpp (100%) rename {main => qthing}/status.h (100%) rename {main => qthing}/system/power.cpp (100%) rename {main => qthing}/util.cpp (100%) rename {main => qthing}/util.h (100%) diff --git a/.gitignore b/.gitignore index 7a7668e..96d9a05 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,9 @@ sdkconfig.old # This directory contains user-specific devices /devices/* # Ignore symlink to current device -/main/device +/main # This directory contains user-specific environment configurations /environments/* # Ignore symlink to current environment -/main/environment.h +/qthing/environment.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b7fea5..177652e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,5 @@ cmake_minimum_required(VERSION 3.5) include($ENV{IDF_PATH}/tools/cmake/project.cmake) +idf_build_component(qthing) project(qthing) diff --git a/default.nix b/default.nix index c48d5ea..abc7b6e 100644 --- a/default.nix +++ b/default.nix @@ -37,15 +37,14 @@ let ''; qthingBaseRepo = pkgs.runCommand "qthing" {} '' - mkdir -p $out/main + mkdir -p $out/qthing for file in CMakeLists.txt components esp-idf sdkconfig; do ln -s ${./.}/$file $out/$file done - cd ${./.}/main + cd ${./.}/qthing for file in *; do - [[ "$file" == device ]] && continue [[ "$file" == environment.h ]] && continue - ln -s ${./.}/main/$file $out/main/$file + ln -s ${./.}/qthing/$file $out/qthing/$file done ''; @@ -57,7 +56,7 @@ in rec { shellHook = shellSetup; }; - mkProject = { name, device, environment }: let + mkProject = { name, src, environment }: let flashScript = pkgs.writeScript "flash" '' PATH=${pkgs.esptool}/bin/:$PATH cd @out@ @@ -68,9 +67,9 @@ in rec { buildInputs = qthingDependencies; unpackPhase = '' cp --reflink=auto -r ${qthingBaseRepo}/* ./ - chmod -R u+w . - cp --reflink=auto -r ${device} ./main/device - cp --reflink=auto ${environment} ./main/environment.h + chmod u+w qthing + cp --reflink=auto -r ${src} ./main + cp --reflink=auto ${environment} ./qthing/environment.h ''; configurePhase = shellSetup + '' patchShebangs esp-idf diff --git a/main/CMakeLists.txt b/qthing/CMakeLists.txt similarity index 96% rename from main/CMakeLists.txt rename to qthing/CMakeLists.txt index 1377d14..ffe1285 100644 --- a/main/CMakeLists.txt +++ b/qthing/CMakeLists.txt @@ -1,7 +1,6 @@ idf_component_register( SRC_DIRS "." - "device" "network" "peripherals" "system" @@ -15,6 +14,7 @@ idf_component_register( LiquidCrystal app_update arduino-esp32 + main mqtt nvs_flash rc-switch diff --git a/main/color.cpp b/qthing/color.cpp similarity index 100% rename from main/color.cpp rename to qthing/color.cpp diff --git a/main/device.h b/qthing/device.h similarity index 100% rename from main/device.h rename to qthing/device.h diff --git a/main/event.cpp b/qthing/event.cpp similarity index 100% rename from main/event.cpp rename to qthing/event.cpp diff --git a/main/event.h b/qthing/event.h similarity index 100% rename from main/event.h rename to qthing/event.h diff --git a/main/io.cpp b/qthing/io.cpp similarity index 100% rename from main/io.cpp rename to qthing/io.cpp diff --git a/main/io.h b/qthing/io.h similarity index 100% rename from main/io.h rename to qthing/io.h diff --git a/main/lcd.cpp b/qthing/lcd.cpp similarity index 100% rename from main/lcd.cpp rename to qthing/lcd.cpp diff --git a/main/lcd.h b/qthing/lcd.h similarity index 100% rename from main/lcd.h rename to qthing/lcd.h diff --git a/main/main.cpp b/qthing/main.cpp similarity index 100% rename from main/main.cpp rename to qthing/main.cpp diff --git a/main/measured.cpp b/qthing/measured.cpp similarity index 100% rename from main/measured.cpp rename to qthing/measured.cpp diff --git a/main/measured.h b/qthing/measured.h similarity index 97% rename from main/measured.h rename to qthing/measured.h index 08c8613..7eb634a 100644 --- a/main/measured.h +++ b/qthing/measured.h @@ -4,7 +4,7 @@ #include <vector> #include <functional> -#include "device/device_config.h" +#include "device_config.h" #ifndef MEASURED_PERIOD_MS #define MEASURED_PERIOD_MS 1000 @@ -55,4 +55,4 @@ namespace qthing { void mqtt(const std::vector<qthing::measured::sensor_data_t>& data); } } -} \ No newline at end of file +} diff --git a/main/mqtt.cpp b/qthing/mqtt.cpp similarity index 99% rename from main/mqtt.cpp rename to qthing/mqtt.cpp index f626f4b..6f93615 100644 --- a/main/mqtt.cpp +++ b/qthing/mqtt.cpp @@ -4,7 +4,7 @@ #include "environment.h" #include "event.h" -#include "device/device_config.h" +#include "device_config.h" #include "io.h" #include <new> diff --git a/main/mqtt.h b/qthing/mqtt.h similarity index 100% rename from main/mqtt.h rename to qthing/mqtt.h diff --git a/main/mqtt_c.c b/qthing/mqtt_c.c similarity index 100% rename from main/mqtt_c.c rename to qthing/mqtt_c.c diff --git a/main/mqtt_c.h b/qthing/mqtt_c.h similarity index 100% rename from main/mqtt_c.h rename to qthing/mqtt_c.h diff --git a/main/mqtt_common.h b/qthing/mqtt_common.h similarity index 94% rename from main/mqtt_common.h rename to qthing/mqtt_common.h index 30b778f..945f316 100644 --- a/main/mqtt_common.h +++ b/qthing/mqtt_common.h @@ -2,7 +2,7 @@ #define MQTT_COMMON_H #include "environment.h" -#include "device/device_config.h" +#include "device_config.h" #define STATUS_TOPIC DEVICE_NAMESPACE "status" #define STATUS_MESSAGE_ONLINE "online" @@ -21,4 +21,4 @@ #define OTA_STATE_TOPIC DEVICE_NAMESPACE "ota/state" #define OTA_ERROR_TOPIC DEVICE_NAMESPACE "ota/error" -#endif \ No newline at end of file +#endif diff --git a/main/mqtt_ota.cpp b/qthing/mqtt_ota.cpp similarity index 100% rename from main/mqtt_ota.cpp rename to qthing/mqtt_ota.cpp diff --git a/main/mqtt_ota.h b/qthing/mqtt_ota.h similarity index 100% rename from main/mqtt_ota.h rename to qthing/mqtt_ota.h diff --git a/main/network/broken/ethernet_lan8720.cpp b/qthing/network/broken/ethernet_lan8720.cpp similarity index 100% rename from main/network/broken/ethernet_lan8720.cpp rename to qthing/network/broken/ethernet_lan8720.cpp diff --git a/main/network/network.cpp b/qthing/network/network.cpp similarity index 98% rename from main/network/network.cpp rename to qthing/network/network.cpp index 723a30a..e26c269 100644 --- a/main/network/network.cpp +++ b/qthing/network/network.cpp @@ -1,7 +1,7 @@ #include "qthing.h" #include "io.h" #include "environment.h" -#include "device/device_config.h" +#include "device_config.h" #include "event.h" #include "mqtt.h" #include "network/udp.h" diff --git a/main/network/network.h b/qthing/network/network.h similarity index 100% rename from main/network/network.h rename to qthing/network/network.h diff --git a/main/network/network_animation.cpp b/qthing/network/network_animation.cpp similarity index 100% rename from main/network/network_animation.cpp rename to qthing/network/network_animation.cpp diff --git a/main/network/udp.cpp b/qthing/network/udp.cpp similarity index 100% rename from main/network/udp.cpp rename to qthing/network/udp.cpp diff --git a/main/network/udp.h b/qthing/network/udp.h similarity index 100% rename from main/network/udp.h rename to qthing/network/udp.h diff --git a/main/network/wlan.cpp b/qthing/network/wlan.cpp similarity index 97% rename from main/network/wlan.cpp rename to qthing/network/wlan.cpp index 128b32d..3214f0b 100644 --- a/main/network/wlan.cpp +++ b/qthing/network/wlan.cpp @@ -2,7 +2,7 @@ #include "network.h" #include "io.h" #include "environment.h" -#include "device/device_config.h" +#include "device_config.h" #include "event.h" #include "mqtt.h" diff --git a/main/ntp.cpp b/qthing/ntp.cpp similarity index 100% rename from main/ntp.cpp rename to qthing/ntp.cpp diff --git a/main/ntp.h b/qthing/ntp.h similarity index 100% rename from main/ntp.h rename to qthing/ntp.h diff --git a/main/oled.cpp b/qthing/oled.cpp similarity index 100% rename from main/oled.cpp rename to qthing/oled.cpp diff --git a/main/oled.h b/qthing/oled.h similarity index 100% rename from main/oled.h rename to qthing/oled.h diff --git a/main/oled_symbols.h b/qthing/oled_symbols.h similarity index 100% rename from main/oled_symbols.h rename to qthing/oled_symbols.h diff --git a/main/peripherals/button_panel_5x5.cpp b/qthing/peripherals/button_panel_5x5.cpp similarity index 100% rename from main/peripherals/button_panel_5x5.cpp rename to qthing/peripherals/button_panel_5x5.cpp diff --git a/main/peripherals/led_strip.cpp b/qthing/peripherals/led_strip.cpp similarity index 100% rename from main/peripherals/led_strip.cpp rename to qthing/peripherals/led_strip.cpp diff --git a/main/peripherals/led_strip.h b/qthing/peripherals/led_strip.h similarity index 100% rename from main/peripherals/led_strip.h rename to qthing/peripherals/led_strip.h diff --git a/main/polyfill.h b/qthing/polyfill.h similarity index 100% rename from main/polyfill.h rename to qthing/polyfill.h diff --git a/main/qthing.h b/qthing/qthing.h similarity index 100% rename from main/qthing.h rename to qthing/qthing.h diff --git a/main/rc_433.cpp b/qthing/rc_433.cpp similarity index 100% rename from main/rc_433.cpp rename to qthing/rc_433.cpp diff --git a/main/rc_433.h b/qthing/rc_433.h similarity index 100% rename from main/rc_433.h rename to qthing/rc_433.h diff --git a/main/sensor.cpp b/qthing/sensor.cpp similarity index 100% rename from main/sensor.cpp rename to qthing/sensor.cpp diff --git a/main/sensor.h b/qthing/sensor.h similarity index 100% rename from main/sensor.h rename to qthing/sensor.h diff --git a/main/status.cpp b/qthing/status.cpp similarity index 100% rename from main/status.cpp rename to qthing/status.cpp diff --git a/main/status.h b/qthing/status.h similarity index 100% rename from main/status.h rename to qthing/status.h diff --git a/main/system/power.cpp b/qthing/system/power.cpp similarity index 100% rename from main/system/power.cpp rename to qthing/system/power.cpp diff --git a/main/util.cpp b/qthing/util.cpp similarity index 100% rename from main/util.cpp rename to qthing/util.cpp diff --git a/main/util.h b/qthing/util.h similarity index 100% rename from main/util.h rename to qthing/util.h -- GitLab