Instrument Neutral Distributed Interface INDI  2.0.2
trutech_wheel.h
Go to the documentation of this file.
1 /*******************************************************************************
2  Copyright(c) 2020 Jasem Mutlaq. All rights reserved.
3 
4  Tru Technology Filter Wheel
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Library General Public
8  License version 2 as published by the Free Software Foundation.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 *******************************************************************************/
20 
21 #pragma once
22 
23 #include "indifilterwheel.h"
24 
25 class TruTech : public INDI::FilterWheel
26 {
27  public:
28  TruTech();
29  virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override;
30 
31  protected:
32  const char *getDefaultName() override;
33  bool initProperties() override;
34  bool updateProperties() override;
35 
36  bool Handshake() override;
37 
38  int QueryFilter() override;
39  bool SelectFilter(int) override;
40  void TimerHit() override;
41 
42  private:
43 
44  bool home();
45 
46  ISwitch HomeS[1];
47  ISwitchVectorProperty HomeSP;
48 };
int QueryFilter() override
Return current filter position.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
bool initProperties() override
Initilize properties initial state and value. The child class must implement this function.
bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
bool SelectFilter(int) override
Select a new filter position.
void TimerHit() override
Callback function to be called once SetTimer duration elapses.
const char * getDefaultName() override
bool Handshake() override
perform handshake with device to check communication
ISState
Switch state.
Definition: indiapi.h:150
One switch descriptor.
Switch vector property descriptor.
Definition: indiapi.h:367