Instrument Neutral Distributed Interface INDI 2.2.5
scopedome_sim.h
Go to the documentation of this file.
1/*******************************************************************************
2 ScopeDome Dome INDI Driver
3
4 Copyright(c) 2017-2021 Jarno Paananen. All rights reserved.
5
6 based on:
7
8 ScopeDome Windows ASCOM driver version 5.1.30
9
10 and
11
12 Copyright(c) 2014 Jasem Mutlaq. All rights reserved.
13
14 Baader Planetarium Dome INDI Driver
15
16 This library is free software; you can redistribute it and/or
17 modify it under the terms of the GNU Library General Public
18 License version 2 as published by the Free Software Foundation.
19 .
20 This library is distributed in the hope that it will be useful,
21 but WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 Library General Public License for more details.
24 .
25 You should have received a copy of the GNU Library General Public License
26 along with this library; see the file COPYING.LIB. If not, write to
27 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
28 Boston, MA 02110-1301, USA.
29*******************************************************************************/
30
31#pragma once
32
33#include "scopedome_dome.h"
34
38class ScopeDomeSim final : public ScopeDomeCard
39{
40 public:
44 virtual ~ScopeDomeSim() = default;
45
46 ScopeDomeSim(const ScopeDomeSim &) = delete;
48
49 virtual bool detect() override;
50 virtual void setPortFD(int fd) override
51 {
52 (void)fd;
53 };
54
55 // State polling
56 virtual int updateState() override;
57 virtual uint32_t getStatus() override;
58 virtual int getRotationCounter() override;
59 virtual int getRotationCounterExt() override;
60
61 // Information
62 virtual void getFirmwareVersions(double &main, double &rotary) override;
63 virtual uint32_t getStepsPerRevolution() override;
64 virtual bool isCalibrationNeeded() override;
65
66 // Commands
67 virtual void abort() override;
68 virtual void calibrate() override;
69 virtual void findHome() override;
70 virtual void controlShutter(ShutterOperation operation) override;
71
72 virtual void resetCounter() override;
73
74 // negative means CCW, positive CW steps
75 virtual void move(int steps) override;
76
77 // Input/Output management
78 virtual size_t getNumberOfSensors() override;
79 virtual SensorInfo getSensorInfo(size_t index) override;
80 virtual double getSensorValue(size_t index) override;
81
82 virtual size_t getNumberOfRelays() override;
83 virtual RelayInfo getRelayInfo(size_t index) override;
84 virtual ISState getRelayState(size_t index) override;
85 virtual void setRelayState(size_t index, ISState state) override;
86
87 virtual size_t getNumberOfInputs() override;
88 virtual InputInfo getInputInfo(size_t index) override;
89 virtual ISState getInputValue(size_t index) override;
90
91 virtual ISState getInputState(AbstractInput input) override;
92 virtual int setOutputState(AbstractOutput output, ISState state) override;
93
94 virtual void setHomeSensorPolarity(HomeSensorPolarity polarity) override;
95 private:
96 //ISState digitalSensorState[32];
97
98 //int currentStep;
99
100 //int shutterStatus;
101
102 static const uint32_t STEPS_PER_REVOLUTION = 3240;
103};
virtual size_t getNumberOfRelays() override
virtual void setRelayState(size_t index, ISState state) override
ScopeDomeSim & operator=(const ScopeDomeSim &)=delete
virtual uint32_t getStepsPerRevolution() override
virtual bool detect() override
virtual ISState getInputValue(size_t index) override
virtual void resetCounter() override
virtual void calibrate() override
virtual bool isCalibrationNeeded() override
virtual SensorInfo getSensorInfo(size_t index) override
virtual ISState getInputState(AbstractInput input) override
virtual int getRotationCounterExt() override
virtual ~ScopeDomeSim()=default
virtual double getSensorValue(size_t index) override
virtual void controlShutter(ShutterOperation operation) override
virtual void getFirmwareVersions(double &main, double &rotary) override
virtual int getRotationCounter() override
virtual size_t getNumberOfSensors() override
virtual size_t getNumberOfInputs() override
virtual void findHome() override
ScopeDomeSim(const ScopeDomeSim &)=delete
virtual void abort() override
virtual RelayInfo getRelayInfo(size_t index) override
virtual void setHomeSensorPolarity(HomeSensorPolarity polarity) override
virtual void move(int steps) override
virtual InputInfo getInputInfo(size_t index) override
virtual uint32_t getStatus() override
virtual ISState getRelayState(size_t index) override
virtual int setOutputState(AbstractOutput output, ISState state) override
virtual int updateState() override
virtual void setPortFD(int fd) override
int main()
ISState
Switch state.
Definition indiapi.h:148
int fd