TwiceAsNice  2019-02-18
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
FLICFW Class Reference

#include <fli_cfw.h>

Inheritance diagram for FLICFW:
Inheritance graph
Collaboration diagram for FLICFW:
Collaboration graph

Classes

struct  filter_t
 

Public Member Functions

 FLICFW ()
 
virtual ~FLICFW ()
 
const char * getDefaultName ()
 
bool initProperties ()
 Initilize properties initial state and value. More...
 
void ISGetProperties (const char *dev)
 define the driver's properties to the client. More...
 
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...
 
virtual bool ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n)
 Process the client newSwitch command. More...
 
- Public Member Functions inherited from INDI::FilterWheel
virtual bool ISSnoopDevice (XMLEle *root)
 Process a snoop event from INDI server. More...
 
virtual bool ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 Process the client newNumber command. More...
 
virtual bool ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n)
 Process the client newSwitch command. More...
 
void setFilterConnection (const uint8_t &value)
 setFilterConnection Set Filter connection mode. More...
 
uint8_t getFilterConnection () const
 
virtual bool ISSnoopDevice (XMLEle *root)
 Process a snoop event from INDI server. More...
 
virtual bool ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 Process the client newNumber command. More...
 
virtual bool ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n)
 Process the client newSwitch command. More...
 
void setFilterConnection (const uint8_t &value)
 setFilterConnection Set Filter connection mode. More...
 
uint8_t getFilterConnection () const
 
- Public Member Functions inherited from INDI::DefaultDevice
 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...
 
- Public Member Functions inherited from INDI::BaseDevice
 BaseDevice ()
 
virtual ~BaseDevice ()
 
INumberVectorPropertygetNumber (const char *name)
 
ITextVectorPropertygetText (const char *name)
 
ISwitchVectorPropertygetSwitch (const char *name)
 
ILightVectorPropertygetLight (const char *name)
 
IBLOBVectorPropertygetBLOB (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::PropertygetProperty (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::BaseMediatorgetMediator ()
 
const char * getDriverName ()
 
const char * getDriverExec ()
 
const char * getDriverVersion ()
 
 BaseDevice ()
 
virtual ~BaseDevice ()
 
INumberVectorPropertygetNumber (const char *name)
 
ITextVectorPropertygetText (const char *name)
 
ISwitchVectorPropertygetSwitch (const char *name)
 
ILightVectorPropertygetLight (const char *name)
 
IBLOBVectorPropertygetBLOB (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::PropertygetProperty (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::BaseMediatorgetMediator ()
 
const char * getDriverName ()
 
const char * getDriverExec ()
 
const char * getDriverVersion ()
 
- Public Member Functions inherited from INDI::FilterInterface
virtual bool SetFilterNames ()
 Set filter names as defined by the client for each filter position. More...
 
virtual bool GetFilterNames ()
 Obtains a list of filter names from the hardware and initializes the FilterNameTP property. More...
 
void SelectFilterDone (int newpos)
 The child class calls this function when the hardware successfully finished selecting a new filter wheel position. More...
 
virtual bool SetFilterNames ()
 Set filter names as defined by the client for each filter position. More...
 
virtual bool GetFilterNames ()
 Obtains a list of filter names from the hardware and initializes the FilterNameTP property. More...
 
void SelectFilterDone (int newpos)
 The child class calls this function when the hardware successfully finished selecting a new filter wheel position. More...
 

Protected Member Functions

virtual bool SelectFilter (int)
 Select a new filter position. More...
 
virtual int QueryFilter ()
 Return current filter position. More...
 
void TimerHit ()
 Callback function to be called once SetTimer duration elapses. More...
 
- Protected Member Functions inherited from INDI::FilterWheel
 FilterWheel ()
 
virtual ~FilterWheel ()=default
 
virtual bool saveConfigItems (FILE *fp)
 saveConfigItems Save specific properties in the provide config file handler. More...
 
virtual bool Handshake ()
 perform handshake with device to check communication More...
 
void processJoystick (const char *joystick_n, double mag, double angle)
 
void processButton (const char *button_n, ISState state)
 
 FilterWheel ()
 
virtual ~FilterWheel ()=default
 
virtual bool saveConfigItems (FILE *fp)
 saveConfigItems Save specific properties in the provide config file handler. More...
 
virtual bool Handshake ()
 perform handshake with device to check communication More...
 
void processJoystick (const char *joystick_n, double mag, double angle)
 
void processButton (const char *button_n, ISState state)
 
- Protected Member Functions inherited from INDI::DefaultDevice
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::InterfacegetActiveConnection ()
 
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::InterfacegetActiveConnection ()
 
void setDefaultPollingPeriod (uint32_t period)
 
uint32_t getPollingPeriod ()
 
- Protected Member Functions inherited from INDI::BaseDevice
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...
 
- Protected Member Functions inherited from INDI::FilterInterface
 FilterInterface (DefaultDevice *defaultDevice)
 FilterInterface Initiailize Filter Interface. More...
 
 ~FilterInterface ()
 
void initProperties (const char *groupName)
 Initilize filter wheel properties. More...
 
bool updateProperties ()
 updateProperties Defines or Delete proprties based on default device connection status More...
 
bool processNumber (const char *dev, const char *name, double values[], char *names[], int n)
 Process number properties. More...
 
bool processText (const char *dev, const char *name, char *texts[], char *names[], int n)
 Process text properties. More...
 
void generateSampleFilters ()
 generateSampleFilters Generate sample 8-filter wheel and fill it sample filters More...
 
bool saveConfigItems (FILE *fp)
 saveConfigItems save Filter Names in config file More...
 
 FilterInterface (DefaultDevice *defaultDevice)
 FilterInterface Initiailize Filter Interface. More...
 
 ~FilterInterface ()
 
void initProperties (const char *groupName)
 Initilize filter wheel properties. More...
 
bool updateProperties ()
 updateProperties Defines or Delete proprties based on default device connection status More...
 
bool processNumber (const char *dev, const char *name, double values[], char *names[], int n)
 Process number properties. More...
 
bool processText (const char *dev, const char *name, char *texts[], char *names[], int n)
 Process text properties. More...
 
void generateSampleFilters ()
 generateSampleFilters Generate sample 8-filter wheel and fill it sample filters More...
 
bool saveConfigItems (FILE *fp)
 saveConfigItems save Filter Names in config file More...
 

Private Member Functions

bool findFLICFW (flidomain_t domain)
 
void turnWheel ()
 
bool setupParams ()
 

Private Attributes

ISwitch PortS [4]
 
ISwitchVectorProperty PortSP
 
IText FilterInfoT [3] {}
 
ITextVectorProperty FilterInfoTP
 
ISwitch FilterS [2]
 
ISwitchVectorProperty FilterSP
 
int timerID
 
bool sim
 
flidev_t fli_dev
 
filter_t FLIFilter
 

Additional Inherited Members

- Public Types inherited from INDI::FilterWheel
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 }
 
- Public Types inherited from INDI::BaseDevice
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...
 
- Static Public Member Functions inherited from INDI::FilterWheel
static void joystickHelper (const char *joystick_n, double mag, double angle, void *context)
 
static void buttonHelper (const char *button_n, ISState state, void *context)
 
static void joystickHelper (const char *joystick_n, double mag, double angle, void *context)
 
static void buttonHelper (const char *button_n, ISState state, void *context)
 
- Public Attributes inherited from INDI::FilterWheel
enum INDI::FilterWheel:: { ... }  FilterConnection
 
enum INDI::FilterWheel:: { ... }  FilterConnection
 
- Protected Attributes inherited from INDI::FilterWheel
Controllercontroller
 
Connection::SerialserialConnection = NULL
 
Connection::TCPtcpConnection = NULL
 
int PortFD = -1
 For Serial & TCP connections. More...
 
- Protected Attributes inherited from INDI::DefaultDevice
uint32_t POLLMS = 1000
 Period in milliseconds to call TimerHit(). Default 1000 ms. More...
 
- Protected Attributes inherited from INDI::FilterInterface
INumberVectorProperty FilterSlotNP
 
INumber FilterSlotN [1]
 
ITextVectorPropertyFilterNameTP { nullptr }
 
ITextFilterNameT
 
int CurrentFilter
 
int TargetFilter
 
bool loadingFromConfig = false
 
DefaultDevicem_defaultDevice { nullptr }
 

Constructor & Destructor Documentation

◆ FLICFW()

FLICFW::FLICFW ( )

◆ ~FLICFW()

FLICFW::~FLICFW ( )
virtual

Member Function Documentation

◆ Connect()

bool FLICFW::Connect ( )
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

Returns
True if connection is successful, false otherwise

Reimplemented from INDI::DefaultDevice.

◆ Disconnect()

bool FLICFW::Disconnect ( )
virtual

Disconnect from device.

Returns
True if successful, false otherwise

Reimplemented from INDI::DefaultDevice.

◆ findFLICFW()

bool FLICFW::findFLICFW ( flidomain_t  domain)
private

◆ getDefaultName()

const char * FLICFW::getDefaultName ( )
virtual
Returns
Default name of the device.

Implements INDI::DefaultDevice.

◆ initProperties()

bool FLICFW::initProperties ( )
virtual

Initilize properties initial state and value.

The child class must implement this function.

Returns
True if initilization is successful, false otherwise.

Reimplemented from INDI::FilterWheel.

◆ ISGetProperties()

void FLICFW::ISGetProperties ( const char *  dev)
virtual

define the driver's properties to the client.

Usually, only a minimum set of properties are defined to the client in this function if the device is in disconnected state. Those properties should be enough to enable the client to establish a connection to the device. In addition to CONNECT/DISCONNECT, such properties may include port name, IP address, etc. You should check if the device is already connected, and if this is true, then you must define the remainder of the the properties to the client in this function. Otherwise, the remainder of the driver's properties are defined to the client in updateProperties() function which is called when a client connects/disconnects from a device.

Parameters
devname of the device
Note
This function is called by the INDI framework, do not call it directly. See LX200 Generic driver for an example implementation

Reimplemented from INDI::FilterWheel.

◆ ISNewSwitch()

bool FLICFW::ISNewSwitch ( const char *  dev,
const char *  name,
ISState states,
char *  names[],
int  n 
)
virtual

Process the client newSwitch command.

Note
This function is called by the INDI framework, do not call it directly.
Returns
True if any property was successfully processed, false otherwise.

Reimplemented from INDI::FilterWheel.

◆ QueryFilter()

int FLICFW::QueryFilter ( )
protectedvirtual

Return current filter position.

Reimplemented from INDI::FilterWheel.

◆ SelectFilter()

bool FLICFW::SelectFilter ( int  position)
protectedvirtual

Select a new filter position.

Returns
True if operation is successful, false otherwise

Reimplemented from INDI::FilterWheel.

◆ setupParams()

bool FLICFW::setupParams ( )
private

◆ TimerHit()

void FLICFW::TimerHit ( )
protectedvirtual

Callback function to be called once SetTimer duration elapses.

Reimplemented from INDI::DefaultDevice.

◆ turnWheel()

void FLICFW::turnWheel ( )
private

◆ updateProperties()

bool FLICFW::updateProperties ( )
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.

Returns
True if update is successful, false otherwise.

Reimplemented from INDI::FilterWheel.

Member Data Documentation

◆ FilterInfoT

IText FLICFW::FilterInfoT[3] {}
private

◆ FilterInfoTP

ITextVectorProperty FLICFW::FilterInfoTP
private

◆ FilterS

ISwitch FLICFW::FilterS[2]
private

◆ FilterSP

ISwitchVectorProperty FLICFW::FilterSP
private

◆ fli_dev

flidev_t FLICFW::fli_dev
private

◆ FLIFilter

filter_t FLICFW::FLIFilter
private

◆ PortS

ISwitch FLICFW::PortS[4]
private

◆ PortSP

ISwitchVectorProperty FLICFW::PortSP
private

◆ sim

bool FLICFW::sim
private

◆ timerID

int FLICFW::timerID
private

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