From a66c3428063017f2233b6b15d5ce6c920d5c9095 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 7 Aug 2023 14:26:04 +1000 Subject: Resampling *basically* working? Just cleanup and buffering issues --- src/tasks/tasks.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/tasks') diff --git a/src/tasks/tasks.hpp b/src/tasks/tasks.hpp index 1321aab8..fe65ffcc 100644 --- a/src/tasks/tasks.hpp +++ b/src/tasks/tasks.hpp @@ -57,11 +57,20 @@ auto PersistentMain(void* fn) -> void; template auto StartPersistent(const std::function& fn) -> void { + StaticTask_t* task_buffer = new StaticTask_t; + cpp::span stack = AllocateStack(); + xTaskCreateStatic(&PersistentMain, Name().c_str(), + stack.size(), new std::function(fn), + Priority(), stack.data(), task_buffer); +} + +template +auto StartPersistent(BaseType_t core, const std::function& fn) -> void { StaticTask_t* task_buffer = new StaticTask_t; cpp::span stack = AllocateStack(); xTaskCreateStaticPinnedToCore(&PersistentMain, Name().c_str(), stack.size(), new std::function(fn), - Priority(), stack.data(), task_buffer, 0); + Priority(), stack.data(), task_buffer, core); } class Worker { -- cgit v1.2.3