|
| FocuserInterface (DefaultDevice *defaultDevice) |
|
virtual | ~FocuserInterface ()=default |
|
void | initProperties (const char *groupName) |
| Initilize focuser properties. More...
|
|
bool | updateProperties () |
| updateProperties Define or Delete Rotator properties based on the connection status of the base device More...
|
|
bool | processNumber (const char *dev, const char *name, double values[], char *names[], int n) |
| Process focus number properties. More...
|
|
bool | processSwitch (const char *dev, const char *name, ISState *states, char *names[], int n) |
| Process focus switch properties. More...
|
|
virtual bool | SetFocuserSpeed (int speed) |
| SetFocuserSpeed Set Focuser speed. More...
|
|
virtual IPState | MoveFocuser (FocusDirection dir, int speed, uint16_t duration) |
| MoveFocuser the focuser in a particular direction with a specific speed for a finite duration. More...
|
|
virtual IPState | MoveAbsFocuser (uint32_t targetTicks) |
| MoveFocuser the focuser to an absolute position. More...
|
|
virtual IPState | MoveRelFocuser (FocusDirection dir, uint32_t ticks) |
| MoveFocuser the focuser to an relative position. More...
|
|
virtual bool | AbortFocuser () |
| AbortFocuser all focus motion. More...
|
|
| FocuserInterface (DefaultDevice *defaultDevice) |
|
virtual | ~FocuserInterface ()=default |
|
void | initProperties (const char *groupName) |
| Initilize focuser properties. More...
|
|
bool | updateProperties () |
| updateProperties Define or Delete Rotator properties based on the connection status of the base device More...
|
|
bool | processNumber (const char *dev, const char *name, double values[], char *names[], int n) |
| Process focus number properties. More...
|
|
bool | processSwitch (const char *dev, const char *name, ISState *states, char *names[], int n) |
| Process focus switch properties. More...
|
|
virtual bool | SetFocuserSpeed (int speed) |
| SetFocuserSpeed Set Focuser speed. More...
|
|
virtual IPState | MoveFocuser (FocusDirection dir, int speed, uint16_t duration) |
| MoveFocuser the focuser in a particular direction with a specific speed for a finite duration. More...
|
|
virtual IPState | MoveAbsFocuser (uint32_t targetTicks) |
| MoveFocuser the focuser to an absolute position. More...
|
|
virtual IPState | MoveRelFocuser (FocusDirection dir, uint32_t ticks) |
| MoveFocuser the focuser to an relative position. More...
|
|
virtual bool | AbortFocuser () |
| AbortFocuser all focus motion. More...
|
|
Provides interface to implement focuser functionality.
A focuser can be an independent device, or an embedded focuser within another device (e.g. Camera or mount).
When developing a driver for a fully indepdent focuser device, use INDI::Focuser directly. To add focus functionality to an existing mount or camera driver, subclass INDI::FocuserInterface. In your driver, then call the necessary focuser interface functions.
Implement and overwrite the rest of the virtual functions as needed. INDI GPhoto driver is a good example to check for an actual implementation of a focuser interface within a CCD driver.
- Author
- Jasem Mutlaq
MoveFocuser the focuser to an absolute position.
- Parameters
-
ticks | The new position of the focuser. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in USBFocusV3, FocusLynxBase, Gemini, TCFS, SteelDrive, Microtouch, FocusSim, Integra, FLIPDF, PerfectStar, FocusMaster, Lakeside, NSTEP, NightCrawler, SestoSenso, ArmPlat, NFocus, MoonLite, DMFC, SmartFocus, and RoboFocus.
virtual IPState INDI::FocuserInterface::MoveAbsFocuser |
( |
uint32_t |
targetTicks | ) |
|
|
protectedvirtual |
MoveFocuser the focuser to an absolute position.
- Parameters
-
ticks | The new position of the focuser. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in USBFocusV3, FocusLynxBase, Gemini, TCFS, SteelDrive, Microtouch, FocusSim, Integra, FLIPDF, PerfectStar, FocusMaster, Lakeside, NSTEP, NightCrawler, SestoSenso, ArmPlat, NFocus, MoonLite, DMFC, SmartFocus, and RoboFocus.
MoveFocuser the focuser in a particular direction with a specific speed for a finite duration.
- Parameters
-
dir | Direction of focuser, either FOCUS_INWARD or FOCUS_OUTWARD. |
speed | Speed of focuser if supported by the focuser. |
duration | The timeout in milliseconds before the focus motion halts. Pass 0 to move indefinitely. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in GPhotoCCD, FocusLynxBase, Gemini, SteelDrive, Microtouch, FocusSim, HitecAstroDCFocuser, FocusMaster, and MoonLite.
MoveFocuser the focuser in a particular direction with a specific speed for a finite duration.
- Parameters
-
dir | Direction of focuser, either FOCUS_INWARD or FOCUS_OUTWARD. |
speed | Speed of focuser if supported by the focuser. |
duration | The timeout in milliseconds before the focus motion halts. Pass 0 to move indefinitely. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in GPhotoCCD, FocusLynxBase, Gemini, SteelDrive, Microtouch, FocusSim, HitecAstroDCFocuser, FocusMaster, and MoonLite.
MoveFocuser the focuser to an relative position.
- Parameters
-
dir | Direction of focuser, either FOCUS_INWARD or FOCUS_OUTWARD. |
ticks | The relative ticks to move. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in USBFocusV3, FocusLynxBase, Gemini, TCFS, SteelDrive, Microtouch, FocusSim, Integra, FLIPDF, HitecAstroDCFocuser, PerfectStar, FocusMaster, Lakeside, NightCrawler, NSTEP, ArmPlat, NFocus, MoonLite, SestoSenso, DMFC, SmartFocus, and RoboFocus.
MoveFocuser the focuser to an relative position.
- Parameters
-
dir | Direction of focuser, either FOCUS_INWARD or FOCUS_OUTWARD. |
ticks | The relative ticks to move. |
- Returns
- Return IPS_OK if motion is completed and focuser reached requested position. Return IPS_BUSY if focuser started motion to requested position and is in progress. Return IPS_ALERT if there is an error.
Reimplemented in USBFocusV3, FocusLynxBase, Gemini, TCFS, SteelDrive, Microtouch, FocusSim, Integra, FLIPDF, HitecAstroDCFocuser, PerfectStar, FocusMaster, Lakeside, NightCrawler, NSTEP, ArmPlat, NFocus, MoonLite, SestoSenso, DMFC, SmartFocus, and RoboFocus.