![]() |
DLAPI 4.1.1.0
An API for controlling Aluma branded cameras
|
AO Interface Class. More...
#include <dlapi.h>
Public Types | |
| enum | Status { Idle , Busy , Error , InvalidAOStatus = 0xff } |
| enum | Model { UnknownAOModel = 0 , AO8 , AOX , InvalidAOModel = 0xff } |
Public Member Functions | |
| virtual IPromisePtr | initialize ()=0 |
| Initialize the AO and retrieve basic model information. | |
| virtual IPromisePtr | queryStatus ()=0 |
| Query the status of the AO device. | |
| virtual IPromisePtr | setPosition (short tip, short tilt)=0 |
| Set the Tip/Tilt position of the AO. | |
| virtual IAO::Status | getStatus () const =0 |
| Return the buffered status of the AO device. | |
| virtual void | getPosition (short &tip, short &tilt) const =0 |
| Return the buffered Tip/Tilt position of the 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 Model | getModel () const =0 |
| Get the model number of the connected AO device. | |
AO Interface Class.
An interface to Adaptive Optics peripherals connected to DLAPI cameras.
| enum dl::IAO::Model |
| Enumerator | |
|---|---|
| UnknownAOModel | AO Model could not be ascertained. |
| AO8 | AO-8 model of adaptive optics. |
| AOX | AO-X model of adaptive optics. |
| InvalidAOModel | AO model was not initialized. |
| enum dl::IAO::Status |
| Enumerator | |
|---|---|
| Idle | Peripheral is idle. |
| Busy | Peripheral is busy. |
| Error | Peripheral is in an error state. |
| InvalidAOStatus | Peripheral is uninitialized. |
|
pure virtual |
Return limits for Tip/Tilt position of the AO device.
| tipMin | Reference to a variable that will receive the minimum AO offset on x-axis (i.e. tip). |
| tipMax | Reference to a variable that will receive the minimum AO offset on x-axis (i.e. tip). |
| tiltMin | Reference to a variable that will receive the minimum AO offset on y-axis (i.e. tilt). |
| tiltMax | Reference to a variable that will receive the maximum AO offset on y-axis (i.e. tilt). |
The default range allowed for AO tip/tilt operations is [0, 4095] inclusive on both axes, but any devices deviating from this can rely on IAO::getLimits() to report correct minima and maxima.
|
pure virtual |
Get the model number of the connected AO device.
Obtains the buffered model of the AO peripheral, obtained by a call to IAO::initialize().
|
pure virtual |
Return the buffered Tip/Tilt position of the AO device.
| tip | AO offset in x-axis. |
| tilt | AO offset in y-axis. |
Obtains the buffered x- and y-offsets of the AO peripheral, refreshed using the IAO::queryStatus() command.
Range allowed for AO tip/tilt operations is [0, 4095] inclusive on both axes. IPromise will return EStatusCode::InvalidParameter if either of the tip/tilt values are out of range.
|
pure virtual |
Return the buffered status of the AO device.
Returns the buffered status of the AO peripheral, refreshed using IAO::queryStatus() command.
|
pure virtual |
Initialize the AO and retrieve basic model information.
Performs initialization of the AO unit, including obtaining the model of the unit (if it is attached, and available).
|
pure virtual |
Query the status of the AO device.
Query the camera for the status of the AO unit, and its position. Retrieve position on IPromise::Complete with IAO::getPosition(), and IAO::getStatus().
|
pure virtual |
Set the Tip/Tilt position of the AO.
Tells the AO to GOTO a given tip/tilt. The limits of tip and tilt are given by IAO::getLimits(), nominally [0, 4095] inclusive on both axes. Attempting to set the position of the AO to any values outside that range will return a EStatusCode::InvalidParameter error when the associated IPromise completes. If the AO is currently moving when this call is made, it will also return a EStatusCode::DeviceBusy error when the IPromise completes.