Frästisch mit elektronischer Höhenverstellung mittels Schrittmotoren.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

RouterElevator.h 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. float maxDiveDistance;
  28. ValueMode mode;
  29. bool doDiveInitialization;
  30. public:
  31. RouterElevator(ESP_FlexyStepper &_Stepper, Display &_display, RouterSetup &_Router_Setup,
  32. WLS &_WlsDetect, WLS &_Wls, int _LimitSwitch, int _DOWNWARD_DIR);
  33. void setZeroPosition(void);
  34. void moveRelativeInMillimeters(float distanceInMillimeters);
  35. void moveToLowerLimitSwitch(void);
  36. void moveToUpperLimitSwitch(void);
  37. void moveToTarget(void);
  38. void moveToParkPosition(void);
  39. void clearLimitSwitch(void);
  40. void tryReleaseLimitSwitch(void);
  41. bool isLimitSwitchTriggerd(void);
  42. bool isWLSTriggerd(void);
  43. bool isTargetPositionReached(void);
  44. void limitSwitchHandler(void);
  45. void checkDirection(void);
  46. ValueMode getMode() const;
  47. void setMode(ValueMode mode);
  48. void toggleMode();
  49. void onRotaryControlerTurn(RotaryEncoder::Direction turn);
  50. bool isDoDiveInitialization() const;
  51. void setDoDiveInitialization(bool doDiveInitialization);
  52. float getMaxDiveDistance() const;
  53. void setMaxDiveDistance();
  54. bool incrementDiveDistance();
  55. };
  56. #endif /* ROUTERELEVATOR_H_ */