|
enum | {
DETECTOR_CAN_ABORT = 1 << 0,
DETECTOR_HAS_SHUTTER = 1 << 1,
DETECTOR_HAS_COOLER = 1 << 2,
DETECTOR_HAS_CONTINUUM = 1 << 3,
DETECTOR_HAS_SPECTRUM = 1 << 4
} |
|
enum | {
DETECTOR_CAN_ABORT = 1 << 0,
DETECTOR_HAS_SHUTTER = 1 << 1,
DETECTOR_HAS_COOLER = 1 << 2,
DETECTOR_HAS_CONTINUUM = 1 << 3,
DETECTOR_HAS_SPECTRUM = 1 << 4
} |
|
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...
|
|
|
| Detector () |
|
virtual | ~Detector () |
|
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 void | ISGetProperties (const char *dev) |
| define the driver's properties to the client. More...
|
|
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...
|
|
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...
|
|
| Detector () |
|
virtual | ~Detector () |
|
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 void | ISGetProperties (const char *dev) |
| define the driver's properties to the client. More...
|
|
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...
|
|
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...
|
|
| 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 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 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 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 | GetDetectorCapability () const |
| GetDetectorCapability returns the Detector capabilities. More...
|
|
void | SetDetectorCapability (uint32_t cap) |
| SetDetectorCapability Set the Detector capabilities. More...
|
|
bool | CanAbort () |
|
bool | HasShutter () |
|
bool | HasCooler () |
|
bool | HasContinuum () |
|
bool | HasSpectrum () |
|
virtual int | SetTemperature (double temperature) |
| Set Detector temperature. More...
|
|
virtual bool | StartCapture (float duration) |
| Start capture from the Detector device. More...
|
|
virtual bool | CaptureParamsUpdated (float sr, float freq, float bps) |
| Set common capture params. More...
|
|
virtual bool | CaptureComplete (DetectorDevice *targetDevice) |
| Uploads target Device exposed buffer as FITS to the client. More...
|
|
virtual bool | AbortCapture () |
| Abort ongoing Capture. More...
|
|
virtual void | SetDetectorParams (float samplerate, float freq, float bps) |
| Setup Detector parameters for the Detector. More...
|
|
virtual void | addFITSKeywords (fitsfile *fptr, DetectorDevice *targetDevice, int blobIndex) |
| Add FITS keywords to a fits file. More...
|
|
void | fits_update_key_s (fitsfile *fptr, int type, std::string name, void *p, std::string explanation, int *status) |
| A function to just remove GCC warnings about deprecated conversion. More...
|
|
virtual void | activeDevicesUpdated () |
| activeDevicesUpdated Inform children that ActiveDevices property was updated so they can snoop on the updated devices if desired. More...
|
|
virtual bool | saveConfigItems (FILE *fp) |
| saveConfigItems Save configuration items in XML file. More...
|
|
uint32_t | GetDetectorCapability () const |
| GetDetectorCapability returns the Detector capabilities. More...
|
|
void | SetDetectorCapability (uint32_t cap) |
| SetDetectorCapability Set the Detector capabilities. More...
|
|
bool | CanAbort () |
|
bool | HasShutter () |
|
bool | HasCooler () |
|
bool | HasContinuum () |
|
bool | HasSpectrum () |
|
virtual int | SetTemperature (double temperature) |
| Set Detector temperature. More...
|
|
virtual bool | StartCapture (float duration) |
| Start capture from the Detector device. More...
|
|
virtual bool | CaptureParamsUpdated (float sr, float freq, float bps) |
| Set common capture params. More...
|
|
virtual bool | CaptureComplete (DetectorDevice *targetDevice) |
| Uploads target Device exposed buffer as FITS to the client. More...
|
|
virtual bool | AbortCapture () |
| Abort ongoing Capture. More...
|
|
virtual void | SetDetectorParams (float samplerate, float freq, float bps) |
| Setup Detector parameters for the Detector. More...
|
|
virtual void | addFITSKeywords (fitsfile *fptr, DetectorDevice *targetDevice, int blobIndex) |
| Add FITS keywords to a fits file. More...
|
|
void | fits_update_key_s (fitsfile *fptr, int type, std::string name, void *p, std::string explanation, int *status) |
| A function to just remove GCC warnings about deprecated conversion. More...
|
|
virtual void | activeDevicesUpdated () |
| activeDevicesUpdated Inform children that ActiveDevices property was updated so they can snoop on the updated devices if desired. More...
|
|
virtual bool | saveConfigItems (FILE *fp) |
| saveConfigItems Save configuration items in XML file. More...
|
|
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 () |
|
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 | 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 | 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...
|
|
Class to provide general functionality of Monodimensional Detector.
The Detector capabilities must be set to select which features are exposed to the clients. SetDetectorCapability() is typically set in the constructor or initProperties(), but can also be called after connection is established with the Detector, but must be called /em before returning true in Connect().
Developers need to subclass INDI::Detector to implement any driver for Detectors within INDI.