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.8KB

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