TwiceAsNice
2019-02-18
|
Class to provide general functionality of CCD cameras with a single CCD sensor, or a primary CCD sensor in addition to a secondary CCD guide head. More...
#include <indiccd.h>
Public Member Functions | |
CCD () | |
virtual | ~CCD () |
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... | |
CCD () | |
virtual | ~CCD () |
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 () |
Public Attributes | |
enum INDI::CCD:: { ... } | CCDCapability |
enum INDI::CCD:: { ... } | CCDCapability |
Protected Types | |
enum | { SNOOP_MOUNT, SNOOP_ROTATOR, SNOOP_FILTER_WHEEL, SNOOP_SQM } |
enum | { UPLOAD_DIR, UPLOAD_PREFIX } |
enum | { TELESCOPE_PRIMARY, TELESCOPE_GUIDE } |
enum | { EXPOSURE_LOOP_ON, EXPOSURE_LOOP_OFF } |
enum | { FITS_OBSERVER, FITS_OBJECT } |
enum | { SNOOP_MOUNT, SNOOP_ROTATOR, SNOOP_FILTER_WHEEL, SNOOP_SQM } |
enum | { UPLOAD_DIR, UPLOAD_PREFIX } |
enum | { TELESCOPE_PRIMARY, TELESCOPE_GUIDE } |
enum | { EXPOSURE_LOOP_ON, EXPOSURE_LOOP_OFF } |
enum | { FITS_OBSERVER, FITS_OBJECT } |
Protected Member Functions | |
uint32_t | GetCCDCapability () const |
GetCCDCapability returns the CCD capabilities. More... | |
void | SetCCDCapability (uint32_t cap) |
SetCCDCapability Set the CCD capabilities. More... | |
bool | CanAbort () |
bool | CanBin () |
bool | CanSubFrame () |
bool | HasGuideHead () |
bool | HasShutter () |
bool | HasST4Port () |
bool | HasCooler () |
bool | HasBayer () |
bool | HasStreaming () |
virtual int | SetTemperature (double temperature) |
Set CCD temperature. More... | |
virtual bool | StartExposure (float duration) |
Start exposing primary CCD chip. More... | |
virtual bool | ExposureComplete (CCDChip *targetChip) |
Uploads target Chip exposed buffer as FITS to the client. More... | |
virtual bool | AbortExposure () |
Abort ongoing exposure. More... | |
virtual bool | StartGuideExposure (float duration) |
Start exposing guide CCD chip. More... | |
virtual bool | AbortGuideExposure () |
Abort ongoing exposure. More... | |
virtual bool | UpdateCCDFrame (int x, int y, int w, int h) |
CCD calls this function when CCD Frame dimension needs to be updated in the hardware. More... | |
virtual bool | UpdateGuiderFrame (int x, int y, int w, int h) |
CCD calls this function when Guide head frame dimension is updated by the client. More... | |
virtual bool | UpdateCCDBin (int hor, int ver) |
CCD calls this function when CCD Binning needs to be updated in the hardware. More... | |
virtual bool | UpdateGuiderBin (int hor, int ver) |
CCD calls this function when Guide head binning is updated by the client. More... | |
virtual bool | UpdateCCDFrameType (CCDChip::CCD_FRAME fType) |
CCD calls this function when CCD frame type needs to be updated in the hardware. More... | |
virtual bool | UpdateCCDUploadMode (CCD_UPLOAD_MODE mode) |
CCD calls this function when client upload mode switch is updated. More... | |
virtual bool | UpdateGuiderFrameType (CCDChip::CCD_FRAME fType) |
CCD calls this function when Guide frame type is updated by the client. More... | |
virtual void | SetCCDParams (int x, int y, int bpp, float xf, float yf) |
Setup CCD paramters for primary CCD. More... | |
virtual void | SetGuiderParams (int x, int y, int bpp, float xf, float yf) |
Setup CCD paramters for guide head CCD. More... | |
virtual IPState | GuideNorth (uint32_t ms) |
Guide northward for ms milliseconds. More... | |
virtual IPState | GuideSouth (uint32_t ms) |
Guide southward for ms milliseconds. More... | |
virtual IPState | GuideEast (uint32_t ms) |
Guide easward for ms milliseconds. More... | |
virtual IPState | GuideWest (uint32_t ms) |
Guide westward for ms milliseconds. More... | |
virtual bool | StartStreaming () |
StartStreaming Start live video streaming. More... | |
virtual bool | StopStreaming () |
StopStreaming Stop live video streaming. More... | |
virtual void | addFITSKeywords (fitsfile *fptr, CCDChip *targetChip) |
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 | GuideComplete (INDI_EQ_AXIS axis) |
Call GuideComplete once the guiding pulse is complete. More... | |
uint32_t | GetCCDCapability () const |
GetCCDCapability returns the CCD capabilities. More... | |
void | SetCCDCapability (uint32_t cap) |
SetCCDCapability Set the CCD capabilities. More... | |
bool | CanAbort () |
bool | CanBin () |
bool | CanSubFrame () |
bool | HasGuideHead () |
bool | HasShutter () |
bool | HasST4Port () |
bool | HasCooler () |
bool | HasBayer () |
bool | HasStreaming () |
virtual int | SetTemperature (double temperature) |
Set CCD temperature. More... | |
virtual bool | StartExposure (float duration) |
Start exposing primary CCD chip. More... | |
virtual bool | ExposureComplete (CCDChip *targetChip) |
Uploads target Chip exposed buffer as FITS to the client. More... | |
virtual bool | AbortExposure () |
Abort ongoing exposure. More... | |
virtual bool | StartGuideExposure (float duration) |
Start exposing guide CCD chip. More... | |
virtual bool | AbortGuideExposure () |
Abort ongoing exposure. More... | |
virtual bool | UpdateCCDFrame (int x, int y, int w, int h) |
CCD calls this function when CCD Frame dimension needs to be updated in the hardware. More... | |
virtual bool | UpdateGuiderFrame (int x, int y, int w, int h) |
CCD calls this function when Guide head frame dimension is updated by the client. More... | |
virtual bool | UpdateCCDBin (int hor, int ver) |
CCD calls this function when CCD Binning needs to be updated in the hardware. More... | |
virtual bool | UpdateGuiderBin (int hor, int ver) |
CCD calls this function when Guide head binning is updated by the client. More... | |
virtual bool | UpdateCCDFrameType (CCDChip::CCD_FRAME fType) |
CCD calls this function when CCD frame type needs to be updated in the hardware. More... | |
virtual bool | UpdateCCDUploadMode (CCD_UPLOAD_MODE mode) |
CCD calls this function when client upload mode switch is updated. More... | |
virtual bool | UpdateGuiderFrameType (CCDChip::CCD_FRAME fType) |
CCD calls this function when Guide frame type is updated by the client. More... | |
virtual void | SetCCDParams (int x, int y, int bpp, float xf, float yf) |
Setup CCD paramters for primary CCD. More... | |
virtual void | SetGuiderParams (int x, int y, int bpp, float xf, float yf) |
Setup CCD paramters for guide head CCD. More... | |
virtual IPState | GuideNorth (uint32_t ms) |
Guide northward for ms milliseconds. More... | |
virtual IPState | GuideSouth (uint32_t ms) |
Guide southward for ms milliseconds. More... | |
virtual IPState | GuideEast (uint32_t ms) |
Guide easward for ms milliseconds. More... | |
virtual IPState | GuideWest (uint32_t ms) |
Guide westward for ms milliseconds. More... | |
virtual bool | StartStreaming () |
StartStreaming Start live video streaming. More... | |
virtual bool | StopStreaming () |
StopStreaming Stop live video streaming. More... | |
virtual void | addFITSKeywords (fitsfile *fptr, CCDChip *targetChip) |
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 | GuideComplete (INDI_EQ_AXIS axis) |
Call GuideComplete once the guiding pulse is complete. 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... | |
Private Member Functions | |
bool | uploadFile (CCDChip *targetChip, const void *fitsData, size_t totalBytes, bool sendImage, bool saveImage) |
void | getMinMax (double *min, double *max, CCDChip *targetChip) |
int | getFileIndex (const char *dir, const char *prefix, const char *ext) |
bool | uploadFile (CCDChip *targetChip, const void *fitsData, size_t totalBytes, bool sendImage, bool saveImage) |
void | getMinMax (double *min, double *max, CCDChip *targetChip) |
int | getFileIndex (const char *dir, const char *prefix, const char *ext) |
GuiderInterface () | |
~GuiderInterface () | |
void | initGuiderProperties (const char *deviceName, const char *groupName) |
Initilize guider properties. More... | |
void | processGuiderProperties (const char *name, double values[], char *names[], int n) |
Call this function whenever client updates GuideNSNP or GuideWSP properties in the primary device. More... | |
GuiderInterface () | |
~GuiderInterface () | |
void | initGuiderProperties (const char *deviceName, const char *groupName) |
Initilize guider properties. More... | |
void | processGuiderProperties (const char *name, double values[], char *names[], int n) |
Call this function whenever client updates GuideNSNP or GuideWSP properties in the primary device. More... | |
Private Attributes | |
uint32_t | capability |
bool | ValidCCDRotation |
![]() | |
INumber | GuideNSN [2] |
INumberVectorProperty | GuideNSNP |
INumber | GuideWEN [2] |
INumberVectorProperty | GuideWENP |
Friends | |
class | StreamManager |
Class to provide general functionality of CCD cameras with a single CCD sensor, or a primary CCD sensor in addition to a secondary CCD guide head.
The CCD capabilities must be set to select which features are exposed to the clients. SetCCDCapability() is typically set in the constructor or initProperties(), but can also be called after connection is established with the CCD, but must be called /em before returning true in Connect().
It also implements the interface to perform guiding. The class enable the ability to snoop on telescope equatorial coordinates and record them in the FITS file before upload. It also snoops Sky-Quality-Meter devices to record sky quality in units of Magnitudes-Per-Arcsecond-Squared (MPASS) in the FITS header.
Support for streaming is available (Linux only) and is handled by the StreamRecorder class.
Developers need to subclass INDI::CCD to implement any driver for CCD cameras within INDI.
anonymous enum |
Enumerator | |
---|---|
CCD_CAN_BIN | Does the CCD support binning? |
CCD_CAN_SUBFRAME | Does the CCD support setting ROI? |
CCD_CAN_ABORT | Can the CCD exposure be aborted? |
CCD_HAS_GUIDE_HEAD | Does the CCD have a guide head? |
CCD_HAS_ST4_PORT | Does the CCD have an ST4 port? |
CCD_HAS_SHUTTER | Does the CCD have a mechanical shutter? |
CCD_HAS_COOLER | Does the CCD have a cooler and temperature control? |
CCD_HAS_BAYER | Does the CCD send color data in bayer format? |
CCD_HAS_STREAMING | Does the CCD support live video streaming? |
anonymous enum |
Enumerator | |
---|---|
CCD_CAN_BIN | Does the CCD support binning? |
CCD_CAN_SUBFRAME | Does the CCD support setting ROI? |
CCD_CAN_ABORT | Can the CCD exposure be aborted? |
CCD_HAS_GUIDE_HEAD | Does the CCD have a guide head? |
CCD_HAS_ST4_PORT | Does the CCD have an ST4 port? |
CCD_HAS_SHUTTER | Does the CCD have a mechanical shutter? |
CCD_HAS_COOLER | Does the CCD have a cooler and temperature control? |
CCD_HAS_BAYER | Does the CCD send color data in bayer format? |
CCD_HAS_STREAMING | Does the CCD support live video streaming? |
INDI::CCD::CCD | ( | ) |
|
virtual |
INDI::CCD::CCD | ( | ) |
|
virtual |
|
protectedvirtual |
Abort ongoing exposure.
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, QSICCD, SSAGCCD, GuideSim, ApogeeCCD, NightscapeCCD, GenericCCD, QHYCCD, DSICCD, FishCampCCD, FLICCD, MICCD, ASICCD, FFMVCCD, GigECCD, SimpleCCD, and INovaCCD.
|
protectedvirtual |
Abort ongoing exposure.
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, QSICCD, SSAGCCD, GuideSim, ApogeeCCD, NightscapeCCD, GenericCCD, QHYCCD, DSICCD, FishCampCCD, FLICCD, MICCD, ASICCD, FFMVCCD, GigECCD, SimpleCCD, and INovaCCD.
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protectedvirtual |
Add FITS keywords to a fits file.
fptr | pointer to a valid FITS file. |
targetChip | The target chip to extract the keywords from. |
To add additional information, override this function in the child class and ensure to call CCD::addFITSKeywords.
Reimplemented in GPhotoCCD, QSICCD, SSAGCCD, ASICCD, and INovaCCD.
|
protectedvirtual |
Add FITS keywords to a fits file.
fptr | pointer to a valid FITS file. |
targetChip | The target chip to extract the keywords from. |
To add additional information, override this function in the child class and ensure to call CCD::addFITSKeywords.
Reimplemented in GPhotoCCD, QSICCD, SSAGCCD, ASICCD, and INovaCCD.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Uploads target Chip exposed buffer as FITS to the client.
Dervied classes should class this function when an exposure is complete.
targetChip | chip that contains upload image data |
Uploads target Chip exposed buffer as FITS to the client.
Dervied classes should class this function when an exposure is complete.
targetChip | chip that contains upload image data |
|
protected |
A function to just remove GCC warnings about deprecated conversion.
|
protected |
A function to just remove GCC warnings about deprecated conversion.
|
inlineprotected |
GetCCDCapability returns the CCD capabilities.
|
inlineprotected |
GetCCDCapability returns the CCD capabilities.
|
private |
|
private |
|
protectedvirtual |
Call GuideComplete once the guiding pulse is complete.
axis | Axis of completed guiding operation. |
Reimplemented from INDI::GuiderInterface.
|
protectedvirtual |
Call GuideComplete once the guiding pulse is complete.
axis | Axis of completed guiding operation. |
Reimplemented from INDI::GuiderInterface.
Guide easward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, GuideSim, SSAGCCD, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide easward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, GuideSim, SSAGCCD, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide northward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, SSAGCCD, GuideSim, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide northward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, SSAGCCD, GuideSim, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide southward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, SSAGCCD, GuideSim, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide southward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, SSAGCCD, GuideSim, FishCampCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide westward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, GuideSim, FishCampCCD, SSAGCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
Guide westward for ms milliseconds.
ms | Duration in milliseconds. |
Implements INDI::GuiderInterface.
Reimplemented in SBIGCCD, SXCCD, CCDSim, QSICCD, QHYCCD, GuideSim, FishCampCCD, SSAGCCD, GenericCCD, ASICCD, MICCD, and INovaCCD.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
virtual |
Initilize properties initial state and value.
The child class must implement this function.
Reimplemented from INDI::DefaultDevice.
Reimplemented in MGenAutoguider, SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, QSICCD, SSAGCCD, V4L2_Driver, NightscapeCCD, CCDSim, ApogeeCCD, DSICCD, GenericCCD, QHYCCD, FFMVCCD, FishCampCCD, FLICCD, GigECCD, GuideSim, ASICCD, MICCD, SimpleCCD, and INovaCCD.
|
virtual |
Initilize properties initial state and value.
The child class must implement this function.
Reimplemented from INDI::DefaultDevice.
Reimplemented in MGenAutoguider, SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, QSICCD, SSAGCCD, V4L2_Driver, NightscapeCCD, CCDSim, ApogeeCCD, DSICCD, GenericCCD, QHYCCD, FFMVCCD, FishCampCCD, FLICCD, GigECCD, GuideSim, ASICCD, MICCD, SimpleCCD, and INovaCCD.
|
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 from INDI::DefaultDevice.
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, ApogeeCCD, GenericCCD, QHYCCD, FishCampCCD, FLICCD, GuideSim, MICCD, and INovaCCD.
|
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 from INDI::DefaultDevice.
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, ApogeeCCD, GenericCCD, QHYCCD, FishCampCCD, FLICCD, GuideSim, MICCD, and INovaCCD.
|
virtual |
Process the client newNumber command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, MGenAutoguider, GPhotoCCD, GigECCD, ApogeeCCD, SSAGCCD, indi_webcam, CCDSim, QHYCCD, V4L2_Driver, MICCD, FishCampCCD, FLICCD, ASICCD, QSICCD, NightscapeCCD, GuideSim, DSICCD, and INovaCCD.
|
virtual |
Process the client newNumber command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, MGenAutoguider, GPhotoCCD, GigECCD, ApogeeCCD, SSAGCCD, indi_webcam, CCDSim, QHYCCD, V4L2_Driver, MICCD, FishCampCCD, FLICCD, ASICCD, QSICCD, NightscapeCCD, GuideSim, DSICCD, and INovaCCD.
|
virtual |
Process the client newSwitch command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, MGenAutoguider, SXCCD, GPhotoCCD, ApogeeCCD, indi_webcam, QHYCCD, CCDSim, MICCD, V4L2_Driver, FLICCD, ASICCD, QSICCD, GuideSim, NightscapeCCD, DSICCD, and FFMVCCD.
|
virtual |
Process the client newSwitch command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, MGenAutoguider, SXCCD, GPhotoCCD, ApogeeCCD, indi_webcam, QHYCCD, CCDSim, MICCD, V4L2_Driver, FLICCD, ASICCD, QSICCD, GuideSim, NightscapeCCD, DSICCD, and FFMVCCD.
|
virtual |
Process the client newSwitch command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, GPhotoCCD, ApogeeCCD, indi_webcam, CCDSim, QHYCCD, MICCD, V4L2_Driver, and QSICCD.
|
virtual |
Process the client newSwitch command.
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, GPhotoCCD, ApogeeCCD, indi_webcam, CCDSim, QHYCCD, MICCD, V4L2_Driver, and QSICCD.
Process a snoop event from INDI server.
This function is called when a snooped property is updated in a snooped driver.
Reimplemented from INDI::DefaultDevice.
Process a snoop event from INDI server.
This function is called when a snooped property is updated in a snooped driver.
Reimplemented from INDI::DefaultDevice.
|
protectedvirtual |
saveConfigItems Save configuration items in XML file.
fp | pointer to file to write to |
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, GuideSim, SSAGCCD, ApogeeCCD, ASICCD, QSICCD, QHYCCD, FLICCD, MICCD, NightscapeCCD, and DSICCD.
|
protectedvirtual |
saveConfigItems Save configuration items in XML file.
fp | pointer to file to write to |
Reimplemented from INDI::DefaultDevice.
Reimplemented in SBIGCCD, GPhotoCCD, indi_webcam, CCDSim, V4L2_Driver, GuideSim, SSAGCCD, ApogeeCCD, ASICCD, QSICCD, QHYCCD, FLICCD, MICCD, NightscapeCCD, and DSICCD.
|
protected |
SetCCDCapability Set the CCD capabilities.
Al fields must be initilized.
cap | pointer to CCDCapability struct. |
|
protected |
SetCCDCapability Set the CCD capabilities.
Al fields must be initilized.
cap | pointer to CCDCapability struct. |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Set CCD temperature.
temperature | CCD temperature in degrees celcius. |
Reimplemented in SBIGCCD, CCDSim, SXCCD, QSICCD, FishCampCCD, NightscapeCCD, FLICCD, ApogeeCCD, GenericCCD, QHYCCD, MICCD, ASICCD, and SimpleCCD.
|
protectedvirtual |
Set CCD temperature.
temperature | CCD temperature in degrees celcius. |
Reimplemented in SBIGCCD, CCDSim, SXCCD, QSICCD, FishCampCCD, NightscapeCCD, FLICCD, ApogeeCCD, GenericCCD, QHYCCD, MICCD, ASICCD, and SimpleCCD.
|
protectedvirtual |
Start exposing primary CCD chip.
duration | Duration in seconds |
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, V4L2_Driver, CCDSim, QSICCD, SSAGCCD, ApogeeCCD, GuideSim, NightscapeCCD, GenericCCD, QHYCCD, DSICCD, FishCampCCD, FLICCD, MICCD, ASICCD, FFMVCCD, GigECCD, SimpleCCD, and INovaCCD.
|
protectedvirtual |
Start exposing primary CCD chip.
duration | Duration in seconds |
Reimplemented in SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, V4L2_Driver, CCDSim, QSICCD, SSAGCCD, ApogeeCCD, GuideSim, NightscapeCCD, GenericCCD, QHYCCD, DSICCD, FishCampCCD, FLICCD, MICCD, ASICCD, FFMVCCD, GigECCD, SimpleCCD, and INovaCCD.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
StartStreaming Start live video streaming.
Reimplemented in GPhotoCCD, CCDSim, indi_webcam, QHYCCD, GuideSim, V4L2_Driver, and ASICCD.
|
protectedvirtual |
StartStreaming Start live video streaming.
Reimplemented in GPhotoCCD, CCDSim, indi_webcam, QHYCCD, GuideSim, V4L2_Driver, and ASICCD.
|
protectedvirtual |
StopStreaming Stop live video streaming.
Reimplemented in GPhotoCCD, CCDSim, indi_webcam, QHYCCD, GuideSim, V4L2_Driver, and ASICCD.
|
protectedvirtual |
StopStreaming Stop live video streaming.
Reimplemented in GPhotoCCD, CCDSim, indi_webcam, QHYCCD, GuideSim, V4L2_Driver, and ASICCD.
|
protectedvirtual |
CCD calls this function when CCD Binning needs to be updated in the hardware.
Derived classes should implement this function
hor | Horizontal binning. |
ver | Vertical binning. |
Reimplemented in SBIGCCD, CCDSim, SXCCD, GuideSim, V4L2_Driver, QSICCD, QHYCCD, MICCD, ApogeeCCD, ASICCD, FLICCD, GenericCCD, FishCampCCD, GigECCD, and DSICCD.
|
protectedvirtual |
CCD calls this function when CCD Binning needs to be updated in the hardware.
Derived classes should implement this function
hor | Horizontal binning. |
ver | Vertical binning. |
Reimplemented in SBIGCCD, CCDSim, SXCCD, GuideSim, V4L2_Driver, QSICCD, QHYCCD, MICCD, ApogeeCCD, ASICCD, FLICCD, GenericCCD, FishCampCCD, GigECCD, and DSICCD.
|
protectedvirtual |
CCD calls this function when CCD Frame dimension needs to be updated in the hardware.
Derived classes should implement this function
x | Subframe X coordinate in pixels. |
y | Subframe Y coordinate in pixels. |
w | Subframe width in pixels. |
h | Subframe height in pixels. |
Reimplemented in SBIGCCD, CCDSim, indi_webcam, GPhotoCCD, SXCCD, GuideSim, V4L2_Driver, QSICCD, QHYCCD, MICCD, ApogeeCCD, ASICCD, FLICCD, GenericCCD, FishCampCCD, and GigECCD.
|
protectedvirtual |
CCD calls this function when CCD Frame dimension needs to be updated in the hardware.
Derived classes should implement this function
x | Subframe X coordinate in pixels. |
y | Subframe Y coordinate in pixels. |
w | Subframe width in pixels. |
h | Subframe height in pixels. |
Reimplemented in SBIGCCD, CCDSim, indi_webcam, GPhotoCCD, SXCCD, GuideSim, V4L2_Driver, QSICCD, QHYCCD, MICCD, ApogeeCCD, ASICCD, FLICCD, GenericCCD, FishCampCCD, and GigECCD.
|
protectedvirtual |
CCD calls this function when CCD frame type needs to be updated in the hardware.
fType | Frame type |
Reimplemented in SBIGCCD, FLICCD, GenericCCD, FishCampCCD, and GigECCD.
|
protectedvirtual |
CCD calls this function when CCD frame type needs to be updated in the hardware.
fType | Frame type |
Reimplemented in SBIGCCD, FLICCD, GenericCCD, FishCampCCD, and GigECCD.
|
inlineprotectedvirtual |
CCD calls this function when client upload mode switch is updated.
mode | upload mode. UPLOAD_CLIENT only sends the upload the client application. UPLOAD_BOTH saves the frame and uploads it to the client. UPLOAD_LOCAL only saves the frame locally. |
Reimplemented in GPhotoCCD.
|
inlineprotectedvirtual |
CCD calls this function when client upload mode switch is updated.
mode | upload mode. UPLOAD_CLIENT only sends the upload the client application. UPLOAD_BOTH saves the frame and uploads it to the client. UPLOAD_LOCAL only saves the frame locally. |
Reimplemented in GPhotoCCD.
|
protectedvirtual |
CCD calls this function when Guide head binning is updated by the client.
Derived classes should implement this function
hor | Horizontal binning. |
ver | Vertical binning. |
Reimplemented in SBIGCCD.
|
protectedvirtual |
CCD calls this function when Guide head binning is updated by the client.
Derived classes should implement this function
hor | Horizontal binning. |
ver | Vertical binning. |
Reimplemented in SBIGCCD.
|
protectedvirtual |
CCD calls this function when Guide head frame dimension is updated by the client.
Derived classes should implement this function
x | Subframe X coordinate in pixels. |
y | Subframe Y coordinate in pixels. |
w | Subframe width in pixels. |
h | Subframe height in pixels. |
Reimplemented in SBIGCCD.
|
protectedvirtual |
CCD calls this function when Guide head frame dimension is updated by the client.
Derived classes should implement this function
x | Subframe X coordinate in pixels. |
y | Subframe Y coordinate in pixels. |
w | Subframe width in pixels. |
h | Subframe height in pixels. |
Reimplemented in SBIGCCD.
|
protectedvirtual |
CCD calls this function when Guide frame type is updated by the client.
fType | Frame type |
|
protectedvirtual |
CCD calls this function when Guide frame type is updated by the client.
fType | Frame type |
|
virtual |
updateProperties is called whenever there is a change in the CONNECTION status of the driver.
This will enable the driver to react to changes of switching ON/OFF a device. For example, a driver may only define a set of properties after a device is connected, but not before.
Reimplemented from INDI::DefaultDevice.
Reimplemented in MGenAutoguider, SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, QSICCD, SSAGCCD, V4L2_Driver, NightscapeCCD, CCDSim, ApogeeCCD, GenericCCD, DSICCD, QHYCCD, FishCampCCD, FLICCD, FFMVCCD, GigECCD, MICCD, GuideSim, ASICCD, SimpleCCD, and INovaCCD.
|
virtual |
updateProperties is called whenever there is a change in the CONNECTION status of the driver.
This will enable the driver to react to changes of switching ON/OFF a device. For example, a driver may only define a set of properties after a device is connected, but not before.
Reimplemented from INDI::DefaultDevice.
Reimplemented in MGenAutoguider, SBIGCCD, SXCCD, GPhotoCCD, indi_webcam, QSICCD, SSAGCCD, V4L2_Driver, NightscapeCCD, CCDSim, ApogeeCCD, GenericCCD, DSICCD, QHYCCD, FishCampCCD, FLICCD, FFMVCCD, GigECCD, MICCD, GuideSim, ASICCD, SimpleCCD, and INovaCCD.
|
private |
|
private |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
enum { ... } INDI::CCD::CCDCapability |
enum { ... } INDI::CCD::CCDCapability |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |