X2 Standard  Version 1.24
List of all members
CameraDriverInterface Class Referenceabstract

The CameraDriverInterface allows an X2 implementor to a write X2 camera driver. More...

#include <cameradriverinterface.h>

Inheritance diagram for CameraDriverInterface:
DriverRootInterface HardwareInfoInterface DriverInfoInterface X2Camera

Public Member Functions

DriverRootInterface Implementation
virtual DeviceType deviceType (void)
 
virtual int queryAbstraction (const char *pszName, void **ppVal)=0
 
DriverInfoInterface Implementation
virtual void driverInfoDetailedInfo (BasicStringInterface &str) const =0
 
virtual double driverInfoVersion (void) const =0
 

HardwareInfoInterface Implementation

See HardwareInfoInterface.

enum  ReadOutMode { rm_Line = 0, rm_Image = 1, rm_FitsOnDisk = 2 }
 
bool m_bLinked
 
enumCameraIndex m_Camera
 
virtual void deviceInfoNameShort (BasicStringInterface &str) const =0
 
virtual void deviceInfoNameLong (BasicStringInterface &str) const =0
 
virtual void deviceInfoDetailedDescription (BasicStringInterface &str) const =0
 
virtual void deviceInfoFirmwareVersion (BasicStringInterface &str)=0
 
virtual void deviceInfoModel (BasicStringInterface &str)=0
 
virtual enumCameraIndex cameraId ()
 
virtual void setCameraId (enumCameraIndex Cam)
 
virtual bool isLinked ()
 
virtual void setLinked (const bool bYes)
 
virtual int cameraDriverInterfaceVersion (void)
 
virtual ReadOutMode readoutMode (void)
 
virtual int pathTo_rm_FitsOnDisk (char *lpszPath, const int &nPathMaxSize)
 
virtual int CCSettings (const enumCameraIndex &Camera, const enumWhichCCD &CCD)=0
 
virtual int CCEstablishLink (enumLPTPort portLPT, const enumWhichCCD &CCD, enumCameraIndex DesiredCamera, enumCameraIndex &CameraFound, const int nDesiredCFW, int &nFoundCFW)=0
 
virtual int CCDisconnect (const bool bShutDownTemp)=0
 
virtual int CCGetChipSize (const enumCameraIndex &Camera, const enumWhichCCD &CCD, const int &nXBin, const int &nYBin, const bool &bOffChipBinning, int &nW, int &nH, int &nReadOut)=0
 
virtual int CCGetNumBins (const enumCameraIndex &Camera, const enumWhichCCD &CCD, int &nNumBins)=0
 
virtual int CCGetBinSizeFromIndex (const enumCameraIndex &Camera, const enumWhichCCD &CCD, const int &nIndex, long &nBincx, long &nBincy)=0
 
virtual int CCSetBinnedSubFrame (const enumCameraIndex &Camera, const enumWhichCCD &CCD, const int &nLeft, const int &nTop, const int &nRight, const int &nBottom)=0
 
virtual void CCMakeExposureState (int *pnState, enumCameraIndex Cam, int nXBin, int nYBin, int abg, bool bRapidReadout)=0
 
virtual int CCStartExposure (const enumCameraIndex &Cam, const enumWhichCCD CCD, const double &dTime, enumPictureType Type, const int &nABGState, const bool &bLeaveShutterAlone)=0
 
virtual int CCIsExposureComplete (const enumCameraIndex &Cam, const enumWhichCCD CCD, bool *pbComplete, unsigned int *pStatus)=0
 
virtual int CCEndExposure (const enumCameraIndex &Cam, const enumWhichCCD CCD, const bool &bWasAborted, const bool &bLeaveShutterAlone)=0
 
virtual int CCReadoutLine (const enumCameraIndex &Cam, const enumWhichCCD &CCD, const int &pixelStart, const int &pixelLength, const int &nReadoutMode, unsigned char *pMem)=0
 
virtual int CCDumpLines (const enumCameraIndex &Cam, const enumWhichCCD &CCD, const int &nReadoutMode, const unsigned int &lines)=0
 
virtual int CCReadoutImage (const enumCameraIndex &Cam, const enumWhichCCD &CCD, const int &nWidth, const int &nHeight, const int &nMemWidth, unsigned char *pMem)=0
 
virtual int CCRegulateTemp (const bool &bOn, const double &dTemp)=0
 
virtual int CCQueryTemperature (double &dCurTemp, double &dCurPower, char *lpszPower, const int nMaxLen, bool &bCurEnabled, double &dCurSetPoint)=0
 
virtual int CCGetRecommendedSetpoint (double &dRecSP)=0
 
virtual int CCSetFan (const bool &bOn)=0
 
virtual int CCActivateRelays (const int &nXPlus, const int &nXMinus, const int &nYPlus, const int &nYMinus, const bool &bSynchronous, const bool &bAbort, const bool &bEndThread)=0
 
virtual int CCPulseOut (unsigned int nPulse, bool bAdjust, const enumCameraIndex &Cam)=0
 
virtual int CCSetShutter (bool bOpen)=0
 
virtual int CCUpdateClock (void)=0
 
virtual int CCSetImageProps (const enumCameraIndex &Camera, const enumWhichCCD &CCD, const int &nReadOut, void *pImage)=0
 
virtual int CCGetFullDynamicRange (const enumCameraIndex &Camera, const enumWhichCCD &CCD, unsigned long &dwDynRg)=0
 
virtual void CCBeforeDownload (const enumCameraIndex &Cam, const enumWhichCCD &CCD)=0
 
virtual void CCAfterDownload (const enumCameraIndex &Cam, const enumWhichCCD &CCD)=0
 

Additional Inherited Members

- Public Types inherited from DriverRootInterface
enum  DeviceType {
  DT_UNKNOWN = 0, DT_MOUNT = 1, DT_FOCUSER = 2, DT_CAMERA = 3,
  DT_FILTERWHEEL = 4, DT_DOME = 5, DT_ROTATOR = 6, DT_WEATHER = 7,
  DT_GPSTFP = 8, DT_VIDEO = 9, DT_OTA =10, DT_AO =11,
  DT_POWERCONTROL =12, DT_PRIVATE_A =13
}
 

Detailed Description

The CameraDriverInterface allows an X2 implementor to a write X2 camera driver.

See the X2Camera for a example.

Member Enumeration Documentation

◆ ReadOutMode

ReadOutMode

Enumerator
rm_Line 

The camera is a line readout device.

rm_Image 

The camera is a frame readout device.

rm_FitsOnDisk 

The camera provides the image as a FITS on disk.

Member Function Documentation

◆ cameraDriverInterfaceVersion()

virtual int CameraDriverInterface::cameraDriverInterfaceVersion ( void  )
inlinevirtual

Return the version to this interface, X2 implementors do not modify.

◆ cameraId()

virtual enumCameraIndex CameraDriverInterface::cameraId ( )
inlinevirtual

Software Bisque only.

Reimplemented in X2Camera.

◆ CCActivateRelays()

virtual int CameraDriverInterface::CCActivateRelays ( const int &  nXPlus,
const int &  nXMinus,
const int &  nYPlus,
const int &  nYMinus,
const bool &  bSynchronous,
const bool &  bAbort,
const bool &  bEndThread 
)
pure virtual

Turn on a camera relay or relays, in 1/100's of a second. Called when autoguiding.

Implemented in X2Camera.

◆ CCAfterDownload()

virtual void CameraDriverInterface::CCAfterDownload ( const enumCameraIndex &  Cam,
const enumWhichCCD &  CCD 
)
pure virtual

Called after download.

Implemented in X2Camera.

◆ CCBeforeDownload()

virtual void CameraDriverInterface::CCBeforeDownload ( const enumCameraIndex &  Cam,
const enumWhichCCD &  CCD 
)
pure virtual

Called before download.

Implemented in X2Camera.

◆ CCDisconnect()

virtual int CameraDriverInterface::CCDisconnect ( const bool  bShutDownTemp)
pure virtual

Disconnect from the camera.

Implemented in X2Camera.

◆ CCDumpLines()

virtual int CameraDriverInterface::CCDumpLines ( const enumCameraIndex &  Cam,
const enumWhichCCD &  CCD,
const int &  nReadoutMode,
const unsigned int &  lines 
)
pure virtual

Dump n lines to speed up download when a subframe is present.

Implemented in X2Camera.

◆ CCEndExposure()

virtual int CameraDriverInterface::CCEndExposure ( const enumCameraIndex &  Cam,
const enumWhichCCD  CCD,
const bool &  bWasAborted,
const bool &  bLeaveShutterAlone 
)
pure virtual

Called once the exposure is complete. Allows software implementation of downloading since for every CCStartExposure there is a corresponding CCEndExposure.

Implemented in X2Camera.

◆ CCEstablishLink()

virtual int CameraDriverInterface::CCEstablishLink ( enumLPTPort  portLPT,
const enumWhichCCD &  CCD,
enumCameraIndex  DesiredCamera,
enumCameraIndex &  CameraFound,
const int  nDesiredCFW,
int &  nFoundCFW 
)
pure virtual

Connect or establish a link to the camera.

Implemented in X2Camera.

◆ CCGetBinSizeFromIndex()

virtual int CameraDriverInterface::CCGetBinSizeFromIndex ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
const int &  nIndex,
long &  nBincx,
long &  nBincy 
)
pure virtual

Return the size x and y bin size for each bin mode this camera supports.

Implemented in X2Camera.

◆ CCGetChipSize()

virtual int CameraDriverInterface::CCGetChipSize ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
const int &  nXBin,
const int &  nYBin,
const bool &  bOffChipBinning,
int &  nW,
int &  nH,
int &  nReadOut 
)
pure virtual

Return the physical size of the camera's detector.

Implemented in X2Camera.

◆ CCGetFullDynamicRange()

virtual int CameraDriverInterface::CCGetFullDynamicRange ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
unsigned long &  dwDynRg 
)
pure virtual

Return the camera's full dynamic range, required for @Focus and @Focus2 to work.

Implemented in X2Camera.

◆ CCGetNumBins()

virtual int CameraDriverInterface::CCGetNumBins ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
int &  nNumBins 
)
pure virtual

Return the number of bin modes this camera supports.

Implemented in X2Camera.

◆ CCGetRecommendedSetpoint()

virtual int CameraDriverInterface::CCGetRecommendedSetpoint ( double &  dRecSP)
pure virtual

When possible, return a recommended temperature setpoint.

Parameters
dRecSPThe recommended temperature setpoint or set to 100 if unable to recommend one.

Implemented in X2Camera.

◆ CCIsExposureComplete()

virtual int CameraDriverInterface::CCIsExposureComplete ( const enumCameraIndex &  Cam,
const enumWhichCCD  CCD,
bool *  pbComplete,
unsigned int *  pStatus 
)
pure virtual

Called to know if the exposure is complete.

Parameters
pbCompleteSet to true if the exposure is complete, otherwise set to false.
pStatusis SBIG specific and can be ignored.

Implemented in X2Camera.

◆ CCMakeExposureState()

virtual void CameraDriverInterface::CCMakeExposureState ( int *  pnState,
enumCameraIndex  Cam,
int  nXBin,
int  nYBin,
int  abg,
bool  bRapidReadout 
)
pure virtual

SBIG specific.

Implemented in X2Camera.

◆ CCPulseOut()

virtual int CameraDriverInterface::CCPulseOut ( unsigned int  nPulse,
bool  bAdjust,
const enumCameraIndex &  Cam 
)
pure virtual

SBIG specific for controlling internal filter wheels.

Implemented in X2Camera.

◆ CCQueryTemperature()

virtual int CameraDriverInterface::CCQueryTemperature ( double &  dCurTemp,
double &  dCurPower,
char *  lpszPower,
const int  nMaxLen,
bool &  bCurEnabled,
double &  dCurSetPoint 
)
pure virtual

Return the temperature and corresponding status. Because camera hardware varies widely with respect to temperature control, this method is intended to accomodate a wide range of levels of support, from the most basic, where only temperature regulation can be enabled/disabled to the most advanced that includes regulation enabled/disabled, percent power, a discriptive string assocaited with power, and setpoint or any combination.

Parameters
dCurTempReturn the current temperature or -100 if not supported.
dCurPowerReturn the power applied to the TE cooler or -100 if not supported.
lpszPowerReturn a string associated the power applied to the TE cooler or NULL if not supported. Example strings might be "Off", "Cooling To Setpoint", "Correcting", "Raising to Ambient", "Ambient", "Max", "Min", "OK (At Setpoint)"
nMaxLenThe maximum size the lpszPower string can be.
bCurEnabledReturn 1 if temperature is being regulated or 0 if not.
dCurSetPointReturn the current temperature setpoint or -100 if not supported.

Implemented in X2Camera.

◆ CCReadoutImage()

virtual int CameraDriverInterface::CCReadoutImage ( const enumCameraIndex &  Cam,
const enumWhichCCD &  CCD,
const int &  nWidth,
const int &  nHeight,
const int &  nMemWidth,
unsigned char *  pMem 
)
pure virtual

Return the image. /sa readoutMode().

Implemented in X2Camera.

◆ CCReadoutLine()

virtual int CameraDriverInterface::CCReadoutLine ( const enumCameraIndex &  Cam,
const enumWhichCCD &  CCD,
const int &  pixelStart,
const int &  pixelLength,
const int &  nReadoutMode,
unsigned char *  pMem 
)
pure virtual

Return one line of the image. /sa readoutMode().

Implemented in X2Camera.

◆ CCRegulateTemp()

virtual int CameraDriverInterface::CCRegulateTemp ( const bool &  bOn,
const double &  dTemp 
)
pure virtual

Turn off or on temperature regulation.

Implemented in X2Camera.

◆ CCSetBinnedSubFrame()

virtual int CameraDriverInterface::CCSetBinnedSubFrame ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
const int &  nLeft,
const int &  nTop,
const int &  nRight,
const int &  nBottom 
)
pure virtual

Set the size of subframe in binned pixels.

Implemented in X2Camera.

◆ CCSetFan()

virtual int CameraDriverInterface::CCSetFan ( const bool &  bOn)
pure virtual

Turn the fan of off.

Implemented in X2Camera.

◆ CCSetImageProps()

virtual int CameraDriverInterface::CCSetImageProps ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD,
const int &  nReadOut,
void *  pImage 
)
pure virtual

Software Bisque only.

Implemented in X2Camera.

◆ CCSetShutter()

virtual int CameraDriverInterface::CCSetShutter ( bool  bOpen)
pure virtual

Manually control the shutter. This method is only called in very specialized circumstances with specific hardware and or customized software and not called in general. You may implement this if the camera hardware is capable of successfully opening and closing the shutter outside or within the context of an exposure.

Implemented in X2Camera.

◆ CCSettings()

virtual int CameraDriverInterface::CCSettings ( const enumCameraIndex &  Camera,
const enumWhichCCD &  CCD 
)
pure virtual

Display a device dependent settings dialog if necessary.

Implemented in X2Camera.

◆ CCStartExposure()

virtual int CameraDriverInterface::CCStartExposure ( const enumCameraIndex &  Cam,
const enumWhichCCD  CCD,
const double &  dTime,
enumPictureType  Type,
const int &  nABGState,
const bool &  bLeaveShutterAlone 
)
pure virtual

Start the exposure.

Implemented in X2Camera.

◆ CCUpdateClock()

virtual int CameraDriverInterface::CCUpdateClock ( void  )
pure virtual

Deprecated. Called after download to resynchronize the PC clock to the real-time clock.

Implemented in X2Camera.

◆ deviceInfoDetailedDescription()

virtual void CameraDriverInterface::deviceInfoDetailedDescription ( BasicStringInterface str) const
pure virtual

Return a detailed device description.

Implements HardwareInfoInterface.

Implemented in X2Camera.

◆ deviceInfoFirmwareVersion()

virtual void CameraDriverInterface::deviceInfoFirmwareVersion ( BasicStringInterface str)
pure virtual

Return the firmware version, if available.

Implements HardwareInfoInterface.

Implemented in X2Camera.

◆ deviceInfoModel()

virtual void CameraDriverInterface::deviceInfoModel ( BasicStringInterface str)
pure virtual

Return the device model name.

Implements HardwareInfoInterface.

Implemented in X2Camera.

◆ deviceInfoNameLong()

virtual void CameraDriverInterface::deviceInfoNameLong ( BasicStringInterface str) const
pure virtual

Return a detailed device name.

Implements HardwareInfoInterface.

Implemented in X2Camera.

◆ deviceInfoNameShort()

virtual void CameraDriverInterface::deviceInfoNameShort ( BasicStringInterface str) const
pure virtual

Return a short device name.

Implements HardwareInfoInterface.

Implemented in X2Camera.

◆ deviceType()

virtual DeviceType CameraDriverInterface::deviceType ( void  )
inlinevirtual

Returns the type of device.

Implements DriverRootInterface.

◆ driverInfoDetailedInfo()

virtual void CameraDriverInterface::driverInfoDetailedInfo ( BasicStringInterface str) const
pure virtual

Return detailed information about the driver.

Implements DriverInfoInterface.

Implemented in X2Camera.

◆ driverInfoVersion()

virtual double CameraDriverInterface::driverInfoVersion ( void  ) const
pure virtual

Return a version number.

Implements DriverInfoInterface.

Implemented in X2Camera.

◆ isLinked()

virtual bool CameraDriverInterface::isLinked ( void  )
inlinevirtual

Return true if the camrea is connected (linked)

Reimplemented in X2Camera.

◆ pathTo_rm_FitsOnDisk()

virtual int CameraDriverInterface::pathTo_rm_FitsOnDisk ( char *  lpszPath,
const int &  nPathMaxSize 
)
inlinevirtual

This is called to return the path to the corresponding FITS file, only when readoutMode() returns rm_FitsOnDisk.

See also
readoutMode().

Reimplemented in X2Camera.

◆ queryAbstraction()

virtual int CameraDriverInterface::queryAbstraction ( const char *  pszName,
void **  ppVal 
)
pure virtual

Return a pointer to well defined interface.

Implements DriverRootInterface.

Implemented in X2Camera.

◆ readoutMode()

virtual ReadOutMode CameraDriverInterface::readoutMode ( void  )
inlinevirtual

Return how this camera reads out the image.

Reimplemented in X2Camera.

◆ setCameraId()

virtual void CameraDriverInterface::setCameraId ( enumCameraIndex  Cam)
inlinevirtual

Software Bisque only.

Reimplemented in X2Camera.

◆ setLinked()

virtual void CameraDriverInterface::setLinked ( const bool  bYes)
inlinevirtual

Software Bisque only.

Reimplemented in X2Camera.


The documentation for this class was generated from the following file:
X2 Examples
(C) Software Bisque, Inc. All rights reserved.