Finished Firmware for Vacum
This commit is contained in:
14
vacum-control/vacum-control-firmware/include/pinConfig.hpp
Normal file
14
vacum-control/vacum-control-firmware/include/pinConfig.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#define LED1_PIN 16
|
||||
#define LED2_PIN 25
|
||||
|
||||
#define RELAY_PIN 15
|
||||
|
||||
#define GORPC_INT_PIN 3
|
||||
#define GORPC_SDA_PIN 4
|
||||
#define GORPC_SCL_PIN 5
|
||||
|
||||
#define BUTTON_PIN 17
|
||||
|
||||
#define INTERRUPTION_DURATION ((int)(2.5 * 1000))
|
||||
#define INTERRUPTION_DELAY 5 * 1000
|
||||
28
vacum-control/vacum-control-firmware/include/vacum.hpp
Normal file
28
vacum-control/vacum-control-firmware/include/vacum.hpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
#include "pinConfig.hpp"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
void vInterruptionTaskFn(void *pvParameters);
|
||||
void vButtonTaskFn(void *pvParameters);
|
||||
|
||||
class VacumControl {
|
||||
private:
|
||||
bool state = false;
|
||||
xSemaphoreHandle vacumMutex;
|
||||
xSemaphoreHandle interruptionSemaphore;
|
||||
|
||||
xTaskHandle interruptionTask;
|
||||
xTaskHandle buttonTask;
|
||||
public:
|
||||
VacumControl();
|
||||
|
||||
void initVacumPins();
|
||||
void setState(bool on);
|
||||
|
||||
void interruptionTaskFn();
|
||||
void buttonTaskFn();
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user