Frästisch mit elektronischer Höhenverstellung mittels Schrittmotoren.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

RouterElevator.h 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 checkDirection(void);
  47. ValueMode getMode() const;
  48. void setMode(ValueMode mode);
  49. void toggleMode();
  50. void onRotaryControlerTurn(RotaryEncoder::Direction turn);
  51. bool isDoDiveInitialization() const;
  52. void setDoDiveInitialization(bool doDiveInitialization);
  53. float getMaxDiveDistance() const;
  54. void setMaxDiveDistance();
  55. bool incrementDiveDistance();
  56. bool maxDiveDistanceReached();
  57. void resetNullingDone();
  58. };
  59. #endif /* ROUTERELEVATOR_H_ */