DLAPI 4.1.1.0
An API for controlling Aluma branded cameras
dl::IFW Class Referenceabstract

FW Interface Class. More...

#include <dlapi.h>

Inheritance diagram for dl::IFW:
dl::IFWExtended

Public Types

enum  Model {
  UnknownFWModel = 0 , CFW2 , CFW5 , CFW8 ,
  CFWL , CFW402 , CFW6A , CFW10 ,
  CFW10_SERIAL , CFW9 , CFWL8 , CFWL8G ,
  CFW1603 , FW5_STX , FW5_8300 , FW8_8300 ,
  FW7_STX , FW8_STT , FW5_STF_DETENT , Internal ,
  AFW16 , AFW15 , AFW14 , AFW13 ,
  AFW12 , AFW11 , AFW10 , AFW9 ,
  AFW8 , AFW7 , AFW6 , AFW5 ,
  AFW4 , AFW3 , AFW2 , InvalidFWModel = 0xFF
}
 
enum  Status { FWIdle , FWBusy , FWError , InvalidFWStatus = 0xff }
 

Public Member Functions

virtual IPromisePtr initialize ()=0
 Initialize the filter wheel, and obtain basic model information.
 
virtual IPromisePtr queryStatus ()=0
 Queries the status of the filter wheel.
 
virtual int getPosition () const =0
 Returns the buffered position of the filter wheel.
 
virtual IFW::Status getStatus () const =0
 Returns the buffered status of the filter wheel.
 
virtual IFW::Model getModel () const =0
 Returns the model number of the attached filter wheel.
 
virtual unsigned int getSlots () const =0
 returns the number of slots the filter wheel has available.
 
virtual IPromisePtr setPosition (int position)=0
 Send a goto command to the filter wheel.
 

Detailed Description

FW Interface Class.

An interface to Filter Wheel peripherals connected to DLAPI cameras.

Member Enumeration Documentation

◆ Model

Enumerator
UnknownFWModel 

Used when an unknown FW model is reported by the camera.

CFW2 

CFW2

CFW5 

CFW5

CFW8 

CFW8

CFWL 

CFWL

CFW402 

CFW402

CFW6A 

CFW6A

CFW10 

CFW10

CFW10_SERIAL 

CFW10_SERIAL

CFW9 

CFW9

CFWL8 

CFWL8

CFWL8G 

CFWL8G

CFW1603 

CFW1603

FW5_STX 

STX FW5

FW5_8300 

STF-8300 FW5.

FW8_8300 

STF-8300 FW8.

FW7_STX 

STX FW7

FW8_STT 

STT FW8

FW5_STF_DETENT 

STF FW5 with detent

Internal 

STC Internal FW.

AFW16 

AFW-16 slot filter wheel.

AFW15 

AFW-15 slot filter wheel.

AFW14 

AFW-14 slot filter wheel.

AFW13 

AFW-13 slot filter wheel.

AFW12 

AFW-12 slot filter wheel.

AFW11 

AFW-11 slot filter wheel.

AFW10 

AFW-10 slot filter wheel.

AFW9 

AFW-09 slot filter wheel.

AFW8 

AFW-08 slot filter wheel.

AFW7 

AFW-07 slot filter wheel.

AFW6 

AFW-06 slot filter wheel.

AFW5 

AFW-05 slot filter wheel.

AFW4 

AFW-04 slot filter wheel.

AFW3 

AFW-03 slot filter wheel.

AFW2 

AFW-02 slot filter wheel.

InvalidFWModel 

Used for uninitialized variables.

811 {
812 UnknownFWModel = 0,
813
814 CFW2,
815 CFW5,
816 CFW8,
817 CFWL,
818 CFW402,
819 CFW6A,
820 CFW10,
822 CFW9,
823 CFWL8,
824 CFWL8G,
825 CFW1603,
826 FW5_STX,
827 FW5_8300,
828 FW8_8300,
829 FW7_STX,
830 FW8_STT,
832 Internal,
833
834 // New AFW line where model number represents number of slots (submodels include filter diameter & shape)
835 AFW16,
836 AFW15,
837 AFW14,
838 AFW13,
839 AFW12,
840 AFW11,
841 AFW10,
842 AFW9,
843 AFW8,
844 AFW7,
845 AFW6,
846 AFW5,
847 AFW4,
848 AFW3,
849 AFW2,
850
851 // ^^ new models here ^^
852
853 InvalidFWModel = 0xFF,
854 };
@ AFW8
AFW-08 slot filter wheel.
Definition dlapi.h:843
@ UnknownFWModel
Used when an unknown FW model is reported by the camera.
Definition dlapi.h:812
@ AFW9
AFW-09 slot filter wheel.
Definition dlapi.h:842
@ AFW4
AFW-04 slot filter wheel.
Definition dlapi.h:847
@ FW8_STT
STT FW8
Definition dlapi.h:830
@ FW7_STX
STX FW7
Definition dlapi.h:829
@ CFW10
CFW10
Definition dlapi.h:820
@ CFW2
CFW2
Definition dlapi.h:814
@ Internal
STC Internal FW.
Definition dlapi.h:832
@ AFW3
AFW-03 slot filter wheel.
Definition dlapi.h:848
@ AFW13
AFW-13 slot filter wheel.
Definition dlapi.h:838
@ AFW14
AFW-14 slot filter wheel.
Definition dlapi.h:837
@ CFW5
CFW5
Definition dlapi.h:815
@ AFW10
AFW-10 slot filter wheel.
Definition dlapi.h:841
@ AFW11
AFW-11 slot filter wheel.
Definition dlapi.h:840
@ CFW1603
CFW1603
Definition dlapi.h:825
@ AFW15
AFW-15 slot filter wheel.
Definition dlapi.h:836
@ AFW16
AFW-16 slot filter wheel.
Definition dlapi.h:835
@ AFW6
AFW-06 slot filter wheel.
Definition dlapi.h:845
@ CFWL
CFWL
Definition dlapi.h:817
@ CFW402
CFW402
Definition dlapi.h:818
@ CFW8
CFW8
Definition dlapi.h:816
@ CFWL8
CFWL8
Definition dlapi.h:823
@ AFW12
AFW-12 slot filter wheel.
Definition dlapi.h:839
@ CFW9
CFW9
Definition dlapi.h:822
@ FW5_STF_DETENT
STF FW5 with detent
Definition dlapi.h:831
@ AFW2
AFW-02 slot filter wheel.
Definition dlapi.h:849
@ InvalidFWModel
Used for uninitialized variables.
Definition dlapi.h:853
@ CFW6A
CFW6A
Definition dlapi.h:819
@ CFW10_SERIAL
CFW10_SERIAL
Definition dlapi.h:821
@ FW5_STX
STX FW5
Definition dlapi.h:826
@ CFWL8G
CFWL8G
Definition dlapi.h:824
@ AFW5
AFW-05 slot filter wheel.
Definition dlapi.h:846
@ AFW7
AFW-07 slot filter wheel.
Definition dlapi.h:844
@ FW8_8300
STF-8300 FW8.
Definition dlapi.h:828
@ FW5_8300
STF-8300 FW5.
Definition dlapi.h:827

◆ Status

Enumerator
FWIdle 

Filter Wheel is idle.

FWBusy 

Filter Wheel is busy.

FWError 

Filter Wheel has encountered an error.

InvalidFWStatus 

Filter Wheel is uninitialized.

860 {
861 FWIdle,
862 FWBusy,
863 FWError,
864
865 InvalidFWStatus = 0xff,
866 };
@ FWError
Filter Wheel has encountered an error.
Definition dlapi.h:863
@ InvalidFWStatus
Filter Wheel is uninitialized.
Definition dlapi.h:865
@ FWBusy
Filter Wheel is busy.
Definition dlapi.h:862
@ FWIdle
Filter Wheel is idle.
Definition dlapi.h:861

Member Function Documentation

◆ getModel()

virtual IFW::Model dl::IFW::getModel ( ) const
pure virtual

Returns the model number of the attached filter wheel.

Returns
IFW::Model the model number of the filter wheel.
See also
IFW::Status, IFW::initialize()

Returns the buffered model of the filter wheel, refreshed by IFW::initialize().

◆ getPosition()

virtual int dl::IFW::getPosition ( ) const
pure virtual

Returns the buffered position of the filter wheel.

Returns
int buffered filter wheel position.
See also
IFW::queryStatus()

Returns the buffered position of the filter wheel, refreshed by IFW::queryStatus().

◆ getSlots()

virtual unsigned int dl::IFW::getSlots ( ) const
pure virtual

returns the number of slots the filter wheel has available.

Returns
unsigned int number of filter slots in the filter wheel.

Returns the number of slots available in the filter wheel.

◆ getStatus()

virtual IFW::Status dl::IFW::getStatus ( ) const
pure virtual

Returns the buffered status of the filter wheel.

Returns
IFW::Status buffered filter wheel status.
See also
IFW::queryStatus()

Returns the buffered status of the filter wheel, refreshed by IFW::queryStatus(). Index is base-zero.

◆ initialize()

virtual IPromisePtr dl::IFW::initialize ( )
pure virtual

Initialize the filter wheel, and obtain basic model information.

Returns
IPromisePtr pointer to promise for monitoring the status of the asynchronous operation.
See also
IPromisePtr

Initializes the Filter Wheel, and obtains the filter wheel model.

◆ queryStatus()

virtual IPromisePtr dl::IFW::queryStatus ( )
pure virtual

Queries the status of the filter wheel.

Returns
IPromisePtr pointer to promise for monitoring the status of the asynchronous operation.
See also
IPromisePtr, IFW::getPosition(), IFW::getStatus()

Requests the status and position of the filter wheel from the camera, and updates the buffered values.

◆ setPosition()

virtual IPromisePtr dl::IFW::setPosition ( int position)
pure virtual

Send a goto command to the filter wheel.

Parameters
positionthe desired slot to move to.
Returns
IPromisePtr pointer to promise for monitoring the status of the asynchronous operation.
See also
IPromisePtr

Sets the position of the filter wheel. Will return EStatusCode::InvalidParameter if position is below 0, or above the slot count of the filter wheel when the IPromise completes. Index is base-zero.

Uses a bitwise-or operation to select a secondary filter wheel. e.g.

IPromisePtr setPosition(IFWPtr pFW, int position, bool setSecondaryFW)
{
if (setSecondaryFW)
position = position | 0x00000080;
auto pPromise = pFW->setPosition(position);
return pPromise;
}
FW Interface Class.
Definition dlapi.h:804
virtual IPromisePtr setPosition(int position)=0
Send a goto command to the filter wheel.
Promise interface class.
Definition dlapi.h:537

The documentation for this class was generated from the following file: