|
Instrument Neutral Distributed Interface INDI
0.9.6
|
Provides interface to implement Filter Wheel functionality. More...
#include <indifilterinterface.h>
Public Member Functions | |
| virtual int | QueryFilter ()=0 |
| Return current filter position. | |
| virtual bool | SelectFilter (int position)=0 |
| Select a new filter position. | |
| virtual bool | SetFilterNames ()=0 |
| Set filter names as defined by the client for each filter position. Filter names should be saved in hardware if possible. | |
| virtual bool | GetFilterNames (const char *groupName)=0 |
| Obtains a list of filter names from the hardware and initilizes the FilterNameTP property. The function should check for the number of filters available in the filter wheel and build the FilterNameTP property accordingly. | |
| void | SelectFilterDone (int newpos) |
| The child class calls this function when the hardware successfully finished selecting a new filter wheel position. | |
Protected Member Functions | |
| void | initFilterProperties (const char *deviceName, const char *groupName) |
| Initilize filter wheel properties. It is recommended to call this function within initProperties() of your primary device. | |
| void | processFilterProperties (const char *name, double values[], char *names[], int n) |
| Process client request to change filter position. Call this function in the filter wheel implementation class ISNewNumber function. This is a convenience function only, you can process FilterSlotNP in the child class. | |
Provides interface to implement Filter Wheel functionality.
A filter wheel can be an independent device, or an embedded filter wheel within another device (e.g. CCD camera). Child class must implement all the pure virtual functions and call SelectFilterDone(int) when selection of a new filter position is complete in the hardware.
initFilterProperties() must be called before any other function to initilize the filter properties.
Definition at line 38 of file indifilterinterface.h.
|
pure virtual |
Obtains a list of filter names from the hardware and initilizes the FilterNameTP property. The function should check for the number of filters available in the filter wheel and build the FilterNameTP property accordingly.
| groupName | group name for FilterNameTP property to be created. |
Implemented in INDI::FilterWheel.
|
protected |
Initilize filter wheel properties. It is recommended to call this function within initProperties() of your primary device.
| deviceName | Name of the primary device |
| groupName | Group or tab name to be used to define filter wheel properties. |
Definition at line 32 of file indifilterinterface.cpp.
|
protected |
Process client request to change filter position. Call this function in the filter wheel implementation class ISNewNumber function. This is a convenience function only, you can process FilterSlotNP in the child class.
| name | property name from ISNewNumber(); |
| values | values from ISNewNumber(). |
| names | names from ISNewNumber(); |
| n | n from ISNewNumber(); |
Definition at line 55 of file indifilterinterface.cpp.
|
pure virtual |
Select a new filter position.
Implemented in INDI::FilterWheel.
| void INDI::FilterInterface::SelectFilterDone | ( | int | newpos | ) |
The child class calls this function when the hardware successfully finished selecting a new filter wheel position.
| newpos | New position of the filter wheel |
Definition at line 44 of file indifilterinterface.cpp.
|
pure virtual |
Set filter names as defined by the client for each filter position. Filter names should be saved in hardware if possible.
Implemented in INDI::FilterWheel.
1.8.1.2