diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
| commit | 5b7b88420b169d1dfdeea6d082762fccefbc7d49 (patch) | |
| tree | e5bc4a44088a9ac62e1628ffa3265f4819c3c979 /src/tasks/tasks.cpp | |
| parent | c6bb42cdd21b63accd20012373a8a0e41d8566f5 (diff) | |
| download | tangara-fw-5b7b88420b169d1dfdeea6d082762fccefbc7d49.tar.gz | |
Fix issues with importing my entire library
Diffstat (limited to 'src/tasks/tasks.cpp')
| -rw-r--r-- | src/tasks/tasks.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/tasks/tasks.cpp b/src/tasks/tasks.cpp index 2477d8b9..c28f463c 100644 --- a/src/tasks/tasks.cpp +++ b/src/tasks/tasks.cpp @@ -5,7 +5,9 @@ */ #include "tasks.hpp" + #include <functional> + #include "esp_heap_caps.h" #include "freertos/FreeRTOS.h" #include "freertos/portmacro.h" @@ -31,6 +33,10 @@ template <> auto Name<Type::kDatabase>() -> std::string { return "DB"; } +template <> +auto Name<Type::kDatabaseBackground>() -> std::string { + return "DB_BG"; +} template <Type t> auto AllocateStack() -> cpp::span<StackType_t>; @@ -39,7 +45,7 @@ auto AllocateStack() -> cpp::span<StackType_t>; // amount of stack space. template <> auto AllocateStack<Type::kAudio>() -> cpp::span<StackType_t> { - std::size_t size = 48 * 1024; + std::size_t size = 32 * 1024; return {static_cast<StackType_t*>(heap_caps_malloc(size, MALLOC_CAP_DEFAULT)), size}; } @@ -67,6 +73,12 @@ auto AllocateStack<Type::kDatabase>() -> cpp::span<StackType_t> { return {static_cast<StackType_t*>(heap_caps_malloc(size, MALLOC_CAP_SPIRAM)), size}; } +template <> +auto AllocateStack<Type::kDatabaseBackground>() -> cpp::span<StackType_t> { + std::size_t size = 256 * 1024; + return {static_cast<StackType_t*>(heap_caps_malloc(size, MALLOC_CAP_SPIRAM)), + size}; +} // 2048 bytes in internal ram // 302 KiB in external ram. @@ -106,6 +118,10 @@ template <> auto Priority<Type::kDatabase>() -> UBaseType_t { return 8; } +template <> +auto Priority<Type::kDatabaseBackground>() -> UBaseType_t { + return 7; +} template <Type t> auto WorkerQueueSize() -> std::size_t; @@ -114,6 +130,10 @@ template <> auto WorkerQueueSize<Type::kDatabase>() -> std::size_t { return 8; } +template <> +auto WorkerQueueSize<Type::kDatabaseBackground>() -> std::size_t { + return 8; +} template <> auto WorkerQueueSize<Type::kUiFlush>() -> std::size_t { |
