DLAPI 4.5.1.0
An API for controlling Aluma branded cameras
C:/Users/arobi/Perforce/nightly/DL_Imaging/Aluma_Software/dlapi/src/dlapi.h File Reference

Main header file for DLAPI, included in client applications calling the library. More...

#include <stddef.h>
#include <cstdint>

Go to the source code of this file.

Classes

struct  dl::TImageMetadata
 A collection of metadata associated with an image. More...
 
struct  dl::TExposureOptions
 A collection of exposure parameters required for starting an exposure. More...
 
struct  dl::TSubframe
 A collection of frame parameters, required for specifying the dimensions of an image. More...
 
struct  dl::TNetworkSettings
 A collection of wireless network configuration settings. More...
 
struct  dl::TConnectionDetails
 Network connection detail structure. More...
 
class  dl::IEndpoint
 Abstract interface for a camera connection endpoint. More...
 
class  dl::INetEndpoint
 Abstract interface for a UDP/IP camera connection endpoint. More...
 
class  dl::IUsbEndpoint
 Abstract interface for a USB camera connection endpoint. More...
 
class  dl::IImage
 Interface to an DLAPI Image buffer. More...
 
struct  dl::TLayerMetadata
 
class  dl::IImageExt
 
class  dl::V2::IImage
 
class  dl::V2::IImage::IMetadataKey
 
class  dl::IPromise
 Promise interface class. More...
 
class  dl::ITEC
 TEC interface class. More...
 
class  dl::IAO
 AO Interface Class. More...
 
class  dl::IFW
 FW Interface Class. More...
 
class  dl::IFWExtended
 
class  dl::ISensor
 Sensor Interface Class. More...
 
struct  dl::ISensor::Info
 A data structure containing sensor specifications. More...
 
struct  dl::ISensor::Calibration
 A data structure containing all factory-calibrated sensor characterization. More...
 
struct  dl::ISensor::Settings
 C-style settings structure with built-in type conversion. More...
 
struct  dl::ISensor::Settings::RBIPreflashSettings
 RBI Preflash parametrization data structure. More...
 
class  dl::V2::ISensor
 Extended sensor interface: zero-copy frame delivery into caller-owned image buffers. More...
 
class  dl::ICamera
 Camera interface class. More...
 
struct  dl::ICamera::Status
 
struct  dl::ICamera::Info
 
class  dl::V2::IConnectionManager
 
class  dl::V2::IFirmwareManager
 
class  dl::V3::ICamera
 dl::V3::ICamera More...
 
class  dl::IGateway
 Gateway object for controlling device discovery, and lifetime management. More...
 
class  dl::IDebugControl
 An abstract interface that gives users access to debug logging controls. More...
 

Namespaces

namespace  dl
 Top-level namespace containing all of DLAPI.
 
namespace  dl::ErrorFlags
 Contains Error flags/masks for a variety of peripherals/devices, as reported by the camera.
 
namespace  dl::ErrorFlags::TEC
 Contains TEC error flags as reported by the camera in ICamera::Status::flag.
 
namespace  dl::ErrorFlags::AO
 Contains AO error flags for internal use.
 
namespace  dl::PulseGuideStatus
 Status flags for the pulse guide port.
 
namespace  dl::V2
 
namespace  dl::V1
 
namespace  dl::V3
 

Macros

#define DL_STRUCTALIGN   4
 
#define DL_API   extern "C"
 
#define DL_GUI_API
 
#define MYCDECL
 

Typedefs

using dl::FilterType = EFilterType
 
typedef IEndpointdl::IEndpointPtr
 Convenience typedef for IEndpoint pointers.
 
typedef INetEndpointdl::INetEndpointPtr
 Convenience typedef for INetEndpoint pointers.
 
typedef IUsbEndpointdl::IUsbEndpointPtr
 Convenience typedef for IUsbEndpoint pointers.
 
typedef IImagedl::IImagePtr
 Convenience typedef for IImage pointers.
 
typedef IImageExtdl::IImageExtPtr
 
typedef IImage::IMetadataKeydl::V2::IMetadataKeyPtr
 Convenience typedef for IMetadata pointers.
 
typedef IImagedl::V2::IImagePtr
 Convenience typedef for IMetadata pointers.
 
typedef IPromisedl::IPromisePtr
 Convenience typedef for IPromise pointers.
 
typedef ITECdl::ITECPtr
 Convenience typedef for ITEC pointers.
 
typedef IAOdl::IAOPtr
 Convenience typedef for IAO pointers.
 
typedef IFWdl::IFWPtr
 Convenience typedef for IFW pointers.
 
typedef IFWExtendeddl::IFWExtendedPtr
 
typedef ISensordl::ISensorPtr
 Convenience typedef for ISensor pointers.
 
typedef ISensordl::V2::ISensorPtr
 Convenience typedef for dl::V2::ISensor pointers.
 
typedef dl::ICamera dl::V1::ICamera
 
typedef dl::ICameradl::V1::ICameraPtr
 
typedef IConnectionManagerdl::V2::IConnectionManagerPtr
 
typedef ICameradl::ICameraPtr
 Convenience typedef for ICamera pointers.
 
typedef ICameradl::V3::ICameraPtr
 
typedef IGatewaydl::IGatewayPtr
 Convenience typedef for IGateway pointers.
 

Enumerations

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

Functions

constexpr bool dl::isIMXPlatform (dl::ICamera::Model model)
 Convenience function to check if a camera model is an IMX-based camera.
 
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.
 
DL_API void MYCDECL dl::deleteGateway (IGatewayPtr pGateway)
 Decrement the internal count of IGateway pointers supplied, and delete the active IGateway instance when it is no longer in use.
 

Variables

static const int dl::ErrorFlags::TEC::ThermistorErrorFlagMask = 0x00000003
 
static const int dl::ErrorFlags::TEC::SensorThermistorErrorFlag = 0x00000001
 
static const int dl::ErrorFlags::TEC::HeatSinkThermistorErrorFlag = 0x00000002
 
static const unsigned char dl::ErrorFlags::AO::statusMask = 0x0f
 Mask for the AO error flags.
 
static const unsigned char dl::ErrorFlags::AO::busy = 0x01
 AO is busy.
 
static const unsigned char dl::ErrorFlags::AO::badCalibration = 0x02
 AO is not calibrated.
 
static const unsigned char dl::ErrorFlags::AO::reserved = 0x04
 Reserved for future use.
 
static const unsigned char dl::ErrorFlags::AO::badCommand = 0x08
 Bad Command.
 
static const unsigned char dl::PulseGuideStatus::c_xBusy = 0x01
 This bit is set to high when the x-axis guider port is busy.
 
static const unsigned char dl::PulseGuideStatus::c_yBusy = 0x02
 This bit is set to high when the y-axis guider port is busy.
 

Detailed Description

Main header file for DLAPI, included in client applications calling the library.

Author
Adam Robichaud

Copyright (c) Diffraction Limited, 2019

Macro Definition Documentation

◆ DL_API

#define DL_API   extern "C"

◆ DL_GUI_API

#define DL_GUI_API

◆ DL_STRUCTALIGN

#define DL_STRUCTALIGN   4

◆ MYCDECL

#define MYCDECL