.. _program_listing_file_components_Task_src_Task.h: Program Listing for File Task.h =============================== |exhale_lsh| :ref:`Return to documentation for file ` (``components/Task/src/Task.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Task.h * * Created on: Mar 4, 2017 * Author: kolban */ #ifndef TASK_H_ #define TASK_H_ #include #include #include class Task { public: Task(std::string task_name = "Task", uint16_t stack_size = 10000, uint8_t priority = 5); virtual ~Task(); void setStackSize(uint16_t stack_size); void setPriority(uint8_t priority); void setName(std::string name); void setCore(BaseType_t core_id); void start(void* task_data = nullptr); void stop(); virtual void run(void* data) = 0; // Make run pure virtual static void delay(int ms); private: xTaskHandle m_handle; void* m_task_data; static void runTask(void* task_instance); std::string m_task_name; uint16_t m_stack_size; uint8_t m_priority; BaseType_t m_core_id; }; #endif /* COMPONENTS_CPP_UTILS_TASK_H_ */