101 bool processNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n);
103 bool processText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n);
105 bool processBLOB(
const char *dev,
const char *name,
int sizes[],
int blobsizes[],
char *blobs[],
106 char *formats[],
char *names[],
int n);
133 return integrationTime;
183 virtual void setMinMaxStep(
const char *property,
const char *element,
double min,
double max,
double step,
184 bool sendToClient =
true);
244 return integrationExtention;
316 return sensorConnection;
340 void fits_update_key_s(fitsfile *fptr,
int type, std::string name,
void *p, std::string explanation,
int *status);
375 if(
DSP.get() ==
nullptr)
513 std::unique_ptr<DSP::Manager>
DSP;
524 bool callHandshake();
533 double integrationTime;
534 double startIntegrationTime;
537 bool uploadFile(
const void *fitsData,
size_t totalBytes,
bool sendIntegration,
bool saveIntegration);
538 void getMinMax(
double *
min,
double *
max, uint8_t *buf,
int len,
int bpp);
539 int getFileIndex(
const char *dir,
const char *prefix,
const char *ext);
541 bool IntegrationCompletePrivate();
542 void* sendFITS(uint8_t* buf,
int len);
The Serial class manages connection with serial devices including Bluetooth. Serial communication is ...
The TCP class manages connection with devices over the network via TCP/IP. Upon successfull connectio...
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
The SensorDevice class provides functionality of a Sensor Device within a Sensor.
void setIntegrationFailed()
setIntegrationFailed Alert the client that the Integration failed.
ITextVectorProperty FileNameTP
bool processNumber(const char *dev, const char *name, double values[], char *names[], int n)
void SetCapability(uint32_t cap)
SetCapability Set the Sensor capabilities. Al fields must be initialized.
ITextVectorProperty FITSHeaderTP
enum INDI::SensorInterface::@251 SensorCapability
ISwitch AbortIntegrationS[1]
virtual bool StartStreaming()
StartStreaming Start live video streaming.
virtual bool StopStreaming()
StopStreaming Stop live video streaming.
ITextVectorProperty UploadSettingsTP
INumberVectorProperty LocationNP
double getIntegrationLeft() const
getIntegrationLeft Get Integration time left in seconds.
bool processSwitch(const char *dev, const char *name, ISState states[], char *names[], int n)
void setBPS(int bps)
setBPP Set depth of Sensor device.
INumber FramedIntegrationN[1]
ISwitchVectorProperty DatasetSP
INumberVectorProperty EqNP
void setBufferSize(int nbuf, bool allocMem=true)
setBufferSize Set desired buffer size. The function will allocate memory accordingly....
double primaryFocalLength
void setNAxis(int value)
setNAxis Set FITS number of axis
void setSensorConnection(const uint8_t &value)
setSensorConnection Set Sensor connection mode. Child class should call this in the constructor befor...
void setIntegrationLeft(double duration)
setIntegrationLeft Update Integration time left. Inform the client of the new Integration time left v...
ITextVectorProperty ActiveDeviceTP
IBLOBVectorProperty FitsBP
virtual bool AbortIntegration()
Abort ongoing Integration.
uint8_t * getBuffer()
getBuffer Get raw buffer of the stream of the Sensor device.
std::unique_ptr< StreamManager > Streamer
void setIntegrationTime(double duration)
setIntegrationTime Set desired Sensor frame Integration duration for next Integration....
int PortFD
For Serial & TCP connections.
bool processText(const char *dev, const char *name, char *texts[], char *names[], int n)
virtual void setMinMaxStep(const char *property, const char *element, double min, double max, double step, bool sendToClient=true)
setMinMaxStep for a number property element
virtual void addFITSKeywords(fitsfile *fptr, uint8_t *buf, int len)
Add FITS keywords to a fits file.
int getBufferSize() const
getContinuumBufferSize Get allocated continuum buffer size to hold the Sensor integrationd stream.
bool processBLOB(const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
INumberVectorProperty TemperatureNP
void fits_update_key_s(fitsfile *fptr, int type, std::string name, void *p, std::string explanation, int *status)
INumber ScopeParametersN[4]
const char * getIntegrationStartTime()
getIntegrationStartTime
friend class StreamManager
Misc.
INumberVectorProperty FramedIntegrationNP
uint32_t GetCapability() const
GetCapability returns the Sensor capabilities.
ISwitchVectorProperty AbortIntegrationSP
virtual bool saveConfigItems(FILE *fp)
saveConfigItems Save configuration items in XML file.
enum INDI::SensorInterface::@252 SensorConnection
virtual bool IntegrationComplete()
Uploads target Device exposed buffer as FITS to the client. Dervied classes should class this functio...
ISwitchVectorProperty TelescopeTypeSP
void processProperties(const char *dev)
uint8_t getSensorConnection()
bool updateProperties()
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
char * getIntegrationFileExtension()
bool initProperties()
Initilize properties initial state and value. The child class must implement this function.
ISwitchVectorProperty UploadSP
virtual bool Handshake()
perform handshake with device to check communication
Connection::TCP * tcpConnection
bool processSnoopDevice(XMLEle *root)
std::mutex detectorBufferLock
int getBPS() const
getBPS Get Sensor depth (bits per sample).
void setIntegrationFileExtension(const char *ext)
setIntegrationExtension Set integration exntension
void setBuffer(uint8_t *buffer)
setBuffer Set raw frame buffer pointer.
Connection::Serial * serialConnection
virtual void activeDevicesUpdated()
activeDevicesUpdated Inform children that ActiveDevices property was updated so they can snoop on the...
double getIntegrationTime() const
getIntegrationTime Get requested Integration duration for the Sensor device in seconds.
INumberVectorProperty ScopeParametersNP
std::unique_ptr< DSP::Manager > DSP
ISwitch TelescopeTypeS[2]
virtual int SetTemperature(double temperature)
Set Sensor temperature.
virtual bool StartIntegration(double duration)
Start integration from the Sensor device.
Class to provide video streaming and recording functionality.
std::vector< uint8_t > buffer
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.
BLOB (Binary Large Object) vector property descriptor.
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.
void uploadFile(const char *filename)