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;
115 return m_FilterManager;
122 void disconnectDevices(SequenceJobState *state);
130 void setRotatorAngle(
double rawAngle);
135 double getRotatorAngle();
140 IPState getRotatorAngleState();
146 void reverseRotator(
bool toggled);
152 void readRotatorAngle();
162 void setCCDTemperature(
double temp);
168 void enableCCDBatchMode(
bool enable);
173 void abortFastExposure();
196 double cameraOffset();
201 double cameraTemperature();
210 void setFilterPosition(
int targetFilterPosition, FilterManager::FilterPolicy policy = FilterManager::ALL_POLICIES);
214 void updateFilterPosition();
223 void askManualScopeCover(
QString question,
QString title,
bool light);
227 void askManualScopeOpen(
bool light);
231 void setLightBoxLight(
bool on);
235 void parkDustCap(
bool park);
239 void slewTelescope(
SkyPoint &target);
243 void setScopeTracking(
bool on);
247 void setScopeParked(
bool parked);
251 void setDomeParked(
bool parked);
255 void flatSyncFocus(
int targetFilterID);
264 void queryHasShutter();
270 void filterIdChanged(
int id);
280 void CameraConnected(
bool connected);
284 void newCCDTemperatureValue(
double value);
293 void newRotatorAngle(
double value, IPState state);
297 void rotatorReverseToggled(
bool enabled);
302 void newFilterWheel(
QString name);
307 void FilterWheelConnected(
bool connected);
311 void manualScopeCoverUpdated(
bool closed,
bool success,
bool light);
315 void lightBoxLight(
bool on);
319 void dustCapStatusChanged(ISD::DustCap::Status status);
323 void scopeStatusChanged(ISD::Mount::Status status);
327 void pierSideChanged(ISD::Mount::PierSide pierside);
331 void scopeParkStatusChanged(ISD::ParkStatus status);
335 void domeStatusChanged(ISD::Dome::Status status);
339 void flatSyncFocusChanged(
bool completed);
343 void hasShutter(
bool present);
350 void readCurrentState(CaptureState state);
354 void readCurrentMountParkState();
374 ISD::FilterWheel * m_ActiveFilterWheel {
nullptr };
379 bool m_ManualLightCoveringAsked {
false };
380 bool m_ManualLightOpeningAsked {
false };
383 bool m_ManualDarkCoveringAsked {
false };
384 bool m_ManualDarkOpeningAsked {
false };
389 void connectDustCap(SequenceJobState *state);
390 void disconnectDustCap(SequenceJobState *state);
391 void connectMount(SequenceJobState *state);
392 void disconnectMount(SequenceJobState *state);
393 void connectDome(SequenceJobState *state);
394 void disconnectDome(SequenceJobState *state);
395 void connectRotator(SequenceJobState *state);
396 void disconnectRotator(SequenceJobState *state);
397 void connectActiveCamera(SequenceJobState *state);
398 void disconnectActiveCamera(SequenceJobState *state);
399 void connectFilterManager(SequenceJobState *state);
400 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.