120 return (
const char *)
"ScopeDome Dome";
144 virtual void move(
int steps) = 0;
200 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
201 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
202 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
208 virtual bool Abort()
override;
265 uint16_t currentStatus;
266 int32_t currentRotation;
267 int32_t rotationCounter;
269 uint32_t stepsPerRevolution;
271 std::unique_ptr<ScopeDomeCard> interface;
273 IPState sendMove(
double azDiff);
276 std::vector<uint16_t> inertiaTable;
277 int compensateInertia(
int steps);
284 bool reconnecting{
false};
292 float getDewPoint(
float RH,
float T);
Class to provide general functionality of a Dome device.
ShutterOperation
Shutter operation command.
virtual bool isCalibrationNeeded()=0
virtual void getFirmwareVersions(double &main, double &rotary)=0
virtual void findHome()=0
virtual InputInfo getInputInfo(size_t index)=0
virtual double getSensorValue(size_t index)=0
virtual ISState getRelayState(size_t index)=0
virtual int getRotationCounter()=0
virtual RelayInfo getRelayInfo(size_t index)=0
virtual size_t getNumberOfRelays()=0
virtual uint32_t getStepsPerRevolution()=0
virtual ISState getInputState(AbstractInput input)=0
virtual int getRotationCounterExt()=0
virtual ISState getInputValue(size_t index)=0
virtual void setRelayState(size_t index, ISState state)=0
virtual void resetCounter()=0
virtual uint32_t getStatus()=0
virtual void setHomeSensorPolarity(HomeSensorPolarity polarity)=0
virtual size_t getNumberOfSensors()=0
virtual void controlShutter(ShutterOperation operation)=0
virtual void move(int steps)=0
virtual int updateState()=0
virtual size_t getNumberOfInputs()=0
virtual SensorInfo getSensorInfo(size_t index)=0
virtual int setOutputState(AbstractOutput output, ISState state)=0
virtual void setPortFD(int fd)=0
@ STATUS_CALIBRATION_STOP
const char * getDeviceName()
virtual void calibrate()=0
virtual ~ScopeDomeCard()=default
virtual ~ScopeDome()=default
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
INDI::PropertySwitch DerotateSP
virtual const char * getDefaultName() override
virtual bool SetDefaultPark() override
SetDefaultPark Set default coordinates/encoders value as the desired parking position.
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
INDI::PropertyText CredentialsTP
ShutterState simShutterStatus
INDI::PropertySwitch FindHomeSP
ShutterOperation targetShutter
virtual bool SetCurrentPark() override
SetCurrentPark Set current coordinates/encoders value as the desired parking position.
INDI::PropertyNumber DomeHomePositionNP
virtual bool initProperties() override
Initilize properties initial state and value. The child class must implement this function.
bool UpdateSensorStatus()
INDI::PropertyNumber FirmwareVersionsNP
virtual IPState MoveRel(double azDiff) override
Move the Dome to an relative position.
virtual IPState ControlShutter(ShutterOperation operation) override
Open or Close shutter.
virtual IPState UnPark() override
UnPark dome. The action of the Unpark command is dome specific, but it may include opening the shutte...
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual bool Abort() override
Abort all dome motion.
INDI::PropertySwitch CardTypeSP
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
bool UpdateShutterStatus()
virtual bool Handshake() override
perform handshake with device to check communication
INDI::PropertySwitch StartCalibrationSP
INDI::PropertySwitch HomeSensorPolaritySP
INDI::PropertySwitch InputsSP
INDI::PropertySwitch RelaysSP
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Saves the Device Port and Dome Presets in the configuration file
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
INDI::PropertyNumber SensorsNP
virtual IPState MoveAbs(double az) override
Move the Dome to an absolute azimuth.
INDI::PropertyNumber StepsPerRevolutionNP
INDI::PropertySwitch CalibrationNeededSP
virtual IPState Move(DomeDirection dir, DomeMotionCommand operation) override
Move the Dome in a particular direction.
virtual IPState Park() override
Goto Park Position. The park position is an absolute azimuth value.