🕊️ Makes task manager global
This commit is contained in:
@@ -29,8 +29,7 @@ sensor_t *safe_sensor_get() {
|
|||||||
|
|
||||||
void safe_sensor_return() { xSemaphoreGive(cameraMutex); }
|
void safe_sensor_return() { xSemaphoreGive(cameraMutex); }
|
||||||
|
|
||||||
CameraService::CameraService(PsychicHttpServer *server, TaskManager *taskManager)
|
CameraService::CameraService(PsychicHttpServer *server) : _server(server) {}
|
||||||
: _server(server), _taskManager(taskManager) {}
|
|
||||||
void CameraService::begin() {
|
void CameraService::begin() {
|
||||||
InitializeCamera();
|
InitializeCamera();
|
||||||
_server->on(STILL_SERVICE_PATH, HTTP_GET, [this](PsychicRequest *request) { return cameraStill(request); });
|
_server->on(STILL_SERVICE_PATH, HTTP_GET, [this](PsychicRequest *request) { return cameraStill(request); });
|
||||||
@@ -157,7 +156,7 @@ void streamTask(void *pv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
esp_err_t CameraService::cameraStream(PsychicRequest *request) {
|
esp_err_t CameraService::cameraStream(PsychicRequest *request) {
|
||||||
_taskManager->createTask(streamTask, "Stream client task", 4096, request, 4);
|
g_taskManager.createTask(streamTask, "Stream client task", 4096, request, 4);
|
||||||
vTaskDelay(pdMS_TO_TICKS(100));
|
vTaskDelay(pdMS_TO_TICKS(100));
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#include <PsychicHttp.h>
|
#include <PsychicHttp.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <async_worker.h>
|
#include <async_worker.h>
|
||||||
#include <Features.h>
|
#include <Features.h>
|
||||||
@@ -27,13 +27,12 @@ void safe_sensor_return();
|
|||||||
|
|
||||||
class CameraService {
|
class CameraService {
|
||||||
public:
|
public:
|
||||||
CameraService(PsychicHttpServer *server, TaskManager *taskManager);
|
CameraService(PsychicHttpServer *server);
|
||||||
|
|
||||||
void begin();
|
void begin();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PsychicHttpServer *_server;
|
PsychicHttpServer *_server;
|
||||||
TaskManager *_taskManager;
|
|
||||||
esp_err_t cameraStill(PsychicRequest *request);
|
esp_err_t cameraStill(PsychicRequest *request);
|
||||||
esp_err_t cameraStream(PsychicRequest *request);
|
esp_err_t cameraStream(PsychicRequest *request);
|
||||||
esp_err_t InitializeCamera();
|
esp_err_t InitializeCamera();
|
||||||
|
|||||||
@@ -89,8 +89,7 @@ void updateTask(void *param) {
|
|||||||
vTaskDelete(NULL);
|
vTaskDelete(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
DownloadFirmwareService::DownloadFirmwareService(PsychicHttpServer *server, TaskManager *taskManager)
|
DownloadFirmwareService::DownloadFirmwareService(PsychicHttpServer *server) : _server(server) {}
|
||||||
: _server(server), _taskManager(taskManager) {}
|
|
||||||
|
|
||||||
void DownloadFirmwareService::begin() {
|
void DownloadFirmwareService::begin() {
|
||||||
_server->on(GITHUB_FIRMWARE_PATH, HTTP_POST,
|
_server->on(GITHUB_FIRMWARE_PATH, HTTP_POST,
|
||||||
@@ -116,14 +115,8 @@ esp_err_t DownloadFirmwareService::downloadUpdate(PsychicRequest *request, JsonV
|
|||||||
|
|
||||||
socket.emit(EVENT_DOWNLOAD_OTA, output.c_str());
|
socket.emit(EVENT_DOWNLOAD_OTA, output.c_str());
|
||||||
|
|
||||||
if (_taskManager->createTask(&updateTask, // Function that should be called
|
if (g_taskManager.createTask(&updateTask, "Firmware download", OTA_TASK_STACK_SIZE, &downloadURL,
|
||||||
"Firmware download", // Name of the task (for debugging)
|
(configMAX_PRIORITIES - 1), NULL, 1) != pdPASS) {
|
||||||
OTA_TASK_STACK_SIZE, // Stack size (bytes)
|
|
||||||
&downloadURL, // Pass reference to this class instance
|
|
||||||
(configMAX_PRIORITIES - 1), // Pretty high task priority
|
|
||||||
NULL, // Task handle
|
|
||||||
1 // Have it on application core
|
|
||||||
) != pdPASS) {
|
|
||||||
ESP_LOGE("Download OTA", "Couldn't create download OTA task");
|
ESP_LOGE("Download OTA", "Couldn't create download OTA task");
|
||||||
return request->reply(500);
|
return request->reply(500);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include <HTTPClient.h>
|
#include <HTTPClient.h>
|
||||||
#include <HTTPUpdate.h>
|
#include <HTTPUpdate.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
// #include <SSLCertBundle.h>
|
// #include <SSLCertBundle.h>
|
||||||
|
|
||||||
#define GITHUB_FIRMWARE_PATH "/api/downloadUpdate"
|
#define GITHUB_FIRMWARE_PATH "/api/downloadUpdate"
|
||||||
@@ -32,12 +32,11 @@
|
|||||||
|
|
||||||
class DownloadFirmwareService {
|
class DownloadFirmwareService {
|
||||||
public:
|
public:
|
||||||
DownloadFirmwareService(PsychicHttpServer *server, TaskManager *taskManager);
|
DownloadFirmwareService(PsychicHttpServer *server);
|
||||||
|
|
||||||
void begin();
|
void begin();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PsychicHttpServer *_server;
|
PsychicHttpServer *_server;
|
||||||
TaskManager *_taskManager;
|
|
||||||
esp_err_t downloadUpdate(PsychicRequest *request, JsonVariant &json);
|
esp_err_t downloadUpdate(PsychicRequest *request, JsonVariant &json);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,13 +18,12 @@
|
|||||||
ESP32SvelteKit::ESP32SvelteKit(PsychicHttpServer *server, unsigned int numberEndpoints)
|
ESP32SvelteKit::ESP32SvelteKit(PsychicHttpServer *server, unsigned int numberEndpoints)
|
||||||
: _server(server),
|
: _server(server),
|
||||||
_numberEndpoints(numberEndpoints),
|
_numberEndpoints(numberEndpoints),
|
||||||
_taskManager(),
|
|
||||||
_featureService(server),
|
_featureService(server),
|
||||||
#if FT_ENABLED(USE_UPLOAD_FIRMWARE)
|
#if FT_ENABLED(USE_UPLOAD_FIRMWARE)
|
||||||
_uploadFirmwareService(server),
|
_uploadFirmwareService(server),
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_DOWNLOAD_FIRMWARE)
|
#if FT_ENABLED(USE_DOWNLOAD_FIRMWARE)
|
||||||
_downloadFirmwareService(server, &_taskManager),
|
_downloadFirmwareService(server),
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_SLEEP)
|
#if FT_ENABLED(USE_SLEEP)
|
||||||
_sleepService(server),
|
_sleepService(server),
|
||||||
@@ -32,19 +31,13 @@ ESP32SvelteKit::ESP32SvelteKit(PsychicHttpServer *server, unsigned int numberEnd
|
|||||||
#if FT_ENABLED(USE_BATTERY)
|
#if FT_ENABLED(USE_BATTERY)
|
||||||
_batteryService(&_peripherals),
|
_batteryService(&_peripherals),
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_ANALYTICS)
|
|
||||||
_analyticsService(&_taskManager),
|
|
||||||
#endif
|
|
||||||
#if FT_ENABLED(USE_CAMERA)
|
#if FT_ENABLED(USE_CAMERA)
|
||||||
_cameraService(server, &_taskManager),
|
_cameraService(server),
|
||||||
_cameraSettingsService(server, &ESPFS),
|
_cameraSettingsService(server, &ESPFS),
|
||||||
#endif
|
#endif
|
||||||
_servoController(server, &ESPFS, &_peripherals),
|
_servoController(server, &ESPFS, &_peripherals),
|
||||||
#if FT_ENABLED(USE_MOTION)
|
#if FT_ENABLED(USE_MOTION)
|
||||||
_motionService(_server, &_servoController, &_taskManager),
|
_motionService(_server, &_servoController),
|
||||||
#endif
|
|
||||||
#if FT_ENABLED(USE_WS2812)
|
|
||||||
_ledService(&_taskManager),
|
|
||||||
#endif
|
#endif
|
||||||
_peripherals(server, &ESPFS) {
|
_peripherals(server, &ESPFS) {
|
||||||
}
|
}
|
||||||
@@ -53,7 +46,7 @@ void ESP32SvelteKit::begin() {
|
|||||||
ESP_LOGV("ESP32SvelteKit", "Loading settings from files system");
|
ESP_LOGV("ESP32SvelteKit", "Loading settings from files system");
|
||||||
ESP_LOGI("Running Firmware Version: %s", APP_VERSION);
|
ESP_LOGI("Running Firmware Version: %s", APP_VERSION);
|
||||||
ESPFS.begin(true);
|
ESPFS.begin(true);
|
||||||
|
g_taskManager.begin();
|
||||||
_wifiService.begin();
|
_wifiService.begin();
|
||||||
|
|
||||||
_server->config.max_uri_handlers = _numberEndpoints;
|
_server->config.max_uri_handlers = _numberEndpoints;
|
||||||
@@ -66,7 +59,7 @@ void ESP32SvelteKit::begin() {
|
|||||||
setupMDNS();
|
setupMDNS();
|
||||||
|
|
||||||
ESP_LOGV("ESP32SvelteKit", "Starting loop task");
|
ESP_LOGV("ESP32SvelteKit", "Starting loop task");
|
||||||
_taskManager.createTask(this->_loopImpl, "Spot main", 4096, this, 2, NULL, APPLICATION_CORE);
|
g_taskManager.createTask(this->_loopImpl, "Spot main", 4096, this, 2, NULL, APPLICATION_CORE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ESP32SvelteKit::setupServer() {
|
void ESP32SvelteKit::setupServer() {
|
||||||
@@ -198,16 +191,12 @@ void ESP32SvelteKit::startServices() {
|
|||||||
#if FT_ENABLED(USE_NTP)
|
#if FT_ENABLED(USE_NTP)
|
||||||
_ntpService.begin();
|
_ntpService.begin();
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_ANALYTICS)
|
|
||||||
_analyticsService.begin();
|
|
||||||
#endif
|
|
||||||
#if FT_ENABLED(USE_SLEEP)
|
#if FT_ENABLED(USE_SLEEP)
|
||||||
_sleepService.begin();
|
_sleepService.begin();
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_BATTERY)
|
#if FT_ENABLED(USE_BATTERY)
|
||||||
_batteryService.begin();
|
_batteryService.begin();
|
||||||
#endif
|
#endif
|
||||||
_taskManager.begin();
|
|
||||||
_peripherals.begin();
|
_peripherals.begin();
|
||||||
_servoController.begin();
|
_servoController.begin();
|
||||||
#if FT_ENABLED(USE_MOTION)
|
#if FT_ENABLED(USE_MOTION)
|
||||||
@@ -217,9 +206,6 @@ void ESP32SvelteKit::startServices() {
|
|||||||
_cameraService.begin();
|
_cameraService.begin();
|
||||||
_cameraSettingsService.begin();
|
_cameraSettingsService.begin();
|
||||||
#endif
|
#endif
|
||||||
#if FT_ENABLED(USE_WS2812)
|
|
||||||
_ledService.begin();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRAM_ATTR ESP32SvelteKit::loop() {
|
void IRAM_ATTR ESP32SvelteKit::loop() {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
#include <AnalyticsService.h>
|
#include <analytics_service.h>
|
||||||
#include <BatteryService.h>
|
#include <BatteryService.h>
|
||||||
#include <filesystem.h>
|
#include <filesystem.h>
|
||||||
#include <DownloadFirmwareService.h>
|
#include <DownloadFirmwareService.h>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
#include <CameraService.h>
|
#include <CameraService.h>
|
||||||
#include <CameraSettingsService.h>
|
#include <CameraSettingsService.h>
|
||||||
#include <PsychicHttp.h>
|
#include <PsychicHttp.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
#include <UploadFirmwareService.h>
|
#include <UploadFirmwareService.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <wifi_service.h>
|
#include <wifi_service.h>
|
||||||
@@ -78,8 +78,6 @@ class ESP32SvelteKit {
|
|||||||
|
|
||||||
FeaturesService *getFeatureService() { return &_featureService; }
|
FeaturesService *getFeatureService() { return &_featureService; }
|
||||||
|
|
||||||
TaskManager *getTaskManager() { return &_taskManager; }
|
|
||||||
|
|
||||||
#if FT_ENABLED(USE_MOTION)
|
#if FT_ENABLED(USE_MOTION)
|
||||||
MotionService *getMotionService() { return &_motionService; }
|
MotionService *getMotionService() { return &_motionService; }
|
||||||
#endif
|
#endif
|
||||||
@@ -123,7 +121,6 @@ class ESP32SvelteKit {
|
|||||||
#if FT_ENABLED(USE_ANALYTICS)
|
#if FT_ENABLED(USE_ANALYTICS)
|
||||||
AnalyticsService _analyticsService;
|
AnalyticsService _analyticsService;
|
||||||
#endif
|
#endif
|
||||||
TaskManager _taskManager;
|
|
||||||
#if FT_ENABLED(USE_MOTION)
|
#if FT_ENABLED(USE_MOTION)
|
||||||
MotionService _motionService;
|
MotionService _motionService;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define LEDService_h
|
#define LEDService_h
|
||||||
|
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
|
|
||||||
#ifndef WS2812_PIN
|
#ifndef WS2812_PIN
|
||||||
#define WS2812_PIN 12
|
#define WS2812_PIN 12
|
||||||
@@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
class LEDService {
|
class LEDService {
|
||||||
private:
|
private:
|
||||||
TaskManager *_taskManager;
|
|
||||||
|
|
||||||
CRGB leds[WS2812_NUM_LEDS];
|
CRGB leds[WS2812_NUM_LEDS];
|
||||||
CRGBPalette16 currentPalette;
|
CRGBPalette16 currentPalette;
|
||||||
TBlendType currentBlending;
|
TBlendType currentBlending;
|
||||||
@@ -27,15 +25,13 @@ class LEDService {
|
|||||||
int direction = 1;
|
int direction = 1;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LEDService(TaskManager *taskManager) : _taskManager(taskManager) {
|
LEDService() {
|
||||||
FastLED.addLeds<CHIPSET, WS2812_PIN, COLOR_ORDER>(leds, WS2812_NUM_LEDS).setCorrection(TypicalLEDStrip);
|
FastLED.addLeds<CHIPSET, WS2812_PIN, COLOR_ORDER>(leds, WS2812_NUM_LEDS).setCorrection(TypicalLEDStrip);
|
||||||
currentPalette = OceanColors_p;
|
currentPalette = OceanColors_p;
|
||||||
currentBlending = LINEARBLEND;
|
currentBlending = LINEARBLEND;
|
||||||
}
|
}
|
||||||
~LEDService() {}
|
~LEDService() {}
|
||||||
|
|
||||||
void begin() {}
|
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
EXECUTE_EVERY_N_MS(1000 / 60, {
|
EXECUTE_EVERY_N_MS(1000 / 60, {
|
||||||
if (_brightness >= 200) direction = -5;
|
if (_brightness >= 200) direction = -5;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define MotionService_h
|
#define MotionService_h
|
||||||
|
|
||||||
#include <event_socket.h>
|
#include <event_socket.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
#include <Kinematics.h>
|
#include <Kinematics.h>
|
||||||
#include <ServoController.h>
|
#include <ServoController.h>
|
||||||
#include <Gait/GaitState.h>
|
#include <Gait/GaitState.h>
|
||||||
@@ -20,8 +20,8 @@ enum class MOTION_STATE { DEACTIVATED, IDLE, CALIBRATION, REST, STAND, CRAWL, WA
|
|||||||
|
|
||||||
class MotionService {
|
class MotionService {
|
||||||
public:
|
public:
|
||||||
MotionService(PsychicHttpServer *server, ServoController *servoController, TaskManager *taskManager)
|
MotionService(PsychicHttpServer *server, ServoController *servoController)
|
||||||
: _server(server), _servoController(servoController), _taskManager(taskManager) {}
|
: _server(server), _servoController(servoController) {}
|
||||||
|
|
||||||
void begin() {
|
void begin() {
|
||||||
socket.onEvent(INPUT_EVENT, [&](JsonObject &root, int originId) { handleInput(root, originId); });
|
socket.onEvent(INPUT_EVENT, [&](JsonObject &root, int originId) { handleInput(root, originId); });
|
||||||
@@ -37,7 +37,7 @@ class MotionService {
|
|||||||
|
|
||||||
body_state.updateFeet(default_feet_positions);
|
body_state.updateFeet(default_feet_positions);
|
||||||
|
|
||||||
_taskManager->createTask(this->_loopImpl, "MotionService", 4096, this, 3);
|
g_taskManager.createTask(this->_loopImpl, "MotionService", 4096, this, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void anglesEvent(JsonObject &root, int originId) {
|
void anglesEvent(JsonObject &root, int originId) {
|
||||||
@@ -145,7 +145,6 @@ class MotionService {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
PsychicHttpServer *_server;
|
PsychicHttpServer *_server;
|
||||||
TaskManager *_taskManager;
|
|
||||||
ServoController *_servoController;
|
ServoController *_servoController;
|
||||||
Kinematics kinematics;
|
Kinematics kinematics;
|
||||||
ControllerCommand command = {0, 0, 0, 0, 0, 0, 0, 0};
|
ControllerCommand command = {0, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
|||||||
+8
-24
@@ -1,22 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/**
|
|
||||||
* ESP32 SvelteKit
|
|
||||||
*
|
|
||||||
* A simple, secure and extensible framework for IoT projects for ESP32 platforms
|
|
||||||
* with responsive Sveltekit front-end built with TailwindCSS and DaisyUI.
|
|
||||||
* https://github.com/theelims/ESP32-sveltekit
|
|
||||||
*
|
|
||||||
* Copyright (C) 2023 theelims
|
|
||||||
*
|
|
||||||
* All Rights Reserved. This software may be modified and distributed under
|
|
||||||
* the terms of the LGPL v3 license. See the LICENSE file for details.
|
|
||||||
**/
|
|
||||||
|
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#include <filesystem.h>
|
#include <filesystem.h>
|
||||||
#include <event_socket.h>
|
#include <event_socket.h>
|
||||||
#include <TaskManager.h>
|
#include <task_manager.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <Timing.h>
|
#include <Timing.h>
|
||||||
|
|
||||||
@@ -26,16 +13,13 @@
|
|||||||
|
|
||||||
class AnalyticsService {
|
class AnalyticsService {
|
||||||
public:
|
public:
|
||||||
AnalyticsService(TaskManager *taskManager) : _taskManager(taskManager) {};
|
AnalyticsService() {};
|
||||||
|
|
||||||
void begin() {};
|
|
||||||
|
|
||||||
void loop() { EXECUTE_EVERY_N_MS(ANALYTICS_INTERVAL, updateAnalytics()); };
|
void loop() { EXECUTE_EVERY_N_MS(ANALYTICS_INTERVAL, updateAnalytics()); };
|
||||||
JsonDocument doc;
|
|
||||||
char message[MAX_ESP_ANALYTICS_SIZE];
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TaskManager *_taskManager;
|
JsonDocument doc;
|
||||||
|
char message[MAX_ESP_ANALYTICS_SIZE];
|
||||||
|
|
||||||
void updateAnalytics() {
|
void updateAnalytics() {
|
||||||
if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
|
if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
|
||||||
@@ -48,11 +32,11 @@ class AnalyticsService {
|
|||||||
doc["fs_used"] = ESPFS.usedBytes();
|
doc["fs_used"] = ESPFS.usedBytes();
|
||||||
doc["fs_total"] = ESPFS.totalBytes();
|
doc["fs_total"] = ESPFS.totalBytes();
|
||||||
doc["core_temp"] = temperatureRead();
|
doc["core_temp"] = temperatureRead();
|
||||||
doc["cpu0_usage"] = _taskManager->getCpuUsage(0);
|
doc["cpu0_usage"] = g_taskManager.getCpuUsage(0);
|
||||||
doc["cpu1_usage"] = _taskManager->getCpuUsage(1);
|
doc["cpu1_usage"] = g_taskManager.getCpuUsage(1);
|
||||||
doc["cpu_usage"] = _taskManager->getCpuUsage();
|
doc["cpu_usage"] = g_taskManager.getCpuUsage();
|
||||||
JsonArray tasks = doc["tasks"].to<JsonArray>();
|
JsonArray tasks = doc["tasks"].to<JsonArray>();
|
||||||
for (auto const &task : _taskManager->getTasks()) {
|
for (auto const &task : g_taskManager.getTasks()) {
|
||||||
JsonObject nested = tasks.add<JsonObject>();
|
JsonObject nested = tasks.add<JsonObject>();
|
||||||
nested["name"] = task.name;
|
nested["name"] = task.name;
|
||||||
nested["stackSize"] = task.stackSize;
|
nested["stackSize"] = task.stackSize;
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#include <task_manager.h>
|
||||||
|
|
||||||
|
TaskManager g_taskManager;
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <Arduino.h>
|
||||||
|
|
||||||
#define IDLE_STACK_SIZE 2048
|
#define IDLE_STACK_SIZE 2048
|
||||||
#define DEFAULT_STACK_SIZE 2048 + 512
|
#define DEFAULT_STACK_SIZE 2048 + 512
|
||||||
@@ -178,4 +179,6 @@ class CPUBurnerTask {
|
|||||||
static void CPUBurnerTaskEntry(void *instance) { static_cast<CPUBurnerTask *>(instance)->BurnCPUTask(); }
|
static void CPUBurnerTaskEntry(void *instance) { static_cast<CPUBurnerTask *>(instance)->BurnCPUTask(); }
|
||||||
|
|
||||||
void StartTask() { xTaskCreate(CPUBurnerTaskEntry, "CPUBurnerTask", 2048, this, tskIDLE_PRIORITY + 2, nullptr); }
|
void StartTask() { xTaskCreate(CPUBurnerTaskEntry, "CPUBurnerTask", 2048, this, tskIDLE_PRIORITY + 2, nullptr); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern TaskManager g_taskManager;
|
||||||
Reference in New Issue
Block a user