/* * RouterElevator.h * * Created on: 12.02.2022 * Author: FSmilari */ #ifndef ROUTERELEVATOR_H_ #define ROUTERELEVATOR_H_ #include #include #include "Display.h" #include "WLS.h" class RouterElevator { private: ESP_FlexyStepper Stepper; Display display; int previousDirection = 0; byte limitSwitchState = 1; int LimitSwitch; WLS &WlsDetect, &Wls; int DOWNWARD_DIR; int UPWARD_DIR; public: RouterElevator(ESP_FlexyStepper &_Stepper, Display &_display, WLS &_WlsDetect, WLS &_Wls, int _LimitSwitch, int _DOWNWARD_DIR); void setZeroPosition(void); void moveRelativeInMillimeters(float distanceInMillimeters); void moveToLowerLimitSwitch(void); void moveToUpperLimitSwitch(void); void clearLimitSwitch(void); void tryReleaseLimitSwitch(void); bool isLimitSwitchTriggerd(void); bool isWLSTriggerd(void); bool isTargetPositionReached(void); void limitSwitchHandler(void); void checkDirection(void); }; #endif /* ROUTERELEVATOR_H_ */