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. More... | |
virtual IPromisePtr | queryStatus ()=0 |
Query the status of the AO device. More... | |
virtual IPromisePtr | setPosition (short tip, short tilt)=0 |
Set the Tip/Tilt position of the AO. More... | |
virtual IAO::Status | getStatus () const =0 |
Return the buffered status of the AO device. More... | |
virtual void | getPosition (short &tip, short &tilt) const =0 |
Return the buffered Tip/Tilt position of the AO device. More... | |
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. More... | |
virtual Model | getModel () const =0 |
Get the model number of the connected AO device. More... | |
Detailed Description
AO Interface Class.
An interface to Adaptive Optics peripherals connected to DLAPI cameras.
Member Enumeration Documentation
◆ Model
enum dl::IAO::Model |
◆ Status
enum dl::IAO::Status |
Member Function Documentation
◆ getLimits()
|
pure virtual |
Return limits for Tip/Tilt position of the AO device.
- Parameters
-
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).
- See also
- IAO::queryStatus(), IAO::setPosition()
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.
◆ getModel()
|
pure virtual |
Get the model number of the connected AO device.
- Returns
- IAO::Model
- See also
- IAO::Model
Obtains the buffered model of the AO peripheral, obtained by a call to IAO::initialize().
◆ getPosition()
|
pure virtual |
Return the buffered Tip/Tilt position of the AO device.
- Parameters
-
tip AO offset in x-axis. tilt AO offset in y-axis.
- See also
- IAO::queryStatus(), IAO::setPosition()
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.
◆ getStatus()
|
pure virtual |
Return the buffered status of the AO device.
- Returns
- IAO::Status status of the AO peripheral.
- See also
- IAO::queryStatus()
Returns the buffered status of the AO peripheral, refreshed using IAO::queryStatus() command.
◆ initialize()
|
pure virtual |
Initialize the AO and retrieve basic model information.
- Returns
- IPromisePtr a promise to track asynchronous completion of the operation.
- See also
- IPromise
Performs initialization of the AO unit, including obtaining the model of the unit (if it is attached, and available).
◆ queryStatus()
|
pure virtual |
Query the status of the AO device.
- Returns
- IPromisePtr a promise to track asynchronous completion of the operation.
- See also
- IPromise, IAO::getPosition(), IAO::getStatus()
Query the camera for the status of the AO unit, and its position. Retrieve position on IPromise::Complete with IAO::getPosition(), and IAO::getStatus().
◆ setPosition()
|
pure virtual |
Set the Tip/Tilt position of the AO.
- Returns
- IPromisePtr a promise to track asynchronous completion of the operation.
- See also
- IPromise
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.
The documentation for this class was generated from the following file:
- C:/NightlyBuild/DL_Imaging/Aluma_Software/dlapi/src/dlapi.h