From d3cf93603df83709c51ccf4492638802aef90fdf Mon Sep 17 00:00:00 2001 From: Mitch Bradley Date: Fri, 11 Jun 2021 08:21:24 -1000 Subject: [PATCH] Added $config/filename setting --- Grbl_Esp32/src/Grbl.cpp | 2 +- Grbl_Esp32/src/MachineConfig.cpp | 2 +- Grbl_Esp32/src/MachineConfig.h | 4 ++-- Grbl_Esp32/src/SettingsDefinitions.cpp | 4 ++++ Grbl_Esp32/src/SettingsDefinitions.h | 2 ++ 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Grbl_Esp32/src/Grbl.cpp b/Grbl_Esp32/src/Grbl.cpp index 3eb8c382..c91e198c 100644 --- a/Grbl_Esp32/src/Grbl.cpp +++ b/Grbl_Esp32/src/Grbl.cpp @@ -46,7 +46,7 @@ void grbl_init() { // Load Grbl settings from non-volatile storage debug_serial("Initializing settings..."); settings_init(); - config->load(); + config->load(config_filename->get()); info_serial("Name: %s", config->_name.c_str()); info_serial("Board: %s", config->_board.c_str()); diff --git a/Grbl_Esp32/src/MachineConfig.cpp b/Grbl_Esp32/src/MachineConfig.cpp index d5f1fa0d..e2150693 100644 --- a/Grbl_Esp32/src/MachineConfig.cpp +++ b/Grbl_Esp32/src/MachineConfig.cpp @@ -491,7 +491,7 @@ size_t MachineConfig::readFile(const char* filename, char*& buffer) { // in trouble with this, we can cut it in pieces and read it per chunk. fseek(file, 0, SEEK_END); auto filesize = ftell(file); - log_debug("Configuration file is " << int(filesize) << " bytes"); + log_debug("Configuration file has " << int(filesize) << " bytes"); fseek(file, 0, SEEK_SET); buffer = new char[filesize + 1]; diff --git a/Grbl_Esp32/src/MachineConfig.h b/Grbl_Esp32/src/MachineConfig.h index d7915315..09d654dc 100644 --- a/Grbl_Esp32/src/MachineConfig.h +++ b/Grbl_Esp32/src/MachineConfig.h @@ -322,7 +322,7 @@ public: class MachineConfig : public Configuration::Configurable { public: MachineConfig() = default; - + Axes* _axes = nullptr; SPIBus* _spi = nullptr; I2SOBus* _i2so = nullptr; @@ -361,7 +361,7 @@ public: void group(Configuration::HandlerBase& handler) override; static size_t readFile(const char* file, char*& buffer); - static bool load(const char* file = "/spiffs/config.yaml"); + static bool load(const char* file); ~MachineConfig(); }; diff --git a/Grbl_Esp32/src/SettingsDefinitions.cpp b/Grbl_Esp32/src/SettingsDefinitions.cpp index 18fa7107..d5605fba 100644 --- a/Grbl_Esp32/src/SettingsDefinitions.cpp +++ b/Grbl_Esp32/src/SettingsDefinitions.cpp @@ -1,5 +1,7 @@ #include "Grbl.h" +StringSetting* config_filename; + StringSetting* startup_line_0; StringSetting* startup_line_1; StringSetting* build_info; @@ -72,4 +74,6 @@ void make_settings() { user_macro0 = new StringSetting(EXTENDED, WG, NULL, "User/Macro0", DEFAULT_USER_MACRO0); message_level = +new EnumSetting(NULL, EXTENDED, WG, NULL, "Message/Level", static_cast(MsgLevel::Info), &messageLevels, NULL); + + config_filename = new StringSetting(EXTENDED, WG, NULL, "Config/Filename", "/spiffs/config.yaml"); } diff --git a/Grbl_Esp32/src/SettingsDefinitions.h b/Grbl_Esp32/src/SettingsDefinitions.h index 9d1e7464..ac8396d6 100644 --- a/Grbl_Esp32/src/SettingsDefinitions.h +++ b/Grbl_Esp32/src/SettingsDefinitions.h @@ -1,5 +1,7 @@ #pragma once +extern StringSetting* config_filename; + extern StringSetting* startup_line_0; extern StringSetting* startup_line_1; extern StringSetting* build_info;