187 return ImageExposureN[0].value;
196 return ExposureDuration;
233 return SendCompressed;
266 return &ImagePixelSizeNP;
283 void setFrame(uint32_t subx, uint32_t suby, uint32_t subw, uint32_t subh);
290 void setBin(uint8_t hor, uint8_t ver);
302 void setMinMaxStep(
const char *property,
const char *element,
double min,
double max,
double step,
303 bool sendToClient =
true);
393 return ImageExtention;
418 return &m_FITSFilePointer;
423 return &m_FITSMemorySize;
428 return &m_FITSMemoryBlock;
455 double PixelSizeX {0};
457 double PixelSizeY {0};
459 uint8_t BitsPerPixel {8};
462 uint8_t *RawFrame {
nullptr};
464 uint32_t RawFrameSize {0};
466 uint8_t *BinFrame {
nullptr};
468 bool SendCompressed {
false};
472 double ExposureDuration {0};
474 timeval StartExposureTime;
477 void * m_FITSMemoryBlock {
nullptr};
478 size_t m_FITSMemorySize {2880};
479 fitsfile * m_FITSFilePointer {
nullptr};
The CCDChip class provides functionality of a CCD Chip within a CCD.
void setExposureComplete()
setExposureComplete Mark exposure as complete by setting ImageExposure property to IPS_OK
uint8_t * getFrameBuffer()
getFrameBuffer Get raw frame buffer of the CCD chip.
void setFrameBuffer(uint8_t *buffer)
setFrameBuffer Set raw frame buffer pointer.
int getSubX() const
getSubX Get the starting left coordinates (X) of the frame.
int getSubY() const
getSubY Get the starting top coordinates (Y) of the frame.
bool finishFITSFile(int &status)
Finish any pending write to fits file.
float getPixelSizeY() const
getPixelSizeY Get vertical pixel size in microns.
size_t * fitsMemorySizePointer()
void setExposureDuration(double duration)
setExposureDuration Set desired CCD frame exposure duration for next exposure. You must call this fun...
void setResolution(uint32_t x, uint32_t y)
setResolution set CCD Chip resolution
int getSubH() const
getSubH Get the height of the frame
double getExposureDuration() const
getExposureDuration Get requested exposure duration for the CCD chip in seconds.
void setCompressed(bool cmp)
setCompressed Set whether a frame is compressed after exposure?
int getBPP() const
getBPP Get CCD Chip depth (bits per pixel).
const char * getExposureStartTime()
getExposureStartTime
char * getImageExtension()
CCD_FRAME getFrameType() const
isInterlaced
int getBinY() const
getBinY Get vertical binning of the CCD chip.
void closeFITSFile()
closeFITSFile Close the in-memory FITS File.
float getPixelSizeX() const
getPixelSizeX Get horizontal pixel size in microns.
friend class StreamRecoder
void setFrame(uint32_t subx, uint32_t suby, uint32_t subw, uint32_t subh)
setFrame Set desired frame resolutoin for an exposure.
void setMinMaxStep(const char *property, const char *element, double min, double max, double step, bool sendToClient=true)
setMinMaxStep for a number property element
int getXRes() const
getXRes Get the horizontal resolution in pixels of the CCD Chip.
int getBinX() const
getBinX Get horizontal binning of the CCD chip.
INumberVectorProperty * getCCDInfo()
Return CCD Info Property.
bool isCompressed() const
isCompressed
void setFrameType(CCD_FRAME type)
setFrameType Set desired frame type for next exposure.
void setImageExtension(const char *ext)
setImageExtension Set image exntension
void ** fitsMemoryBlockPointer()
void setPixelSize(double x, double y)
setPixelSize Set CCD Chip pixel size
void setExposureFailed()
setExposureFailed Alert the client that the exposure failed.
void setExposureLeft(double duration)
setExposureLeft Update exposure time left. Inform the client of the new exposure time left value.
int getSubW() const
getSubW Get the width of the frame
const char * getFrameTypeName(CCD_FRAME fType)
getFrameTypeName returns CCD Frame type name
double getExposureLeft() const
getExposureLeft Get exposure time left in seconds.
void setFrameBufferSize(uint32_t nbuf, bool allocMem=true)
setFrameBufferSize Set desired frame buffer size. The function will allocate memory accordingly....
fitsfile ** fitsFilePointer()
int getFrameBufferSize() const
getFrameBufferSize Get allocated frame buffer size to hold the CCD image frame.
void setBin(uint8_t hor, uint8_t ver)
setBin Set CCD Chip binnig
void binBayerFrame()
binBayerFrame Perform software binning on a 2x2 Bayer matrix CCD frame. Only use this function if har...
int getYRes() const
Get the vertical resolution in pixels of the CCD Chip.
void binFrame()
binFrame Perform software binning on the CCD frame. Only use this function if hardware binning is not...
void setBPP(uint8_t bpp)
setBPP Set depth of CCD chip.
bool openFITSFile(uint32_t size, int &status)
openFITSFile Allocate memory buffer for internal FITS file structure and open
void setNAxis(int value)
setNAxis Set FITS number of axis
Class to provide general functionality of CCD cameras with a single CCD sensor, or a primary CCD sens...
Constants and Data structure definitions for the interface to the reference INDI C API implementation...
std::vector< uint8_t > buffer
Namespace to encapsulate INDI client, drivers, and mediator classes.
One Blob (Binary Large Object) descriptor.
BLOB (Binary Large Object) vector property descriptor.
Number vector property descriptor.
Switch vector property descriptor.