From 70f0d4b835907fb4a139a55f5ee7757e30f56574 Mon Sep 17 00:00:00 2001 From: Fernando Garcia Date: Tue, 15 Mar 2022 13:13:16 -0300 Subject: [PATCH] Restructured project to work as library --- .gitignore | 2 +- .../LightState}/LightMqttSettingsService.cpp | 0 .../LightState}/LightMqttSettingsService.h | 0 .../LightState}/LightStateService.cpp | 0 .../LightState}/LightStateService.h | 0 {src => examples/LightState}/main.cpp | 0 interface/config-overrides.js | 2 +- lib/readme.txt | 36 ------------------- platformio.ini | 10 ++++-- scripts/build_interface.py | 6 +++- {lib/framework => src}/APSettingsService.cpp | 0 {lib/framework => src}/APSettingsService.h | 0 {lib/framework => src}/APStatus.cpp | 0 {lib/framework => src}/APStatus.h | 0 {lib/framework => src}/ArduinoJsonJWT.cpp | 0 {lib/framework => src}/ArduinoJsonJWT.h | 0 .../AuthenticationService.cpp | 0 .../framework => src}/AuthenticationService.h | 0 {lib/framework => src}/ESP8266React.cpp | 0 {lib/framework => src}/ESP8266React.h | 0 {lib/framework => src}/ESPFS.h | 0 {lib/framework => src}/FSPersistence.h | 0 .../framework => src}/FactoryResetService.cpp | 0 {lib/framework => src}/FactoryResetService.h | 0 {lib/framework => src}/Features.h | 0 {lib/framework => src}/FeaturesService.cpp | 0 {lib/framework => src}/FeaturesService.h | 0 {lib/framework => src}/HttpEndpoint.h | 0 {lib/framework => src}/IPUtils.h | 0 {lib/framework => src}/JsonUtils.h | 0 {lib/framework => src}/MqttPubSub.h | 0 .../framework => src}/MqttSettingsService.cpp | 0 {lib/framework => src}/MqttSettingsService.h | 0 {lib/framework => src}/MqttStatus.cpp | 0 {lib/framework => src}/MqttStatus.h | 0 {lib/framework => src}/NTPSettingsService.cpp | 0 {lib/framework => src}/NTPSettingsService.h | 0 {lib/framework => src}/NTPStatus.cpp | 0 {lib/framework => src}/NTPStatus.h | 0 {lib/framework => src}/OTASettingsService.cpp | 0 {lib/framework => src}/OTASettingsService.h | 0 {lib/framework => src}/RestartService.cpp | 0 {lib/framework => src}/RestartService.h | 0 {lib/framework => src}/SecurityManager.h | 0 .../SecuritySettingsService.cpp | 0 .../SecuritySettingsService.h | 0 {lib/framework => src}/SettingValue.cpp | 0 {lib/framework => src}/SettingValue.h | 0 {lib/framework => src}/StatefulService.cpp | 0 {lib/framework => src}/StatefulService.h | 0 {lib/framework => src}/SystemStatus.cpp | 0 {lib/framework => src}/SystemStatus.h | 0 .../UploadFirmwareService.cpp | 0 .../framework => src}/UploadFirmwareService.h | 0 {lib/framework => src}/WebSocketTxRx.h | 0 {lib/framework => src}/WiFiScanner.cpp | 0 {lib/framework => src}/WiFiScanner.h | 0 .../framework => src}/WiFiSettingsService.cpp | 0 {lib/framework => src}/WiFiSettingsService.h | 0 {lib/framework => src}/WiFiStatus.cpp | 0 {lib/framework => src}/WiFiStatus.h | 0 61 files changed, 15 insertions(+), 41 deletions(-) rename {src => examples/LightState}/LightMqttSettingsService.cpp (100%) rename {src => examples/LightState}/LightMqttSettingsService.h (100%) rename {src => examples/LightState}/LightStateService.cpp (100%) rename {src => examples/LightState}/LightStateService.h (100%) rename {src => examples/LightState}/main.cpp (100%) delete mode 100644 lib/readme.txt rename {lib/framework => src}/APSettingsService.cpp (100%) rename {lib/framework => src}/APSettingsService.h (100%) rename {lib/framework => src}/APStatus.cpp (100%) rename {lib/framework => src}/APStatus.h (100%) rename {lib/framework => src}/ArduinoJsonJWT.cpp (100%) rename {lib/framework => src}/ArduinoJsonJWT.h (100%) rename {lib/framework => src}/AuthenticationService.cpp (100%) rename {lib/framework => src}/AuthenticationService.h (100%) rename {lib/framework => src}/ESP8266React.cpp (100%) rename {lib/framework => src}/ESP8266React.h (100%) rename {lib/framework => src}/ESPFS.h (100%) rename {lib/framework => src}/FSPersistence.h (100%) rename {lib/framework => src}/FactoryResetService.cpp (100%) rename {lib/framework => src}/FactoryResetService.h (100%) rename {lib/framework => src}/Features.h (100%) rename {lib/framework => src}/FeaturesService.cpp (100%) rename {lib/framework => src}/FeaturesService.h (100%) rename {lib/framework => src}/HttpEndpoint.h (100%) rename {lib/framework => src}/IPUtils.h (100%) rename {lib/framework => src}/JsonUtils.h (100%) rename {lib/framework => src}/MqttPubSub.h (100%) rename {lib/framework => src}/MqttSettingsService.cpp (100%) rename {lib/framework => src}/MqttSettingsService.h (100%) rename {lib/framework => src}/MqttStatus.cpp (100%) rename {lib/framework => src}/MqttStatus.h (100%) rename {lib/framework => src}/NTPSettingsService.cpp (100%) rename {lib/framework => src}/NTPSettingsService.h (100%) rename {lib/framework => src}/NTPStatus.cpp (100%) rename {lib/framework => src}/NTPStatus.h (100%) rename {lib/framework => src}/OTASettingsService.cpp (100%) rename {lib/framework => src}/OTASettingsService.h (100%) rename {lib/framework => src}/RestartService.cpp (100%) rename {lib/framework => src}/RestartService.h (100%) rename {lib/framework => src}/SecurityManager.h (100%) rename {lib/framework => src}/SecuritySettingsService.cpp (100%) rename {lib/framework => src}/SecuritySettingsService.h (100%) rename {lib/framework => src}/SettingValue.cpp (100%) rename {lib/framework => src}/SettingValue.h (100%) rename {lib/framework => src}/StatefulService.cpp (100%) rename {lib/framework => src}/StatefulService.h (100%) rename {lib/framework => src}/SystemStatus.cpp (100%) rename {lib/framework => src}/SystemStatus.h (100%) rename {lib/framework => src}/UploadFirmwareService.cpp (100%) rename {lib/framework => src}/UploadFirmwareService.h (100%) rename {lib/framework => src}/WebSocketTxRx.h (100%) rename {lib/framework => src}/WiFiScanner.cpp (100%) rename {lib/framework => src}/WiFiScanner.h (100%) rename {lib/framework => src}/WiFiSettingsService.cpp (100%) rename {lib/framework => src}/WiFiSettingsService.h (100%) rename {lib/framework => src}/WiFiStatus.cpp (100%) rename {lib/framework => src}/WiFiStatus.h (100%) diff --git a/.gitignore b/.gitignore index f52970ba..9bc9f818 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ .gcc-flags.json *Thumbs.db /data/www -/lib/framework/WWWData.h +src/WWWData.h /interface/build /interface/node_modules /interface/.eslintcache diff --git a/src/LightMqttSettingsService.cpp b/examples/LightState/LightMqttSettingsService.cpp similarity index 100% rename from src/LightMqttSettingsService.cpp rename to examples/LightState/LightMqttSettingsService.cpp diff --git a/src/LightMqttSettingsService.h b/examples/LightState/LightMqttSettingsService.h similarity index 100% rename from src/LightMqttSettingsService.h rename to examples/LightState/LightMqttSettingsService.h diff --git a/src/LightStateService.cpp b/examples/LightState/LightStateService.cpp similarity index 100% rename from src/LightStateService.cpp rename to examples/LightState/LightStateService.cpp diff --git a/src/LightStateService.h b/examples/LightState/LightStateService.h similarity index 100% rename from src/LightStateService.h rename to examples/LightState/LightStateService.h diff --git a/src/main.cpp b/examples/LightState/main.cpp similarity index 100% rename from src/main.cpp rename to examples/LightState/main.cpp diff --git a/interface/config-overrides.js b/interface/config-overrides.js index 8f3f7f3c..500b465e 100644 --- a/interface/config-overrides.js +++ b/interface/config-overrides.js @@ -22,7 +22,7 @@ module.exports = function override(config, env) { terserPlugin.options.extractComments = false; // build progmem data files - config.plugins.push(new ProgmemGenerator({ outputPath: "../lib/framework/WWWData.h", bytesPerLine: 20 })); + config.plugins.push(new ProgmemGenerator({ outputPath: "../src/WWWData.h", bytesPerLine: 20 })); } return config; }; diff --git a/lib/readme.txt b/lib/readme.txt deleted file mode 100644 index dbadc3d6..00000000 --- a/lib/readme.txt +++ /dev/null @@ -1,36 +0,0 @@ - -This directory is intended for the project specific (private) libraries. -PlatformIO will compile them to static libraries and link to executable file. - -The source code of each library should be placed in separate directory, like -"lib/private_lib/[here are source files]". - -For example, see how can be organized `Foo` and `Bar` libraries: - -|--lib -| |--Bar -| | |--docs -| | |--examples -| | |--src -| | |- Bar.c -| | |- Bar.h -| |--Foo -| | |- Foo.c -| | |- Foo.h -| |- readme.txt --> THIS FILE -|- platformio.ini -|--src - |- main.c - -Then in `src/main.c` you should use: - -#include -#include - -// rest H/C/CPP code - -PlatformIO will find your libraries automatically, configure preprocessor's -include paths and build them. - -More information about PlatformIO Library Dependency Finder -- http://docs.platformio.org/page/librarymanager/ldf.html diff --git a/platformio.ini b/platformio.ini index e0059548..51460f00 100644 --- a/platformio.ini +++ b/platformio.ini @@ -30,7 +30,7 @@ framework = arduino monitor_speed = 115200 extra_scripts = - pre:scripts/build_interface.py + pre:lib/esp8266-react/scripts/build_interface.py lib_deps = ArduinoJson@>=6.0.0,<7.0.0 @@ -43,8 +43,14 @@ board = esp12e board_build.f_cpu = 160000000L board_build.filesystem = littlefs -[env:node32s] ; Comment out min_spiffs.csv setting if disabling PROGMEM_WWW with ESP32 + +[env:node32s] board_build.partitions = min_spiffs.csv platform = espressif32 board = node32s + +[env:esp32dev] +board_build.partitions = min_spiffs.csv +platform = espressif32 +board = esp32dev \ No newline at end of file diff --git a/scripts/build_interface.py b/scripts/build_interface.py index aea3a18d..cf5bb947 100644 --- a/scripts/build_interface.py +++ b/scripts/build_interface.py @@ -3,9 +3,13 @@ from subprocess import check_output, Popen, PIPE, STDOUT, CalledProcessError import os import gzip +import inspect Import("env") +filename = inspect.getframeinfo(inspect.currentframe()).filename +dir_path = os.path.dirname(os.path.abspath(filename)) + def gzipFile(file): with open(file, 'rb') as f_in: with gzip.open(file + '.gz', 'wb') as f_out: @@ -19,7 +23,7 @@ def flagExists(flag): return True def buildWeb(): - os.chdir("interface") + os.chdir(dir_path + '/../interface') print("Building interface with npm") try: env.Execute("npm install") diff --git a/lib/framework/APSettingsService.cpp b/src/APSettingsService.cpp similarity index 100% rename from lib/framework/APSettingsService.cpp rename to src/APSettingsService.cpp diff --git a/lib/framework/APSettingsService.h b/src/APSettingsService.h similarity index 100% rename from lib/framework/APSettingsService.h rename to src/APSettingsService.h diff --git a/lib/framework/APStatus.cpp b/src/APStatus.cpp similarity index 100% rename from lib/framework/APStatus.cpp rename to src/APStatus.cpp diff --git a/lib/framework/APStatus.h b/src/APStatus.h similarity index 100% rename from lib/framework/APStatus.h rename to src/APStatus.h diff --git a/lib/framework/ArduinoJsonJWT.cpp b/src/ArduinoJsonJWT.cpp similarity index 100% rename from lib/framework/ArduinoJsonJWT.cpp rename to src/ArduinoJsonJWT.cpp diff --git a/lib/framework/ArduinoJsonJWT.h b/src/ArduinoJsonJWT.h similarity index 100% rename from lib/framework/ArduinoJsonJWT.h rename to src/ArduinoJsonJWT.h diff --git a/lib/framework/AuthenticationService.cpp b/src/AuthenticationService.cpp similarity index 100% rename from lib/framework/AuthenticationService.cpp rename to src/AuthenticationService.cpp diff --git a/lib/framework/AuthenticationService.h b/src/AuthenticationService.h similarity index 100% rename from lib/framework/AuthenticationService.h rename to src/AuthenticationService.h diff --git a/lib/framework/ESP8266React.cpp b/src/ESP8266React.cpp similarity index 100% rename from lib/framework/ESP8266React.cpp rename to src/ESP8266React.cpp diff --git a/lib/framework/ESP8266React.h b/src/ESP8266React.h similarity index 100% rename from lib/framework/ESP8266React.h rename to src/ESP8266React.h diff --git a/lib/framework/ESPFS.h b/src/ESPFS.h similarity index 100% rename from lib/framework/ESPFS.h rename to src/ESPFS.h diff --git a/lib/framework/FSPersistence.h b/src/FSPersistence.h similarity index 100% rename from lib/framework/FSPersistence.h rename to src/FSPersistence.h diff --git a/lib/framework/FactoryResetService.cpp b/src/FactoryResetService.cpp similarity index 100% rename from lib/framework/FactoryResetService.cpp rename to src/FactoryResetService.cpp diff --git a/lib/framework/FactoryResetService.h b/src/FactoryResetService.h similarity index 100% rename from lib/framework/FactoryResetService.h rename to src/FactoryResetService.h diff --git a/lib/framework/Features.h b/src/Features.h similarity index 100% rename from lib/framework/Features.h rename to src/Features.h diff --git a/lib/framework/FeaturesService.cpp b/src/FeaturesService.cpp similarity index 100% rename from lib/framework/FeaturesService.cpp rename to src/FeaturesService.cpp diff --git a/lib/framework/FeaturesService.h b/src/FeaturesService.h similarity index 100% rename from lib/framework/FeaturesService.h rename to src/FeaturesService.h diff --git a/lib/framework/HttpEndpoint.h b/src/HttpEndpoint.h similarity index 100% rename from lib/framework/HttpEndpoint.h rename to src/HttpEndpoint.h diff --git a/lib/framework/IPUtils.h b/src/IPUtils.h similarity index 100% rename from lib/framework/IPUtils.h rename to src/IPUtils.h diff --git a/lib/framework/JsonUtils.h b/src/JsonUtils.h similarity index 100% rename from lib/framework/JsonUtils.h rename to src/JsonUtils.h diff --git a/lib/framework/MqttPubSub.h b/src/MqttPubSub.h similarity index 100% rename from lib/framework/MqttPubSub.h rename to src/MqttPubSub.h diff --git a/lib/framework/MqttSettingsService.cpp b/src/MqttSettingsService.cpp similarity index 100% rename from lib/framework/MqttSettingsService.cpp rename to src/MqttSettingsService.cpp diff --git a/lib/framework/MqttSettingsService.h b/src/MqttSettingsService.h similarity index 100% rename from lib/framework/MqttSettingsService.h rename to src/MqttSettingsService.h diff --git a/lib/framework/MqttStatus.cpp b/src/MqttStatus.cpp similarity index 100% rename from lib/framework/MqttStatus.cpp rename to src/MqttStatus.cpp diff --git a/lib/framework/MqttStatus.h b/src/MqttStatus.h similarity index 100% rename from lib/framework/MqttStatus.h rename to src/MqttStatus.h diff --git a/lib/framework/NTPSettingsService.cpp b/src/NTPSettingsService.cpp similarity index 100% rename from lib/framework/NTPSettingsService.cpp rename to src/NTPSettingsService.cpp diff --git a/lib/framework/NTPSettingsService.h b/src/NTPSettingsService.h similarity index 100% rename from lib/framework/NTPSettingsService.h rename to src/NTPSettingsService.h diff --git a/lib/framework/NTPStatus.cpp b/src/NTPStatus.cpp similarity index 100% rename from lib/framework/NTPStatus.cpp rename to src/NTPStatus.cpp diff --git a/lib/framework/NTPStatus.h b/src/NTPStatus.h similarity index 100% rename from lib/framework/NTPStatus.h rename to src/NTPStatus.h diff --git a/lib/framework/OTASettingsService.cpp b/src/OTASettingsService.cpp similarity index 100% rename from lib/framework/OTASettingsService.cpp rename to src/OTASettingsService.cpp diff --git a/lib/framework/OTASettingsService.h b/src/OTASettingsService.h similarity index 100% rename from lib/framework/OTASettingsService.h rename to src/OTASettingsService.h diff --git a/lib/framework/RestartService.cpp b/src/RestartService.cpp similarity index 100% rename from lib/framework/RestartService.cpp rename to src/RestartService.cpp diff --git a/lib/framework/RestartService.h b/src/RestartService.h similarity index 100% rename from lib/framework/RestartService.h rename to src/RestartService.h diff --git a/lib/framework/SecurityManager.h b/src/SecurityManager.h similarity index 100% rename from lib/framework/SecurityManager.h rename to src/SecurityManager.h diff --git a/lib/framework/SecuritySettingsService.cpp b/src/SecuritySettingsService.cpp similarity index 100% rename from lib/framework/SecuritySettingsService.cpp rename to src/SecuritySettingsService.cpp diff --git a/lib/framework/SecuritySettingsService.h b/src/SecuritySettingsService.h similarity index 100% rename from lib/framework/SecuritySettingsService.h rename to src/SecuritySettingsService.h diff --git a/lib/framework/SettingValue.cpp b/src/SettingValue.cpp similarity index 100% rename from lib/framework/SettingValue.cpp rename to src/SettingValue.cpp diff --git a/lib/framework/SettingValue.h b/src/SettingValue.h similarity index 100% rename from lib/framework/SettingValue.h rename to src/SettingValue.h diff --git a/lib/framework/StatefulService.cpp b/src/StatefulService.cpp similarity index 100% rename from lib/framework/StatefulService.cpp rename to src/StatefulService.cpp diff --git a/lib/framework/StatefulService.h b/src/StatefulService.h similarity index 100% rename from lib/framework/StatefulService.h rename to src/StatefulService.h diff --git a/lib/framework/SystemStatus.cpp b/src/SystemStatus.cpp similarity index 100% rename from lib/framework/SystemStatus.cpp rename to src/SystemStatus.cpp diff --git a/lib/framework/SystemStatus.h b/src/SystemStatus.h similarity index 100% rename from lib/framework/SystemStatus.h rename to src/SystemStatus.h diff --git a/lib/framework/UploadFirmwareService.cpp b/src/UploadFirmwareService.cpp similarity index 100% rename from lib/framework/UploadFirmwareService.cpp rename to src/UploadFirmwareService.cpp diff --git a/lib/framework/UploadFirmwareService.h b/src/UploadFirmwareService.h similarity index 100% rename from lib/framework/UploadFirmwareService.h rename to src/UploadFirmwareService.h diff --git a/lib/framework/WebSocketTxRx.h b/src/WebSocketTxRx.h similarity index 100% rename from lib/framework/WebSocketTxRx.h rename to src/WebSocketTxRx.h diff --git a/lib/framework/WiFiScanner.cpp b/src/WiFiScanner.cpp similarity index 100% rename from lib/framework/WiFiScanner.cpp rename to src/WiFiScanner.cpp diff --git a/lib/framework/WiFiScanner.h b/src/WiFiScanner.h similarity index 100% rename from lib/framework/WiFiScanner.h rename to src/WiFiScanner.h diff --git a/lib/framework/WiFiSettingsService.cpp b/src/WiFiSettingsService.cpp similarity index 100% rename from lib/framework/WiFiSettingsService.cpp rename to src/WiFiSettingsService.cpp diff --git a/lib/framework/WiFiSettingsService.h b/src/WiFiSettingsService.h similarity index 100% rename from lib/framework/WiFiSettingsService.h rename to src/WiFiSettingsService.h diff --git a/lib/framework/WiFiStatus.cpp b/src/WiFiStatus.cpp similarity index 100% rename from lib/framework/WiFiStatus.cpp rename to src/WiFiStatus.cpp diff --git a/lib/framework/WiFiStatus.h b/src/WiFiStatus.h similarity index 100% rename from lib/framework/WiFiStatus.h rename to src/WiFiStatus.h