DLAPI 4.1.1.0
An API for controlling Aluma branded cameras
C:/Users/arobi/Perforce/nightly/DL_Imaging/Aluma_Software/dlapi/src/dlapi.h
Go to the documentation of this file.
1#ifndef DL_H
2#define DL_H
3
13#include <stddef.h>
14#include <cstdint>
15
16#define DL_STRUCTALIGN 4
17
18// Windows DLL Exports
19#if defined(_WIN32) || defined(_WIN64)
20 // Dynamic Linking
21# ifndef DL_STATICLIB
22# ifdef DL_EXPORTS
23# define DL_API extern "C" __declspec(dllexport)
24# else
25# define DL_API extern "C" __declspec(dllimport)
26# endif
27
28# define MYCDECL __cdecl
29
30 // Static Linking
31# else
32# define DL_API
33# define MYCDECL
34# endif
35
36#else
37
38// Define macros for Non-Windows systems
39
40#define DL_API extern "C"
41#define DL_GUI_API
42#define MYCDECL
43
44#endif
45
71namespace dl
72{
104
111 {
112 North = 0,
113 South = 1,
114 East = 2,
115 West = 3,
116 };
117
129 using FilterType = EFilterType; // Kept for compatibility purposes [[deprecated]]
130
144
161
167 {
168 AdHoc = 0,
169 Open = 1,
170 WEP = 2,
171 WPA = 3,
172 WPA2 = 4,
173 InvalidNetworkMode = 0xff
174 };
175
191
195 namespace ErrorFlags {
196
200 namespace TEC {
201 static const int ThermistorErrorFlagMask = 0x00000003; //<! Mask for thermistor error flags. \see ICamera::Status::flag
202 static const int SensorThermistorErrorFlag = 0x00000001; //<! Error flag for sensor thermistor. \see ICamera::Status::flag
203 static const int HeatSinkThermistorErrorFlag = 0x00000002; //<! Error flag for heatsink thermistor. \see ICamera::Status::flag
204 }
205
209 namespace AO {
210 static const unsigned char statusMask = 0x0f;
211 static const unsigned char busy = 0x01;
212 static const unsigned char badCalibration = 0x02;
213 static const unsigned char reserved = 0x04;
214 static const unsigned char badCommand = 0x08;
215 }
216 }
217
223 namespace PulseGuideStatus
224 {
225 static const unsigned char c_xBusy = 0x01;
226 static const unsigned char c_yBusy = 0x02;
227 }
228
237# pragma pack(push, DL_STRUCTALIGN)
239 {
240 unsigned int width;
241 unsigned int height;
242 unsigned int offsetX;
243 unsigned int offsetY;
244 unsigned int binX;
245 unsigned int binY;
246 float eGain;
248 };
249
258 {
259 float duration;
260 unsigned int readoutMode;
261 char binX;
262 char binY;
266 };
267
276 {
277 int top;
278 int left;
279 int width;
280 int height;
281 int binX;
282 int binY;
283 };
284
285
299 {
300 unsigned int ssidLength;
301 unsigned int passphraseLength;
303 char ssid[32];
304 char passphrase[64];
307 };
308
365# pragma pack(pop)
366
405 class IImage
406 {
407 public:
415 virtual unsigned short * getBufferData() const = 0;
416
424 virtual unsigned int getBufferLength() const = 0;
425
434 virtual TImageMetadata getMetadata() const = 0;
435 };
436
437 typedef IImage* IImagePtr;
438
439 // TODO : Add documentation
441 {
442 unsigned int width;
443 unsigned int height;
444 unsigned int binX;
445 unsigned int binY;
446 float eGain;
447 unsigned int darkCol;
449 unsigned int exposureDelay;
450 unsigned int exposureWindow;
451 };
452
453 // TODO : Add documentation
455 {
456 public:
457 virtual size_t getLayerCount() const = 0;
458 virtual TLayerMetadata getLayerMetadata(unsigned int layer) const = 0;
459 virtual void getExpMidpoint(char * pBuffer, size_t & lng) const = 0;
460 };
461
463
464 namespace V2 {
465
490 class IImage : public IImageExt
491 {
492 public:
493
495 public:
496 enum class Type {
497 UNKNOWN = 0,
498 INT,
499 FLOAT,
500 DOUBLE,
501 STRING,
502 BOOL,
503 };
504
505 virtual unsigned int id() const = 0;
506 virtual const char* key() const = 0;
507 virtual Type type() const = 0;
508
509 // Methods to retrieve the value of the metadata key in various formats
514 virtual const char* value() const = 0;
515
520 virtual int asInt() const = 0;
521
526 virtual float asFloat() const = 0;
527
532 virtual double asDouble() const = 0;
533
538 virtual const char* asString() const = 0;
539
544 virtual bool asBool() const = 0;
545
546 };
547
555 virtual bool hasMetadataKeys() const = 0;
556
563 virtual size_t getMetadataKeyCount() const = 0;
564
572 virtual IMetadataKey* getMetadataKey(size_t index) const = 0;
573
594 virtual IMetadataKey* getMetadataKey(const char* key) const = 0;
595 };
596
598 typedef IImage* IImagePtr;
599
600 }
601
602
677 {
678 public:
679
693
703 virtual void getLastError(char * buffer, size_t& bufferSize) const = 0;
704
714 virtual EStatusCode getAPIStatusCode() const = 0;
715
724 virtual Status getStatus() const = 0;
725
733 virtual Status wait() = 0;
734
742 virtual void release() = 0;
743 };
744
746
747
756 class ITEC
757 {
758 public:
767 virtual bool getEnabled() const = 0;
768
777 virtual float getSetpoint() const = 0;
778
787 virtual float getCoolerPower() const = 0;
788
797 virtual float getSensorThermopileTemperature() const = 0;
798
806 virtual float getHeatSinkThermopileTemperature() const = 0;
807
817 virtual IPromisePtr setState(bool enable, float setpoint) = 0;
818 };
819
820 typedef ITEC* ITECPtr;
821
822
829 class IAO {
830 public:
831
842
854
863 virtual IPromisePtr initialize() = 0;
864
874
886 virtual IPromisePtr setPosition(short tip, short tilt) = 0;
887
896 virtual IAO::Status getStatus() const = 0;
897
909 virtual void getPosition(short &tip, short &tilt) const = 0;
910
923 virtual void getLimits(size_t &tipMin, size_t &tipMax, size_t &tiltMin, size_t &tiltMax) const = 0;
924
933 virtual Model getModel() const = 0;
934 };
935
936 typedef IAO* IAOPtr;
937
944 class IFW {
945 public:
950 enum Model
951 {
953
973
974 // New AFW line where model number represents number of slots (submodels include filter diameter & shape)
990
991 // ^^ new models here ^^
992
994 };
995
1007
1008
1018
1028
1037 virtual int getPosition() const = 0;
1038
1047 virtual IFW::Status getStatus() const = 0;
1048
1057 virtual IFW::Model getModel() const = 0;
1058
1066 virtual unsigned int getSlots() const = 0;
1067
1091 virtual IPromisePtr setPosition(int position) = 0;
1092 };
1093
1094 typedef IFW* IFWPtr;
1095
1096 class IFWExtended : public IFW
1097 {
1098 public:
1099 virtual unsigned int getChildCount() const = 0;
1100 virtual IFW::Model getChildModel(unsigned int) const = 0;
1101 virtual unsigned int getChildSlots(unsigned int) const = 0;
1102
1103 virtual const char* getModelName(unsigned int) const = 0;
1104 };
1106
1113 class ISensor {
1114 public:
1115
1120 enum Model {
1121 RESERVED1 = 0x00,
1122 RESERVED2 = 0x01,
1123 ICX694 = 0x02,
1124 ICX814 = 0x03,
1125 CCD4710 = 0x04,
1126 CCD7700 = 0x05,
1127 RESERVED3 = 0x06,
1128 RESERVED4 = 0x07,
1129 RESERVED5 = 0x09,
1130 RESERVED6 = 0x08,
1131 KAF3200 = 0x0a,
1132 KAF8300 = 0x0b,
1133
1134 RESERVED7 = 0x10,
1135 RESERVED8 = 0x11,
1136
1137 RESERVEDB1 = 0x100,
1138
1139 RESERVEDC1 = 0x200,
1140
1141 GSENSE4040 = 0x300,
1143
1144 GSENSE2020 = 0x600,
1145
1146 P1300 = 0x400,
1147
1148 IMX428 = 0x500,
1150
1151 IMX290 = 0x800,
1152
1153 IMX455 = 0x900,
1154 IMX461 = 0x901,
1155
1157 };
1158
1179
1215
1216 enum class SoftwareBinningMode : int
1217 {
1218 SumAndClip,
1219 Average,
1220
1221 Count,
1222 First = SumAndClip,
1224 };
1225
1235
1242# pragma pack(push, DL_STRUCTALIGN)
1263
1271 {
1272 unsigned int substrateVoltage;
1273 unsigned int channelsInUse;
1274 unsigned int adcGains[4];
1275 int adcOffsets[4];
1276 float eGain;
1277 };
1278
1313# pragma pack(pop)
1314
1322 virtual const unsigned int getSensorId() const = 0;
1323
1332 virtual ISensor::Info getInfo() const = 0;
1333
1343
1352 virtual ISensor::Settings getSettings() const = 0;
1353
1363 virtual int getSetting(ISensor::Setting key) const = 0;
1364
1373 virtual TSubframe getSubframe() const = 0;
1374
1430 virtual IImagePtr getImage() const = 0;
1431
1440 virtual IPromisePtr queryInfo() = 0;
1441
1452
1464
1466
1467 virtual unsigned int getCalibration(ISensor::CalibrationKey key, int subkey) = 0;
1468
1478
1492 virtual IPromisePtr setSetting(ISensor::Setting key, int value) = 0;
1493
1522 virtual IPromisePtr setSubframe(const TSubframe & value) = 0;
1523
1580 virtual IPromisePtr startExposure(const TExposureOptions & params) = 0;
1581
1590 virtual IPromisePtr DebugStartExposure(unsigned int id, const char* exposureType, const TExposureOptions& params) = 0;
1591
1643
1655
1656
1693 virtual void getReadoutModes(char * buf, size_t& lng) const = 0;
1694
1705
1734 virtual void getAdjustableGains(AdjustableGainMode mode, int* pGainEntries, unsigned int& gainEntryCount) const = 0;
1735
1743 virtual unsigned int getAdjustableGainCount(AdjustableGainMode mode) const = 0;
1744
1750 virtual unsigned int getDefaultAdjustableGain(AdjustableGainMode mode) const = 0;
1751 };
1752
1754
1773 {
1774 public:
1779 enum State {
1780 Uninitialized, //<! Uninitialized Camera is uninitialized.
1781 Initializing, //<! Initializing Camera is in process of initializing.
1782 Ready, //<! Ready Camera is ready for operation.
1783 Error //<! Error Camera has had an error.
1785
1816
1854
1863# pragma pack(push, DL_STRUCTALIGN)
1881
1902# pragma pack(pop)
1903
1909 virtual ~ICamera() = 0;
1910
1911 // Query functions ping the camera for updated values.
1912
1927 virtual bool initialize() = 0;
1928
1929
1930
1939 virtual IPromisePtr queryInfo() = 0;
1940
1950
1960
1961
1985
1986 // Commands
1987
2002 virtual IPromisePtr pulseGuide(EPulseGuideDirection direction, unsigned int duration, bool abort) = 0;
2003
2004 // Set functions
2005
2016
2017 // Get functions return buffered values obtained using query functions.
2018
2027 virtual ICamera::Info getInfo() const = 0;
2028
2060 virtual void getSerial(char * buffer, size_t & buffer_length) const = 0;
2061
2071
2091 virtual void getConnectionInfo(char * buffer, size_t &buffer_length) const = 0;
2092
2101 virtual ICamera::Status getStatus() const = 0;
2102
2103
2109 virtual bool getCapability(ICamera::Capability key) const = 0;
2110
2120
2121
2122 // Get Device Interfaces
2123
2137 virtual ISensorPtr getSensor(unsigned int id) const = 0;
2138
2147 virtual ITECPtr getTEC() const = 0;
2148
2157 virtual IAOPtr getAO() const = 0;
2158
2167 virtual IFWPtr getFW() const = 0;
2168 };
2169
2170 namespace V1
2171 {
2174 }
2175
2176 namespace V2
2177 {
2179 {
2180 public:
2181 virtual bool getConnection() const = 0;
2182 virtual void setConnection(bool enable) = 0;
2183 };
2185
2186
2188 {
2189 public:
2217 virtual IPromisePtr upload(const char* firmwarePath) = 0;
2218
2219 virtual const char* getFPGAWorkerStatus() const = 0;
2220 };
2221 }
2222
2224
2256 {
2257 public:
2258
2265 virtual ~IGateway() = 0;
2266
2281 virtual TConnectionDetails getCameraConnectionDetails(unsigned int serial) const = 0;
2282
2294 virtual ICameraPtr getCamera(TConnectionDetails details) const = 0;
2295
2311 virtual void queryUSBCameras() = 0;
2312
2322 virtual size_t getUSBCameraCount() const = 0;
2323
2334 virtual ICameraPtr getUSBCamera(unsigned int id) const = 0;
2335
2354 virtual void queryNetCameras() = 0;
2355
2374 virtual void queryNetCamera(const char * ip, size_t port) = 0;
2375
2409// virtual void queryNetCamera(const char* ip, size_t port, const char* nic_ip) = 0;
2410
2411
2421 virtual size_t getNetCameraCount() const = 0;
2422
2432 virtual ICameraPtr getNetCamera(unsigned int id) const = 0;
2433
2444 virtual ICameraPtr getNetCamera(const char * ip, unsigned int port) const = 0;
2445
2446
2451 virtual size_t getCommProtocolVersion() const = 0;
2452
2453 virtual void initFitsDebugSettings() = 0;
2454
2490 virtual void initNetworkConfig(const char* filePath) = 0;
2491 };
2492
2494
2514 {
2515 public:
2523
2530 virtual void setDebugSetting(IDebugControl::Setting setting, int val) = 0;
2531
2548 virtual int getDebugSetting(IDebugControl::Setting setting) const = 0;
2549
2565 virtual bool hasDebugSetting(IDebugControl::Setting setting) const = 0;
2566 };
2567
2585
2596
2597#if defined(_WIN32) || defined(_WIN64)
2600#endif
2601
2602}
2603#endif
AO Interface Class.
Definition dlapi.h:829
virtual void getPosition(short &tip, short &tilt) const =0
Return the buffered Tip/Tilt position of the AO device.
virtual IPromisePtr setPosition(short tip, short tilt)=0
Set the Tip/Tilt position of the AO.
Model
Definition dlapi.h:848
@ UnknownAOModel
AO Model could not be ascertained.
Definition dlapi.h:849
@ AO8
AO-8 model of adaptive optics.
Definition dlapi.h:850
@ InvalidAOModel
AO model was not initialized.
Definition dlapi.h:852
@ AOX
AO-X model of adaptive optics.
Definition dlapi.h:851
virtual IPromisePtr queryStatus()=0
Query the status of the AO device.
virtual IAO::Status getStatus() const =0
Return the buffered status of the AO device.
virtual Model getModel() const =0
Get the model number of the connected AO device.
virtual void getLimits(size_t &tipMin, size_t &tipMax, size_t &tiltMin, size_t &tiltMax) const =0
Return limits for Tip/Tilt position of the AO device.
virtual IPromisePtr initialize()=0
Initialize the AO and retrieve basic model information.
Status
Definition dlapi.h:836
@ Idle
Peripheral is idle.
Definition dlapi.h:837
@ Error
Peripheral is in an error state.
Definition dlapi.h:839
@ Busy
Peripheral is busy.
Definition dlapi.h:838
@ InvalidAOStatus
Peripheral is uninitialized.
Definition dlapi.h:840
Camera interface class.
Definition dlapi.h:1773
virtual IPromisePtr queryCapability(ICamera::Capability key)=0
Queries a camera for a specific capability.
virtual IPromisePtr pulseGuide(EPulseGuideDirection direction, unsigned int duration, bool abort)=0
Executes or aborts a pulse guide operation of given duration and direction.
virtual TNetworkSettings getNetworkSettings() const =0
Returns the buffered network settings.
virtual bool getCapability(ICamera::Capability key) const =0
Returns the buffered value of a successful call to ICamera::queryCapability()
virtual EEndpointType getConnectionType() const =0
Returns the connection type of the camera (USB, Networked, etc).
virtual IPromisePtr queryNetworkSettings()=0
Queries the camera's network settings.
virtual ITECPtr getTEC() const =0
Returns a pointer to the camera's TEC (if one is available).
virtual IFWPtr getFW() const =0
Returns a pointer to the camera's FW (if one is available).
virtual ICamera::Info getInfo() const =0
Returns the buffered ICamera::Info structure.
virtual bool initialize()=0
Initializes the camera by fetching operational status, and initializing the various peripherals.
virtual IPromisePtr queryStatus()=0
Queries the camera's ICamera::Status structure.
virtual ISensorPtr getSensor(unsigned int id) const =0
Returns a pointer to the indexed sensor (zero is always the primary imaging chip).
State
Definition dlapi.h:1779
@ Error
Definition dlapi.h:1783
@ Ready
Definition dlapi.h:1782
@ Uninitialized
Definition dlapi.h:1780
@ Initializing
Definition dlapi.h:1781
Model
Definition dlapi.h:1790
@ AlumaAC2020
06 Aluma AC2020 only
Definition dlapi.h:1797
@ Aluma
00 Aluma and AlumaCCD model cameras
Definition dlapi.h:1791
@ Reserved9
Definition dlapi.h:1801
@ InvalidCameraModel
Camera has not been initialized/reported invalid model.
Definition dlapi.h:1804
@ StarChaserC
08 CMOS variants of the StarChaser brand
Definition dlapi.h:1799
@ StarChaser4
08 StarChaser 4 (USB3 compatible variants)
Definition dlapi.h:1814
@ Reserved3
Definition dlapi.h:1807
@ StarChaserP3
Definition dlapi.h:1813
@ AlumaAC461
Definition dlapi.h:1802
@ Reserved4
Historical Convenience.
Definition dlapi.h:1805
@ StarChaser
04 StarChaser model cameras
Definition dlapi.h:1795
@ StarChaserE
07 StarChaser E (new P3 variant)
Definition dlapi.h:1798
@ Reserved6
Definition dlapi.h:1808
@ STC
05 STC-7 and STC-428
Definition dlapi.h:1796
@ AlumaCMOS
03 Aluma AC4040 and AC4040BSI
Definition dlapi.h:1794
@ Reserved1
Definition dlapi.h:1811
@ Reserved10
Definition dlapi.h:1812
@ Reserved8
Definition dlapi.h:1810
@ AlumaPro
01 Aluma Pro model cameras
Definition dlapi.h:1792
@ Reserved5
Definition dlapi.h:1806
@ Reserved7
Definition dlapi.h:1809
@ AlumaAC455
Definition dlapi.h:1800
@ Reserved2
02 Reserved for future use
Definition dlapi.h:1793
virtual void getConnectionInfo(char *buffer, size_t &buffer_length) const =0
Returns a human readable information string about the camera's connection (IP Address,...
Capability
Definition dlapi.h:1821
@ eSupportsMetadataKeys
Camera supports the use of metadata keys.
Definition dlapi.h:1843
@ eSupportsGuidePort
Camera supports control of a guide system via a guide port.
Definition dlapi.h:1828
@ eSupportsInputVoltage
Definition dlapi.h:1837
@ eSupportsCoolerTemp
Camera supports querying of cooler temperature.
Definition dlapi.h:1824
@ eSupportsInternalStacking
Camera supports exposing as a series of short sub-exposures, stacked in the camera to a single images...
Definition dlapi.h:1832
@ eSupportsExtendedStartDownload
Definition dlapi.h:1836
@ eSupportsHeatSinkTemp
Camera supports querying of heat sink temperature.
Definition dlapi.h:1825
@ FirstSoftwareCapability
Definition dlapi.h:1850
@ eSupportsSensorGainOffset
Camera supports the control of ADC gain/offset manipulation.
Definition dlapi.h:1831
@ eSupportsOverscan
Definition dlapi.h:1838
@ eSupportsSoftwareBinMode
Definition dlapi.h:1847
@ eSupportsPeripheralInfo
Camera supports the retrieval of connected peripheral information.
Definition dlapi.h:1841
@ eSupportsWiFi
Camera supports communication over WiFi networks (and thus, the commands for network settings)
Definition dlapi.h:1829
@ eSupportsFan
Camera supports control of an internal fan.
Definition dlapi.h:1822
@ eSupportsFibreXferProtocol
Camera supports the new fibre optics streaming download.
Definition dlapi.h:1842
@ InvalidCameraCapability
Capability has not been initialized/reported an invalid/unsupported feature.
Definition dlapi.h:1852
@ eSupportsShutter
Camera supports the use of a shutter.
Definition dlapi.h:1834
@ CameraCapabilityCount
Number of camera capability keys to query.
Definition dlapi.h:1845
@ eSupportsAdjustableGain
Camera supports the use of adjustable analog gains.
Definition dlapi.h:1840
@ eSupportsPrecisionCoolerPower
Camera supports querying of precision cooler power, calculated in the camera (rather than converted b...
Definition dlapi.h:1835
@ eSupportsOnChipBinning
Definition dlapi.h:1839
@ eSupportsDefogHeater
Camera has a window heater for defogging the sensor window.
Definition dlapi.h:1830
@ eSupportsFastContinuousReadout
Camera supports continuous readout between exposures (i.e. when operated in "Fast Mode",...
Definition dlapi.h:1833
@ eSupportsFilterWheel
Camera supports control of Filter Wheel peripheral.
Definition dlapi.h:1827
@ eSupportsCooler
Camera supports control of an internal cooler.
Definition dlapi.h:1823
@ eSupportsAdaptiveOptics
Camera supports control of Adaptive Optics peripheral.
Definition dlapi.h:1826
@ SoftwareCapabilityCount
Definition dlapi.h:1849
virtual void getSerial(char *buffer, size_t &buffer_length) const =0
Returns a human readable version of the camera's serial number string. e.g. "AL8300M-19010101".
virtual ~ICamera()=0
virtual destructor ensuring the class is abstract.
virtual ICamera::Status getStatus() const =0
Returns the buffered status structure.
virtual IAOPtr getAO() const =0
Returns a pointer to the camera's AO (if one is available).
virtual IPromisePtr queryInfo()=0
Queries the camera's unit information structure (ICamera::Info)
virtual IPromisePtr setNetworkSettings(const TNetworkSettings &cfg)=0
Updates the camera's network settings.
An abstract interface that gives users access to debug logging controls \seealso IGateway,...
Definition dlapi.h:2514
virtual int getDebugSetting(IDebugControl::Setting setting) const =0
Gets a debug setting value.
virtual void setDebugSetting(IDebugControl::Setting setting, int val)=0
Sets debug setting value.
virtual bool hasDebugSetting(IDebugControl::Setting setting) const =0
Check if the IDebugControl instance supports a debug setting.
Setting
Definition dlapi.h:2516
@ First
Definition dlapi.h:2521
@ Last
Definition dlapi.h:2520
@ Enable
Enable: 0 = off, otherwise = on (getDebugSetting returns 1)
Definition dlapi.h:2517
@ Count
Definition dlapi.h:2519
Definition dlapi.h:1097
virtual unsigned int getChildSlots(unsigned int) const =0
virtual unsigned int getChildCount() const =0
virtual const char * getModelName(unsigned int) const =0
virtual IFW::Model getChildModel(unsigned int) const =0
FW Interface Class.
Definition dlapi.h:944
virtual IPromisePtr initialize()=0
Initialize the filter wheel, and obtain basic model information.
virtual unsigned int getSlots() const =0
returns the number of slots the filter wheel has available.
Status
Definition dlapi.h:1000
@ FWError
Filter Wheel has encountered an error.
Definition dlapi.h:1003
@ InvalidFWStatus
Filter Wheel is uninitialized.
Definition dlapi.h:1005
@ FWBusy
Filter Wheel is busy.
Definition dlapi.h:1002
@ FWIdle
Filter Wheel is idle.
Definition dlapi.h:1001
virtual int getPosition() const =0
Returns the buffered position of the filter wheel.
virtual IPromisePtr queryStatus()=0
Queries the status of the filter wheel.
virtual IFW::Status getStatus() const =0
Returns the buffered status of the filter wheel.
virtual IPromisePtr setPosition(int position)=0
Send a goto command to the filter wheel.
Model
Definition dlapi.h:951
@ AFW8
AFW-08 slot filter wheel.
Definition dlapi.h:983
@ UnknownFWModel
Used when an unknown FW model is reported by the camera.
Definition dlapi.h:952
@ AFW9
AFW-09 slot filter wheel.
Definition dlapi.h:982
@ AFW4
AFW-04 slot filter wheel.
Definition dlapi.h:987
@ FW8_STT
STT FW8
Definition dlapi.h:970
@ FW7_STX
STX FW7
Definition dlapi.h:969
@ CFW10
CFW10
Definition dlapi.h:960
@ CFW2
CFW2
Definition dlapi.h:954
@ Internal
STC Internal FW.
Definition dlapi.h:972
@ AFW3
AFW-03 slot filter wheel.
Definition dlapi.h:988
@ AFW13
AFW-13 slot filter wheel.
Definition dlapi.h:978
@ AFW14
AFW-14 slot filter wheel.
Definition dlapi.h:977
@ CFW5
CFW5
Definition dlapi.h:955
@ AFW10
AFW-10 slot filter wheel.
Definition dlapi.h:981
@ AFW11
AFW-11 slot filter wheel.
Definition dlapi.h:980
@ CFW1603
CFW1603
Definition dlapi.h:965
@ AFW15
AFW-15 slot filter wheel.
Definition dlapi.h:976
@ AFW16
AFW-16 slot filter wheel.
Definition dlapi.h:975
@ AFW6
AFW-06 slot filter wheel.
Definition dlapi.h:985
@ CFWL
CFWL
Definition dlapi.h:957
@ CFW402
CFW402
Definition dlapi.h:958
@ CFW8
CFW8
Definition dlapi.h:956
@ CFWL8
CFWL8
Definition dlapi.h:963
@ AFW12
AFW-12 slot filter wheel.
Definition dlapi.h:979
@ CFW9
CFW9
Definition dlapi.h:962
@ FW5_STF_DETENT
STF FW5 with detent
Definition dlapi.h:971
@ AFW2
AFW-02 slot filter wheel.
Definition dlapi.h:989
@ InvalidFWModel
Used for uninitialized variables.
Definition dlapi.h:993
@ CFW6A
CFW6A
Definition dlapi.h:959
@ CFW10_SERIAL
CFW10_SERIAL
Definition dlapi.h:961
@ FW5_STX
STX FW5
Definition dlapi.h:966
@ CFWL8G
CFWL8G
Definition dlapi.h:964
@ AFW5
AFW-05 slot filter wheel.
Definition dlapi.h:986
@ AFW7
AFW-07 slot filter wheel.
Definition dlapi.h:984
@ FW8_8300
STF-8300 FW8.
Definition dlapi.h:968
@ FW5_8300
STF-8300 FW5.
Definition dlapi.h:967
virtual IFW::Model getModel() const =0
Returns the model number of the attached filter wheel.
Gateway object for controlling device discovery, and lifetime management.
Definition dlapi.h:2256
virtual size_t getUSBCameraCount() const =0
Returns the number of cameras found via the last call to IGateway::queryUSBCameras().
virtual ICameraPtr getNetCamera(unsigned int id) const =0
Get a pointer to a camera found on the network via IGateway::queryNetCameras() with the given index,...
virtual size_t getCommProtocolVersion() const =0
Returns the maximum FPGA revision supported by this version of DLAPI.
virtual ICameraPtr getCamera(TConnectionDetails details) const =0
Fetches a pointer to a camera with the provided connection details (if one is available).
virtual void initNetworkConfig(const char *filePath)=0
Initializes the network configuration of UPD-capable cameras using a supplied YAML file.
virtual size_t getNetCameraCount() const =0
Attempt to connect to a camera with the supplied IP Address and port.
virtual ~IGateway()=0
Virtual destructor to ensure the class is an abstract.
virtual ICameraPtr getUSBCamera(unsigned int id) const =0
Returns a pointer to the camera with the supplied index, from zero to IGateway::getUSBCameraCount().
virtual void queryUSBCameras()=0
Query the computer for any DLAPI compliant cameras connected via USB.
virtual void initFitsDebugSettings()=0
virtual void queryNetCamera(const char *ip, size_t port)=0
Attempt to connect to a camera with the supplied IP Address and port.
virtual void queryNetCameras()=0
Broadcast and enumerate any DLAPI compliant cameras connected to your network.
virtual TConnectionDetails getCameraConnectionDetails(unsigned int serial) const =0
Returns the connection details for a camera with the provided serial number.
virtual ICameraPtr getNetCamera(const char *ip, unsigned int port) const =0
Get a pointer to a queried camera with a given IP and port, if it exists.
Definition dlapi.h:455
virtual void getExpMidpoint(char *pBuffer, size_t &lng) const =0
virtual TLayerMetadata getLayerMetadata(unsigned int layer) const =0
virtual size_t getLayerCount() const =0
Interface to an DLAPI Image buffer.
Definition dlapi.h:406
virtual unsigned short * getBufferData() const =0
Returns a pointer to the raw data buffer of the image.
virtual unsigned int getBufferLength() const =0
Returns the length in pixels of the raw data buffer of the image.
virtual TImageMetadata getMetadata() const =0
Returns the image metadata structure associated with the image.
Promise interface class.
Definition dlapi.h:677
virtual Status getStatus() const =0
Retrieve the status of the command the IPromise is tracking.
Status
Definition dlapi.h:685
@ Complete
Promise completed successfully.
Definition dlapi.h:688
@ Error
Promise completed with an error.
Definition dlapi.h:689
@ Idle
Promise has not yet begun execution.
Definition dlapi.h:686
@ InvalidFuture
Promise is uninstantiated.
Definition dlapi.h:691
@ Executing
Promise is currently being executed.
Definition dlapi.h:687
virtual EStatusCode getAPIStatusCode() const =0
Returns the API status code reported by the execution of the command.
virtual Status wait()=0
Wait (blocking) until the IPromise either completes, or returns an error (timing out at 10 seconds si...
virtual void release()=0
Flags the promise for release within DLAPI.
virtual void getLastError(char *buffer, size_t &bufferSize) const =0
Puts a human readable string into the supplied buffer containing the last known error for command the...
Sensor Interface Class.
Definition dlapi.h:1113
virtual IPromisePtr queryCalibration()=0
Query the camera's ISensor::Calibration structure.
virtual IPromisePtr DebugStartExposure(unsigned int id, const char *exposureType, const TExposureOptions &params)=0
Start an exposure using this sensor with aditional information. \id id of the exposure taken \exposur...
Setting
Definition dlapi.h:1185
@ UseExtTrigger
Enable use of external trigger. Set to non-zero to hold exposures in the "Wait for Trigger" state unt...
Definition dlapi.h:1193
@ UseFWAsShutter
Enable use of Filter Wheel as shutter. 0 is off, N on (where N is an integer value representing the s...
Definition dlapi.h:1198
@ SettingCount
The maximum number of settings available to the user.
Definition dlapi.h:1203
@ SoftwareSettingCount
Definition dlapi.h:1208
@ ShutterPolarity
Sets the polarity of a solenoid shutter. Typically only needs to be set once by the factory....
Definition dlapi.h:1195
@ InvalidSensorSetting
Uninitialized sensor setting, not for external use.
Definition dlapi.h:1213
@ FanSpeed
Control the speed of the camera's fan.
Definition dlapi.h:1190
@ ToggleIRLEDs
Control the RBI Preflash IR LEDs on the camera. Used for testing purposes. 0 means off,...
Definition dlapi.h:1191
@ EnableStatusLED
When this setting is set to zero, it turns off the camera's status LED at all times....
Definition dlapi.h:1196
@ ContinuousExposure
Control continuous exposure mode. 0 = off, otherwise on. StartExposure begins repeated exposures as s...
Definition dlapi.h:1201
@ FirstSoftwareSetting
Definition dlapi.h:1211
@ SoftwareBinMode
Selects the algorithm for software binning. See also: ISensor::SoftwareBinningMode.
Definition dlapi.h:1206
@ UseOverscan
Use the sensor's overscan region in exposures. This is off by default. Enabling this changes ISensor:...
Definition dlapi.h:1186
@ RBIPreflashDuration
The duration of an RBI flash before exposures, value is stored in milliseconds.
Definition dlapi.h:1187
@ UseOnChipBinning
Enable use of on-chip binning for main sensor.
Definition dlapi.h:1192
@ PartialExposureLength
This number is an integer (in increments of 1 second) controlling the length of sub-exposures when ta...
Definition dlapi.h:1197
@ UseWindowHeater
Toggles a sensor's window heater to prevent fog/frost.
Definition dlapi.h:1189
@ AutoFanMode
Enable use of self-regulating fan algorithm.
Definition dlapi.h:1194
@ AnalogGain0
Control analog gain for cameras supporting adjustable gain modes (e.g. High-Gain mode in an AC4040)
Definition dlapi.h:1199
@ FirstSensorSetting
The first index of a sensor setting. (In this case, ISensor::UseOverscan)
Definition dlapi.h:1210
@ AnalogGain1
Control analog gain for cameras supporting adjustable gain modes (e.g. Low-Gain mode in an AC4040)
Definition dlapi.h:1200
@ RBIPreflashFlushCount
The number of post-flash flushes performed before an exposure.
Definition dlapi.h:1188
virtual IImagePtr getImage() const =0
Returns the ISensor's buffered image.
virtual void getReadoutModes(char *buf, size_t &lng) const =0
Returns a list of human readable readout modes (the index of each entry corresponding to TExposureOpt...
virtual int getSetting(ISensor::Setting key) const =0
Returns the requested setting value.
virtual IPromisePtr startDownload()=0
Start downloading an image from the camera to DLAPI's internal buffers.
Status
Definition dlapi.h:1164
@ ReadyToDownload
Sensor is ready to transfer the image.
Definition dlapi.h:1174
@ Starting
Sensor is starting the exposure.
Definition dlapi.h:1170
@ Reading
Sensor is reading data to buffer.
Definition dlapi.h:1173
@ PreShutter
Sensor is preparing for shutter movement.
Definition dlapi.h:1168
@ DoShutterClose
Sensor is closing the shutter post-exposure.
Definition dlapi.h:1172
@ Idle
Sensor is in idle state, and can accept ISensor::startExposure() commands.
Definition dlapi.h:1166
@ InvalidSensorState
The sensor status is uninitialized.
Definition dlapi.h:1177
@ Exposing
Sensor is exposing.
Definition dlapi.h:1171
@ Trigger
Sensor is waiting for trigger.
Definition dlapi.h:1167
@ DoShutterOpen
Sensor is opening the shutter.
Definition dlapi.h:1169
@ HomingShutter
Sensor is waiting for the shutter to return home. Sensor is busy, and is unable to start an exposure ...
Definition dlapi.h:1175
virtual IPromisePtr setSubframe(const TSubframe &value)=0
Update the camera's active subframe.
virtual ISensor::Settings getSettings() const =0
Returns the buffered ISensor::Settings structure.
virtual const unsigned int getSensorId() const =0
Returns the sensor index of the specified sensor (within ICamera)
virtual IPromisePtr abortExposure()=0
Abort any exposures/downloads either in progress, or waiting for user input.
virtual IPromisePtr querySetting(ISensor::Setting setting)=0
Query a specific value with an ISensor::Setting key from the camera.
virtual IPromisePtr queryInfo()=0
Query the camera's ISensor::Info structure.
virtual unsigned int getCalibration(ISensor::CalibrationKey key, int subkey)=0
AdjustableGainMode
Definition dlapi.h:1695
@ eAdjustableADCGain1
Definition dlapi.h:1697
@ eAdjustableADCGainCount
Definition dlapi.h:1699
@ eAdjustableADCGainFirst
Definition dlapi.h:1700
@ eAdjustableGainAC4040LoGain
Definition dlapi.h:1703
@ eAdjustableGainAC4040HiGain
Definition dlapi.h:1702
@ eAdjustableADCGain0
Definition dlapi.h:1696
SoftwareBinningMode
Definition dlapi.h:1217
virtual ISensor::Calibration getCalibration() const =0
Returns the buffered ISensor::Calibration structure.
Model
Definition dlapi.h:1120
@ IMX455
Sony IMX455.
Definition dlapi.h:1153
@ InvalidSensorModel
Uninitialized sensor model value.
Definition dlapi.h:1156
@ IMX428_7
Sony IMX428 (STC-7 Variant)
Definition dlapi.h:1149
@ RESERVED4
Reserved for future use.
Definition dlapi.h:1128
@ IMX461
Sony IMX461.
Definition dlapi.h:1154
@ IMX290
Sony IMX290.
Definition dlapi.h:1151
@ RESERVED7
Reserved for future use.
Definition dlapi.h:1134
@ KAF8300
Kodak KAF 8300.
Definition dlapi.h:1132
@ ICX694
Sony ICX694.
Definition dlapi.h:1123
@ RESERVED8
Reserved for future use.
Definition dlapi.h:1135
@ IMX428
Sony IMX428.
Definition dlapi.h:1148
@ RESERVED2
Reserved for future use.
Definition dlapi.h:1122
@ P1300
Python 1300.
Definition dlapi.h:1146
@ KAF3200
Kodak KAF 3200.
Definition dlapi.h:1131
@ GSENSE4040
GPixel GSENSE4040.
Definition dlapi.h:1141
@ GSENSE4040BSI
GPixel GSENSE4040 BSI.
Definition dlapi.h:1142
@ RESERVED6
Reserved for future use.
Definition dlapi.h:1130
@ CCD4710
CCD 47-10.
Definition dlapi.h:1125
@ RESERVED5
Reserved for future use.
Definition dlapi.h:1129
@ RESERVED3
Reserved for future use.
Definition dlapi.h:1127
@ RESERVEDB1
Reserved for subvariant 1.
Definition dlapi.h:1137
@ CCD7700
CCD 77-00.
Definition dlapi.h:1126
@ RESERVEDC1
Reserved for subvariant 3.
Definition dlapi.h:1139
@ RESERVED1
Reserved for future use.
Definition dlapi.h:1121
@ ICX814
Sony ICX814.
Definition dlapi.h:1124
@ GSENSE2020
GPixel GSENSE2020.
Definition dlapi.h:1144
CalibrationKey
Definition dlapi.h:1227
@ EGain
Definition dlapi.h:1228
@ DriftStabilization
Definition dlapi.h:1229
@ InvalidCalibrationKey
Definition dlapi.h:1233
@ FirstCalibrationKey
Definition dlapi.h:1232
@ CalibrationCount
Definition dlapi.h:1231
virtual IPromisePtr querySubframe()=0
Query the camera's current subframe.
virtual unsigned int getAdjustableGainCount(AdjustableGainMode mode) const =0
getAdjustableGainCount()
virtual IPromisePtr startExposure(const TExposureOptions &params)=0
Start an exposure using this sensor.
virtual void getAdjustableGains(AdjustableGainMode mode, int *pGainEntries, unsigned int &gainEntryCount) const =0
getAdjustableGains()
virtual IPromisePtr queryCalibration(ISensor::CalibrationKey key, int subkey)=0
virtual IPromisePtr setSetting(ISensor::Setting key, int value)=0
Update an ISensor::Setting value in the camera by key.
virtual ISensor::Info getInfo() const =0
Returns the buffered ISensor::Info structure.
virtual TSubframe getSubframe() const =0
Returns the sensor's buffered TSubframe structure.
virtual unsigned int getDefaultAdjustableGain(AdjustableGainMode mode) const =0
getDefaultAdjustableGain()
TEC interface class.
Definition dlapi.h:757
virtual float getCoolerPower() const =0
Returns the current cooler power in percent of max power draw.
virtual float getSensorThermopileTemperature() const =0
Return the value of the sensor's thermopile in degrees Celsius.
virtual float getHeatSinkThermopileTemperature() const =0
Return the value of the heatsink's thermopile in degrees Celsius.
virtual IPromisePtr setState(bool enable, float setpoint)=0
Toggles the TEC's operation status, and updates the TEC's setpoint.
virtual float getSetpoint() const =0
Returns the value of the cooler's setpoint in degrees Celsius.
virtual bool getEnabled() const =0
true if TEC has been enabled, false otherwise.
Definition dlapi.h:2179
virtual void setConnection(bool enable)=0
virtual bool getConnection() const =0
Definition dlapi.h:2188
Definition dlapi.h:494
virtual bool asBool() const =0
Returns the value of the metadata key as a boolean.
virtual const char * key() const =0
virtual float asFloat() const =0
Returns the value of the metadata key as a floating-point number.
virtual int asInt() const =0
Returns the value of the metadata key as an integer.
Type
Definition dlapi.h:496
@ INT
The metadata key is an integer.
@ STRING
The metadata key is a string.
@ UNKNOWN
The type of the metadata key is unknown.
@ BOOL
The metadata key is a boolean value.
@ FLOAT
The metadata key is a floating-point number.
@ DOUBLE
The metadata key is a double-precision floating-point number.
virtual const char * value() const =0
Returns the value of the metadata key as received from the camera (in string-encoded format).
virtual double asDouble() const =0
Returns the value of the metadata key as a double-precision floating-point number.
virtual unsigned int id() const =0
virtual Type type() const =0
virtual const char * asString() const =0
Returns the value of the metadata key as a string.
Definition dlapi.h:491
virtual IMetadataKey * getMetadataKey(const char *key) const =0
Returns the metadata key by key string.
virtual size_t getMetadataKeyCount() const =0
Returns the number of metadata keys associated with the image.
virtual bool hasMetadataKeys() const =0
Checks if the image has any metadata keys associated with it.
virtual IMetadataKey * getMetadataKey(size_t index) const =0
Returns the metadata key at the specified index.
#define DL_API
Definition dlapi.h:40
#define MYCDECL
Definition dlapi.h:42
static const unsigned char badCalibration
AO is not calibrated.
Definition dlapi.h:212
static const unsigned char statusMask
Mask for the AO error flags.
Definition dlapi.h:210
static const unsigned char busy
AO is busy.
Definition dlapi.h:211
static const unsigned char reserved
Reserved for future use.
Definition dlapi.h:213
static const unsigned char badCommand
Bad Command.
Definition dlapi.h:214
static const int SensorThermistorErrorFlag
Definition dlapi.h:202
static const int HeatSinkThermistorErrorFlag
Definition dlapi.h:203
static const int ThermistorErrorFlagMask
Definition dlapi.h:201
static const unsigned char c_yBusy
This bit is set to high when the y-axis guider port is busy.
Definition dlapi.h:226
static const unsigned char c_xBusy
This bit is set to high when the x-axis guider port is busy.
Definition dlapi.h:225
dl::ICamera ICamera
Definition dlapi.h:2172
dl::ICamera * ICameraPtr
Definition dlapi.h:2173
IImage * IMetadataKeyPtr
Convenience typedef for IMetadata pointers.
Definition dlapi.h:597
IConnectionManager * IConnectionManagerPtr
Definition dlapi.h:2184
IImage * IImagePtr
Convenience typedef for IMetadata pointers.
Definition dlapi.h:598
Top-level namespace containing all of DLAPI.
Definition dlapi.h:72
void(MYCDECL * f_DeleteGateway)(IGatewayPtr)
Convenience typedef for DLL binding to dl::deleteGateway().
Definition dlapi.h:2599
EFrameType
Sensor's readout frame typeid.
Definition dlapi.h:136
@ Interline
Interline sensor.
Definition dlapi.h:138
@ BayerInterline
Bayer/SparseColor interline sensors.
Definition dlapi.h:139
@ Progressive
Progressive, full-frame sensor.
Definition dlapi.h:137
@ GlobalShutter
Global Shutter for CMOS sensors.
Definition dlapi.h:141
@ InvalidFrameType
Frame type is invalid or uninitialized.
Definition dlapi.h:142
@ RollingShutter
Rolling Shutter for CMOS sensors.
Definition dlapi.h:140
ISensor * ISensorPtr
Convenience typedef for ISensor pointers.
Definition dlapi.h:1753
ITEC * ITECPtr
Convenience typedef for ITEC pointers.
Definition dlapi.h:820
EEndpointType
Camera's connection endpoint type (networked, USB, etc)
Definition dlapi.h:180
@ Net
A UDP over Ethernet/WiFi endpoint.
Definition dlapi.h:181
@ FirstEndpointType
A convenience definition for determining the first endpoint type.
Definition dlapi.h:188
@ USB3
A USB3.0 endpoint.
Definition dlapi.h:183
@ USB
A USB endpoint.
Definition dlapi.h:182
@ RAW
A direct-connect interface for raw I/O over Ethernet II Frames.
Definition dlapi.h:184
@ LastEndpointType
A convenience definition for determining the last endpoint type.
Definition dlapi.h:187
@ EndpointTypeCount
A convenience definition for determining the number of endpoint types.
Definition dlapi.h:186
@ InvalidEndpoint
The endpoint is either invalid, or uninitialized.
Definition dlapi.h:189
IPromise * IPromisePtr
Convenience typedef for IPromise pointers.
Definition dlapi.h:745
IAO * IAOPtr
Convenience typedef for IAO pointers.
Definition dlapi.h:936
DL_API IGatewayPtr MYCDECL getGateway()
Returns a pointer to an instance of a Gateway object, or (if one exists) return the existing pointer ...
EStatusCode
Status codes returned by a camera with every message response.
Definition dlapi.h:78
@ DeviceBusy
Catch-all for device busy errors.
Definition dlapi.h:95
@ ClientError
Start of client-side error codes.
Definition dlapi.h:82
@ InvalidParameter
Invalid parameter passed in request body.
Definition dlapi.h:89
@ InvalidStatus
Unknown status response from camera.
Definition dlapi.h:102
@ InvalidFooterType
Invalid footer typeid supplied in request.
Definition dlapi.h:86
@ InvalidHeaderType
Invalid header typeid supplied in request.
Definition dlapi.h:84
@ ImageNotAvailable
Image Transfer was requested, but no image is ready for download
Definition dlapi.h:98
@ InvalidSensorId
Invalid sensor ID number supplied in request.
Definition dlapi.h:87
@ UnsupportedBodyType
Invalid/unsupported body type supplied in request header.
Definition dlapi.h:90
@ BadChecksum
Message with CRC checksum failed validation. Resend message.
Definition dlapi.h:91
@ Success
Device reports command executed successfully, and without error.
Definition dlapi.h:79
@ ReadoutInProgress
Device has a frame readout in progress and cannot comply [[deprecated]].
Definition dlapi.h:97
@ InvalidSoh
Invalid message start-of-header byte.
Definition dlapi.h:83
@ ExposureInProgress
Device has an exposure in progress and cannot comply [[deprecated]].
Definition dlapi.h:96
@ FeatureNotSupported
Camera does not support the requested feature.
Definition dlapi.h:99
@ InvalidBodyType
Invalid body typeid supplied in request.
Definition dlapi.h:85
@ InvalidMessageLength
Invalid message length supplied in request.
Definition dlapi.h:88
@ DeviceError
Start of device-side error codes.
Definition dlapi.h:94
EPulseGuideDirection
Bases for pulse guiding.
Definition dlapi.h:111
@ South
South (- declination/altitude)
Definition dlapi.h:113
@ West
West (- right ascension/azimuth)
Definition dlapi.h:115
@ East
East (+ right ascension/azimuth)
Definition dlapi.h:114
@ North
North (+ declination/altitude)
Definition dlapi.h:112
IFW * IFWPtr
Convenience typedef for IFW pointers.
Definition dlapi.h:1094
ENetworkMode
Network Connection type/security for WiFi operation.
Definition dlapi.h:167
@ AdHoc
Use an ad-hoc network. More details coming.
Definition dlapi.h:168
@ Open
Connect to an open network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getN...
Definition dlapi.h:169
@ WEP
Connect to a WEP secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera...
Definition dlapi.h:170
@ InvalidNetworkMode
Network mode is either invalid, or uninitialized.
Definition dlapi.h:173
@ WPA2
Connect to a WPA 2 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition dlapi.h:172
@ WPA
Connect to a WPA 1 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition dlapi.h:171
IGatewayPtr(MYCDECL * f_GetGateway)()
Convenience typedef for DLL binding to dl::getGateway().
Definition dlapi.h:2598
DL_API void MYCDECL deleteGateway(IGatewayPtr)
Decrement the internal count of IGateway pointers supplied, and delete the active IGateway instance w...
IImage * IImagePtr
Convenience typedef for IImage pointers.
Definition dlapi.h:437
IImageExt * IImageExtPtr
Definition dlapi.h:462
IGateway * IGatewayPtr
Convenience typedef for IGateway pointers.
Definition dlapi.h:2493
EShutterStatus
Status of sensor's shutter.
Definition dlapi.h:150
@ ShutterOpening
Shutter is moving to opened state.
Definition dlapi.h:154
@ ShutterOpen
Shutter is open.
Definition dlapi.h:152
@ ShutterRolling
for future use in Aluma Pro.
Definition dlapi.h:155
@ ShutterUninitialized
Shutter state is uninitialized.
Definition dlapi.h:159
@ ShutterError
for future use in Aluma Pro
Definition dlapi.h:157
@ ShutterExercising
Shutter is in exercising state, more details coming.
Definition dlapi.h:156
@ ShutterClosing
Shutter is moving to closed state.
Definition dlapi.h:153
@ ShutterClosed
Shutter is closed.
Definition dlapi.h:151
EFilterType
Definition dlapi.h:123
@ Monochrome
Monochrome filter on sensor.
Definition dlapi.h:124
@ Color
Bayer color filter on sensor.
Definition dlapi.h:125
@ InvalidFilterType
Filter type is invalid or uninitialized.
Definition dlapi.h:127
@ SparseColor
TrueSense Sparse Color filter on sensor.
Definition dlapi.h:126
IFWExtended * IFWExtendedPtr
Definition dlapi.h:1105
ICamera * ICameraPtr
Convenience typedef for ICamera pointers.
Definition dlapi.h:2223
Definition dlapi.h:1893
unsigned char numberOfSensors
Number of sensors connected to the camera.
Definition dlapi.h:1898
unsigned int wifiFirmwareRevision
Revision number of the camera's WiFi firmware.
Definition dlapi.h:1897
unsigned int serialNumber
Encoded serial number of the sensor, use ICamera::getSerial() for human readable string version.
Definition dlapi.h:1895
unsigned int firmwareRevision
Revision number of the camera's Gate Array firmware.
Definition dlapi.h:1896
ICamera::Model model
Model of the camera.
Definition dlapi.h:1894
Info()
Default constructor.
Definition dlapi.h:1900
Definition dlapi.h:1865
ISensor::Status mainSensorState
Main sensor state.
Definition dlapi.h:1866
float heatSinkTemperature
Heat Sink Temperature Reading.
Definition dlapi.h:1870
ISensor::Status extSensorState
External sensor state.
Definition dlapi.h:1867
float sensorTemperature
Sensor Temperature Reading.
Definition dlapi.h:1868
float inputVoltage
Input Voltage Reading from the power supply.
Definition dlapi.h:1871
Status()
Definition dlapi.h:1876
unsigned int pulseGuideStatus
Status of the pulse guide relays. /seealso PulseGuideStatus.
Definition dlapi.h:1872
float coolerPower
Cooler Power Reading.
Definition dlapi.h:1869
unsigned int flag
Reserved for future use.
Definition dlapi.h:1873
EShutterStatus shutterStatus
Main sensor shutter status.
Definition dlapi.h:1874
A data structure containing all factory-calibrated sensor characterization.
Definition dlapi.h:1271
unsigned int channelsInUse
Number of readout channels the API can make use of.
Definition dlapi.h:1273
unsigned int substrateVoltage
Sensor's substrate voltage in mV.
Definition dlapi.h:1272
unsigned int adcGains[4]
Array of Analog-to-Digital Converter gains in ADC, one per channel. Diffraction Limited strongly advi...
Definition dlapi.h:1274
float eGain
Measured eGain in e-/ADU.
Definition dlapi.h:1276
int adcOffsets[4]
Array of Analog-to-Digital Converter offsets in ADC, one per channel. Diffraction Limited strongly ad...
Definition dlapi.h:1275
A data structure containing sensor specifications.
Definition dlapi.h:1244
unsigned int pixelsY
The sensor's pixel count in the y-axis. Changes when ISensor::Setting::UseOverscan is toggled.
Definition dlapi.h:1248
FilterType filterType
The sensor's filter type.
Definition dlapi.h:1250
EFrameType frameType
The sensor's frame type.
Definition dlapi.h:1251
unsigned int maxBinX
Maximum binning of the sensor on the x-axis.
Definition dlapi.h:1256
float minExposureDuration
Minimum exposure duration in seconds.
Definition dlapi.h:1258
int minCoolerSetpoint
Minimum cooler setpoint in degrees Celsius.
Definition dlapi.h:1254
int maxCoolerSetpoint
Maximum cooler setpoint in degrees Celsius.
Definition dlapi.h:1255
unsigned char flag
Reserved for future use.
Definition dlapi.h:1261
float pixelSizeY
The sensor's pixel height in micrometers.
Definition dlapi.h:1253
bool hasRBIPreflash
true if the sensor has RBI preflash, false otherwise.
Definition dlapi.h:1260
unsigned int id
The sensor's internal ID (0 is the main sensor, 1 is the external sensor, etc).
Definition dlapi.h:1245
float exposurePrecision
Minimum increment of exposure duration in seconds.
Definition dlapi.h:1259
unsigned int maxBinY
Maximum binning of the sensor on the y-axis.
Definition dlapi.h:1257
unsigned int numberOfChannelsAvailable
The maximum number of readout channels the sensor has available for use.
Definition dlapi.h:1249
ISensor::Model model
The sensor's model.
Definition dlapi.h:1246
unsigned int pixelsX
The sensor's pixel count in the x-axis. Changes when ISensor::Setting::UseOverscan is toggled.
Definition dlapi.h:1247
float pixelSizeX
The sensor's pixel width in micrometers.
Definition dlapi.h:1252
RBI Preflash parametrization data structure.
Definition dlapi.h:1296
int flushes
Number of post-flash flushes. Defaults to 3.
Definition dlapi.h:1298
int duration
Duration of the pre-exposure flash in milliseconds. Defaults to 4000.
Definition dlapi.h:1297
C-style settings structure with built-in type conversion.
Definition dlapi.h:1288
bool autoFanSpeed
Use automatic fan speed control algorithm.
Definition dlapi.h:1307
bool useOnChipBinning
Use on-chip binning.
Definition dlapi.h:1305
bool enableIRLEDs
enable RBI Preflash IR LEDs for testing purposes
Definition dlapi.h:1304
bool useWindowHeater
true to turn on the camera's window heater. false to turn it off.
Definition dlapi.h:1303
int shutterPolarity
controls the polarity of solenoid shutters. Only needs to be changed if shutter operation is inverted...
Definition dlapi.h:1308
int partialExposureLength
controls the length of sub-exposures during internal stacking exposures (in 1 second increments)
Definition dlapi.h:1310
int fanSpeed
controls the fan speed of the camera. Fan speeds: high = 255, medium = 200, low = 150,...
Definition dlapi.h:1301
struct dl::ISensor::Settings::RBIPreflashSettings rbiPreflash
RBI preflash settings.
int useFWAsShutter
true to use the connected filter wheel as a shutter (use the index of the slot, starting from 1),...
Definition dlapi.h:1311
bool enableStatusLED
enables/disables the status LED on the side of the camera. non-zero enables it, zero disables it....
Definition dlapi.h:1309
bool useExtTrigger
Wait for external trigger during exposures.
Definition dlapi.h:1306
bool useOverscan
true to enable the sensor's overscan region, or false to disable it. Defaults to false....
Definition dlapi.h:1302
Network connection detail structure.
Definition dlapi.h:358
unsigned int serialNumber
The ICamera::Info::serialNumber to query--not the human readable serial number string.
Definition dlapi.h:359
EEndpointType endpointType
Type of endpoint to connect to. Not needed in IGateway::GetCameraBySerial()
Definition dlapi.h:360
TConnectionDetails()
Default constructor for the struct.
Definition dlapi.h:363
size_t index
The Internal index of the camera to connect to (depends on EEndpointType). Not needed in IGateway::Ge...
Definition dlapi.h:361
A collection of exposure parameters required for starting an exposure.
Definition dlapi.h:258
char binX
[[deprecated]] Binning of the exposure in the x-direction in pixels. Is unused, and will go away in f...
Definition dlapi.h:261
bool useRBIPreflash
true to perform an RBI Preflash operation (if the camera supports it) before the exposure....
Definition dlapi.h:264
float duration
Duration of the exposure in seconds.
Definition dlapi.h:259
unsigned int readoutMode
The index of the readout mode to use in the exposure. This is the index of the readout mode chosen fr...
Definition dlapi.h:260
char binY
[[deprecated]] Binning of the exposure in the y-direction in pixels. Is unused, and will go away in f...
Definition dlapi.h:262
bool isLightFrame
true if the exposure is a light frame, false otherwise.
Definition dlapi.h:263
bool useExtTrigger
true to wait for an external trigger before executing the exposure. Consult your camera's user manual...
Definition dlapi.h:265
A collection of metadata associated with an image.
Definition dlapi.h:239
unsigned int height
Height of the image frame in pixels.
Definition dlapi.h:241
unsigned int binX
The image's binning in the x-direction (in pixels).
Definition dlapi.h:244
unsigned int offsetY
The image's y-offset from the sensor's origin in pixels.
Definition dlapi.h:243
float exposureDuration
The image's exposure duration in seconds. May differ from the requested duration due to camera exposu...
Definition dlapi.h:247
unsigned int binY
The image's binning in the y-direction (in pixels).
Definition dlapi.h:245
float eGain
The image's binning-dependent eGain (in e-/ADU)
Definition dlapi.h:246
unsigned int width
Width of the image frame in pixels.
Definition dlapi.h:240
unsigned int offsetX
The image's x-offset from the sensor's origin in pixels.
Definition dlapi.h:242
Definition dlapi.h:441
float exposureDuration
Definition dlapi.h:448
unsigned int height
Definition dlapi.h:443
unsigned int binY
Definition dlapi.h:445
unsigned int darkCol
Definition dlapi.h:447
unsigned int exposureDelay
Definition dlapi.h:449
float eGain
Definition dlapi.h:446
unsigned int exposureWindow
Definition dlapi.h:450
unsigned int width
Definition dlapi.h:442
unsigned int binX
Definition dlapi.h:444
A collection of wireless network configuration settings.
Definition dlapi.h:299
unsigned int ssidLength
Length of the SSID string.
Definition dlapi.h:300
unsigned int passphraseLength
Length of the passphrase string.
Definition dlapi.h:301
bool isPassphraseHex
true to treat the passphrase as hex pairs, false to treat it as an ASCII phrase.
Definition dlapi.h:306
ENetworkMode mode
The networking mode. Changing this value requires a reboot of the camera.
Definition dlapi.h:302
bool isUsaCanadaMode
true to enable USA/Canada mode. (More details to come)
Definition dlapi.h:305
char passphrase[64]
String containing the passphrase of the camera's network settings.
Definition dlapi.h:304
char ssid[32]
String containing the SSID of the camera's network settings.
Definition dlapi.h:303
A collection of frame parameters, required for specifying the dimensions of an image.
Definition dlapi.h:276
int height
The frame's height in pixels.
Definition dlapi.h:280
int binX
The frame's x-binning in pixels.
Definition dlapi.h:281
int top
The frame's y-offset from the sensor's origin in pixels.
Definition dlapi.h:277
int left
The frame's x-offset from the sensor's origin in pixels.
Definition dlapi.h:278
int width
The frame's width in pixels.
Definition dlapi.h:279
int binY
The frame's y-binning in pixels.
Definition dlapi.h:282