Frästisch mit elektronischer Höhenverstellung mittels Schrittmotoren.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

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_ */