30 lines
636 B
C++
30 lines
636 B
C++
#include "freertos/idf_additions.h"
|
|
#include "esp_heap_caps.h"
|
|
#include "program.h"
|
|
|
|
Program::Program(DISPLAY_STATE* display_state) {
|
|
_display_state = display_state;
|
|
}
|
|
|
|
int Program::init(int id, std::string name, Window* window) {
|
|
_id = id;
|
|
_task_name = name;
|
|
_window = window;
|
|
|
|
xTaskCreatePinnedToCore(loop, _task_name.c_str(), 4096, this, 1, &_task_handle, 0);
|
|
|
|
return _id;
|
|
}
|
|
|
|
void Program::close() {
|
|
vTaskDelete(_task_handle);
|
|
}
|
|
|
|
void Program::loop(void* pvParameters) {
|
|
Program* self = static_cast<Program*>(pvParameters);
|
|
|
|
for(;;) {
|
|
self->_display_state->update_display.store(true);
|
|
vTaskDelay(500);
|
|
}
|
|
} |