TwiceAsNice
2019-02-18
|
#include <focusmaster.h>
Classes | |
struct | focusMoveStart |
Public Member Functions | |
FocusMaster () | |
virtual | ~FocusMaster ()=default |
virtual bool | ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n) |
Process the client newNumber command. More... | |
virtual bool | ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n) |
Process the client newSwitch command. More... | |
const char * | getDefaultName () |
virtual bool | initProperties () |
Initilize properties initial state and value. More... | |
virtual bool | updateProperties () |
updateProperties is called whenever there is a change in the CONNECTION status of the driver. More... | |
bool | Connect () |
Connect to the device. More... | |
bool | Disconnect () |
Disconnect from device. More... | |
void | TimerHit () |
Callback function to be called once SetTimer duration elapses. 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... | |
![]() | |
Focuser () | |
virtual | ~Focuser () |
virtual void | ISGetProperties (const char *dev) |
define the driver's properties to the client. More... | |
virtual bool | ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n) |
Process the client newSwitch command. More... | |
virtual bool | ISSnoopDevice (XMLEle *root) |
Process a snoop event from INDI server. More... | |
void | setSupportedConnections (const uint8_t &value) |
setConnection Set Focuser connection mode. More... | |
uint8_t | getSupportedConnections () const |
Focuser () | |
virtual | ~Focuser () |
virtual void | ISGetProperties (const char *dev) |
define the driver's properties to the client. More... | |
virtual bool | ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n) |
Process the client newSwitch command. More... | |
virtual bool | ISSnoopDevice (XMLEle *root) |
Process a snoop event from INDI server. More... | |
void | setSupportedConnections (const uint8_t &value) |
setConnection Set Focuser connection mode. More... | |
uint8_t | getSupportedConnections () const |
![]() | |
DefaultDevice () | |
virtual | ~DefaultDevice () |
void | addAuxControls () |
Add Debug, Simulation, and Configuration options to the driver. More... | |
void | addDebugControl () |
Add Debug control to the driver. More... | |
void | addSimulationControl () |
Add Simulation control to the driver. More... | |
void | addConfigurationControl () |
Add Configuration control to the driver. More... | |
void | addPollPeriodControl () |
Add Polling period control to the driver. More... | |
void | resetProperties () |
Set all properties to IDLE state. More... | |
void | defineNumber (INumberVectorProperty *nvp) |
Define number vector to client & register it. More... | |
void | defineText (ITextVectorProperty *tvp) |
Define text vector to client & register it. More... | |
void | defineSwitch (ISwitchVectorProperty *svp) |
Define switch vector to client & register it. More... | |
void | defineLight (ILightVectorProperty *lvp) |
Define light vector to client & register it. More... | |
void | defineBLOB (IBLOBVectorProperty *bvp) |
Define BLOB vector to client & register it. More... | |
virtual bool | deleteProperty (const char *propertyName) |
Delete a property and unregister it. More... | |
virtual void | setConnected (bool status, IPState state=IPS_OK, const char *msg=nullptr) |
Set connection switch status in the client. More... | |
int | SetTimer (uint32_t ms) |
Set a timer to call the function TimerHit after ms milliseconds. More... | |
void | RemoveTimer (int id) |
Remove timer added with SetTimer. More... | |
virtual const char * | getDriverExec () |
virtual const char * | getDriverName () |
void | setVersion (uint16_t vMajor, uint16_t vMinor) |
Set driver version information to be defined in DRIVER_INFO property as vMajor.vMinor. More... | |
uint16_t | getMajorVersion () |
uint16_t | getMinorVersion () |
virtual bool | ISNewBLOB (const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n) |
Process the client newBLOB command. More... | |
virtual uint16_t | getDriverInterface () |
void | setDriverInterface (uint16_t value) |
setInterface Set driver interface. More... | |
DefaultDevice () | |
virtual | ~DefaultDevice () |
void | addAuxControls () |
Add Debug, Simulation, and Configuration options to the driver. More... | |
void | addDebugControl () |
Add Debug control to the driver. More... | |
void | addSimulationControl () |
Add Simulation control to the driver. More... | |
void | addConfigurationControl () |
Add Configuration control to the driver. More... | |
void | addPollPeriodControl () |
Add Polling period control to the driver. More... | |
void | resetProperties () |
Set all properties to IDLE state. More... | |
void | defineNumber (INumberVectorProperty *nvp) |
Define number vector to client & register it. More... | |
void | defineText (ITextVectorProperty *tvp) |
Define text vector to client & register it. More... | |
void | defineSwitch (ISwitchVectorProperty *svp) |
Define switch vector to client & register it. More... | |
void | defineLight (ILightVectorProperty *lvp) |
Define light vector to client & register it. More... | |
void | defineBLOB (IBLOBVectorProperty *bvp) |
Define BLOB vector to client & register it. More... | |
virtual bool | deleteProperty (const char *propertyName) |
Delete a property and unregister it. More... | |
virtual void | setConnected (bool status, IPState state=IPS_OK, const char *msg=nullptr) |
Set connection switch status in the client. More... | |
int | SetTimer (uint32_t ms) |
Set a timer to call the function TimerHit after ms milliseconds. More... | |
void | RemoveTimer (int id) |
Remove timer added with SetTimer. More... | |
virtual const char * | getDriverExec () |
virtual const char * | getDriverName () |
void | setVersion (uint16_t vMajor, uint16_t vMinor) |
Set driver version information to be defined in DRIVER_INFO property as vMajor.vMinor. More... | |
uint16_t | getMajorVersion () |
uint16_t | getMinorVersion () |
virtual bool | ISNewBLOB (const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n) |
Process the client newBLOB command. More... | |
virtual uint16_t | getDriverInterface () |
void | setDriverInterface (uint16_t value) |
setInterface Set driver interface. More... | |
![]() | |
BaseDevice () | |
virtual | ~BaseDevice () |
INumberVectorProperty * | getNumber (const char *name) |
ITextVectorProperty * | getText (const char *name) |
ISwitchVectorProperty * | getSwitch (const char *name) |
ILightVectorProperty * | getLight (const char *name) |
IBLOBVectorProperty * | getBLOB (const char *name) |
IPState | getPropertyState (const char *name) |
IPerm | getPropertyPermission (const char *name) |
void | registerProperty (void *p, INDI_PROPERTY_TYPE type) |
int | removeProperty (const char *name, char *errmsg) |
Remove a property. More... | |
void * | getRawProperty (const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) |
Return a property and its type given its name. More... | |
INDI::Property * | getProperty (const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) |
Return a property and its type given its name. More... | |
std::vector< INDI::Property * > * | getProperties () |
Return a list of all properties in the device. More... | |
bool | buildSkeleton (const char *filename) |
Build driver properties from a skeleton file. More... | |
bool | isConnected () |
void | setDeviceName (const char *dev) |
Set the device name. More... | |
const char * | getDeviceName () |
void | addMessage (const std::string &msg) |
Add message to the driver's message queue. More... | |
void | checkMessage (XMLEle *root) |
void | doMessage (XMLEle *msg) |
std::string | messageQueue (int index) const |
std::string | lastMessage () |
void | setMediator (INDI::BaseMediator *med) |
Set the driver's mediator to receive notification of news devices and updated property values. More... | |
INDI::BaseMediator * | getMediator () |
const char * | getDriverName () |
const char * | getDriverExec () |
const char * | getDriverVersion () |
BaseDevice () | |
virtual | ~BaseDevice () |
INumberVectorProperty * | getNumber (const char *name) |
ITextVectorProperty * | getText (const char *name) |
ISwitchVectorProperty * | getSwitch (const char *name) |
ILightVectorProperty * | getLight (const char *name) |
IBLOBVectorProperty * | getBLOB (const char *name) |
IPState | getPropertyState (const char *name) |
IPerm | getPropertyPermission (const char *name) |
void | registerProperty (void *p, INDI_PROPERTY_TYPE type) |
int | removeProperty (const char *name, char *errmsg) |
Remove a property. More... | |
void * | getRawProperty (const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) |
Return a property and its type given its name. More... | |
INDI::Property * | getProperty (const char *name, INDI_PROPERTY_TYPE type=INDI_UNKNOWN) |
Return a property and its type given its name. More... | |
std::vector< INDI::Property * > * | getProperties () |
Return a list of all properties in the device. More... | |
bool | buildSkeleton (const char *filename) |
Build driver properties from a skeleton file. More... | |
bool | isConnected () |
void | setDeviceName (const char *dev) |
Set the device name. More... | |
const char * | getDeviceName () |
void | addMessage (const std::string &msg) |
Add message to the driver's message queue. More... | |
void | checkMessage (XMLEle *root) |
void | doMessage (XMLEle *msg) |
std::string | messageQueue (int index) const |
std::string | lastMessage () |
void | setMediator (INDI::BaseMediator *med) |
Set the driver's mediator to receive notification of news devices and updated property values. More... | |
INDI::BaseMediator * | getMediator () |
const char * | getDriverName () |
const char * | getDriverExec () |
const char * | getDriverVersion () |
![]() | |
uint32_t | GetCapability () const |
GetFocuserCapability returns the capability of the focuser. More... | |
void | SetCapability (uint32_t cap) |
FI::SetCapability sets the focuser capabilities. More... | |
bool | CanAbsMove () |
bool | CanRelMove () |
bool | CanAbort () |
bool | HasVariableSpeed () |
uint32_t | GetCapability () const |
GetFocuserCapability returns the capability of the focuser. More... | |
void | SetCapability (uint32_t cap) |
FI::SetCapability sets the focuser capabilities. More... | |
bool | CanAbsMove () |
bool | CanRelMove () |
bool | CanAbort () |
bool | HasVariableSpeed () |
Private Member Functions | |
bool | sendCommand (const uint8_t *command, char *response=nullptr) |
sendCommand Send a command to the focuser and optional read a response More... | |
bool | setPosition (uint32_t ticks) |
bool | getPosition (uint32_t *ticks) |
bool | sync (uint32_t ticks) |
float | CalcTimeLeft (timeval, float) |
Private Attributes | |
hid_device * | handle { nullptr } |
float | focusMoveRequest { 0 } |
INumber | SyncN [1] |
INumberVectorProperty | SyncNP |
ISwitch | FullMotionS [2] |
ISwitchVectorProperty | FullMotionSP |
Additional Inherited Members | |
![]() | |
enum | { CONNECTION_NONE = 1 << 0, CONNECTION_SERIAL = 1 << 1, CONNECTION_TCP = 1 << 2 } |
enum | { CONNECTION_NONE = 1 << 0, CONNECTION_SERIAL = 1 << 1, CONNECTION_TCP = 1 << 2 } |
![]() | |
enum | INDI_ERROR { INDI_DEVICE_NOT_FOUND = -1, INDI_PROPERTY_INVALID = -2, INDI_PROPERTY_DUPLICATED = -3, INDI_DISPATCH_ERROR = -4, INDI_DEVICE_NOT_FOUND = -1, INDI_PROPERTY_INVALID = -2, INDI_PROPERTY_DUPLICATED = -3, INDI_DISPATCH_ERROR = -4 } |
enum | DRIVER_INTERFACE { GENERAL_INTERFACE = 0, TELESCOPE_INTERFACE = (1 << 0), CCD_INTERFACE = (1 << 1), GUIDER_INTERFACE = (1 << 2), FOCUSER_INTERFACE = (1 << 3), FILTER_INTERFACE = (1 << 4), DOME_INTERFACE = (1 << 5), GPS_INTERFACE = (1 << 6), WEATHER_INTERFACE = (1 << 7), AO_INTERFACE = (1 << 8), DUSTCAP_INTERFACE = (1 << 9), LIGHTBOX_INTERFACE = (1 << 10), DETECTOR_INTERFACE = (1 << 11), ROTATOR_INTERFACE = (1 << 12), SPECTROGRAPH_INTERFACE = (1 << 13), AUX_INTERFACE = (1 << 15), GENERAL_INTERFACE = 0, TELESCOPE_INTERFACE = (1 << 0), CCD_INTERFACE = (1 << 1), GUIDER_INTERFACE = (1 << 2), FOCUSER_INTERFACE = (1 << 3), FILTER_INTERFACE = (1 << 4), DOME_INTERFACE = (1 << 5), GPS_INTERFACE = (1 << 6), WEATHER_INTERFACE = (1 << 7), AO_INTERFACE = (1 << 8), DUSTCAP_INTERFACE = (1 << 9), LIGHTBOX_INTERFACE = (1 << 10), DETECTOR_INTERFACE = (1 << 11), ROTATOR_INTERFACE = (1 << 12), SPECTROGRAPH_INTERFACE = (1 << 13), AUX_INTERFACE = (1 << 15) } |
The DRIVER_INTERFACE enum defines the class of devices the driver implements. More... | |
enum | INDI_ERROR { INDI_DEVICE_NOT_FOUND = -1, INDI_PROPERTY_INVALID = -2, INDI_PROPERTY_DUPLICATED = -3, INDI_DISPATCH_ERROR = -4, INDI_DEVICE_NOT_FOUND = -1, INDI_PROPERTY_INVALID = -2, INDI_PROPERTY_DUPLICATED = -3, INDI_DISPATCH_ERROR = -4 } |
enum | DRIVER_INTERFACE { GENERAL_INTERFACE = 0, TELESCOPE_INTERFACE = (1 << 0), CCD_INTERFACE = (1 << 1), GUIDER_INTERFACE = (1 << 2), FOCUSER_INTERFACE = (1 << 3), FILTER_INTERFACE = (1 << 4), DOME_INTERFACE = (1 << 5), GPS_INTERFACE = (1 << 6), WEATHER_INTERFACE = (1 << 7), AO_INTERFACE = (1 << 8), DUSTCAP_INTERFACE = (1 << 9), LIGHTBOX_INTERFACE = (1 << 10), DETECTOR_INTERFACE = (1 << 11), ROTATOR_INTERFACE = (1 << 12), SPECTROGRAPH_INTERFACE = (1 << 13), AUX_INTERFACE = (1 << 15), GENERAL_INTERFACE = 0, TELESCOPE_INTERFACE = (1 << 0), CCD_INTERFACE = (1 << 1), GUIDER_INTERFACE = (1 << 2), FOCUSER_INTERFACE = (1 << 3), FILTER_INTERFACE = (1 << 4), DOME_INTERFACE = (1 << 5), GPS_INTERFACE = (1 << 6), WEATHER_INTERFACE = (1 << 7), AO_INTERFACE = (1 << 8), DUSTCAP_INTERFACE = (1 << 9), LIGHTBOX_INTERFACE = (1 << 10), DETECTOR_INTERFACE = (1 << 11), ROTATOR_INTERFACE = (1 << 12), SPECTROGRAPH_INTERFACE = (1 << 13), AUX_INTERFACE = (1 << 15) } |
The DRIVER_INTERFACE enum defines the class of devices the driver implements. More... | |
![]() | |
enum | FocusDirection { FOCUS_INWARD, FOCUS_OUTWARD, FOCUS_INWARD, FOCUS_OUTWARD } |
enum | { FOCUSER_CAN_ABS_MOVE = 1 << 0, FOCUSER_CAN_REL_MOVE = 1 << 1, FOCUSER_CAN_ABORT = 1 << 2, FOCUSER_HAS_VARIABLE_SPEED = 1 << 3 } |
enum | FocusDirection { FOCUS_INWARD, FOCUS_OUTWARD, FOCUS_INWARD, FOCUS_OUTWARD } |
enum | { FOCUSER_CAN_ABS_MOVE = 1 << 0, FOCUSER_CAN_REL_MOVE = 1 << 1, FOCUSER_CAN_ABORT = 1 << 2, FOCUSER_HAS_VARIABLE_SPEED = 1 << 3 } |
![]() | |
static void | buttonHelper (const char *button_n, ISState state, void *context) |
static void | buttonHelper (const char *button_n, ISState state, void *context) |
![]() | |
enum INDI::Focuser:: { ... } | FocuserConnection |
enum INDI::Focuser:: { ... } | FocuserConnection |
![]() | |
enum INDI::FocuserInterface:: { ... } | FocuserCapability |
enum INDI::FocuserInterface:: { ... } | FocuserCapability |
![]() | |
virtual bool | saveConfigItems (FILE *fp) |
saveConfigItems Saves the Device Port and Focuser Presets in the configuration file More... | |
virtual bool | Handshake () |
perform handshake with device to check communication More... | |
void | processButton (const char *button_n, ISState state) |
virtual bool | saveConfigItems (FILE *fp) |
saveConfigItems Saves the Device Port and Focuser Presets in the configuration file More... | |
virtual bool | Handshake () |
perform handshake with device to check communication More... | |
void | processButton (const char *button_n, ISState state) |
![]() | |
void | setDynamicPropertiesBehavior (bool defineEnabled, bool deleteEnabled) |
setDynamicPropertiesBehavior controls handling of dynamic properties. More... | |
virtual bool | loadConfig (bool silent=false, const char *property=nullptr) |
Load the last saved configuration file. More... | |
virtual bool | saveConfig (bool silent=false, const char *property=nullptr) |
Save the current properties in a configuration file. More... | |
virtual bool | saveAllConfigItems (FILE *fp) |
saveAllConfigItems Save all the drivers' properties in the configuration file More... | |
virtual bool | loadDefaultConfig () |
Load the default configuration file. More... | |
void | setDebug (bool enable) |
Toggle driver debug status A driver can be more verbose if Debug option is enabled by the client. More... | |
void | setSimulation (bool enable) |
Toggle driver simulation status A driver can run in simulation mode if Simulation option is enabled by the client. More... | |
virtual void | debugTriggered (bool enable) |
Inform driver that the debug option was triggered. More... | |
virtual void | simulationTriggered (bool enable) |
Inform driver that the simulation option was triggered. More... | |
bool | isDebug () |
bool | isSimulation () |
void | registerConnection (Connection::Interface *newConnection) |
registerConnection Add new connection plugin to the existing connection pool. More... | |
bool | unRegisterConnection (Connection::Interface *existingConnection) |
unRegisterConnection Remove connection from existing pool More... | |
Connection::Interface * | getActiveConnection () |
void | setDefaultPollingPeriod (uint32_t period) |
uint32_t | getPollingPeriod () |
void | setDynamicPropertiesBehavior (bool defineEnabled, bool deleteEnabled) |
setDynamicPropertiesBehavior controls handling of dynamic properties. More... | |
virtual bool | loadConfig (bool silent=false, const char *property=nullptr) |
Load the last saved configuration file. More... | |
virtual bool | saveConfig (bool silent=false, const char *property=nullptr) |
Save the current properties in a configuration file. More... | |
virtual bool | saveAllConfigItems (FILE *fp) |
saveAllConfigItems Save all the drivers' properties in the configuration file More... | |
virtual bool | loadDefaultConfig () |
Load the default configuration file. More... | |
void | setDebug (bool enable) |
Toggle driver debug status A driver can be more verbose if Debug option is enabled by the client. More... | |
void | setSimulation (bool enable) |
Toggle driver simulation status A driver can run in simulation mode if Simulation option is enabled by the client. More... | |
virtual void | debugTriggered (bool enable) |
Inform driver that the debug option was triggered. More... | |
virtual void | simulationTriggered (bool enable) |
Inform driver that the simulation option was triggered. More... | |
bool | isDebug () |
bool | isSimulation () |
void | registerConnection (Connection::Interface *newConnection) |
registerConnection Add new connection plugin to the existing connection pool. More... | |
bool | unRegisterConnection (Connection::Interface *existingConnection) |
unRegisterConnection Remove connection from existing pool More... | |
Connection::Interface * | getActiveConnection () |
void | setDefaultPollingPeriod (uint32_t period) |
uint32_t | getPollingPeriod () |
![]() | |
int | buildProp (XMLEle *root, char *errmsg) |
Build a property given the supplied XML element (defXXX) More... | |
int | setValue (XMLEle *root, char *errmsg) |
handle SetXXX commands from client More... | |
int | setBLOB (IBLOBVectorProperty *pp, XMLEle *root, char *errmsg) |
Parse and store BLOB in the respective vector. More... | |
int | buildProp (XMLEle *root, char *errmsg) |
Build a property given the supplied XML element (defXXX) More... | |
int | setValue (XMLEle *root, char *errmsg) |
handle SetXXX commands from client More... | |
int | setBLOB (IBLOBVectorProperty *pp, XMLEle *root, char *errmsg) |
Parse and store BLOB in the respective vector. 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... | |
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... | |
![]() | |
INumber | PresetN [3] |
INumberVectorProperty | PresetNP |
ISwitch | PresetGotoS [3] |
ISwitchVectorProperty | PresetGotoSP |
Controller * | controller |
Connection::Serial * | serialConnection = nullptr |
Connection::TCP * | tcpConnection = nullptr |
int | PortFD = -1 |
![]() | |
uint32_t | POLLMS = 1000 |
Period in milliseconds to call TimerHit(). Default 1000 ms. More... | |
![]() | |
INumberVectorProperty | FocusSpeedNP |
INumber | FocusSpeedN [1] |
ISwitchVectorProperty | FocusMotionSP |
ISwitch | FocusMotionS [2] |
INumberVectorProperty | FocusTimerNP |
INumber | FocusTimerN [1] |
INumberVectorProperty | FocusAbsPosNP |
INumber | FocusAbsPosN [1] |
INumberVectorProperty | FocusRelPosNP |
INumber | FocusRelPosN [1] |
ISwitchVectorProperty | AbortSP |
ISwitch | AbortS [1] |
uint32_t | capability |
double | lastTimerValue = { 0 } |
DefaultDevice * | m_defaultDevice { nullptr } |
FocusMaster::FocusMaster | ( | ) |
|
virtualdefault |
|
virtual |
AbortFocuser all focus motion.
Reimplemented from INDI::FocuserInterface.
|
private |
|
virtual |
Connect to the device.
INDI::DefaultDevice implementation connects to appropriate connection interface (Serial or TCP) governed by connectionMode. If connection is successful, it proceed to call Handshake() function to ensure communication with device is successful. For other communication interface, override the method in the child class implementation
Reimplemented from INDI::DefaultDevice.
|
virtual |
Disconnect from device.
Reimplemented from INDI::DefaultDevice.
|
virtual |
Implements INDI::DefaultDevice.
|
virtual |
Initilize properties initial state and value.
The child class must implement this function.
Reimplemented from INDI::Focuser.
|
virtual |
Process the client newNumber command.
Reimplemented from INDI::Focuser.
|
virtual |
Process the client newSwitch command.
Reimplemented from INDI::Focuser.
MoveFocuser the focuser to an absolute position.
ticks | The new position of the focuser. |
Reimplemented from INDI::FocuserInterface.
|
virtual |
MoveFocuser the focuser in a particular direction with a specific speed for a finite duration.
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. |
Reimplemented from INDI::FocuserInterface.
|
virtual |
MoveFocuser the focuser to an relative position.
dir | Direction of focuser, either FOCUS_INWARD or FOCUS_OUTWARD. |
ticks | The relative ticks to move. |
Reimplemented from INDI::FocuserInterface.
sendCommand Send a command to the focuser and optional read a response
command | 2-byte unsigned char command. |
response | If nullptr (default) is passed, no response is read. If a valid pointer is passed, the response is read into the buffer up until MAX_FM_BUF bytes. |
|
virtual |
Callback function to be called once SetTimer duration elapses.
Reimplemented from INDI::DefaultDevice.
|
virtual |
updateProperties is called whenever there is a change in the CONNECTION status of the driver.
This will enable the driver to react to changes of switching ON/OFF a device. For example, a driver may only define a set of properties after a device is connected, but not before.
Reimplemented from INDI::Focuser.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |