TwiceAsNice  2019-02-18
Macros | Functions | Variables
indi_gige.cpp File Reference
#include <time.h>
#include <list>
#include <sys/time.h>
#include "indidevapi.h"
#include "eventloop.h"
#include "indi_gige.h"
Include dependency graph for indi_gige.cpp:

Macros

#define TIME_VAL_INIT(x)
 
#define TIME_VAL_ISSET(x)   (((x)->tv_sec != 0) && ((x)->tv_usec != 0))
 
#define TIME_VAL_US(x)   (((x)->tv_sec) * 1000000 + ((x)->tv_usec))
 
#define TIME_VAL_GET(x)   (gettimeofday(x, nullptr))
 
#define TIMER_TRANSFER_TIMEOUT_US   (5000000UL) /* Allow for relatively large link-layer delays */
 
#define TIMER_EXPOSURE_TIMEOUT_US   (200000UL) /* GigE cameras are very precise, so set 100ms time-out */
 
#define TIMER_US_TO_MS   (1000)
 
#define TIMER_US_TO_S   (1000000)
 
#define TIMER_TICK_MS   (100)
 
#define CAPS   (CCD_CAN_ABORT | CCD_CAN_BIN | CCD_CAN_SUBFRAME)
 
#define FOR_EVERY_CAMERA
 

Functions

static void cleanup ()
 
void ISInit ()
 Send client definitions of all properties. More...
 
void ISGetProperties (const char *dev)
 Get Device Properties. More...
 
void ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int num)
 Update the value of an existing switch vector property. More...
 
void ISNewText (const char *dev, const char *name, char *texts[], char *names[], int num)
 Update the value of an existing text vector property. More...
 
void ISNewNumber (const char *dev, const char *name, double values[], char *names[], int num)
 
void ISNewBLOB (const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
 Update data of an existing blob vector property. More...
 
void ISSnoopDevice (XMLEle *root)
 Function defined by Drivers that is called when another Driver it is snooping (by having previously called IDSnoopDevice()) sent any INDI message. More...
 

Variables

static std::list< GigECCD * > cameras
 

Macro Definition Documentation

◆ CAPS

#define CAPS   (CCD_CAN_ABORT | CCD_CAN_BIN | CCD_CAN_SUBFRAME)

◆ FOR_EVERY_CAMERA

#define FOR_EVERY_CAMERA
Value:
{ \
std::list<GigECCD *>::iterator camera; \
for (camera = cameras.begin(); camera != cameras.end(); ++camera)
static std::list< GigECCD * > cameras
Definition: indi_gige.cpp:51
std::unique_ptr< SSAGCCD > camera(new SSAGCCD())

◆ TIME_VAL_GET

#define TIME_VAL_GET (   x)    (gettimeofday(x, nullptr))

◆ TIME_VAL_INIT

#define TIME_VAL_INIT (   x)
Value:
({ \
(x)->tv_sec = 0; \
(x)->tv_usec = 0; \
})
x
Definition: meteoRRD_updater.py:125

◆ TIME_VAL_ISSET

#define TIME_VAL_ISSET (   x)    (((x)->tv_sec != 0) && ((x)->tv_usec != 0))

◆ TIME_VAL_US

#define TIME_VAL_US (   x)    (((x)->tv_sec) * 1000000 + ((x)->tv_usec))

◆ TIMER_EXPOSURE_TIMEOUT_US

#define TIMER_EXPOSURE_TIMEOUT_US   (200000UL) /* GigE cameras are very precise, so set 100ms time-out */

◆ TIMER_TICK_MS

#define TIMER_TICK_MS   (100)

◆ TIMER_TRANSFER_TIMEOUT_US

#define TIMER_TRANSFER_TIMEOUT_US   (5000000UL) /* Allow for relatively large link-layer delays */

◆ TIMER_US_TO_MS

#define TIMER_US_TO_MS   (1000)

◆ TIMER_US_TO_S

#define TIMER_US_TO_S   (1000000)

Function Documentation

◆ cleanup()

static void cleanup ( )
static

◆ ISInit()

void ISInit ( void  )

Send client definitions of all properties.

◆ ISNewNumber()

void ISNewNumber ( const char *  dev,
const char *  name,
double  values[],
char *  names[],
int  num 
)

Variable Documentation

◆ cameras

std::list<GigECCD *> cameras
static