diff --git a/CLC-qthing/SiliconTorch/CyanBus.cpp b/CLC-qthing/SiliconTorch/CyanBus.cpp index 13e5b35eac04dbd358ba2dc43480ba82ddfaeacb..b53af7da117711e9e22f0f4e334845ac9aa76c64 100644 --- a/CLC-qthing/SiliconTorch/CyanBus.cpp +++ b/CLC-qthing/SiliconTorch/CyanBus.cpp @@ -15,10 +15,7 @@ // project specific #include "CyanBusCRC.hpp" -#include "LambdaTask.hpp" -#include "SpiderLib/Callback.hpp" -#include "SpiderLib/CallbackMap.hpp" -#include "SpiderLib/NumberTypes.hpp" +#include <SpiderLib.hpp> // qthing stuff // #include "" @@ -102,11 +99,11 @@ namespace SiliconTorch { rxEN(true); - readerTaskHandle = new Util::LambdaTask([&](){ readerTask(); }); + readerTaskHandle = new SpiderLib::Util::LambdaTask([&](){ readerTask(); }); // packetQ = xQueueCreate(3, sizeof(CyanData)); packetQ = xQueueCreate(3, MTU); - packetTaskHandle = new Util::LambdaTask([&](){ packetTask(); }); + packetTaskHandle = new SpiderLib::Util::LambdaTask([&](){ packetTask(); }); } void CyanBus::readerTask() { diff --git a/CLC-qthing/SiliconTorch/CyanBus.hpp b/CLC-qthing/SiliconTorch/CyanBus.hpp index de76ae3afde325c893412ef74c2da18e8833423a..f6c8d003e0a50635ad84128c2074b283b5b470cd 100644 --- a/CLC-qthing/SiliconTorch/CyanBus.hpp +++ b/CLC-qthing/SiliconTorch/CyanBus.hpp @@ -9,10 +9,7 @@ #include "freertos/queue.h" // project specific -#include "LambdaTask.hpp" -#include "SpiderLib/Callback.hpp" -#include "SpiderLib/CallbackMap.hpp" -#include "SpiderLib/NumberTypes.hpp" +#include <SpiderLib.hpp> // qthing stuff // #include "" @@ -73,8 +70,8 @@ namespace SiliconTorch { void readerTask(); void packetTask(); - Util::LambdaTask* readerTaskHandle = NULL; - Util::LambdaTask* packetTaskHandle = NULL; + SpiderLib::Util::LambdaTask* readerTaskHandle = NULL; + SpiderLib::Util::LambdaTask* packetTaskHandle = NULL; }; } diff --git a/CLC-qthing/SiliconTorch/FxCyanF.hpp b/CLC-qthing/SiliconTorch/FxCyanF.hpp index 0a7d19e39b619c0db12e4e0d14912f008d5f7d30..b85de525316a670e3db509729398e71abbae15a8 100644 --- a/CLC-qthing/SiliconTorch/FxCyanF.hpp +++ b/CLC-qthing/SiliconTorch/FxCyanF.hpp @@ -98,7 +98,7 @@ namespace SiliconTorch { }; - FxCyanF* configureFromNVS(FxCyanF); + FxCyanF* configureFromNVS(); } } diff --git a/CLC-qthing/SiliconTorch/SiliconTorch.cpp b/CLC-qthing/SiliconTorch/SiliconTorch.cpp index 857f2e190175c95fea726aa57061635b3b007711..c966c267bb27cda59b82b22dcca8db657fff65b7 100644 --- a/CLC-qthing/SiliconTorch/SiliconTorch.cpp +++ b/CLC-qthing/SiliconTorch/SiliconTorch.cpp @@ -15,10 +15,7 @@ // project specific #include "CyanBusCRC.hpp" -#include "LambdaTask.hpp" -#include "SpiderLib/Callback.hpp" -#include "SpiderLib/CallbackMap.hpp" -#include "SpiderLib/NumberTypes.hpp" +#include <SpiderLib.hpp> // qthing stuff // #include "" diff --git a/CLC-qthing/SiliconTorch/LambdaTask.cpp b/CLC-qthing/SpiderLib/LambdaTask.cpp similarity index 69% rename from CLC-qthing/SiliconTorch/LambdaTask.cpp rename to CLC-qthing/SpiderLib/LambdaTask.cpp index 5d9fef945dd1380357ad3ed7cbe97bb3a89db1d9..74f246a1a5a50ffbf24f8d0ba9a2d83d62937cf4 100644 --- a/CLC-qthing/SiliconTorch/LambdaTask.cpp +++ b/CLC-qthing/SpiderLib/LambdaTask.cpp @@ -5,7 +5,7 @@ #include "freertos/task.h" // project specific -#include "SpiderLib/NumberTypes.hpp" +#include <SpiderLib/NumberTypes.hpp> @@ -19,7 +19,7 @@ static u16 nextID() { return taskID++; // TODO: increment thread-safe! } -SiliconTorch::Util::LambdaTask::LambdaTask(SiliconTorch::Util::Function0 body) : body(body) { +SpiderLib::Util::LambdaTask::LambdaTask(SpiderLib::Util::Function0 body, u32 stackSize) : body(body) { char taskName[32]; sprintf(taskName, "LambdaTask[%d]", nextID()); @@ -37,20 +37,20 @@ SiliconTorch::Util::LambdaTask::LambdaTask(SiliconTorch::Util::Function0 body) : std::function<void()>* __body = new std::function<void()>(_body); - xTaskCreatePinnedToCore(taskWrapper, taskName, 8192, (void*)__body, priority, &taskHandle, 1); + xTaskCreatePinnedToCore(taskWrapper, taskName, stackSize, (void*)__body, priority, &taskHandle, 1); } -TaskHandle_t SiliconTorch::Util::LambdaTask::getHandle() { +TaskHandle_t SpiderLib::Util::LambdaTask::getHandle() { return taskHandle; } -bool SiliconTorch::Util::LambdaTask::running() { +bool SpiderLib::Util::LambdaTask::running() { return _running; } // TODO: thread safe??? needed? -void SiliconTorch::Util::LambdaTask::kill() { +void SpiderLib::Util::LambdaTask::kill() { if (_running) vTaskDelete(getHandle()); _running = false; } diff --git a/CLC-qthing/SiliconTorch/LambdaTask.hpp b/CLC-qthing/SpiderLib/LambdaTask.hpp similarity index 79% rename from CLC-qthing/SiliconTorch/LambdaTask.hpp rename to CLC-qthing/SpiderLib/LambdaTask.hpp index 12abdf520724a04021faa68a3f0175c33464acd3..6bc1cfcd9eaa7b1a5e6617795d2cdfed2b67fb38 100644 --- a/CLC-qthing/SiliconTorch/LambdaTask.hpp +++ b/CLC-qthing/SpiderLib/LambdaTask.hpp @@ -7,8 +7,11 @@ #include "freertos/FreeRTOS.h" #include "freertos/task.h" +// project specific +#include "NumberTypes.hpp" -namespace SiliconTorch { + +namespace SpiderLib { namespace Util { typedef std::function<void()> Function0; @@ -18,7 +21,7 @@ namespace SiliconTorch { class LambdaTask { public: - LambdaTask(Function0 body); + LambdaTask(Function0 body, u32 stackSize = 8192); void kill(); bool running(); diff --git a/CLC-qthing/SpiderLib/SpiderLib.hpp b/CLC-qthing/SpiderLib/SpiderLib.hpp index 8aa62588f5002f01a8ef263cd12c562f1cbc6bae..1b5fe658776ac46e579af8e780932c123a8fa438 100644 --- a/CLC-qthing/SpiderLib/SpiderLib.hpp +++ b/CLC-qthing/SpiderLib/SpiderLib.hpp @@ -11,6 +11,7 @@ #include <SpiderLib/Time.hpp> #include <SpiderLib/Util.hpp> #include <SpiderLib/Callback.hpp> +#include <SpiderLib/LambdaTask.hpp> #include <SpiderLib/CallbackMap.hpp> #include <SpiderLib/NumberTypes.hpp> #include <SpiderLib/ObjectTypes.hpp>