dl Namespace Reference

Top-level namespace containing all of DLAPI. More...

Namespaces

 ErrorFlags
 Contains Error flags/masks for a variety of peripherals/devices, as reported by the camera.
 
 PulseGuideStatus
 Status flags for the pulse guide port.
 
 V1
 
 V2
 

Classes

class  IAO
 AO Interface Class. More...
 
class  ICamera
 Camera interface class. More...
 
class  IDebugControl
 An abstract interface that gives users access to debug logging controls \seealso IGateway, getGateway() If Debug logging is supported, the IGateway pointer returned from getGateway() will inheritt from IDebugControl as well. You can check to see whether the version of DLAPI being used by your application supports these features using a dynamic cast: More...
 
class  IFW
 FW Interface Class. More...
 
class  IFWExtended
 
class  IGateway
 Gateway object for controlling device discovery, and lifetime management. More...
 
class  IImage
 Interface to an DLAPI Image buffer. More...
 
class  IImageExt
 
class  IPromise
 Promise interface class. More...
 
class  ISensor
 Sensor Interface Class. More...
 
class  ITEC
 TEC interface class. More...
 
struct  TConnectionDetails
 Network connection detail structure. More...
 
struct  TExposureOptions
 A collection of exposure parameters required for starting an exposure. More...
 
struct  TImageMetadata
 A collection of metadata associated with an image. More...
 
struct  TLayerMetadata
 
struct  TNetworkSettings
 A collection of wireless network configuration settings. More...
 
struct  TSubframe
 A collection of frame parameters, required for specifying the dimensions of an image. More...
 

Typedefs

typedef IImageIImagePtr
 Convenience typedef for IImage pointers. More...
 
typedef IImageExtIImageExtPtr
 
typedef IPromiseIPromisePtr
 Convenience typedef for IPromise pointers. More...
 
typedef ITECITECPtr
 Convenience typedef for ITEC pointers. More...
 
typedef IAOIAOPtr
 Convenience typedef for IAO pointers. More...
 
typedef IFWIFWPtr
 Convenience typedef for IFW pointers. More...
 
typedef IFWExtendedIFWExtendedPtr
 
typedef ISensorISensorPtr
 Convenience typedef for ISensor pointers. More...
 
typedef ICameraICameraPtr
 Convenience typedef for ICamera pointers. More...
 
typedef IGatewayIGatewayPtr
 Convenience typedef for IGateway pointers. More...
 

Enumerations

enum  EStatusCode {
  Success = 0, ClientError = 0x01, InvalidSoh = ClientError, InvalidHeaderType,
  InvalidBodyType, InvalidFooterType, InvalidSensorId, InvalidMessageLength,
  InvalidParameter, UnsupportedBodyType, DeviceError = 0x80, DeviceBusy,
  ExposureInProgress = DeviceBusy, ReadoutInProgress = DeviceBusy, ImageNotAvailable, FeatureNotSupported,
  InvalidStatus = 0xff
}
 Status codes returned by a camera with every message response. More...
 
enum  EPulseGuideDirection { North = 0, South = 1, East = 2, West = 3 }
 Bases for pulse guiding. More...
 
enum  FilterType { Monochrome, Color, SparseColor, InvalidFilterType = 0xff }
 Sensor's Filter typeid. More...
 
enum  EFrameType {
  Progressive, Interline, BayerInterline, RollingShutter,
  GlobalShutter, InvalidFrameType = 0xff
}
 Sensor's readout frame typeid. More...
 
enum  EShutterStatus {
  ShutterClosed = 0, ShutterOpen, ShutterClosing, ShutterOpening,
  ShutterRolling, ShutterExercising, ShutterError, ShutterUninitialized = 0xFF
}
 Status of sensor's shutter. More...
 
enum  ENetworkMode {
  AdHoc = 0, Open = 1, WEP = 2, WPA = 3,
  WPA2 = 4, InvalidNetworkMode = 0xff
}
 Network Connection type/security for WiFi operation. More...
 
enum  EEndpointType {
  Net = 1, USB = 2, USB3 = 3, LastEndpointType,
  FirstEndpointType = Net, InvalidEndpoint = 0xff
}
 Camera's connection endpoint type (networked, USB, etc) More...
 

Functions

DL_API IGatewayPtr MYCDECL getGateway ()
 Returns a pointer to an instance of a Gateway object, or (if one exists) return the existing pointer to it. More...
 
DL_API void MYCDECL deleteGateway (IGatewayPtr)
 Decrement the internal count of IGateway pointers supplied, and delete the active IGateway instance when it is no longer in use. More...
 

Detailed Description

Top-level namespace containing all of DLAPI.

The dl namespace contains all the interface and utility definitions you will need while controlling a DLAPI compliant camera. Classes prefixed with a capital "I" (such as IGateway, ICamera, or IImage) represent abstract interface classes that are instantiated by DLAPI. They are grouped by function:

Interface classes all have convenience pointer typedefs (e.g. ICameraPtr is ICamera*), to ease readability.

In addition to the interface classes, there are a number of different parametrization and data structures both contained within interfaces (such as the ICamera::Info structure), and without (such as the TExposureOptions structure). These structures are used to transport large data structures to and from the API, and provides some degree of structure and modularity to the API.

Typedef Documentation

◆ IAOPtr

typedef IAO* dl::IAOPtr

Convenience typedef for IAO pointers.

◆ ICameraPtr

Convenience typedef for ICamera pointers.

◆ IFWExtendedPtr

◆ IFWPtr

typedef IFW* dl::IFWPtr

Convenience typedef for IFW pointers.

◆ IGatewayPtr

Convenience typedef for IGateway pointers.

◆ IImageExtPtr

◆ IImagePtr

Convenience typedef for IImage pointers.

◆ IPromisePtr

Convenience typedef for IPromise pointers.

◆ ISensorPtr

Convenience typedef for ISensor pointers.

◆ ITECPtr

typedef ITEC* dl::ITECPtr

Convenience typedef for ITEC pointers.

Enumeration Type Documentation

◆ EEndpointType

Camera's connection endpoint type (networked, USB, etc)

Enumerator
Net 

A UDP over Ethernet/WiFi endpoint.

USB 

A USB endpoint.

USB3 

A USB3.0 endpoint.

LastEndpointType 

A convenience definition for determining the last endpoint type.

FirstEndpointType 

A convenience definition for determining the first endpoint type.

InvalidEndpoint 

The endpoint is either invalid, or uninitialized.

178  {
179  Net = 1,
180  USB = 2,
181  USB3 = 3,
182 
185  InvalidEndpoint = 0xff,
186  };
A USB3.0 endpoint.
Definition: dlapi.h:181
A UDP over Ethernet/WiFi endpoint.
Definition: dlapi.h:179
The endpoint is either invalid, or uninitialized.
Definition: dlapi.h:185
A USB endpoint.
Definition: dlapi.h:180
A convenience definition for determining the last endpoint type.
Definition: dlapi.h:183
A convenience definition for determining the first endpoint type.
Definition: dlapi.h:184

◆ EFrameType

Sensor's readout frame typeid.

Enumerator
Progressive 

Progressive, full-frame sensor.

Interline 

Interline sensor.

BayerInterline 

Bayer/SparseColor interline sensors.

RollingShutter 

Rolling Shutter for CMOS sensors.

GlobalShutter 

Global Shutter for CMOS sensors.

InvalidFrameType 

Frame type is invalid or uninitialized.

134  {
135  Progressive,
136  Interline,
139  GlobalShutter,
140  InvalidFrameType = 0xff,
141  };
Frame type is invalid or uninitialized.
Definition: dlapi.h:140
Bayer/SparseColor interline sensors.
Definition: dlapi.h:137
Rolling Shutter for CMOS sensors.
Definition: dlapi.h:138
Interline sensor.
Definition: dlapi.h:136
Progressive, full-frame sensor.
Definition: dlapi.h:135
Global Shutter for CMOS sensors.
Definition: dlapi.h:139

◆ ENetworkMode

Network Connection type/security for WiFi operation.

Enumerator
AdHoc 

Use an ad-hoc network. More details coming.

Open 

Connect to an open network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getNetworkSettings().

WEP 

Connect to a WEP secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getNetworkSettings().

WPA 

Connect to a WPA 1 secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getNetworkSettings().

WPA2 

Connect to a WPA 2 secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getNetworkSettings().

InvalidNetworkMode 

Network mode is either invalid, or uninitialized.

165  {
166  AdHoc = 0,
167  Open = 1,
168  WEP = 2,
169  WPA = 3,
170  WPA2 = 4,
171  InvalidNetworkMode = 0xff
172  };
Use an ad-hoc network. More details coming.
Definition: dlapi.h:166
Connect to a WPA 2 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition: dlapi.h:170
Connect to an open network specified via ICamera::setNetworkSettings(), retrieved using ICamera::getN...
Definition: dlapi.h:167
Connect to a WPA 1 secured network specified via ICamera::setNetworkSettings(), retrieved using ICame...
Definition: dlapi.h:169
Network mode is either invalid, or uninitialized.
Definition: dlapi.h:171
Connect to a WEP secured network specified via ICamera::setNetworkSettings(), retrieved using ICamera...
Definition: dlapi.h:168

◆ EPulseGuideDirection

Bases for pulse guiding.

See also
ICamera::PulseGuide
Enumerator
North 

North (+ declination/altitude)

South 

South (- declination/altitude)

East 

East (+ right ascension/azimuth)

West 

West (- right ascension/azimuth)

110  {
111  North = 0,
112  South = 1,
113  East = 2,
114  West = 3,
115  };
East (+ right ascension/azimuth)
Definition: dlapi.h:113
North (+ declination/altitude)
Definition: dlapi.h:111
West (- right ascension/azimuth)
Definition: dlapi.h:114
South (- declination/altitude)
Definition: dlapi.h:112

◆ EShutterStatus

Status of sensor's shutter.

Enumerator
ShutterClosed 

Shutter is closed.

ShutterOpen 

Shutter is open.

ShutterClosing 

Shutter is moving to closed state.

ShutterOpening 

Shutter is moving to opened state.

ShutterRolling 

for future use in Aluma Pro.

ShutterExercising 

Shutter is in exercising state, more details coming.

ShutterError 

for future use in Aluma Pro

ShutterUninitialized 

Shutter state is uninitialized.

148  {
149  ShutterClosed = 0,
150  ShutterOpen,
155  ShutterError,
156 
157  ShutterUninitialized = 0xFF
158  };
Shutter state is uninitialized.
Definition: dlapi.h:157
for future use in Aluma Pro.
Definition: dlapi.h:153
Shutter is moving to closed state.
Definition: dlapi.h:151
Shutter is open.
Definition: dlapi.h:150
Shutter is moving to opened state.
Definition: dlapi.h:152
for future use in Aluma Pro
Definition: dlapi.h:155
Shutter is in exercising state, more details coming.
Definition: dlapi.h:154
Shutter is closed.
Definition: dlapi.h:149

◆ EStatusCode

Status codes returned by a camera with every message response.

Enumerator
Success 

Device reports command executed successfully, and without error.

ClientError 

Start of client-side error codes.

InvalidSoh 

Invalid message start-of-header byte.

InvalidHeaderType 

Invalid header typeid supplied in request.

InvalidBodyType 

Invalid body typeid supplied in request.

InvalidFooterType 

Invalid footer typeid supplied in request.

InvalidSensorId 

Invalid sensor ID number supplied in request.

InvalidMessageLength 

Invalid message length supplied in request.

InvalidParameter 

Invalid parameter passed in request body.

UnsupportedBodyType 

Invalid/unsupported body type supplied in request header.

DeviceError 

Start of device-side error codes.

DeviceBusy 

Catch-all for device busy errors.

ExposureInProgress 

Device has an exposure in progress and cannot comply [[deprecated]].

ReadoutInProgress 

Device has a frame readout in progress and cannot comply [[deprecated]].

ImageNotAvailable 

Image Transfer was requested, but no image is ready for download.

FeatureNotSupported 

Camera does not support the requested feature.

See also
ICamera::Capability, ICamera::getCapability(), ICamera::queryCapability()
InvalidStatus 

Unknown status response from camera.

78  {
79  Success = 0,
80 
81  // client specific errors ...
82  ClientError = 0x01,
91 
92  // device specific errors ...
93  DeviceError = 0x80,
94  DeviceBusy,
99 
100  // Book keeping
101  InvalidStatus = 0xff
102  };
Start of device-side error codes.
Definition: dlapi.h:93
Device has an exposure in progress and cannot comply [[deprecated]].
Definition: dlapi.h:95
Invalid footer typeid supplied in request.
Definition: dlapi.h:86
Image Transfer was requested, but no image is ready for download.
Definition: dlapi.h:97
Catch-all for device busy errors.
Definition: dlapi.h:94
Unknown status response from camera.
Definition: dlapi.h:101
Device has a frame readout in progress and cannot comply [[deprecated]].
Definition: dlapi.h:96
Invalid/unsupported body type supplied in request header.
Definition: dlapi.h:90
Camera does not support the requested feature.
Definition: dlapi.h:98
Device reports command executed successfully, and without error.
Definition: dlapi.h:79
Invalid parameter passed in request body.
Definition: dlapi.h:89
Invalid body typeid supplied in request.
Definition: dlapi.h:85
Start of client-side error codes.
Definition: dlapi.h:82
Invalid message start-of-header byte.
Definition: dlapi.h:83
Invalid header typeid supplied in request.
Definition: dlapi.h:84
Invalid sensor ID number supplied in request.
Definition: dlapi.h:87
Invalid message length supplied in request.
Definition: dlapi.h:88

◆ FilterType

Sensor's Filter typeid.

Enumerator
Monochrome 

Monochrome filter on sensor.

Color 

Bayer color filter on sensor.

SparseColor 

TrueSense Sparse Color filter on sensor.

InvalidFilterType 

Filter type is invalid or uninitialized.

122  {
123  Monochrome,
124  Color,
125  SparseColor,
126  InvalidFilterType = 0xff,
127  };
Monochrome filter on sensor.
Definition: dlapi.h:123
Bayer color filter on sensor.
Definition: dlapi.h:124
TrueSense Sparse Color filter on sensor.
Definition: dlapi.h:125
Filter type is invalid or uninitialized.
Definition: dlapi.h:126

Function Documentation

◆ deleteGateway()

DL_API void MYCDECL dl::deleteGateway ( IGatewayPtr  )

Decrement the internal count of IGateway pointers supplied, and delete the active IGateway instance when it is no longer in use.

Parameters
IGatewayPtra pointer to an IGateway object to delete.
See also
IGateway, getGateway()

This function tracks usage counts of getGateway(), and deletes the singleton instance of IGateway when the last instance is released.

◆ getGateway()

DL_API IGatewayPtr MYCDECL dl::getGateway ( )

Returns a pointer to an instance of a Gateway object, or (if one exists) return the existing pointer to it.

Returns
IGatewayPtr pointer to the instance of the process' IGateway.
See also
IGateway, deleteGateway()

This function provides the user with the singleton instance of the DLAPI IGateway for the process. Use this function to gain access to all DLAPI devices. Minimize the number of calls to this function if at all possible. It is not necessary to keep an IGateway instance active throughout the lifetime of your application, but you should avoid creating gateways at call sites. Keep the gateway instances alive throughout the scope of all communications with the API. All calls to dl::getGateway() should be accompanied by a call to dl::deleteGateway().

An easy way to ensure this occurs is to create a smart pointer with a custom deleter that handles this cleanup.