diff --git a/platformio.ini b/platformio.ini index 23f20985..5074af63 100644 --- a/platformio.ini +++ b/platformio.ini @@ -84,7 +84,7 @@ build_flags = ${STARMOD_USERMOD_E131.build_flags} ; ${STARMOD_USERMOD_HA.build_flags} -DAPP=StarMod - -DVERSION=24041415 + -DVERSION=24042319 ; Date and time (GMT!) -DPIOENV=$PIOENV lib_deps = ${starmod.lib_deps} diff --git a/src/App/AppModDemo.h b/src/App/AppModDemo.h index 35e9ced4..9aeb3b5e 100644 --- a/src/App/AppModDemo.h +++ b/src/App/AppModDemo.h @@ -20,12 +20,22 @@ class AppModDemo: public SysModule { AppModDemo() :SysModule("AppMod Demo") { }; - //setup filesystem void setup() { SysModule::setup(); parentVar = ui->initAppMod(parentVar, name, 1100); + JsonObject currentVar = ui->initCheckBox(parentVar, "on", true, false, [](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun + case f_UIFun: + ui->setLabel(var, "On"); + return true; + case f_ChangeFun: + ui->callVarFun("bri", UINT8_MAX, f_ChangeFun); //set FastLed brightness + return true; + default: return false; + }}); + currentVar["dash"] = true; + ui->initText(parentVar, "textField", "text"); ui->initPin(parentVar, "blinkPin", blinkPin, false, [this](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun @@ -45,8 +55,6 @@ class AppModDemo: public SysModule { default: return false; }}); - ui->initCheckBox(parentVar, "on"); - ui->initSlider(parentVar, "frequency", frequency, 0, UINT8_MAX, false, [this](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun case f_ChangeFun: frequency = var["value"]; diff --git a/src/Sys/SysModFiles.cpp b/src/Sys/SysModFiles.cpp index 1e698d38..37b4b501 100644 --- a/src/Sys/SysModFiles.cpp +++ b/src/Sys/SysModFiles.cpp @@ -25,7 +25,6 @@ SysModFiles::SysModFiles() :SysModule("Files") { } }; -//setup filesystem void SysModFiles::setup() { SysModule::setup(); parentVar = ui->initSysMod(parentVar, name, 2101); diff --git a/src/Sys/SysModWorkFlow.h b/src/Sys/SysModWorkFlow.h deleted file mode 100644 index ac62a2d1..00000000 --- a/src/Sys/SysModWorkFlow.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - @title StarMod - @file SysModWorkFlow.h - @date 20240411 - @repo https://github.com/ewowi/StarMod, submit changes to this file as PRs to ewowi/StarMod - @Authors https://github.com/ewowi/StarMod/commits/main - @Copyright © 2024 Github StarMod Commit Authors - @license GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - @license For non GPL-v3 usage, commercial licenses must be purchased. Contact moonmodules@icloud.com -*/ - -#pragma once - -#include "SysModModel.h" -#include "SysModUI.h" - -struct Action { - char description[32]; - char module[32]; -}; - -class SysModWorkFlow: public SysModule { - -public: - - bool rebuildTable = false; - std::vector actions; - - SysModWorkFlow() :SysModule("Workflow") { - }; - - //setup filesystem - void setup() { - SysModule::setup(); - - parentVar = ui->initAppMod(parentVar, name, 1302); //appMod is it is shown on the app tab - - JsonObject tableVar = ui->initTable(parentVar, "wfTbl", nullptr, true, [](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun - case f_UIFun: - ui->setLabel(var, "Workflow"); - return true; - default: return false; - }}); - - ui->initText(tableVar, "wfAction", nullptr, 32, true, [this](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun - case f_ValueFun: - for (forUnsigned8 rowNr = 0; rowNr < actions.size(); rowNr++) - mdl->setValue(var, JsonString(actions[rowNr].description, JsonString::Copied), rowNr); - return true; - case f_UIFun: - ui->setLabel(var, "Action"); - return true; - default: return false; - }}); - - ui->initButton(tableVar, "wfButton", true, [this](JsonObject var, unsigned8 rowNr, unsigned8 funType) { switch (funType) { //varFun - case f_ValueFun: - for (forUnsigned8 rowNr = 0; rowNr < actions.size(); rowNr++) - mdl->setValue(var, JsonString(actions[rowNr].module, JsonString::Copied), rowNr); - return true; - case f_UIFun: - ui->setLabel(var, "Module"); - return true; - // case f_ChangeFun: - // generateChFun(var); - // //reload fixture select - // ui->callVarFun("fixture", UINT8_MAX, f_UIFun); - // return true; - default: return false; - }}); - - // addAction("Hello","World"); - // addAction("Create fixture","Fixture Generator"); - } - - void loop() { - // SysModule::loop(); - if (rebuildTable) { - rebuildTable = false; - for (JsonObject childVar: mdl->varChildren("wfTbl")) - ui->callVarFun(childVar, UINT8_MAX, f_ValueFun); - } - } //loop - - void addAction(const char *description, const char *module) { - Action action; - strcpy(action.description, description); - strcpy(action.module, module); - ppf("addAction %s %s %d\n", description, module, actions.size()); - actions.push_back(action); - - rebuildTable = true; - } - - void RemoveAction(const char *description) { - - } - -}; - -extern SysModWorkFlow *wfl; diff --git a/src/User/UserModE131.h b/src/User/UserModE131.h index 5abfa83e..0d5f5bb1 100644 --- a/src/User/UserModE131.h +++ b/src/User/UserModE131.h @@ -22,7 +22,6 @@ class UserModE131:public SysModule { isEnabled = false; //default not enabled }; - //setup filesystem void setup() { SysModule::setup(); diff --git a/src/User/UserModExample.h b/src/User/UserModExample.h deleted file mode 100644 index 02e46284..00000000 --- a/src/User/UserModExample.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - @title StarMod - @file UserModExample.h - @date 20240411 - @repo https://github.com/ewowi/StarMod, submit changes to this file as PRs to ewowi/StarMod - @Authors https://github.com/ewowi/StarMod/commits/main - @Copyright © 2024 Github StarMod Commit Authors - @license GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - @license For non GPL-v3 usage, commercial licenses must be purchased. Contact moonmodules@icloud.com -*/ - -class UserModExample: public SysModule { - -public: - - UserModExample() :SysModule("Usermod example") { - }; - - //setup filesystem - void setup() { - SysModule::setup(); - } - - void loop() { - // SysModule::loop(); - } - - void onOffChanged() { - if (mdls->isConnected && isEnabled) { - } else { - } - } - -}; - -extern UserModExample *example; \ No newline at end of file diff --git a/src/User/UserModInstances.h b/src/User/UserModInstances.h index 47591cf2..ef23054f 100644 --- a/src/User/UserModInstances.h +++ b/src/User/UserModInstances.h @@ -191,7 +191,6 @@ class UserModInstances:public SysModule { // }); // } - //setup filesystem void setup() { SysModule::setup(); diff --git a/src/User/UserModMDNS.h b/src/User/UserModMDNS.h index 931ca55d..2b9aa1a2 100644 --- a/src/User/UserModMDNS.h +++ b/src/User/UserModMDNS.h @@ -20,7 +20,6 @@ class UserModMDNS:public SysModule { UserModMDNS() :SysModule("MDNS") { }; - //setup filesystem void setup() { SysModule::setup(); diff --git a/tools/misc.txt b/tools/misc.txt index 711c1049..f2130aab 100644 --- a/tools/misc.txt +++ b/tools/misc.txt @@ -1,3 +1,11 @@ +Copy System Modules from MoonModules/StarModLeds to upstream +(as should only be modified in upstream) +============================================================ +cd /Users/ewoudwijma/Developer/GitHub/MoonModules/StarModLeds +ls ../../ewowi/StarMod/src/Sys +cp ./src/Sys/* ../../ewowi/StarMod/src/Sys +cp ./tools/* ../../ewowi/StarMod/tools + search range-based for loop ===========================