Files
gobot/stone-dispencer-control/firmware-stone-dispencer/include/headSystem.hpp
2025-01-02 19:10:59 +01:00

44 lines
763 B
C++

#pragma once
#include "pinConfig.hpp"
#include "FreeRTOS.h"
#include "queue.h"
#include "semphr.h"
enum STONE_STATE {
EMPTY = 0b00, FULL = 0b10, LOW = 0b01
};
void vHeadTaskFn(void *pvParameters);
class HeadSystem {
private:
unsigned int motor_chopper1_slice_num;
unsigned int motor_chopper2_slice_num;
unsigned int motor_z_axis_slice_num;
bool headUp = false;
STONE_STATE stoneState;
xQueueHandle headStateQueue;
xSemaphoreHandle headSateSemaphore;
xTaskHandle headTaskHandle;
public:
HeadSystem();
void initPins();
void setChopper(bool open1, bool open2);
void setHeadUp(bool up);
bool preLoad();
STONE_STATE dropStone();
STONE_STATE dropSequence();
void vHeadTask();
};