ESP_IOT v2.5
IOT ESP Coding
Task.h
Go to the documentation of this file.
1#ifndef TASK_PERSION_H_
2#define TASK_PERSION_H_
3
4#include "../../Defines.h"
5
6#ifdef USE_FAST_LED
7
8#include <freertos/FreeRTOS.h>
9#include <freertos/task.h>
10#include <string>
11
12class Task
13{
14public:
15 Task(std::string taskName="task", uint16_t taskSize = 10240, uint8_t priority = 5);
16 ~Task();
17 void start(void* taskData = nullptr );
18 void stop();
19
20 void delay(int ms);
21
22 virtual void run(void* data) = 0;
23
24 void setTaskSize( uint16_t size );
25 void setTaskPriority( uint8_t priority);
26 void setTaskName(std::string name);
27 void setCore(BaseType_t coreID);
28
29private:
30 xTaskHandle m_handle;
31 void* m_taskdata;
32 static void runTask(void* data);
33 std::string m_taskname;
34 uint16_t m_tasksize;
35 uint8_t m_priority;
36 BaseType_t m_coreid;
37 /* data */
38};
39
40#endif
41
42#endif //_TASK_PERSION_H_
Definition: Task.h:13
void setTaskSize(uint16_t size)
Definition: Task.cpp:63
Task(std::string taskName="task", uint16_t taskSize=10240, uint8_t priority=5)
Definition: Task.cpp:14
virtual void run(void *data)=0
~Task()
Definition: Task.cpp:24
void setCore(BaseType_t coreID)
Definition: Task.cpp:78
void start(void *taskData=nullptr)
Definition: Task.cpp:37
void setTaskPriority(uint8_t priority)
Definition: Task.cpp:68
void delay(int ms)
Definition: Task.cpp:58
void stop()
Definition: Task.cpp:47
void setTaskName(std::string name)
Definition: Task.cpp:73