#pragma once #include "pinConfigNode.hpp" #include "FreeRTOS.h" #include "task.h" #include "semphr.h" void vInterruptionTaskFn(void *pvParameters); void vButtonTaskFn(void *pvParameters); class VacumControl { private: uint coreMask; bool state = false; xSemaphoreHandle vacumMutex; xSemaphoreHandle interruptionSemaphore; xTaskHandle interruptionTask; xTaskHandle buttonTask; public: VacumControl(uint coreMask); void initVacumPins(); void setState(bool on); void interruptionTaskFn(); void buttonTaskFn(); };