Kstars

indifocuser.h
1 /*
2  SPDX-FileCopyrightText: 2012 Jasem Mutlaq <[email protected]>
3 
4  SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "indiconcretedevice.h"
10 
11 namespace ISD
12 {
13 /**
14  * @class Focuser
15  * Focuser class handles control of INDI focuser devices. Both relative and absolute focusers can be controlled.
16  *
17  * @author Jasem Mutlaq
18  */
19 
20 class Focuser : public ConcreteDevice
21 {
22  Q_OBJECT
23 
24  public:
25  enum FocusDirection
26  {
27  FOCUS_INWARD,
28  FOCUS_OUTWARD
29  };
30  enum FocusDeviation
31  {
32  NIKONZ6
33  };
34 
36 
37  void registerProperty(INDI::Property prop) override;
38  void processNumber(INumberVectorProperty *nvp) override;
39 
40  bool focusIn();
41  bool focusOut();
42  bool stop();
43  bool moveByTimer(int msecs);
44  bool moveAbs(int steps);
45  bool moveRel(int steps);
46 
47  bool canAbsMove();
48  bool canRelMove();
49  bool canTimerMove();
50  bool canManualFocusDriveMove();
51  double getLastManualFocusDriveValue();
52 
53  bool hasBacklash();
54  bool hasDeviation();
55  bool setBacklash(int32_t steps);
56  int32_t getBacklash();
57 
58  bool getFocusDirection(FocusDirection *dir);
59 
60  // Max Travel
61  uint32_t getmaxPosition()
62  {
63  return m_maxPosition;
64  }
65  bool setMaxPosition(uint32_t steps);
66 
67  private:
68  uint32_t m_maxPosition {0};
69  int deviation = -1;
70 
71 };
72 }
Q_OBJECTQ_OBJECT
The ConcreteDevice class.
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 12 2022 04:00:54 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.