16#define DL_STRUCTALIGN 4
19#if defined(_WIN32) || defined(_WIN64)
23# define DL_API extern "C" __declspec(dllexport)
25# define DL_API extern "C" __declspec(dllimport)
28# define MYCDECL __cdecl
40#define DL_API extern "C"
194 namespace ErrorFlags {
210 static const unsigned char busy = 0x01;
222 namespace PulseGuideStatus
236# pragma pack(push, DL_STRUCTALIGN)
430 virtual const char*
getIp()
const = 0;
610 virtual unsigned int id()
const = 0;
611 virtual const char*
key()
const = 0;
619 virtual const char*
value()
const = 0;
807 virtual void getLastError(
char * buffer,
size_t& bufferSize)
const = 0;
1025 virtual void getLimits(
size_t &tipMin,
size_t &tipMax,
size_t &tiltMin,
size_t &tiltMax)
const = 0;
1343# pragma pack(push, DL_STRUCTALIGN)
2048# pragma pack(push, DL_STRUCTALIGN)
2244 virtual void getSerial(
char * buffer,
size_t & buffer_length)
const = 0;
2865#if defined(_WIN32) || defined(_WIN64)
AO Interface Class.
Definition dlapi.h:933
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
list of supported AO models
Definition dlapi.h:950
@ UnknownAOModel
AO Model could not be ascertained.
Definition dlapi.h:951
@ AO8
AO-8 model of adaptive optics.
Definition dlapi.h:952
@ InvalidAOModel
AO model was not initialized.
Definition dlapi.h:954
@ AOX
AO-X model of adaptive optics.
Definition dlapi.h:953
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
list of supported status codes from AO devices
Definition dlapi.h:939
@ Idle
Peripheral is idle.
Definition dlapi.h:940
@ Error
Peripheral is in an error state.
Definition dlapi.h:942
@ Busy
Peripheral is busy.
Definition dlapi.h:941
@ InvalidAOStatus
Peripheral is uninitialized.
Definition dlapi.h:943
Camera interface class.
Definition dlapi.h:1958
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
list of camera initialization states
Definition dlapi.h:1963
@ Error
Definition dlapi.h:1967
@ Ready
Definition dlapi.h:1966
@ Uninitialized
Definition dlapi.h:1964
@ Initializing
Definition dlapi.h:1965
Model
list of supported camera models
Definition dlapi.h:1975
@ AlumaAC2020
06 Aluma AC2020 only
Definition dlapi.h:1982
@ AlumaAC411
0C Aluma AC411 only (see: isIMXPlatform)
Definition dlapi.h:1988
@ Aluma
00 Aluma and AlumaCCD model cameras
Definition dlapi.h:1976
@ InvalidCameraModel
Camera has not been initialized/reported invalid model.
Definition dlapi.h:1990
@ StarChaserC
08 CMOS variants of the StarChaser brand
Definition dlapi.h:1984
@ StarChaser4
08 StarChaser 4 (USB3 compatible variants)
Definition dlapi.h:2000
@ Reserved3
Definition dlapi.h:1993
@ StarChaserP3
Definition dlapi.h:1999
@ AlumaAC461
0B Aluma AC461 only (see: isIMXPlatform)
Definition dlapi.h:1987
@ Reserved4
Historical Convenience.
Definition dlapi.h:1991
@ StarChaser
04 StarChaser model cameras
Definition dlapi.h:1980
@ StarChaserE
07 StarChaser E (new P3 variant)
Definition dlapi.h:1983
@ Reserved6
Definition dlapi.h:1994
@ STC
05 STC-7 and STC-428
Definition dlapi.h:1981
@ AlumaCMOS
03 Aluma AC4040 and AC4040BSI
Definition dlapi.h:1979
@ Reserved1
Definition dlapi.h:1997
@ Reserved10
Definition dlapi.h:1998
@ Reserved8
Definition dlapi.h:1996
@ AlumaAC571
0D Aluma AC571 only (see: isIMXPlatform)
Definition dlapi.h:1986
@ AlumaPro
01 Aluma Pro model cameras
Definition dlapi.h:1977
@ Reserved5
Definition dlapi.h:1992
@ Reserved7
Definition dlapi.h:1995
@ AlumaAC455
09 Aluma AC455 only (see: isIMXPlatform)
Definition dlapi.h:1985
@ Reserved2
02 Reserved for future use
Definition dlapi.h:1978
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
list of camera capabilities as supported by the camera
Definition dlapi.h:2006
@ eSupportsMetadataKeys
Camera supports the use of metadata keys.
Definition dlapi.h:2028
@ eSupportsGuidePort
Camera supports control of a guide system via a guide port.
Definition dlapi.h:2013
@ eSupportsInputVoltage
Definition dlapi.h:2022
@ eSupportsCoolerTemp
Camera supports querying of cooler temperature.
Definition dlapi.h:2009
@ eSupportsInternalStacking
Camera supports exposing as a series of short sub-exposures, stacked in the camera to a single images...
Definition dlapi.h:2017
@ eSupportsExtendedStartDownload
Definition dlapi.h:2021
@ eSupportsHeatSinkTemp
Camera supports querying of heat sink temperature.
Definition dlapi.h:2010
@ FirstSoftwareCapability
Definition dlapi.h:2035
@ eSupportsSensorGainOffset
Camera supports the control of ADC gain/offset manipulation.
Definition dlapi.h:2016
@ eSupportsOverscan
Definition dlapi.h:2023
@ eSupportsSoftwareBinMode
Definition dlapi.h:2032
@ eSupportsPeripheralInfo
Camera supports the retrieval of connected peripheral information.
Definition dlapi.h:2026
@ eSupportsWiFi
Camera supports communication over WiFi networks (and thus, the commands for network settings)
Definition dlapi.h:2014
@ eSupportsFan
Camera supports control of an internal fan.
Definition dlapi.h:2007
@ eSupportsFibreXferProtocol
Camera supports the new fibre optics streaming download.
Definition dlapi.h:2027
@ InvalidCameraCapability
Capability has not been initialized/reported an invalid/unsupported feature.
Definition dlapi.h:2037
@ eSupportsShutter
Camera supports the use of a shutter.
Definition dlapi.h:2019
@ CameraCapabilityCount
Number of camera capability keys to query.
Definition dlapi.h:2030
@ eSupportsAdjustableGain
Camera supports the use of adjustable analog gains.
Definition dlapi.h:2025
@ eSupportsPrecisionCoolerPower
Camera supports querying of precision cooler power, calculated in the camera (rather than converted b...
Definition dlapi.h:2020
@ eSupportsOnChipBinning
Definition dlapi.h:2024
@ eSupportsDefogHeater
Camera has a window heater for defogging the sensor window.
Definition dlapi.h:2015
@ eSupportsFastContinuousReadout
Camera supports continuous readout between exposures (i.e. when operated in "Fast Mode",...
Definition dlapi.h:2018
@ eSupportsFilterWheel
Camera supports control of Filter Wheel peripheral.
Definition dlapi.h:2012
@ eSupportsCooler
Camera supports control of an internal cooler.
Definition dlapi.h:2008
@ eSupportsAdaptiveOptics
Camera supports control of Adaptive Optics peripheral.
Definition dlapi.h:2011
@ SoftwareCapabilityCount
Definition dlapi.h:2034
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.
Definition dlapi.h:2756
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:2758
@ First
Definition dlapi.h:2763
@ Last
Definition dlapi.h:2762
@ Enable
Enable: 0 = off, otherwise = on (getDebugSetting returns 1)
Definition dlapi.h:2759
@ Count
Definition dlapi.h:2761
Abstract interface for a camera connection endpoint.
Definition dlapi.h:379
virtual EEndpointType getType() const =0
Returns the endpoint's connection type.
virtual const char * toString() const =0
Returns a human-readable description of the endpoint.
virtual const char * toStringConcise() const =0
Returns a concise description of the endpoint.
virtual bool getIsInitialized() const =0
Returns whether the endpoint has been successfully initialized.
virtual ~IEndpoint()
Definition dlapi.h:381
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:1046
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
list of supported status codes from FW devices
Definition dlapi.h:1100
@ FWError
Filter Wheel has encountered an error.
Definition dlapi.h:1103
@ InvalidFWStatus
Filter Wheel is uninitialized.
Definition dlapi.h:1105
@ FWBusy
Filter Wheel is busy.
Definition dlapi.h:1102
@ FWIdle
Filter Wheel is idle.
Definition dlapi.h:1101
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
List of supported filter wheel models.
Definition dlapi.h:1052
@ AFW8
AFW-08 slot filter wheel.
Definition dlapi.h:1084
@ UnknownFWModel
Used when an unknown FW model is reported by the camera.
Definition dlapi.h:1053
@ AFW9
AFW-09 slot filter wheel.
Definition dlapi.h:1083
@ AFW4
AFW-04 slot filter wheel.
Definition dlapi.h:1088
@ FW8_STT
STT FW8
Definition dlapi.h:1071
@ FW7_STX
STX FW7
Definition dlapi.h:1070
@ CFW10
CFW10
Definition dlapi.h:1061
@ CFW2
CFW2
Definition dlapi.h:1055
@ Internal
STC Internal FW.
Definition dlapi.h:1073
@ AFW3
AFW-03 slot filter wheel.
Definition dlapi.h:1089
@ AFW13
AFW-13 slot filter wheel.
Definition dlapi.h:1079
@ AFW14
AFW-14 slot filter wheel.
Definition dlapi.h:1078
@ CFW5
CFW5
Definition dlapi.h:1056
@ AFW10
AFW-10 slot filter wheel.
Definition dlapi.h:1082
@ AFW11
AFW-11 slot filter wheel.
Definition dlapi.h:1081
@ CFW1603
CFW1603
Definition dlapi.h:1066
@ AFW15
AFW-15 slot filter wheel.
Definition dlapi.h:1077
@ AFW16
AFW-16 slot filter wheel.
Definition dlapi.h:1076
@ AFW6
AFW-06 slot filter wheel.
Definition dlapi.h:1086
@ CFWL
CFWL
Definition dlapi.h:1058
@ CFW402
CFW402
Definition dlapi.h:1059
@ CFW8
CFW8
Definition dlapi.h:1057
@ CFWL8
CFWL8
Definition dlapi.h:1064
@ AFW12
AFW-12 slot filter wheel.
Definition dlapi.h:1080
@ CFW9
CFW9
Definition dlapi.h:1063
@ FW5_STF_DETENT
STF FW5 with detent
Definition dlapi.h:1072
@ AFW2
AFW-02 slot filter wheel.
Definition dlapi.h:1090
@ InvalidFWModel
Used for uninitialized variables.
Definition dlapi.h:1094
@ CFW6A
CFW6A
Definition dlapi.h:1060
@ CFW10_SERIAL
CFW10_SERIAL
Definition dlapi.h:1062
@ FW5_STX
STX FW5
Definition dlapi.h:1067
@ CFWL8G
CFWL8G
Definition dlapi.h:1065
@ AFW5
AFW-05 slot filter wheel.
Definition dlapi.h:1087
@ AFW7
AFW-07 slot filter wheel.
Definition dlapi.h:1085
@ FW8_8300
STF-8300 FW8.
Definition dlapi.h:1069
@ FW5_8300
STF-8300 FW5.
Definition dlapi.h:1068
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:2497
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
Returns the number of cameras found after a call to IGateway::queryNetCameras().
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.
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:511
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.
Abstract interface for a UDP/IP camera connection endpoint.
Definition dlapi.h:421
virtual uint16_t getPort() const =0
Returns the UDP port number.
virtual const char * getNICIP() const =0
Returns the local NIC IP address string.
virtual ~INetEndpoint()
Definition dlapi.h:423
virtual const char * getIp() const =0
Returns the device IP address string.
Promise interface class.
Definition dlapi.h:782
virtual Status getStatus() const =0
Retrieve the status of the command the IPromise is tracking.
Status
list of supported status code from Promise objects
Definition dlapi.h:789
@ Complete
Promise completed successfully.
Definition dlapi.h:792
@ Error
Promise completed with an error.
Definition dlapi.h:793
@ Idle
Promise has not yet begun execution.
Definition dlapi.h:790
@ InvalidFuture
Promise is uninstantiated.
Definition dlapi.h:795
@ Executing
Promise is currently being executed.
Definition dlapi.h:791
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:1213
virtual IPromisePtr queryCalibration()=0
Query the camera's ISensor::Calibration structure.
virtual IPromisePtr DebugStartExposure(unsigned int id, const char *exposureType, const TExposureOptions ¶ms)=0
Start an exposure using this sensor with aditional information.
Setting
Index codes for various user-controlled settings.
Definition dlapi.h:1284
@ UseExtTrigger
Enable use of external trigger. Set to non-zero to hold exposures in the "Wait for Trigger" state unt...
Definition dlapi.h:1292
@ 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:1297
@ SettingCount
The maximum number of settings available to the user.
Definition dlapi.h:1303
@ SoftwareSettingCount
Definition dlapi.h:1308
@ ShutterPolarity
Sets the polarity of a solenoid shutter. Typically only needs to be set once by the factory....
Definition dlapi.h:1294
@ InvalidSensorSetting
Uninitialized sensor setting, not for external use.
Definition dlapi.h:1313
@ FanSpeed
Control the speed of the camera's fan.
Definition dlapi.h:1289
@ ToggleIRLEDs
Control the RBI Preflash IR LEDs on the camera. Used for testing purposes. 0 means off,...
Definition dlapi.h:1290
@ EnableStatusLED
When this setting is set to zero, it turns off the camera's status LED at all times....
Definition dlapi.h:1295
@ ContinuousExposure
Control continuous exposure mode. 0 = off, otherwise on. StartExposure begins repeated exposures as s...
Definition dlapi.h:1300
@ FirstSoftwareSetting
Definition dlapi.h:1311
@ SoftwareBinMode
Selects the algorithm for software binning. See also: ISensor::SoftwareBinningMode.
Definition dlapi.h:1306
@ UseOverscan
Use the sensor's overscan region in exposures. This is off by default. Enabling this changes ISensor:...
Definition dlapi.h:1285
@ RBIPreflashDuration
The duration of an RBI flash before exposures, value is stored in milliseconds.
Definition dlapi.h:1286
@ UseOnChipBinning
Enable use of on-chip binning for main sensor.
Definition dlapi.h:1291
@ PartialExposureLength
This number is an integer (in increments of 1 second) controlling the length of sub-exposures when ta...
Definition dlapi.h:1296
@ UseWindowHeater
Toggles a sensor's window heater to prevent fog/frost.
Definition dlapi.h:1288
@ AutoFanMode
Enable use of self-regulating fan algorithm.
Definition dlapi.h:1293
@ AnalogGain0
Control analog gain for cameras supporting adjustable gain modes (e.g. High-Gain mode in an AC4040)
Definition dlapi.h:1298
@ FirstSensorSetting
The first index of a sensor setting. (In this case, ISensor::UseOverscan)
Definition dlapi.h:1310
@ AnalogGain1
Control analog gain for cameras supporting adjustable gain modes (e.g. Low-Gain mode in an AC4040)
Definition dlapi.h:1299
@ FixedFrameReadout
Controls a fixed cadence for reading out sensors. 0 = off, otherwise the value is fixed to a video ra...
Definition dlapi.h:1301
@ RBIPreflashFlushCount
The number of post-flash flushes performed before an exposure.
Definition dlapi.h:1287
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
list of supported status codes from ISensor devices
Definition dlapi.h:1264
@ ReadyToDownload
Sensor is ready to transfer the image.
Definition dlapi.h:1274
@ Starting
Sensor is starting the exposure.
Definition dlapi.h:1270
@ Reading
Sensor is reading data to buffer.
Definition dlapi.h:1273
@ PreShutter
Sensor is preparing for shutter movement.
Definition dlapi.h:1268
@ DoShutterClose
Sensor is closing the shutter post-exposure.
Definition dlapi.h:1272
@ Idle
Sensor is in idle state, and can accept ISensor::startExposure() commands.
Definition dlapi.h:1266
@ InvalidSensorState
The sensor status is uninitialized.
Definition dlapi.h:1277
@ Exposing
Sensor is exposing.
Definition dlapi.h:1271
@ Trigger
Sensor is waiting for trigger.
Definition dlapi.h:1267
@ DoShutterOpen
Sensor is opening the shutter.
Definition dlapi.h:1269
@ HomingShutter
Sensor is waiting for the shutter to return home. Sensor is busy, and is unable to start an exposure ...
Definition dlapi.h:1275
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:1796
@ eAdjustableADCGain1
Definition dlapi.h:1798
@ eAdjustableADCGainCount
Definition dlapi.h:1800
@ eAdjustableADCGainFirst
Definition dlapi.h:1801
@ eAdjustableGainAC4040LoGain
Definition dlapi.h:1804
@ eAdjustableGainAC4040HiGain
Definition dlapi.h:1803
@ eAdjustableADCGain0
Definition dlapi.h:1797
SoftwareBinningMode
Definition dlapi.h:1317
virtual ISensor::Calibration getCalibration() const =0
Returns the buffered ISensor::Calibration structure.
Model
list of supported Sensor models
Definition dlapi.h:1219
@ IMX455
Sony IMX455.
Definition dlapi.h:1252
@ InvalidSensorModel
Uninitialized sensor model value.
Definition dlapi.h:1257
@ IMX428_7
Sony IMX428 (STC-7 Variant)
Definition dlapi.h:1248
@ RESERVED4
Reserved for future use.
Definition dlapi.h:1227
@ IMX461
Sony IMX461.
Definition dlapi.h:1253
@ IMX290
Sony IMX290.
Definition dlapi.h:1250
@ RESERVED7
Reserved for future use.
Definition dlapi.h:1233
@ KAF8300
Kodak KAF 8300.
Definition dlapi.h:1231
@ IMX571
Sony IMX571.
Definition dlapi.h:1255
@ ICX694
Sony ICX694.
Definition dlapi.h:1222
@ RESERVED8
Reserved for future use.
Definition dlapi.h:1234
@ IMX428
Sony IMX428.
Definition dlapi.h:1247
@ RESERVED2
Reserved for future use.
Definition dlapi.h:1221
@ P1300
Python 1300.
Definition dlapi.h:1245
@ KAF3200
Kodak KAF 3200.
Definition dlapi.h:1230
@ GSENSE4040
GPixel GSENSE4040.
Definition dlapi.h:1240
@ GSENSE4040BSI
GPixel GSENSE4040 BSI.
Definition dlapi.h:1241
@ RESERVED6
Reserved for future use.
Definition dlapi.h:1229
@ IMX411
Sony IMX411.
Definition dlapi.h:1254
@ CCD4710
CCD 47-10.
Definition dlapi.h:1224
@ RESERVED5
Reserved for future use.
Definition dlapi.h:1228
@ RESERVED3
Reserved for future use.
Definition dlapi.h:1226
@ RESERVEDB1
Reserved for subvariant 1.
Definition dlapi.h:1236
@ CCD7700
CCD 77-00.
Definition dlapi.h:1225
@ RESERVEDC1
Reserved for subvariant 3.
Definition dlapi.h:1238
@ RESERVED1
Reserved for future use.
Definition dlapi.h:1220
@ ICX814
Sony ICX814.
Definition dlapi.h:1223
@ GSENSE2020
GPixel GSENSE2020.
Definition dlapi.h:1243
CalibrationKey
Definition dlapi.h:1327
@ TestPatternMode
Definition dlapi.h:1330
@ EGain
Definition dlapi.h:1328
@ DriftStabilization
Definition dlapi.h:1329
@ InvalidCalibrationKey
Definition dlapi.h:1334
@ FirstCalibrationKey
Definition dlapi.h:1333
@ CalibrationCount
Definition dlapi.h:1332
virtual IPromisePtr querySubframe()=0
Query the camera's current subframe.
virtual unsigned int getAdjustableGainCount(AdjustableGainMode mode) const =0
getAdjustableGainCount()
virtual IPromisePtr startExposure(const TExposureOptions ¶ms)=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:861
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.
Abstract interface for a USB camera connection endpoint.
Definition dlapi.h:456
virtual const char * getSerial() const =0
Returns the device serial number string.
virtual ~IUsbEndpoint()
Definition dlapi.h:458
virtual void setConnection(bool enable)=0
virtual bool getConnection() const =0
virtual IPromisePtr upload(const char *firmwarePath)=0
Uploads firmware to the camera from the provided file path.
virtual const char * getFPGAWorkerStatus() const =0
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.
Extended sensor interface: zero-copy frame delivery into caller-owned image buffers.
virtual bool registerImageBuffers(unsigned short *const *pBuffers, size_t count, size_t bufferPx)=0
registerImageBuffers() Register a pool of caller-owned buffers for direct frame reconstruction.
virtual void unregisterImageBuffers()=0
unregisterImageBuffers() Return to internal DLAPI-owned buffering. After this call DLAPI holds no ref...
static const size_t NoBufferFilled
Sentinel returned by getLastFilledBufferIndex() before the first completed frame.
Definition dlapi.h:1934
virtual size_t getLastFilledBufferIndex() const =0
getLastFilledBufferIndex()
virtual size_t getMinImageBufferPx() const =0
getMinImageBufferPx()
dl::V3::ICamera
Definition dlapi.h:2417
virtual IEndpointPtr getEndpoint()=0
getEndpoint()
#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:211
static const unsigned char statusMask
Mask for the AO error flags.
Definition dlapi.h:209
static const unsigned char busy
AO is busy.
Definition dlapi.h:210
static const unsigned char reserved
Reserved for future use.
Definition dlapi.h:212
static const unsigned char badCommand
Bad Command.
Definition dlapi.h:213
static const int SensorThermistorErrorFlag
Definition dlapi.h:201
static const int HeatSinkThermistorErrorFlag
Definition dlapi.h:202
static const int ThermistorErrorFlagMask
Definition dlapi.h:200
static const unsigned char c_yBusy
This bit is set to high when the y-axis guider port is busy.
Definition dlapi.h:225
static const unsigned char c_xBusy
This bit is set to high when the x-axis guider port is busy.
Definition dlapi.h:224
dl::ICamera ICamera
Definition dlapi.h:2356
dl::ICamera * ICameraPtr
Definition dlapi.h:2357
IImage::IMetadataKey * IMetadataKeyPtr
Convenience typedef for IMetadata pointers.
Definition dlapi.h:702
IConnectionManager * IConnectionManagerPtr
Definition dlapi.h:2368
IImage * IImagePtr
Convenience typedef for IMetadata pointers.
Definition dlapi.h:703
ISensor * ISensorPtr
Convenience typedef for dl::V2::ISensor pointers.
Definition dlapi.h:1937
ICamera * ICameraPtr
Definition dlapi.h:2462
Top-level namespace containing all of DLAPI.
Definition dlapi.h:72
EFrameType
Sensor's readout frame typeid.
Definition dlapi.h:135
@ Interline
Interline sensor.
Definition dlapi.h:137
@ BayerInterline
Bayer/SparseColor interline sensors.
Definition dlapi.h:138
@ Progressive
Progressive, full-frame sensor.
Definition dlapi.h:136
@ GlobalShutter
Global Shutter for CMOS sensors.
Definition dlapi.h:140
@ InvalidFrameType
Frame type is invalid or uninitialized.
Definition dlapi.h:141
@ RollingShutter
Rolling Shutter for CMOS sensors.
Definition dlapi.h:139
ISensor * ISensorPtr
Convenience typedef for ISensor pointers.
Definition dlapi.h:1854
ITEC * ITECPtr
Convenience typedef for ITEC pointers.
Definition dlapi.h:924
EEndpointType
Camera's connection endpoint type (networked, USB, etc)
Definition dlapi.h:179
@ Net
A UDP over Ethernet/WiFi endpoint.
Definition dlapi.h:180
@ FirstEndpointType
A convenience definition for determining the first endpoint type.
Definition dlapi.h:187
@ USB3
A USB3.0 endpoint.
Definition dlapi.h:182
@ USB
A USB endpoint.
Definition dlapi.h:181
@ RAW
A direct-connect interface for raw I/O over Ethernet II Frames.
Definition dlapi.h:183
@ LastEndpointType
A convenience definition for determining the last endpoint type.
Definition dlapi.h:186
@ EndpointTypeCount
A convenience definition for determining the number of endpoint types.
Definition dlapi.h:185
@ InvalidEndpoint
The endpoint is either invalid, or uninitialized.
Definition dlapi.h:188
IPromise * IPromisePtr
Convenience typedef for IPromise pointers.
Definition dlapi.h:849
IAO * IAOPtr
Convenience typedef for IAO pointers.
Definition dlapi.h:1038
INetEndpoint * INetEndpointPtr
Convenience typedef for INetEndpoint pointers.
Definition dlapi.h:446
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
IUsbEndpoint * IUsbEndpointPtr
Convenience typedef for IUsbEndpoint pointers.
Definition dlapi.h:468
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
IEndpoint * IEndpointPtr
Convenience typedef for IEndpoint pointers.
Definition dlapi.h:411
IFW * IFWPtr
Convenience typedef for IFW pointers.
Definition dlapi.h:1194
ENetworkMode
Network Connection type/security for WiFi operation.
Definition dlapi.h:166
@ AdHoc
Use an ad-hoc network. More details coming.
Definition dlapi.h:167
@ Open
Connect to an open network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getN...
Definition dlapi.h:168
@ WEP
Connect to a WEP secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera...
Definition dlapi.h:169
@ InvalidNetworkMode
Network mode is either invalid, or uninitialized.
Definition dlapi.h:172
@ WPA2
Connect to a WPA 2 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition dlapi.h:171
@ WPA
Connect to a WPA 1 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition dlapi.h:170
IImage * IImagePtr
Convenience typedef for IImage pointers.
Definition dlapi.h:542
constexpr bool isIMXPlatform(dl::ICamera::Model model)
Convenience function to check if a camera model is an IMX-based camera.
Definition dlapi.h:2821
DL_API void MYCDECL deleteGateway(IGatewayPtr pGateway)
Decrement the internal count of IGateway pointers supplied, and delete the active IGateway instance w...
IImageExt * IImageExtPtr
Definition dlapi.h:567
IGateway * IGatewayPtr
Convenience typedef for IGateway pointers.
Definition dlapi.h:2735
EShutterStatus
Status of sensor's shutter.
Definition dlapi.h:149
@ ShutterOpening
Shutter is moving to opened state.
Definition dlapi.h:153
@ ShutterOpen
Shutter is open.
Definition dlapi.h:151
@ ShutterRolling
for future use in Aluma Pro.
Definition dlapi.h:154
@ ShutterUninitialized
Shutter state is uninitialized.
Definition dlapi.h:158
@ ShutterError
for future use in Aluma Pro
Definition dlapi.h:156
@ ShutterExercising
Shutter is in exercising state, more details coming.
Definition dlapi.h:155
@ ShutterClosing
Shutter is moving to closed state.
Definition dlapi.h:152
@ ShutterClosed
Shutter is closed.
Definition dlapi.h:150
EFilterType
Sensor's Filter typeid.
Definition dlapi.h:122
@ Monochrome
Monochrome filter on sensor.
Definition dlapi.h:123
@ Color
Bayer color filter on sensor.
Definition dlapi.h:124
@ InvalidFilterType
Filter type is invalid or uninitialized.
Definition dlapi.h:126
@ SparseColor
TrueSense Sparse Color filter on sensor.
Definition dlapi.h:125
IFWExtended * IFWExtendedPtr
Definition dlapi.h:1205
ICamera * ICameraPtr
Convenience typedef for ICamera pointers.
Definition dlapi.h:2408
unsigned char numberOfSensors
Number of sensors connected to the camera.
Definition dlapi.h:2083
unsigned int wifiFirmwareRevision
Revision number of the camera's WiFi firmware.
Definition dlapi.h:2082
unsigned int serialNumber
Encoded serial number of the sensor, use ICamera::getSerial() for human readable string version.
Definition dlapi.h:2080
unsigned int firmwareRevision
Revision number of the camera's Gate Array firmware.
Definition dlapi.h:2081
ICamera::Model model
Model of the camera.
Definition dlapi.h:2079
Info()
Default constructor.
Definition dlapi.h:2085
ISensor::Status mainSensorState
Main sensor state.
Definition dlapi.h:2051
float heatSinkTemperature
Heat Sink Temperature Reading.
Definition dlapi.h:2055
ISensor::Status extSensorState
External sensor state.
Definition dlapi.h:2052
float sensorTemperature
Sensor Temperature Reading.
Definition dlapi.h:2053
float inputVoltage
Input Voltage Reading from the power supply.
Definition dlapi.h:2056
Status()
Definition dlapi.h:2061
unsigned int pulseGuideStatus
Status of the pulse guide relays.
Definition dlapi.h:2057
float coolerPower
Cooler Power Reading.
Definition dlapi.h:2054
unsigned int flag
Reserved for future use.
Definition dlapi.h:2058
EShutterStatus shutterStatus
Main sensor shutter status.
Definition dlapi.h:2059
A data structure containing all factory-calibrated sensor characterization.
Definition dlapi.h:1372
unsigned int channelsInUse
Number of readout channels the API can make use of.
Definition dlapi.h:1374
unsigned int substrateVoltage
Sensor's substrate voltage in mV.
Definition dlapi.h:1373
unsigned int adcGains[4]
Array of Analog-to-Digital Converter gains in ADC, one per channel. Diffraction Limited strongly advi...
Definition dlapi.h:1375
float eGain
Measured eGain in e-/ADU.
Definition dlapi.h:1377
int adcOffsets[4]
Array of Analog-to-Digital Converter offsets in ADC, one per channel. Diffraction Limited strongly ad...
Definition dlapi.h:1376
A data structure containing sensor specifications.
Definition dlapi.h:1345
unsigned int pixelsY
The sensor's pixel count in the y-axis. Changes when ISensor::Setting::UseOverscan is toggled.
Definition dlapi.h:1349
FilterType filterType
The sensor's filter type.
Definition dlapi.h:1351
EFrameType frameType
The sensor's frame type.
Definition dlapi.h:1352
unsigned int maxBinX
Maximum binning of the sensor on the x-axis.
Definition dlapi.h:1357
float minExposureDuration
Minimum exposure duration in seconds.
Definition dlapi.h:1359
int minCoolerSetpoint
Minimum cooler setpoint in degrees Celsius.
Definition dlapi.h:1355
int maxCoolerSetpoint
Maximum cooler setpoint in degrees Celsius.
Definition dlapi.h:1356
unsigned char flag
Reserved for future use.
Definition dlapi.h:1362
float pixelSizeY
The sensor's pixel height in micrometers.
Definition dlapi.h:1354
bool hasRBIPreflash
true if the sensor has RBI preflash, false otherwise.
Definition dlapi.h:1361
unsigned int id
The sensor's internal ID (0 is the main sensor, 1 is the external sensor, etc).
Definition dlapi.h:1346
float exposurePrecision
Minimum increment of exposure duration in seconds.
Definition dlapi.h:1360
unsigned int maxBinY
Maximum binning of the sensor on the y-axis.
Definition dlapi.h:1358
unsigned int numberOfChannelsAvailable
The maximum number of readout channels the sensor has available for use.
Definition dlapi.h:1350
ISensor::Model model
The sensor's model.
Definition dlapi.h:1347
unsigned int pixelsX
The sensor's pixel count in the x-axis. Changes when ISensor::Setting::UseOverscan is toggled.
Definition dlapi.h:1348
float pixelSizeX
The sensor's pixel width in micrometers.
Definition dlapi.h:1353
RBI Preflash parametrization data structure.
Definition dlapi.h:1397
int flushes
Number of post-flash flushes. Defaults to 3.
Definition dlapi.h:1399
int duration
Duration of the pre-exposure flash in milliseconds. Defaults to 4000.
Definition dlapi.h:1398
C-style settings structure with built-in type conversion.
Definition dlapi.h:1389
bool autoFanSpeed
Use automatic fan speed control algorithm.
Definition dlapi.h:1408
bool useOnChipBinning
Use on-chip binning.
Definition dlapi.h:1406
bool enableIRLEDs
enable RBI Preflash IR LEDs for testing purposes
Definition dlapi.h:1405
bool useWindowHeater
true to turn on the camera's window heater. false to turn it off.
Definition dlapi.h:1404
int shutterPolarity
controls the polarity of solenoid shutters. Only needs to be changed if shutter operation is inverted...
Definition dlapi.h:1409
int partialExposureLength
controls the length of sub-exposures during internal stacking exposures (in 1 second increments)
Definition dlapi.h:1411
int fanSpeed
controls the fan speed of the camera. Fan speeds: high = 255, medium = 200, low = 150,...
Definition dlapi.h:1402
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:1412
bool enableStatusLED
enables/disables the status LED on the side of the camera. non-zero enables it, zero disables it....
Definition dlapi.h:1410
bool useExtTrigger
Wait for external trigger during exposures.
Definition dlapi.h:1407
bool useOverscan
true to enable the sensor's overscan region, or false to disable it. Defaults to false.
Definition dlapi.h:1403
Network connection detail structure.
Definition dlapi.h:357
unsigned int serialNumber
The ICamera::Info::serialNumber to query--not the human readable serial number string.
Definition dlapi.h:358
EEndpointType endpointType
Type of endpoint to connect to. Not needed in IGateway::GetCameraBySerial()
Definition dlapi.h:359
TConnectionDetails()
Default constructor for the struct.
Definition dlapi.h:362
size_t index
The Internal index of the camera to connect to (depends on EEndpointType). Not needed in IGateway::Ge...
Definition dlapi.h:360
A collection of exposure parameters required for starting an exposure.
Definition dlapi.h:257
char binX
[[deprecated]] Binning of the exposure in the x-direction in pixels. Is unused, and will go away in f...
Definition dlapi.h:260
bool useRBIPreflash
true to perform an RBI Preflash operation (if the camera supports it) before the exposure....
Definition dlapi.h:263
float duration
Duration of the exposure in seconds.
Definition dlapi.h:258
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:259
char binY
[[deprecated]] Binning of the exposure in the y-direction in pixels. Is unused, and will go away in f...
Definition dlapi.h:261
bool isLightFrame
true if the exposure is a light frame, false otherwise.
Definition dlapi.h:262
bool useExtTrigger
true to wait for an external trigger before executing the exposure. Consult your camera's user manual...
Definition dlapi.h:264
A collection of wireless network configuration settings.
Definition dlapi.h:298
unsigned int ssidLength
Length of the SSID string.
Definition dlapi.h:299
unsigned int passphraseLength
Length of the passphrase string.
Definition dlapi.h:300
bool isPassphraseHex
true to treat the passphrase as hex pairs, false to treat it as an ASCII phrase.
Definition dlapi.h:305
ENetworkMode mode
The networking mode. Changing this value requires a reboot of the camera.
Definition dlapi.h:301
bool isUsaCanadaMode
true to enable USA/Canada mode. (More details to come)
Definition dlapi.h:304
char passphrase[64]
String containing the passphrase of the camera's network settings.
Definition dlapi.h:303
char ssid[32]
String containing the SSID of the camera's network settings.
Definition dlapi.h:302
A collection of frame parameters, required for specifying the dimensions of an image.
Definition dlapi.h:275
int height
The frame's height in pixels.
Definition dlapi.h:279
int binX
The frame's x-binning in pixels.
Definition dlapi.h:280
int top
The frame's y-offset from the sensor's origin in pixels.
Definition dlapi.h:276
int left
The frame's x-offset from the sensor's origin in pixels.
Definition dlapi.h:277
int width
The frame's width in pixels.
Definition dlapi.h:278
int binY
The frame's y-binning in pixels.
Definition dlapi.h:281