summaryrefslogtreecommitdiff
path: root/src/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'src/tasks')
-rw-r--r--src/tasks/CMakeLists.txt2
-rw-r--r--src/tasks/tasks.cpp18
-rw-r--r--src/tasks/tasks.hpp4
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);