Frästisch mit elektronischer Höhenverstellung mittels Schrittmotoren.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RouterElevator.h 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * RouterElevator.h
  3. *
  4. * Created on: 12.02.2022
  5. * Author: FSmilari
  6. */
  7. #ifndef ROUTERELEVATOR_H_
  8. #define ROUTERELEVATOR_H_
  9. #include <Arduino.h>
  10. #include <ESP_FlexyStepper.h>
  11. #include "Display.h"
  12. #include "WLS.h"
  13. #include "RouterSetup.h"
  14. #include "ValueMode.h"
  15. class RouterElevator {
  16. private:
  17. ESP_FlexyStepper &Stepper;
  18. Display &display;
  19. RouterSetup &Router_Setup;
  20. int previousDirection = 0;
  21. byte limitSwitchState = 1;
  22. int LimitSwitch;
  23. WLS &WlsDetect, &Wls;
  24. int DOWNWARD_DIR;
  25. int UPWARD_DIR;
  26. float targetDistance;
  27. ValueMode mode;
  28. public:
  29. RouterElevator(ESP_FlexyStepper &_Stepper, Display &_display, RouterSetup &_Router_Setup,
  30. WLS &_WlsDetect, WLS &_Wls, int _LimitSwitch, int _DOWNWARD_DIR);
  31. void setZeroPosition(void);
  32. void moveRelativeInMillimeters(float distanceInMillimeters);
  33. void moveToLowerLimitSwitch(void);
  34. void moveToUpperLimitSwitch(void);
  35. void moveToTarget(void);
  36. void moveToParkPosition(void);
  37. void clearLimitSwitch(void);
  38. void tryReleaseLimitSwitch(void);
  39. bool isLimitSwitchTriggerd(void);
  40. bool isWLSTriggerd(void);
  41. bool isTargetPositionReached(void);
  42. void limitSwitchHandler(void);
  43. void checkDirection(void);
  44. ValueMode getMode() const;
  45. void setMode(ValueMode mode);
  46. void toggleMode();
  47. void onRotaryControlerTurn(RotaryEncoder::Direction turn);
  48. };
  49. #endif /* ROUTERELEVATOR_H_ */