diff options
Diffstat (limited to 'src/tasks')
| -rw-r--r-- | src/tasks/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/tasks/tasks.cpp | 18 | ||||
| -rw-r--r-- | src/tasks/tasks.hpp | 4 |
3 files changed, 13 insertions, 11 deletions
diff --git a/src/tasks/CMakeLists.txt b/src/tasks/CMakeLists.txt index 473684b9..0fdacf78 100644 --- a/src/tasks/CMakeLists.txt +++ b/src/tasks/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright 2023 jacqueline <me@jacqueline.id.au> # # SPDX-License-Identifier: GPL-3.0-only -idf_component_register(SRCS "tasks.cpp" INCLUDE_DIRS "." REQUIRES "span") +idf_component_register(SRCS "tasks.cpp" INCLUDE_DIRS "." REQUIRES "span" "memory") target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS}) diff --git a/src/tasks/tasks.cpp b/src/tasks/tasks.cpp index 8dc2f204..dfcead06 100644 --- a/src/tasks/tasks.cpp +++ b/src/tasks/tasks.cpp @@ -12,33 +12,35 @@ #include "freertos/FreeRTOS.h" #include "freertos/portmacro.h" +#include "memory_resource.hpp" + namespace tasks { template <Type t> -auto Name() -> std::string; +auto Name() -> std::pmr::string; template <> -auto Name<Type::kUi>() -> std::string { +auto Name<Type::kUi>() -> std::pmr::string { return "ui"; } template <> -auto Name<Type::kAudioDecoder>() -> std::string { +auto Name<Type::kAudioDecoder>() -> std::pmr::string { return "audio_dec"; } template <> -auto Name<Type::kAudioConverter>() -> std::string { +auto Name<Type::kAudioConverter>() -> std::pmr::string { return "audio_conv"; } template <> -auto Name<Type::kDatabase>() -> std::string { +auto Name<Type::kDatabase>() -> std::pmr::string { return "db_fg"; } template <> -auto Name<Type::kDatabaseBackground>() -> std::string { +auto Name<Type::kDatabaseBackground>() -> std::pmr::string { return "db_bg"; } template <> -auto Name<Type::kNvsWriter>() -> std::string { +auto Name<Type::kNvsWriter>() -> std::pmr::string { return "nvs"; } @@ -185,7 +187,7 @@ auto Worker::Main(void* instance) { } } -Worker::Worker(const std::string& name, +Worker::Worker(const std::pmr::string& name, cpp::span<StackType_t> stack, std::size_t queue_size, UBaseType_t priority) diff --git a/src/tasks/tasks.hpp b/src/tasks/tasks.hpp index 2e43b01a..b87c7fa2 100644 --- a/src/tasks/tasks.hpp +++ b/src/tasks/tasks.hpp @@ -45,7 +45,7 @@ enum class Type { }; template <Type t> -auto Name() -> std::string; +auto Name() -> std::pmr::string; template <Type t> auto AllocateStack() -> cpp::span<StackType_t>; template <Type t> @@ -76,7 +76,7 @@ auto StartPersistent(BaseType_t core, const std::function<void(void)>& fn) class Worker { private: - Worker(const std::string& name, + Worker(const std::pmr::string& name, cpp::span<StackType_t> stack, std::size_t queue_size, UBaseType_t priority); |
