84 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n);
85 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n);
86 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n);
87 virtual bool ISNewBLOB(
const char *dev,
const char *name,
int sizes[],
int blobsizes[],
char *blobs[],
char *formats[],
88 char *names[],
int n);
100 virtual bool processBLOB(uint8_t* buf, uint32_t ndims,
int* dims,
int bits_per_sample);
110 BufferSizesQty = num;
120 *sizes = BufferSizes;
121 *num = BufferSizesQty;
168 virtual uint8_t*
Callback(uint8_t* buf, uint32_t ndims,
int* dims,
int bits_per_sample);
194 const char *label =
"DSP Plugin");
202 bool setStream(
void *buf, uint32_t dims,
int *sizes,
int bits_per_sample);
203 bool setMagnitude(
void *buf, uint32_t dims,
int *sizes,
int bits_per_sample);
204 bool setPhase(
void *buf, uint32_t dims,
int *sizes,
int bits_per_sample);
205 bool setReal(
void *buf, uint32_t dims,
int *sizes,
int bits_per_sample);
206 bool setImaginary(
void *buf, uint32_t dims,
int *sizes,
int bits_per_sample);
217 void *buffer {
nullptr };
218 uint32_t BufferSizesQty {0 };
219 int *BufferSizes {
nullptr };
222 void fits_update_key_s(fitsfile *fptr,
int type, std::string name,
void *p, std::string explanation,
int *status);
223 void addFITSKeywords(fitsfile *fptr);
224 bool sendFITS(uint8_t *buf,
bool sendCapture,
bool saveCapture);
225 bool uploadFile(
const void *fitsData,
size_t totalBytes,
bool sendIntegration,
bool saveIntegration,
const char* format);
226 int getFileIndex(
const char *dir,
const char *prefix,
const char *ext);
bool setImaginary(void *buf, uint32_t dims, int *sizes, int bits_per_sample)
void getSizes(uint32_t *num, int **sizes)
getSizes Get the returned file dimensions and corresponding sizes.
Interface(INDI::DefaultDevice *dev, Type type=DSP_NONE, const char *name="DSP_PLUGIN", const char *label="DSP Plugin")
ITextVectorProperty ActiveDeviceTP
const char * getDeviceName()
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n)
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n)
virtual void ISGetProperties(const char *dev)
virtual void Activated()
Activated Called after activation from client application.
ISwitchVectorProperty ActivateSP
void setCaptureFileExtension(const char *ext)
setIntegrationFileExtension Set the returned file extension.
virtual bool ISNewBLOB(const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
int getBPS()
getBPS Get the returned file bit depth/sample size.
virtual bool updateProperties()
virtual bool saveConfigItems(FILE *fp)
virtual bool processBLOB(uint8_t *buf, uint32_t ndims, int *dims, int bits_per_sample)
processBLOB Propagate to Callback and generate BLOBs for parent device.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n)
bool setReal(void *buf, uint32_t dims, int *sizes, int bits_per_sample)
void setSizes(uint32_t num, int *sizes)
setSizes Set the returned file dimensions and corresponding sizes.
IBLOBVectorProperty FitsBP
bool setStream(void *buf, uint32_t dims, int *sizes, int bits_per_sample)
INDI::DefaultDevice * m_Device
dsp_stream_p loadFITS(char *buf, int len)
loadFITS Converts FITS data into a dsp_stream structure pointer.
void setBPS(int bps)
setBPS Set the returned file bit depth/sample size.
bool setMagnitude(void *buf, uint32_t dims, int *sizes, int bits_per_sample)
INumberVectorProperty EqNP
virtual uint8_t * Callback(uint8_t *buf, uint32_t ndims, int *dims, int bits_per_sample)
Callback Called by processBLOB.
uint8_t * getBuffer(dsp_stream_p in, uint32_t *dims, int **sizes)
bool setPhase(void *buf, uint32_t dims, int *sizes, int bits_per_sample)
virtual void Deactivated()
Deactivated Called after deactivation from client application.
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
Interface to the reference INDI C API device implementation on the Device Driver side.
The DSP Namespace adds signal processing to INDI drivers. Primarily written for sensors and detectors...
Namespace to encapsulate INDI client, drivers, and mediator classes.
One Blob (Binary Large Object) descriptor.
Holds the connection type.
BLOB (Binary Large Object) vector property descriptor.
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.
Contains a set of informations and data relative to a buffer and how to use it.