11#include "indi/indicommon.h"
14#include "indi/indidome.h"
15#include "indi/indicamerachip.h"
16#include "indi/indidustcap.h"
17#include "indi/indimount.h"
19#include "ekos/auxiliary/filtermanager.h"
30class SequenceJobState;
32class CaptureDeviceAdaptor:
public QObject
37 CaptureDeviceAdaptor() {}
54 m_ActiveLightBox = device;
58 return m_ActiveLightBox;
64 return m_ActiveDustCap;
82 return m_ActiveRotator;
88 return m_ActiveCamera;
93 m_ActiveChip = device;
106 void setFilterWheel(ISD::FilterWheel *device);
107 ISD::FilterWheel *filterWheel()
109 return m_ActiveFilterWheel;
112 void clearFilterManager();
116 return m_FilterManager;
123 void disconnectDevices(SequenceJobState *state);
131 void setRotatorAngle(
double rawAngle);
136 double getRotatorAngle();
141 IPState getRotatorAngleState();
147 void reverseRotator(
bool toggled);
153 void readRotatorAngle();
163 void setCCDTemperature(
double temp);
169 void enableCCDBatchMode(
bool enable);
174 void abortFastExposure();
197 double cameraOffset();
202 double cameraTemperature();
211 void setFilterPosition(
int targetFilterPosition, FilterManager::FilterPolicy policy = FilterManager::ALL_POLICIES);
215 void updateFilterPosition();
219 void setFilterChangeFailed();
228 void askManualScopeCover(
QString question,
QString title,
bool light);
232 void askManualScopeOpen(
bool light);
236 void setLightBoxLight(
bool on);
240 void parkDustCap(
bool park);
244 void slewTelescope(
SkyPoint &target);
248 void setScopeTracking(
bool on);
252 void setScopeParked(
bool parked);
256 void setDomeParked(
bool parked);
260 void flatSyncFocus(
int targetFilterID);
269 void queryHasShutter();
275 void filterIdChanged(
int id);
285 void CameraConnected(
bool connected);
289 void newCCDTemperatureValue(
double value);
298 void newRotatorAngle(
double value, IPState state);
302 void rotatorReverseToggled(
bool enabled);
307 void newFilterWheel(
QString name);
312 void FilterWheelConnected(
bool connected);
316 void manualScopeCoverUpdated(
bool closed,
bool success,
bool light);
320 void lightBoxLight(
bool on);
324 void dustCapStatusChanged(ISD::DustCap::Status status);
328 void scopeStatusChanged(ISD::Mount::Status status);
332 void pierSideChanged(ISD::Mount::PierSide pierside);
336 void scopeParkStatusChanged(ISD::ParkStatus status);
340 void domeStatusChanged(ISD::Dome::Status status);
344 void flatSyncFocusChanged(
bool completed);
348 void hasShutter(
bool present);
355 void readCurrentState(CaptureState state);
359 void readCurrentMountParkState();
379 ISD::FilterWheel * m_ActiveFilterWheel {
nullptr };
384 bool m_ManualLightCoveringAsked {
false };
385 bool m_ManualLightOpeningAsked {
false };
388 bool m_ManualDarkCoveringAsked {
false };
389 bool m_ManualDarkOpeningAsked {
false };
394 void connectDustCap(SequenceJobState *state);
395 void disconnectDustCap(SequenceJobState *state);
396 void connectMount(SequenceJobState *state);
397 void disconnectMount(SequenceJobState *state);
398 void connectDome(SequenceJobState *state);
399 void disconnectDome(SequenceJobState *state);
400 void connectRotator(SequenceJobState *state);
401 void disconnectRotator(SequenceJobState *state);
402 void connectActiveCamera(SequenceJobState *state);
403 void disconnectActiveCamera(SequenceJobState *state);
404 void connectFilterManager(SequenceJobState *state);
405 void disconnectFilterManager(SequenceJobState *state);
CameraChip class controls a particular chip in camera.
Camera class controls an INDI Camera device.
Class handles control of INDI dome devices.
Handles operation of a remotely controlled dust cover cap.
Handles operation of a remotely controlled light box.
device handle controlling Mounts.
Rotator class handles control of INDI Rotator devices.
The sky coordinates of a point in the sky.
Ekos is an advanced Astrophotography tool for Linux.