TwiceAsNice
2019-02-18
|
Class to provide extended functionality for devices in addition to the functionality provided by INDI::BaseDevice. More...
#include <defaultdevice.h>
Public Member Functions | |
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 void | TimerHit () |
Callback function to be called once SetTimer duration elapses. 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 void | ISGetProperties (const char *dev) |
define the driver's properties to the client. More... | |
virtual bool | ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n) |
Process the client newSwitch command. 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... | |
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 bool | ISSnoopDevice (XMLEle *root) |
Process a snoop event from INDI server. 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 void | TimerHit () |
Callback function to be called once SetTimer duration elapses. 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 void | ISGetProperties (const char *dev) |
define the driver's properties to the client. More... | |
virtual bool | ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n) |
Process the client newSwitch command. 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... | |
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 bool | ISSnoopDevice (XMLEle *root) |
Process a snoop event from INDI server. 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 () |
Protected Member Functions | |
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 | saveConfigItems (FILE *fp) |
saveConfigItems Save specific properties in the provide config file handler. 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 () |
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... | |
virtual bool | Connect () |
Connect to the device. More... | |
virtual bool | Disconnect () |
Disconnect from device. More... | |
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 () |
virtual const char * | getDefaultName ()=0 |
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 | saveConfigItems (FILE *fp) |
saveConfigItems Save specific properties in the provide config file handler. 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 () |
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... | |
virtual bool | Connect () |
Connect to the device. More... | |
virtual bool | Disconnect () |
Disconnect from device. More... | |
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 () |
virtual const char * | getDefaultName ()=0 |
![]() | |
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 Attributes | |
uint32_t | POLLMS = 1000 |
Period in milliseconds to call TimerHit(). Default 1000 ms. More... | |
Private Attributes | |
bool | isInit { false } |
bool | pDebug { false } |
bool | pSimulation { false } |
uint16_t | majorVersion { 1 } |
uint16_t | minorVersion { 0 } |
uint16_t | interfaceDescriptor { 0 } |
ISwitch | DebugS [2] |
ISwitch | SimulationS [2] |
ISwitch | ConfigProcessS [3] |
ISwitch | ConnectionS [2] |
INumber | PollPeriodN [1] |
ISwitchVectorProperty | DebugSP |
ISwitchVectorProperty | SimulationSP |
ISwitchVectorProperty | ConfigProcessSP |
ISwitchVectorProperty | ConnectionSP |
INumberVectorProperty | PollPeriodNP |
IText | DriverInfoT [4] {} |
ITextVectorProperty | DriverInfoTP |
ISwitch * | ConnectionModeS = nullptr |
ISwitchVectorProperty | ConnectionModeSP |
std::vector< Connection::Interface * > | connections |
Connection::Interface * | activeConnection = nullptr |
bool | defineDynamicProperties = true |
bool | deleteDynamicProperties = true |
Friends | |
class | Connection::Serial |
class | Connection::TCP |
class | FilterInterface |
Class to provide extended functionality for devices in addition to the functionality provided by INDI::BaseDevice.
This class should only be subclassed by drivers directly as it is linked with main(). Virtual drivers cannot employ INDI::DefaultDevice.
INDI::DefaultDevice provides capability to add Debug, Simulation, and Configuration controls. These controls (switches) are defined to the client. Configuration options permit saving and loading of AS-IS property values.
INDI::DefaultDevice::DefaultDevice | ( | ) |
|
virtual |
INDI::DefaultDevice::DefaultDevice | ( | ) |
|
virtual |
void INDI::DefaultDevice::addAuxControls | ( | ) |
Add Debug, Simulation, and Configuration options to the driver.
void INDI::DefaultDevice::addAuxControls | ( | ) |
Add Debug, Simulation, and Configuration options to the driver.
void INDI::DefaultDevice::addConfigurationControl | ( | ) |
Add Configuration control to the driver.
void INDI::DefaultDevice::addConfigurationControl | ( | ) |
Add Configuration control to the driver.
void INDI::DefaultDevice::addDebugControl | ( | ) |
Add Debug control to the driver.
void INDI::DefaultDevice::addDebugControl | ( | ) |
Add Debug control to the driver.
void INDI::DefaultDevice::addPollPeriodControl | ( | ) |
Add Polling period control to the driver.
void INDI::DefaultDevice::addPollPeriodControl | ( | ) |
Add Polling period control to the driver.
void INDI::DefaultDevice::addSimulationControl | ( | ) |
Add Simulation control to the driver.
void INDI::DefaultDevice::addSimulationControl | ( | ) |
Add Simulation control to the driver.
|
protectedvirtual |
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 in MGenAutoguider, SBIGCCD, AstrometryDriver, SpectraCyber, SXCCD, GPhotoCCD, indiduino, FocusLynxF2, indi_webcam, CCDSim, V4L2_Driver, Imager, WatchDog, AAGCloudWatcher, ArmPlat, ShelyakAlpy, QSICCD, SSAGCCD, inditess, ShelyakEshel, SkySafari, LX200AstroPhysicsExperimental, JoyStick, GuideSim, ApogeeCCD, SimpleSkeleton, STAR2000, GPSD, NightscapeCCD, GenericCCD, GPUSB, FocusSim, ScopeSim, QHYCCD, SXWHEEL, FishCampCCD, FLICCD, FLICFW, DomeSim, HitecAstroDCFocuser, LX200Gemini, FLIPDF, GPSSimulator, PerfectStar, ASIWHEEL, GigECCD, MICCD, RadioSim, SQMSimulator, ASICCD, ASIST4, DSICCD, FocusMaster, RTLSDR, DomeScript, Dome, FFMVCCD, RollOff, WeatherMeta, WeatherWatcher, WunderGround, SynscanMount, ScopeScript, WeatherSimulator, FilterSim, FocusLynxF1, SimpleDetector, SimpleCCD, RainDetector, LX200Pulsar2, SimpleDevice, INovaCCD, and ScopeSim.
|
protectedvirtual |
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 in MGenAutoguider, SBIGCCD, AstrometryDriver, SpectraCyber, SXCCD, GPhotoCCD, indiduino, FocusLynxF2, indi_webcam, CCDSim, V4L2_Driver, Imager, WatchDog, AAGCloudWatcher, ArmPlat, ShelyakAlpy, QSICCD, SSAGCCD, inditess, ShelyakEshel, SkySafari, LX200AstroPhysicsExperimental, JoyStick, GuideSim, ApogeeCCD, SimpleSkeleton, STAR2000, GPSD, NightscapeCCD, GenericCCD, GPUSB, FocusSim, ScopeSim, QHYCCD, SXWHEEL, FishCampCCD, FLICCD, FLICFW, DomeSim, HitecAstroDCFocuser, LX200Gemini, FLIPDF, GPSSimulator, PerfectStar, ASIWHEEL, GigECCD, MICCD, RadioSim, SQMSimulator, ASICCD, ASIST4, DSICCD, FocusMaster, RTLSDR, DomeScript, Dome, FFMVCCD, RollOff, WeatherMeta, WeatherWatcher, WunderGround, SynscanMount, ScopeScript, WeatherSimulator, FilterSim, FocusLynxF1, SimpleDetector, SimpleCCD, RainDetector, LX200Pulsar2, SimpleDevice, INovaCCD, and ScopeSim.
|
protectedvirtual |
Inform driver that the debug option was triggered.
This function is called after setDebug is triggered by the client. Reimplement this function if your driver needs to take specific action after debug is enabled/disabled. Otherwise, you can use isDebug() to check if simulation is enabled or disabled.
enable | If true, the debug option is set to ON. |
Reimplemented in LX200Telescope, FocusLynxBase, SXCCD, LX200AstroPhysicsExperimental, LX200AstroPhysics, LX200AstroPhysicsGTOCP2, FocusLynxF2, indi_webcam, ApogeeCCD, SteelDrive, IOptronV3, PMC8, IEQPro, FLICCD, QHYCCD, GPUSB, LX200Basic, and QFW.
|
protectedvirtual |
Inform driver that the debug option was triggered.
This function is called after setDebug is triggered by the client. Reimplement this function if your driver needs to take specific action after debug is enabled/disabled. Otherwise, you can use isDebug() to check if simulation is enabled or disabled.
enable | If true, the debug option is set to ON. |
Reimplemented in LX200Telescope, FocusLynxBase, SXCCD, LX200AstroPhysicsExperimental, LX200AstroPhysics, LX200AstroPhysicsGTOCP2, FocusLynxF2, indi_webcam, ApogeeCCD, SteelDrive, IOptronV3, PMC8, IEQPro, FLICCD, QHYCCD, GPUSB, LX200Basic, and QFW.
void INDI::DefaultDevice::defineBLOB | ( | IBLOBVectorProperty * | bvp | ) |
Define BLOB vector to client & register it.
Alternatively, IDDefBLOB can be used but the property will not get registered and the driver will not be able to save configuration files.
bvp | The BLOB vector property to be defined |
void INDI::DefaultDevice::defineBLOB | ( | IBLOBVectorProperty * | bvp | ) |
Define BLOB vector to client & register it.
Alternatively, IDDefBLOB can be used but the property will not get registered and the driver will not be able to save configuration files.
bvp | The BLOB vector property to be defined |
void INDI::DefaultDevice::defineLight | ( | ILightVectorProperty * | lvp | ) |
Define light vector to client & register it.
Alternatively, IDDeflight can be used but the property will not get registered and the driver will not be able to save configuration files.
lvp | The light vector property to be defined |
void INDI::DefaultDevice::defineLight | ( | ILightVectorProperty * | lvp | ) |
Define light vector to client & register it.
Alternatively, IDDeflight can be used but the property will not get registered and the driver will not be able to save configuration files.
lvp | The light vector property to be defined |
void INDI::DefaultDevice::defineNumber | ( | INumberVectorProperty * | nvp | ) |
Define number vector to client & register it.
Alternatively, IDDefNumber can be used but the property will not get registered and the driver will not be able to save configuration files.
nvp | The number vector property to be defined |
void INDI::DefaultDevice::defineNumber | ( | INumberVectorProperty * | nvp | ) |
Define number vector to client & register it.
Alternatively, IDDefNumber can be used but the property will not get registered and the driver will not be able to save configuration files.
nvp | The number vector property to be defined |
void INDI::DefaultDevice::defineSwitch | ( | ISwitchVectorProperty * | svp | ) |
Define switch vector to client & register it.
Alternatively, IDDefswitch can be used but the property will not get registered and the driver will not be able to save configuration files.
svp | The switch vector property to be defined |
void INDI::DefaultDevice::defineSwitch | ( | ISwitchVectorProperty * | svp | ) |
Define switch vector to client & register it.
Alternatively, IDDefswitch can be used but the property will not get registered and the driver will not be able to save configuration files.
svp | The switch vector property to be defined |
void INDI::DefaultDevice::defineText | ( | ITextVectorProperty * | tvp | ) |
Define text vector to client & register it.
Alternatively, IDDefText can be used but the property will not get registered and the driver will not be able to save configuration files.
tvp | The text vector property to be defined |
void INDI::DefaultDevice::defineText | ( | ITextVectorProperty * | tvp | ) |
Define text vector to client & register it.
Alternatively, IDDefText can be used but the property will not get registered and the driver will not be able to save configuration files.
tvp | The text vector property to be defined |
Delete a property and unregister it.
It will also be deleted from all clients.
propertyName | name of property to be deleted. |
Delete a property and unregister it.
It will also be deleted from all clients.
propertyName | name of property to be deleted. |
|
protectedvirtual |
Disconnect from device.
Reimplemented in EQMod, MGenAutoguider, SBIGCCD, FilterIFW, AstrometryDriver, SpectraCyber, SXCCD, GPhotoCCD, indiduino, FocusLynxF2, indi_webcam, CCDSim, V4L2_Driver, Imager, WatchDog, AAGCloudWatcher, NexDome, TCFS, ShelyakAlpy, QSICCD, SSAGCCD, inditess, ArduinoST4, LX200AstroPhysics, ShelyakEshel, SkySafari, JoyStick, GuideSim, ApogeeCCD, LX200AstroPhysicsExperimental, SimpleSkeleton, STAR2000, GPSD, NightscapeCCD, GenericCCD, GPUSB, FocusSim, ScopeSim, QHYCCD, SXWHEEL, FishCampCCD, FLICCD, FLICFW, DomeSim, LX200AstroPhysicsGTOCP2, HitecAstroDCFocuser, FLIPDF, MaxDomeII, GPSSimulator, PerfectStar, ASIWHEEL, GigECCD, MICCD, RadioSim, SQMSimulator, ASICCD, ASIST4, DSICCD, FocusMaster, RTLSDR, DomeScript, Dome, FFMVCCD, RollOff, WeatherMeta, WeatherWatcher, WunderGround, ScopeScript, WeatherSimulator, FilterSim, FocusLynxF1, SimpleDetector, SimpleCCD, RainDetector, SimpleDevice, INovaCCD, NexStarEvo, and ScopeSim.
|
protectedvirtual |
Disconnect from device.
Reimplemented in EQMod, MGenAutoguider, SBIGCCD, FilterIFW, AstrometryDriver, SpectraCyber, SXCCD, GPhotoCCD, indiduino, FocusLynxF2, indi_webcam, CCDSim, V4L2_Driver, Imager, WatchDog, AAGCloudWatcher, NexDome, TCFS, ShelyakAlpy, QSICCD, SSAGCCD, inditess, ArduinoST4, LX200AstroPhysics, ShelyakEshel, SkySafari, JoyStick, GuideSim, ApogeeCCD, LX200AstroPhysicsExperimental, SimpleSkeleton, STAR2000, GPSD, NightscapeCCD, GenericCCD, GPUSB, FocusSim, ScopeSim, QHYCCD, SXWHEEL, FishCampCCD, FLICCD, FLICFW, DomeSim, LX200AstroPhysicsGTOCP2, HitecAstroDCFocuser, FLIPDF, MaxDomeII, GPSSimulator, PerfectStar, ASIWHEEL, GigECCD, MICCD, RadioSim, SQMSimulator, ASICCD, ASIST4, DSICCD, FocusMaster, RTLSDR, DomeScript, Dome, FFMVCCD, RollOff, WeatherMeta, WeatherWatcher, WunderGround, ScopeScript, WeatherSimulator, FilterSim, FocusLynxF1, SimpleDetector, SimpleCCD, RainDetector, SimpleDevice, INovaCCD, NexStarEvo, and ScopeSim.
|
inlineprotected |
|
inlineprotected |
|
protectedpure virtual |
Implemented in EQMod, MGenAutoguider, SBIGCCD, LX200_10MICRON, USBFocusV3, FilterIFW, indiduino, AstrometryDriver, USBDewpoint, FocusLynxBase, SpectraCyber, Gemini, SXCCD, V4L2_Driver, GPhotoCCD, indi_webcam, FocusLynxF2, WatchDog, TCFS, XAGYLWheel, Imager, SXAO, SnapCap, ShelyakAlpy, SSAGCCD, inditess, SkySafari, QSICCD, FlipFlat, JoyStick, LX200Telescope, ArduinoST4, STAR2000, LX200_OnStep, Microtouch, SQM, SteelDrive, AAGCloudWatcher, GPSD, NightscapeCCD, LX200AstroPhysics, SimpleSkeleton, ShelyakEshel, GPUSB, CCDSim, SXWHEEL, SkywatcherAPIMount, LX200AstroPhysicsExperimental, ApogeeCCD, Integra, ScopeSim, GPSSimulator, ASIWHEEL, RadioSim, SQMSimulator, DSICCD, GPSNMEA, BaaderDome, DSC, SkywatcherAltAzSimple, RTLSDR, LX200Gemini, Dome, GenericCCD, DomeSim, FocusSim, IOptronV3, PMC8, FFMVCCD, NexDome, QHYCCD, LX200AstroPhysicsGTOCP2, WeatherMeta, WeatherWatcher, FishCampCCD, FLICCD, FLICFW, MaxDomeII, HitecAstroDCFocuser, IEQPro, ioptronHC8406, LX200ZEQ25, TemmaMount, WunderGround, NFocus, PerfectStar, CelestronGPS, LX200GotoNova, MBox, Vantage, WeatherSimulator, FLIPDF, GigECCD, GuideSim, Lakeside, NightCrawler, SimpleDetector, SimpleCCD, FocusMaster, ASICCD, ASIST4, MICCD, TruTech, NSTEP, RainDetector, ArmPlat, INovaCCD, MoonLite, Pyxis, LX200FS2, Paramount, SimpleDevice, QFW, FocusLynxF1, RoboFocus, SestoSenso, SynscanMount, SimpleScope, FilterSim, DMFC, SkyCommander, LX200_16, LX200Autostar, LX200Basic, LX200Classic, LX200GPS, LX200Pulsar2, RollOff, LX200SS2000PC, NexStarEvo, DomeScript, ScopeScript, SmartFocus, and ScopeSim.
|
protectedpure virtual |
Implemented in EQMod, MGenAutoguider, SBIGCCD, LX200_10MICRON, USBFocusV3, FilterIFW, indiduino, AstrometryDriver, USBDewpoint, FocusLynxBase, SpectraCyber, Gemini, SXCCD, V4L2_Driver, GPhotoCCD, indi_webcam, FocusLynxF2, WatchDog, TCFS, XAGYLWheel, Imager, SXAO, SnapCap, ShelyakAlpy, SSAGCCD, inditess, SkySafari, QSICCD, FlipFlat, JoyStick, LX200Telescope, ArduinoST4, STAR2000, LX200_OnStep, Microtouch, SQM, SteelDrive, AAGCloudWatcher, GPSD, NightscapeCCD, LX200AstroPhysics, SimpleSkeleton, ShelyakEshel, GPUSB, CCDSim, SXWHEEL, SkywatcherAPIMount, LX200AstroPhysicsExperimental, ApogeeCCD, Integra, ScopeSim, GPSSimulator, ASIWHEEL, RadioSim, SQMSimulator, DSICCD, GPSNMEA, BaaderDome, DSC, SkywatcherAltAzSimple, RTLSDR, LX200Gemini, Dome, GenericCCD, DomeSim, FocusSim, IOptronV3, PMC8, FFMVCCD, NexDome, QHYCCD, LX200AstroPhysicsGTOCP2, WeatherMeta, WeatherWatcher, FishCampCCD, FLICCD, FLICFW, MaxDomeII, HitecAstroDCFocuser, IEQPro, ioptronHC8406, LX200ZEQ25, TemmaMount, WunderGround, NFocus, PerfectStar, CelestronGPS, LX200GotoNova, MBox, Vantage, WeatherSimulator, FLIPDF, GigECCD, GuideSim, Lakeside, NightCrawler, SimpleDetector, SimpleCCD, FocusMaster, ASICCD, ASIST4, MICCD, TruTech, NSTEP, RainDetector, ArmPlat, INovaCCD, MoonLite, Pyxis, LX200FS2, Paramount, SimpleDevice, QFW, FocusLynxF1, RoboFocus, SestoSenso, SynscanMount, SimpleScope, FilterSim, DMFC, SkyCommander, LX200_16, LX200Autostar, LX200Basic, LX200Classic, LX200GPS, LX200Pulsar2, RollOff, LX200SS2000PC, NexStarEvo, DomeScript, ScopeScript, SmartFocus, and ScopeSim.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Reimplemented from INDI::BaseDevice.
|
virtual |
Reimplemented from INDI::BaseDevice.
|
inlinevirtual |
Reimplemented in LX200Telescope.
|
inlinevirtual |
Reimplemented in LX200Telescope.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
protectedvirtual |
Initilize properties initial state and value.
The child class must implement this function.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, INDI::Dome, INDI::Dome, SBIGCCD, LX200_10MICRON, SpectraCyber, USBFocusV3, INDI::Weather, INDI::Weather, USBDewpoint, FocusLynxBase, FilterIFW, Gemini, AstrometryDriver, SXCCD, FocusLynxF2, GPhotoCCD, indi_webcam, indiduino, TCFS, INDI::Rotator, AAGCloudWatcher, INDI::Rotator, INDI::GPS, INDI::GPS, INDI::Focuser, LX200Telescope, INDI::Focuser, ShelyakAlpy, WatchDog, QSICCD, SSAGCCD, inditess, XAGYLWheel, V4L2_Driver, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, Microtouch, SteelDrive, GPSD, NightscapeCCD, ShelyakEshel, CCDSim, LX200AstroPhysics, SimpleSkeleton, SXWHEEL, SkywatcherAPIMount, ScopeSim, ApogeeCCD, SkySafari, SnapCap, LX200AstroPhysicsExperimental, Integra, ASIWHEEL, ArduinoST4, DSC, LX200Gemini, RadioSim, FlipFlat, IOptronV3, PMC8, SkywatcherAltAzSimple, DSICCD, GPSNMEA, SXAO, BaaderDome, CelestronGPS, WeatherMeta, GenericCCD, RTLSDR, FocusSim, IEQPro, Dome, QHYCCD, WeatherWatcher, FFMVCCD, FishCampCCD, FLICCD, FLICFW, JoyStick, LX200AstroPhysicsGTOCP2, WunderGround, MaxDomeII, DomeSim, HitecAstroDCFocuser, MBox, Vantage, WeatherSimulator, FLIPDF, GigECCD, NexDome, GuideSim, NFocus, PerfectStar, LX200Autostar, ASICCD, ASIST4, MICCD, SQMSimulator, STAR2000, FocusLynxF1, Lakeside, NSTEP, NightCrawler, Paramount, SimpleDetector, SimpleCCD, FocusMaster, Imager, GPUSB, TruTech, LX200Pulsar2, SynscanMount, TemmaMount, RainDetector, ArmPlat, INovaCCD, SQM, QFW, MoonLite, Pyxis, LX200Basic, RoboFocus, SestoSenso, SimpleScope, DMFC, ioptronHC8406, LX200_16, LX200Classic, LX200GotoNova, LX200GPS, LX200SS2000PC, LX200ZEQ25, DomeScript, SmartFocus, ScopeScript, RollOff, LX200FS2, NexStarEvo, and ScopeSim.
|
protectedvirtual |
Initilize properties initial state and value.
The child class must implement this function.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, INDI::Dome, INDI::Dome, SBIGCCD, LX200_10MICRON, SpectraCyber, USBFocusV3, INDI::Weather, INDI::Weather, USBDewpoint, FocusLynxBase, FilterIFW, Gemini, AstrometryDriver, SXCCD, FocusLynxF2, GPhotoCCD, indi_webcam, indiduino, TCFS, INDI::Rotator, AAGCloudWatcher, INDI::Rotator, INDI::GPS, INDI::GPS, INDI::Focuser, LX200Telescope, INDI::Focuser, ShelyakAlpy, WatchDog, QSICCD, SSAGCCD, inditess, XAGYLWheel, V4L2_Driver, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, Microtouch, SteelDrive, GPSD, NightscapeCCD, ShelyakEshel, CCDSim, LX200AstroPhysics, SimpleSkeleton, SXWHEEL, SkywatcherAPIMount, ScopeSim, ApogeeCCD, SkySafari, SnapCap, LX200AstroPhysicsExperimental, Integra, ASIWHEEL, ArduinoST4, DSC, LX200Gemini, RadioSim, FlipFlat, IOptronV3, PMC8, SkywatcherAltAzSimple, DSICCD, GPSNMEA, SXAO, BaaderDome, CelestronGPS, WeatherMeta, GenericCCD, RTLSDR, FocusSim, IEQPro, Dome, QHYCCD, WeatherWatcher, FFMVCCD, FishCampCCD, FLICCD, FLICFW, JoyStick, LX200AstroPhysicsGTOCP2, WunderGround, MaxDomeII, DomeSim, HitecAstroDCFocuser, MBox, Vantage, WeatherSimulator, FLIPDF, GigECCD, NexDome, GuideSim, NFocus, PerfectStar, LX200Autostar, ASICCD, ASIST4, MICCD, SQMSimulator, STAR2000, FocusLynxF1, Lakeside, NSTEP, NightCrawler, Paramount, SimpleDetector, SimpleCCD, FocusMaster, Imager, GPUSB, TruTech, LX200Pulsar2, SynscanMount, TemmaMount, RainDetector, ArmPlat, INovaCCD, SQM, QFW, MoonLite, Pyxis, LX200Basic, RoboFocus, SestoSenso, SimpleScope, DMFC, ioptronHC8406, LX200_16, LX200Classic, LX200GotoNova, LX200GPS, LX200SS2000PC, LX200ZEQ25, DomeScript, SmartFocus, ScopeScript, RollOff, LX200FS2, NexStarEvo, and ScopeSim.
|
protected |
|
protected |
|
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.
dev | name of the device |
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, SBIGCCD, SXCCD, FocusLynxBase, indiduino, SpectraCyber, AstrometryDriver, GPhotoCCD, INDI::Rotator, INDI::Rotator, INDI::Focuser, INDI::Focuser, indi_webcam, LX200Telescope, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, CCDSim, ShelyakAlpy, V4L2_Driver, WatchDog, SkywatcherAPIMount, ScopeSim, SnapCap, ApogeeCCD, LX200AstroPhysics, AAGCloudWatcher, FlipFlat, SkywatcherAltAzSimple, WeatherMeta, GenericCCD, ShelyakEshel, inditess, FocusSim, QHYCCD, JoyStick, LX200AstroPhysicsExperimental, WeatherWatcher, FishCampCCD, FLICCD, FLICFW, GuideSim, WunderGround, SimpleSkeleton, SkySafari, CelestronGPS, FLIPDF, STAR2000, MICCD, Imager, GPUSB, RadioSim, QFW, LX200AstroPhysicsGTOCP2, LX200Gemini, LX200Pulsar2, LX200_16, LX200Basic, LX200GPS, DomeScript, LX200Classic, ScopeScript, LX200Autostar, SynscanMount, TruTech, INovaCCD, and NexStarEvo.
|
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.
dev | name of the device |
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, SBIGCCD, SXCCD, FocusLynxBase, indiduino, SpectraCyber, AstrometryDriver, GPhotoCCD, INDI::Rotator, INDI::Rotator, INDI::Focuser, INDI::Focuser, indi_webcam, LX200Telescope, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, CCDSim, ShelyakAlpy, V4L2_Driver, WatchDog, SkywatcherAPIMount, ScopeSim, SnapCap, ApogeeCCD, LX200AstroPhysics, AAGCloudWatcher, FlipFlat, SkywatcherAltAzSimple, WeatherMeta, GenericCCD, ShelyakEshel, inditess, FocusSim, QHYCCD, JoyStick, LX200AstroPhysicsExperimental, WeatherWatcher, FishCampCCD, FLICCD, FLICFW, GuideSim, WunderGround, SimpleSkeleton, SkySafari, CelestronGPS, FLIPDF, STAR2000, MICCD, Imager, GPUSB, RadioSim, QFW, LX200AstroPhysicsGTOCP2, LX200Gemini, LX200Pulsar2, LX200_16, LX200Basic, LX200GPS, DomeScript, LX200Classic, ScopeScript, LX200Autostar, SynscanMount, TruTech, INovaCCD, and NexStarEvo.
|
virtual |
Process the client newBLOB command.
Reimplemented in AstrometryDriver, indiduino, TemmaMount, SynscanMount, SkywatcherAPIMount, inditess, SkywatcherAltAzSimple, SimpleSkeleton, Imager, ScopeSim, and NexStarEvo.
|
virtual |
Process the client newBLOB command.
Reimplemented in AstrometryDriver, indiduino, TemmaMount, SynscanMount, SkywatcherAPIMount, inditess, SkywatcherAltAzSimple, SimpleSkeleton, Imager, ScopeSim, and NexStarEvo.
|
virtual |
Process the client newNumber command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Dome, INDI::Telescope, INDI::Dome, INDI::Telescope, SBIGCCD, MGenAutoguider, USBFocusV3, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, USBDewpoint, GPhotoCCD, AstrometryDriver, GigECCD, indiduino, SpectraCyber, Gemini, INDI::Rotator, INDI::Rotator, INDI::GPS, ApogeeCCD, SSAGCCD, INDI::GPS, INDI::Focuser, INDI::Focuser, LX200Telescope, indi_webcam, XAGYLWheel, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, TemmaMount, CCDSim, SteelDrive, QHYCCD, SnapCap, WatchDog, Microtouch, SynscanMount, V4L2_Driver, MICCD, SkywatcherAPIMount, ScopeSim, FishCampCCD, FLICCD, FlipFlat, FocusSim, ASICCD, MaxDomeII, QSICCD, ArduinoST4, Integra, SkywatcherAltAzSimple, AAGCloudWatcher, LX200AstroPhysics, ASIST4, inditess, SkySafari, NightscapeCCD, GuideSim, SimpleSkeleton, NSTEP, CelestronGPS, MBox, WeatherSimulator, SXAO, STAR2000, NFocus, LX200AstroPhysicsExperimental, Paramount, Imager, GPUSB, Lakeside, NightCrawler, Pyxis, DSC, LX200Gemini, ArmPlat, NexDome, MoonLite, SestoSenso, LX200Basic, RadioSim, RoboFocus, IOptronV3, PMC8, DSICCD, SQMSimulator, DMFC, HitecAstroDCFocuser, PerfectStar, SmartFocus, LX200_16, LX200Classic, LX200ZEQ25, IEQPro, LX200SS2000PC, LX200Autostar, FocusMaster, TruTech, LX200FS2, ScopeSim, INovaCCD, and NexStarEvo.
|
virtual |
Process the client newNumber command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Dome, INDI::Telescope, INDI::Dome, INDI::Telescope, SBIGCCD, MGenAutoguider, USBFocusV3, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, USBDewpoint, GPhotoCCD, AstrometryDriver, GigECCD, indiduino, SpectraCyber, Gemini, INDI::Rotator, INDI::Rotator, INDI::GPS, ApogeeCCD, SSAGCCD, INDI::GPS, INDI::Focuser, INDI::Focuser, LX200Telescope, indi_webcam, XAGYLWheel, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, TemmaMount, CCDSim, SteelDrive, QHYCCD, SnapCap, WatchDog, Microtouch, SynscanMount, V4L2_Driver, MICCD, SkywatcherAPIMount, ScopeSim, FishCampCCD, FLICCD, FlipFlat, FocusSim, ASICCD, MaxDomeII, QSICCD, ArduinoST4, Integra, SkywatcherAltAzSimple, AAGCloudWatcher, LX200AstroPhysics, ASIST4, inditess, SkySafari, NightscapeCCD, GuideSim, SimpleSkeleton, NSTEP, CelestronGPS, MBox, WeatherSimulator, SXAO, STAR2000, NFocus, LX200AstroPhysicsExperimental, Paramount, Imager, GPUSB, Lakeside, NightCrawler, Pyxis, DSC, LX200Gemini, ArmPlat, NexDome, MoonLite, SestoSenso, LX200Basic, RadioSim, RoboFocus, IOptronV3, PMC8, DSICCD, SQMSimulator, DMFC, HitecAstroDCFocuser, PerfectStar, SmartFocus, LX200_16, LX200Classic, LX200ZEQ25, IEQPro, LX200SS2000PC, LX200Autostar, FocusMaster, TruTech, LX200FS2, ScopeSim, INovaCCD, and NexStarEvo.
|
virtual |
Process the client newSwitch command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, SBIGCCD, MGenAutoguider, SXCCD, USBFocusV3, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, USBDewpoint, FilterIFW, GPhotoCCD, indiduino, AstrometryDriver, SpectraCyber, TCFS, Gemini, INDI::Rotator, INDI::Rotator, ApogeeCCD, INDI::Focuser, INDI::Focuser, INDI::GPS, LX200Telescope, INDI::GPS, indi_webcam, XAGYLWheel, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, TemmaMount, QHYCCD, CCDSim, SteelDrive, MICCD, WatchDog, Microtouch, SynscanMount, SkywatcherAPIMount, ScopeSim, SnapCap, ShelyakAlpy, V4L2_Driver, FLICCD, BaaderDome, FocusSim, ASICCD, MaxDomeII, QSICCD, FlipFlat, Integra, SkywatcherAltAzSimple, AAGCloudWatcher, FLICFW, inditess, FLIPDF, SkySafari, ShelyakEshel, GuideSim, LX200AstroPhysics, SimpleSkeleton, NightscapeCCD, CelestronGPS, MBox, SXAO, STAR2000, LX200AstroPhysicsExperimental, Paramount, Imager, GPUSB, Lakeside, NSTEP, NightCrawler, Pyxis, DSC, ArmPlat, MoonLite, LX200Pulsar2, RoboFocus, IOptronV3, LX200Gemini, PMC8, DSICCD, NexDome, DMFC, HitecAstroDCFocuser, LX200_16, LX200Classic, IEQPro, ioptronHC8406, LX200AstroPhysicsGTOCP2, LX200GPS, LX200Autostar, LX200GotoNova, LX200ZEQ25, Dome, FocusMaster, FFMVCCD, RollOff, TruTech, RainDetector, ScopeSim, and NexStarEvo.
|
virtual |
Process the client newSwitch command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, SBIGCCD, MGenAutoguider, SXCCD, USBFocusV3, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, USBDewpoint, FilterIFW, GPhotoCCD, indiduino, AstrometryDriver, SpectraCyber, TCFS, Gemini, INDI::Rotator, INDI::Rotator, ApogeeCCD, INDI::Focuser, INDI::Focuser, INDI::GPS, LX200Telescope, INDI::GPS, indi_webcam, XAGYLWheel, INDI::FilterWheel, INDI::FilterWheel, LX200_OnStep, TemmaMount, QHYCCD, CCDSim, SteelDrive, MICCD, WatchDog, Microtouch, SynscanMount, SkywatcherAPIMount, ScopeSim, SnapCap, ShelyakAlpy, V4L2_Driver, FLICCD, BaaderDome, FocusSim, ASICCD, MaxDomeII, QSICCD, FlipFlat, Integra, SkywatcherAltAzSimple, AAGCloudWatcher, FLICFW, inditess, FLIPDF, SkySafari, ShelyakEshel, GuideSim, LX200AstroPhysics, SimpleSkeleton, NightscapeCCD, CelestronGPS, MBox, SXAO, STAR2000, LX200AstroPhysicsExperimental, Paramount, Imager, GPUSB, Lakeside, NSTEP, NightCrawler, Pyxis, DSC, ArmPlat, MoonLite, LX200Pulsar2, RoboFocus, IOptronV3, LX200Gemini, PMC8, DSICCD, NexDome, DMFC, HitecAstroDCFocuser, LX200_16, LX200Classic, IEQPro, ioptronHC8406, LX200AstroPhysicsGTOCP2, LX200GPS, LX200Autostar, LX200GotoNova, LX200ZEQ25, Dome, FocusMaster, FFMVCCD, RollOff, TruTech, RainDetector, ScopeSim, and NexStarEvo.
|
virtual |
Process the client newSwitch command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Dome, INDI::Dome, INDI::Telescope, INDI::Telescope, SBIGCCD, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, FilterIFW, GPhotoCCD, indiduino, AstrometryDriver, SpectraCyber, Gemini, ApogeeCCD, INDI::Focuser, INDI::Focuser, LX200Telescope, indi_webcam, INDI::FilterWheel, TemmaMount, INDI::FilterWheel, SynscanMount, CCDSim, QHYCCD, SkywatcherAPIMount, MICCD, ShelyakAlpy, WatchDog, V4L2_Driver, SnapCap, QSICCD, SkywatcherAltAzSimple, FlipFlat, AAGCloudWatcher, WeatherMeta, ShelyakEshel, inditess, JoyStick, SkySafari, WeatherWatcher, SimpleSkeleton, STAR2000, WunderGround, Imager, GPUSB, LX200Pulsar2, DSC, DomeScript, ScopeScript, ScopeSim, and NexStarEvo.
|
virtual |
Process the client newSwitch command.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, EQMod, INDI::Dome, INDI::Dome, INDI::Telescope, INDI::Telescope, SBIGCCD, LX200_10MICRON, INDI::Weather, INDI::Weather, FocusLynxBase, FilterIFW, GPhotoCCD, indiduino, AstrometryDriver, SpectraCyber, Gemini, ApogeeCCD, INDI::Focuser, INDI::Focuser, LX200Telescope, indi_webcam, INDI::FilterWheel, TemmaMount, INDI::FilterWheel, SynscanMount, CCDSim, QHYCCD, SkywatcherAPIMount, MICCD, ShelyakAlpy, WatchDog, V4L2_Driver, SnapCap, QSICCD, SkywatcherAltAzSimple, FlipFlat, AAGCloudWatcher, WeatherMeta, ShelyakEshel, inditess, JoyStick, SkySafari, WeatherWatcher, SimpleSkeleton, STAR2000, WunderGround, Imager, GPUSB, LX200Pulsar2, DSC, DomeScript, ScopeScript, ScopeSim, and NexStarEvo.
|
protected |
|
protected |
Process a snoop event from INDI server.
This function is called when a snooped property is updated in a snooped driver.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, INDI::Weather, INDI::Weather, AstrometryDriver, SpectraCyber, indiduino, INDI::Focuser, INDI::Focuser, CCDSim, INDI::FilterWheel, INDI::FilterWheel, SnapCap, FlipFlat, GuideSim, Imager, JoyStick, STAR2000, GPUSB, WeatherMeta, Dome, and RollOff.
Process a snoop event from INDI server.
This function is called when a snooped property is updated in a snooped driver.
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, INDI::Dome, INDI::Dome, INDI::Weather, INDI::Weather, AstrometryDriver, SpectraCyber, indiduino, INDI::Focuser, INDI::Focuser, CCDSim, INDI::FilterWheel, INDI::FilterWheel, SnapCap, FlipFlat, GuideSim, Imager, JoyStick, STAR2000, GPUSB, WeatherMeta, Dome, and RollOff.
|
protectedvirtual |
Load the last saved configuration file.
silent | if true, don't report any error or notification messages. |
property | Name of property to load configuration for. If nullptr, all properties in the configuration file are loaded which is the default behavior. |
Reimplemented in FilterIFW.
|
protectedvirtual |
Load the last saved configuration file.
silent | if true, don't report any error or notification messages. |
property | Name of property to load configuration for. If nullptr, all properties in the configuration file are loaded which is the default behavior. |
Reimplemented in FilterIFW.
|
protectedvirtual |
Load the default configuration file.
|
protectedvirtual |
Load the default configuration file.
|
protected |
registerConnection Add new connection plugin to the existing connection pool.
The connection type shall be defined to the client in ISGetProperties()
newConnection | Pointer to new connection plugin |
|
protected |
registerConnection Add new connection plugin to the existing connection pool.
The connection type shall be defined to the client in ISGetProperties()
newConnection | Pointer to new connection plugin |
void INDI::DefaultDevice::RemoveTimer | ( | int | id | ) |
Remove timer added with SetTimer.
id | ID of the timer as returned from SetTimer |
void INDI::DefaultDevice::RemoveTimer | ( | int | id | ) |
Remove timer added with SetTimer.
id | ID of the timer as returned from SetTimer |
void INDI::DefaultDevice::resetProperties | ( | ) |
Set all properties to IDLE state.
void INDI::DefaultDevice::resetProperties | ( | ) |
Set all properties to IDLE state.
|
protectedvirtual |
saveAllConfigItems Save all the drivers' properties in the configuration file
fp | pointer to config file handler |
|
protectedvirtual |
saveAllConfigItems Save all the drivers' properties in the configuration file
fp | pointer to config file handler |
|
protectedvirtual |
Save the current properties in a configuration file.
silent | if true, don't report any error or notification messages. |
property | Name of specific property to save while leaving all others properties in the file as is. |
|
protectedvirtual |
Save the current properties in a configuration file.
silent | if true, don't report any error or notification messages. |
property | Name of specific property to save while leaving all others properties in the file as is. |
|
protectedvirtual |
saveConfigItems Save specific properties in the provide config file handler.
Child class usually override this function to save their own properties and the base class saveConfigItems(fp) must be explicitly called by each child class. The Default Device saveConfigItems(fp) only save Debug properties options in the config file.
fp | Pointer to config file handler |
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Dome, INDI::Dome, INDI::Telescope, INDI::Telescope, EQMod, INDI::Weather, INDI::Weather, SBIGCCD, LX200Telescope, FilterIFW, GPhotoCCD, AstrometryDriver, indi_webcam, FocusLynxBase, INDI::Focuser, LX200AstroPhysicsExperimental, INDI::Focuser, CCDSim, INDI::Rotator, INDI::Rotator, CelestronGPS, INDI::GPS, INDI::GPS, INDI::FilterWheel, LX200AstroPhysics, INDI::FilterWheel, Gemini, V4L2_Driver, LX200AstroPhysicsGTOCP2, GuideSim, SSAGCCD, ApogeeCCD, ASICCD, XAGYLWheel, QSICCD, WatchDog, QHYCCD, Integra, SkywatcherAPIMount, FLICCD, MICCD, SnapCap, LX200Gemini, NightscapeCCD, SkywatcherAltAzSimple, SkySafari, FlipFlat, JoyStick, NightCrawler, ioptronHC8406, DSICCD, SteelDrive, IOptronV3, LX200GotoNova, PMC8, IEQPro, WeatherMeta, NSTEP, DSC, WeatherWatcher, WunderGround, STAR2000, ArmPlat, BaaderDome, NFocus, SmartFocus, WeatherSimulator, RoboFocus, DMFC, MaxDomeII, HitecAstroDCFocuser, PerfectStar, LX200SS2000PC, LX200FS2, RollOff, DomeScript, ScopeScript, and NexStarEvo.
|
protectedvirtual |
saveConfigItems Save specific properties in the provide config file handler.
Child class usually override this function to save their own properties and the base class saveConfigItems(fp) must be explicitly called by each child class. The Default Device saveConfigItems(fp) only save Debug properties options in the config file.
fp | Pointer to config file handler |
Reimplemented in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Dome, INDI::Dome, INDI::Telescope, INDI::Telescope, EQMod, INDI::Weather, INDI::Weather, SBIGCCD, LX200Telescope, FilterIFW, GPhotoCCD, AstrometryDriver, indi_webcam, FocusLynxBase, INDI::Focuser, LX200AstroPhysicsExperimental, INDI::Focuser, CCDSim, INDI::Rotator, INDI::Rotator, CelestronGPS, INDI::GPS, INDI::GPS, INDI::FilterWheel, LX200AstroPhysics, INDI::FilterWheel, Gemini, V4L2_Driver, LX200AstroPhysicsGTOCP2, GuideSim, SSAGCCD, ApogeeCCD, ASICCD, XAGYLWheel, QSICCD, WatchDog, QHYCCD, Integra, SkywatcherAPIMount, FLICCD, MICCD, SnapCap, LX200Gemini, NightscapeCCD, SkywatcherAltAzSimple, SkySafari, FlipFlat, JoyStick, NightCrawler, ioptronHC8406, DSICCD, SteelDrive, IOptronV3, LX200GotoNova, PMC8, IEQPro, WeatherMeta, NSTEP, DSC, WeatherWatcher, WunderGround, STAR2000, ArmPlat, BaaderDome, NFocus, SmartFocus, WeatherSimulator, RoboFocus, DMFC, MaxDomeII, HitecAstroDCFocuser, PerfectStar, LX200SS2000PC, LX200FS2, RollOff, DomeScript, ScopeScript, and NexStarEvo.
|
virtual |
Set connection switch status in the client.
status | If true, the driver will attempt to connect to the device (CONNECT=ON). If false, it will attempt to disconnect the device. |
status | True to set CONNECT on, false to set DISCONNECT on. |
state | State of CONNECTION properti, by default IPS_OK. |
msg | A message to be sent along with connect/disconnect command, by default nullptr. |
|
virtual |
Set connection switch status in the client.
status | If true, the driver will attempt to connect to the device (CONNECT=ON). If false, it will attempt to disconnect the device. |
status | True to set CONNECT on, false to set DISCONNECT on. |
state | State of CONNECTION properti, by default IPS_OK. |
msg | A message to be sent along with connect/disconnect command, by default nullptr. |
|
protected |
Toggle driver debug status A driver can be more verbose if Debug option is enabled by the client.
enable | If true, the Debug option is set to ON. |
|
protected |
Toggle driver debug status A driver can be more verbose if Debug option is enabled by the client.
enable | If true, the Debug option is set to ON. |
|
protected |
|
protected |
void INDI::DefaultDevice::setDriverInterface | ( | uint16_t | value | ) |
setInterface Set driver interface.
By default the driver interface is set to GENERAL_DEVICE. You may send an ORed list of DeviceInterface values.
value | ORed list of DeviceInterface values. |
void INDI::DefaultDevice::setDriverInterface | ( | uint16_t | value | ) |
setInterface Set driver interface.
By default the driver interface is set to GENERAL_DEVICE. You may send an ORed list of DeviceInterface values.
value | ORed list of DeviceInterface values. |
|
inlineprotected |
setDynamicPropertiesBehavior controls handling of dynamic properties.
Dyanmic properties are those generated from an external skeleton XML file. By default all properties, including dynamic properties, are defined to the client in ISGetProperties(). Furthermore, when űdeleteProperty(properyName) is called, the dynamic property is deleted by default, and can only be restored by calling buildSkeleton(filename) again. However, it is sometimes desirable to skip the definition of the dynamic properties on startup and delegate this task to the child class. To control this behavior, set enabled to false.
defineEnabled | True to define all dynamic properties in INDI::DefaultDevice own ISGetProperties() on startup. False to skip defining dynamic properties. |
deleteEnabled | True to delete dynamic properties from memory in deleteProperty(name). False to keep dynamic property in the properties list, but delete it from the client. |
|
inlineprotected |
setDynamicPropertiesBehavior controls handling of dynamic properties.
Dyanmic properties are those generated from an external skeleton XML file. By default all properties, including dynamic properties, are defined to the client in ISGetProperties(). Furthermore, when űdeleteProperty(properyName) is called, the dynamic property is deleted by default, and can only be restored by calling buildSkeleton(filename) again. However, it is sometimes desirable to skip the definition of the dynamic properties on startup and delegate this task to the child class. To control this behavior, set enabled to false.
defineEnabled | True to define all dynamic properties in INDI::DefaultDevice own ISGetProperties() on startup. False to skip defining dynamic properties. |
deleteEnabled | True to delete dynamic properties from memory in deleteProperty(name). False to keep dynamic property in the properties list, but delete it from the client. |
|
protected |
Toggle driver simulation status A driver can run in simulation mode if Simulation option is enabled by the client.
enable | If true, the Simulation option is set to ON. |
|
protected |
Toggle driver simulation status A driver can run in simulation mode if Simulation option is enabled by the client.
enable | If true, the Simulation option is set to ON. |
int INDI::DefaultDevice::SetTimer | ( | uint32_t | ms | ) |
Set a timer to call the function TimerHit after ms milliseconds.
ms | timer duration in milliseconds. |
int INDI::DefaultDevice::SetTimer | ( | uint32_t | ms | ) |
Set a timer to call the function TimerHit after ms milliseconds.
ms | timer duration in milliseconds. |
Set driver version information to be defined in DRIVER_INFO property as vMajor.vMinor.
vMajor | major revision number |
vMinor | minor revision number |
Set driver version information to be defined in DRIVER_INFO property as vMajor.vMinor.
vMajor | major revision number |
vMinor | minor revision number |
|
protectedvirtual |
Inform driver that the simulation option was triggered.
This function is called after setSimulation is triggered by the client. Reimplement this function if your driver needs to take specific action after simulation is enabled/disabled. Otherwise, you can use isSimulation() to check if simulation is enabled or disabled.
enable | If true, the simulation option is set to ON. |
Reimplemented in SXCCD, FilterIFW, CelestronGPS, FocusLynxF2, IOptronV3, PMC8, IEQPro, FishCampCCD, DSC, and QFW.
|
protectedvirtual |
Inform driver that the simulation option was triggered.
This function is called after setSimulation is triggered by the client. Reimplement this function if your driver needs to take specific action after simulation is enabled/disabled. Otherwise, you can use isSimulation() to check if simulation is enabled or disabled.
enable | If true, the simulation option is set to ON. |
Reimplemented in SXCCD, FilterIFW, CelestronGPS, FocusLynxF2, IOptronV3, PMC8, IEQPro, FishCampCCD, DSC, and QFW.
|
virtual |
Callback function to be called once SetTimer duration elapses.
Reimplemented in INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, SBIGCCD, INDI::Weather, INDI::Weather, USBFocusV3, FocusLynxBase, FilterIFW, GPhotoCCD, USBDewpoint, Gemini, SpectraCyber, SXCCD, indi_webcam, INDI::GPS, INDI::GPS, CCDSim, TCFS, indiduino, QSICCD, XAGYLWheel, NexDome, Integra, SkywatcherAPIMount, QHYCCD, SteelDrive, SSAGCCD, SnapCap, WatchDog, Microtouch, SkywatcherAltAzSimple, MICCD, GuideSim, ApogeeCCD, NightscapeCCD, FlipFlat, NightCrawler, ASICCD, GenericCCD, FLICCD, STAR2000, FishCampCCD, SXWHEEL, FLICFW, inditess, RadioSim, GPUSB, SkySafari, SQM, DSICCD, FLIPDF, ASIWHEEL, RTLSDR, BaaderDome, GigECCD, Lakeside, Pyxis, DomeSim, FFMVCCD, MaxDomeII, HitecAstroDCFocuser, PerfectStar, SestoSenso, SimpleDetector, ArmPlat, MoonLite, SimpleCCD, NexStarEvo, FocusMaster, DMFC, NSTEP, INovaCCD, TruTech, RoboFocus, SmartFocus, RollOff, DomeScript, FilterSim, and ScopeSim.
|
virtual |
Callback function to be called once SetTimer duration elapses.
Reimplemented in INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, SBIGCCD, INDI::Weather, INDI::Weather, USBFocusV3, FocusLynxBase, FilterIFW, GPhotoCCD, USBDewpoint, Gemini, SpectraCyber, SXCCD, indi_webcam, INDI::GPS, INDI::GPS, CCDSim, TCFS, indiduino, QSICCD, XAGYLWheel, NexDome, Integra, SkywatcherAPIMount, QHYCCD, SteelDrive, SSAGCCD, SnapCap, WatchDog, Microtouch, SkywatcherAltAzSimple, MICCD, GuideSim, ApogeeCCD, NightscapeCCD, FlipFlat, NightCrawler, ASICCD, GenericCCD, FLICCD, STAR2000, FishCampCCD, SXWHEEL, FLICFW, inditess, RadioSim, GPUSB, SkySafari, SQM, DSICCD, FLIPDF, ASIWHEEL, RTLSDR, BaaderDome, GigECCD, Lakeside, Pyxis, DomeSim, FFMVCCD, MaxDomeII, HitecAstroDCFocuser, PerfectStar, SestoSenso, SimpleDetector, ArmPlat, MoonLite, SimpleCCD, NexStarEvo, FocusMaster, DMFC, NSTEP, INovaCCD, TruTech, RoboFocus, SmartFocus, RollOff, DomeScript, FilterSim, and ScopeSim.
|
protected |
unRegisterConnection Remove connection from existing pool
existingConnection | pointer to connection interface |
|
protected |
unRegisterConnection Remove connection from existing pool
existingConnection | pointer to connection interface |
|
protectedvirtual |
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 in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, INDI::Dome, INDI::Dome, SBIGCCD, LX200_10MICRON, USBFocusV3, INDI::Weather, INDI::Weather, FilterIFW, USBDewpoint, FocusLynxBase, Gemini, AstrometryDriver, SXCCD, indiduino, GPhotoCCD, indi_webcam, SkywatcherAPIMount, TCFS, INDI::Rotator, INDI::Rotator, INDI::Focuser, INDI::GPS, SkywatcherAltAzSimple, INDI::Focuser, INDI::GPS, LX200Telescope, ShelyakAlpy, QSICCD, SSAGCCD, XAGYLWheel, V4L2_Driver, INDI::FilterWheel, LX200_OnStep, INDI::FilterWheel, Microtouch, SteelDrive, GPSD, NightscapeCCD, ShelyakEshel, CCDSim, LX200AstroPhysics, ScopeSim, SnapCap, ApogeeCCD, LX200AstroPhysicsExperimental, Integra, ArduinoST4, FlipFlat, DSC, LX200Gemini, RadioSim, IOptronV3, PMC8, GenericCCD, DSICCD, GPSNMEA, SXAO, BaaderDome, FocusSim, CelestronGPS, WeatherMeta, QHYCCD, RTLSDR, IEQPro, Dome, FishCampCCD, FLICCD, FLICFW, FFMVCCD, JoyStick, DomeSim, LX200AstroPhysicsGTOCP2, FLIPDF, MaxDomeII, NexDome, HitecAstroDCFocuser, MBox, WeatherSimulator, GigECCD, MICCD, GuideSim, NFocus, PerfectStar, LX200Autostar, ASICCD, ASIST4, SQMSimulator, STAR2000, Lakeside, NSTEP, NightCrawler, Paramount, SimpleDetector, SimpleCCD, FocusMaster, Imager, GPUSB, TruTech, LX200Pulsar2, TemmaMount, RainDetector, ArmPlat, INovaCCD, SQM, FocusLynxF1, MoonLite, Pyxis, LX200Basic, DomeScript, RoboFocus, SestoSenso, DMFC, LX200Classic, LX200_16, LX200GPS, LX200SS2000PC, ioptronHC8406, SynscanMount, RollOff, SmartFocus, LX200GotoNova, LX200ZEQ25, and LX200FS2.
|
protectedvirtual |
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 in INDI::CCD, INDI::CCD, INDI::Detector, INDI::Detector, INDI::Telescope, INDI::Telescope, EQMod, MGenAutoguider, INDI::Dome, INDI::Dome, SBIGCCD, LX200_10MICRON, USBFocusV3, INDI::Weather, INDI::Weather, FilterIFW, USBDewpoint, FocusLynxBase, Gemini, AstrometryDriver, SXCCD, indiduino, GPhotoCCD, indi_webcam, SkywatcherAPIMount, TCFS, INDI::Rotator, INDI::Rotator, INDI::Focuser, INDI::GPS, SkywatcherAltAzSimple, INDI::Focuser, INDI::GPS, LX200Telescope, ShelyakAlpy, QSICCD, SSAGCCD, XAGYLWheel, V4L2_Driver, INDI::FilterWheel, LX200_OnStep, INDI::FilterWheel, Microtouch, SteelDrive, GPSD, NightscapeCCD, ShelyakEshel, CCDSim, LX200AstroPhysics, ScopeSim, SnapCap, ApogeeCCD, LX200AstroPhysicsExperimental, Integra, ArduinoST4, FlipFlat, DSC, LX200Gemini, RadioSim, IOptronV3, PMC8, GenericCCD, DSICCD, GPSNMEA, SXAO, BaaderDome, FocusSim, CelestronGPS, WeatherMeta, QHYCCD, RTLSDR, IEQPro, Dome, FishCampCCD, FLICCD, FLICFW, FFMVCCD, JoyStick, DomeSim, LX200AstroPhysicsGTOCP2, FLIPDF, MaxDomeII, NexDome, HitecAstroDCFocuser, MBox, WeatherSimulator, GigECCD, MICCD, GuideSim, NFocus, PerfectStar, LX200Autostar, ASICCD, ASIST4, SQMSimulator, STAR2000, Lakeside, NSTEP, NightCrawler, Paramount, SimpleDetector, SimpleCCD, FocusMaster, Imager, GPUSB, TruTech, LX200Pulsar2, TemmaMount, RainDetector, ArmPlat, INovaCCD, SQM, FocusLynxF1, MoonLite, Pyxis, LX200Basic, DomeScript, RoboFocus, SestoSenso, DMFC, LX200Classic, LX200_16, LX200GPS, LX200SS2000PC, ioptronHC8406, SynscanMount, RollOff, SmartFocus, LX200GotoNova, LX200ZEQ25, and LX200FS2.
|
friend |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
Period in milliseconds to call TimerHit(). Default 1000 ms.
|
private |
|
private |
|
private |
|
private |