TwiceAsNice  2019-02-18
Classes | Macros | Typedefs | Enumerations | Variables
libfli-libfli.h File Reference
#include <string.h>
#include "libfli.h"
#include "libfli-sys.h"
#include "libfli-debug.h"
Include dependency graph for libfli-libfli.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  _flidevinfo_t
 
struct  _flidevdesc_t
 

Macros

#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define __STRINGIFY(x)   ___STRINGIFY(x)
 
#define ___STRINGIFY(x)   #x
 
#define __LIBFLIVER_MAJOR__   1
 
#define __LIBFLIVER__
 
#define CHKDEVICE(xdev)
 
#define CHKFUNCTION(func)
 
#define IO(dev, buf, wlen, rlen)
 
#define COMMAND(function)
 
#define MSW(x)   ((unsigned short) ((x >> 16) & 0xffff))
 
#define LSW(x)   ((unsigned short) (x & 0xffff))
 
#define MSB(x)   ((unsigned char) ((x >> 8) & 0xff))
 
#define LSB(x)   ((unsigned char) (x & 0xff))
 
#define IOBUF_MAX_SIZ   (64)
 
#define CLEARIO   { memset(_buf, 0, IOBUF_MAX_SIZ); }
 
#define IOREAD_U16L(b, i, y)   { y = (*(b + i + 1) << 8) | *(b + i); }
 
#define IOREAD_U8(b, i, y)   { y = *(b + i); }
 
#define IOREAD_U16(b, i, y)   { y = (*(b + i) << 8) | *(b + i + 1); }
 
#define IOREAD_U32(b, i, y)
 
#define IOWRITE_U8(b, i, y)   { *(b + i) = (unsigned char) y; }
 
#define IOWRITE_U16(b, i, y)   { *(b + i) = MSB(y); *(b + i + 1) = LSB(y); }
 
#define IOWRITE_U32(b, i, y)
 
#define IOREAD_LF(b, i, y)   { y = dconvert(b + i); }
 
#define FLIUSB_VENDORID   0xf18
 
#define FLIUSB_CAM_ID   0x02
 
#define FLIUSB_PROLINE_ID   0x0a
 
#define FLIUSB_FILTER_ID   0x07
 
#define FLIUSB_FOCUSER_ID   0x06
 
#define FLIUSB_CFW4_ID   0x0b
 
#define FLIUSB_PDF2_ID   0x0c
 
#define FLIUSB_GUIDER_ID   0x0d
 
#define MAX_OPEN_DEVICES   (32)
 
#define MAX_SEARCH_LIST   (16)
 
#define DEVICE   devices[dev]
 
#define FLI_COMMANDS
 
#define FLI_COMMAND(name, args)   name,
 

Typedefs

typedef unsigned char iobuf_t
 
typedef struct _flidevinfo_t flidevinfo_t
 
typedef struct _flidevdesc_t flidevdesc_t
 

Enumerations

enum  _commands { FLI_COMMANDS }
 

Variables

const char * version
 
flidevdesc_tdevices [MAX_OPEN_DEVICES]
 

Macro Definition Documentation

◆ ___STRINGIFY

#define ___STRINGIFY (   x)    #x

◆ __LIBFLIVER__

#define __LIBFLIVER__
Value:
__STRINGIFY(__LIBFLI_MINOR__)
#define __LIBFLIVER_MAJOR__
Definition: libfli-libfli.h:74
#define __STRINGIFY(x)
Definition: libfli-libfli.h:71
#define __LIBFLI_MINOR__
Definition: libfli-sys.h:54

◆ __LIBFLIVER_MAJOR__

#define __LIBFLIVER_MAJOR__   1

◆ __STRINGIFY

#define __STRINGIFY (   x)    ___STRINGIFY(x)

◆ CHKDEVICE

#define CHKDEVICE (   xdev)
Value:
do { \
if((xdev < 0) || (xdev >= MAX_OPEN_DEVICES)) \
{ \
debug(FLIDEBUG_WARN, \
"[%s] Attempt to use a device out of range (%d)", __FUNCTION__, xdev); \
return -EINVAL; \
} \
if(devices[xdev] == NULL) \
{ \
debug(FLIDEBUG_WARN, \
"[%s] Attempt to use a NULL device (%d)", __FUNCTION__, xdev); \
return -EINVAL; \
} \
} while(0)
#define MAX_OPEN_DEVICES
Definition: libfli-libfli.h:158
#define NULL
Definition: PciTypes.h:160
#define FLIDEBUG_WARN
Definition: libfli.h:209
flidevdesc_t * devices[MAX_OPEN_DEVICES]
Definition: sxccdtest.cpp:39

◆ CHKFUNCTION

#define CHKFUNCTION (   func)
Value:
do { \
if(func == NULL) \
{ \
debug(FLIDEBUG_WARN, \
"Attempt to use a NULL function (" #func ")"); \
return -EINVAL; \
} \
} while(0)
#define NULL
Definition: PciTypes.h:160
static void func(double *p, double *hx, int m, int n, void *adata)
Definition: levmar.c:95
#define FLIDEBUG_WARN
Definition: libfli.h:209

◆ CLEARIO

#define CLEARIO   { memset(_buf, 0, IOBUF_MAX_SIZ); }

◆ COMMAND

#define COMMAND (   function)
Value:
do { \
int err; \
if((err = function)) \
{ \
debug(FLIDEBUG_WARN, \
"Function `" #function "' failed, error: %d [%s]", \
err, strerror(-err)); \
return err; \
} \
} while(0)
#define FLIDEBUG_WARN
Definition: libfli.h:209

◆ DEVICE

#define DEVICE   devices[dev]

◆ FLI_COMMAND

#define FLI_COMMAND (   name,
  args 
)    name,

◆ FLI_COMMANDS

#define FLI_COMMANDS

◆ FLIUSB_CAM_ID

#define FLIUSB_CAM_ID   0x02

◆ FLIUSB_CFW4_ID

#define FLIUSB_CFW4_ID   0x0b

◆ FLIUSB_FILTER_ID

#define FLIUSB_FILTER_ID   0x07

◆ FLIUSB_FOCUSER_ID

#define FLIUSB_FOCUSER_ID   0x06

◆ FLIUSB_GUIDER_ID

#define FLIUSB_GUIDER_ID   0x0d

◆ FLIUSB_PDF2_ID

#define FLIUSB_PDF2_ID   0x0c

◆ FLIUSB_PROLINE_ID

#define FLIUSB_PROLINE_ID   0x0a

◆ FLIUSB_VENDORID

#define FLIUSB_VENDORID   0xf18

◆ IO

#define IO (   dev,
  buf,
  wlen,
  rlen 
)
Value:
do { \
int err; \
if((err = devices[dev]->fli_io(dev, buf, wlen, rlen))) \
{ \
debug(FLIDEBUG_WARN, "Communication error: %d [%s]", \
err, strerror(-err)); \
return err; \
} \
} while(0)
char * buf
Definition: catout.c:51
#define FLIDEBUG_WARN
Definition: libfli.h:209
flidevdesc_t * devices[MAX_OPEN_DEVICES]
Definition: sxccdtest.cpp:39
dev
Definition: geirs_test_read.py:17

◆ IOBUF_MAX_SIZ

#define IOBUF_MAX_SIZ   (64)

◆ IOREAD_LF

#define IOREAD_LF (   b,
  i,
 
)    { y = dconvert(b + i); }

◆ IOREAD_U16

#define IOREAD_U16 (   b,
  i,
 
)    { y = (*(b + i) << 8) | *(b + i + 1); }

◆ IOREAD_U16L

#define IOREAD_U16L (   b,
  i,
 
)    { y = (*(b + i + 1) << 8) | *(b + i); }

◆ IOREAD_U32

#define IOREAD_U32 (   b,
  i,
 
)
Value:
{ y = (*(b + i) << 24) | *(b + i + 1) << 16 | \
*(b + i + 2) << 8 | *(b + i + 3); }
Definition: base.hpp:36
int y
Definition: lutinvert.py:13
int i
Definition: meteoRRD_graph.py:145

◆ IOREAD_U8

#define IOREAD_U8 (   b,
  i,
 
)    { y = *(b + i); }

◆ IOWRITE_U16

#define IOWRITE_U16 (   b,
  i,
 
)    { *(b + i) = MSB(y); *(b + i + 1) = LSB(y); }

◆ IOWRITE_U32

#define IOWRITE_U32 (   b,
  i,
 
)
Value:
{ *(b + i) = MSB(MSW(y)); *(b + i + 1) = LSB(MSW(y)); \
*(b + i + 2) = MSB(LSW(y)); *(b + i + 3) = LSB(LSW(y)); }
#define LSB(x)
Definition: libfli-libfli.h:130
Definition: base.hpp:36
int y
Definition: lutinvert.py:13
#define MSB(x)
Definition: libfli-libfli.h:129
int i
Definition: meteoRRD_graph.py:145
#define MSW(x)
Definition: libfli-libfli.h:127
#define LSW(x)
Definition: libfli-libfli.h:128

◆ IOWRITE_U8

#define IOWRITE_U8 (   b,
  i,
 
)    { *(b + i) = (unsigned char) y; }

◆ LSB

#define LSB (   x)    ((unsigned char) (x & 0xff))

◆ LSW

#define LSW (   x)    ((unsigned short) (x & 0xffff))

◆ MAX_OPEN_DEVICES

#define MAX_OPEN_DEVICES   (32)

◆ MAX_SEARCH_LIST

#define MAX_SEARCH_LIST   (16)

◆ MIN

#define MIN (   a,
  b 
)    ((a) < (b) ? (a) : (b))

◆ MSB

#define MSB (   x)    ((unsigned char) ((x >> 8) & 0xff))

◆ MSW

#define MSW (   x)    ((unsigned short) ((x >> 16) & 0xffff))

Typedef Documentation

◆ flidevdesc_t

typedef struct _flidevdesc_t flidevdesc_t

◆ flidevinfo_t

typedef struct _flidevinfo_t flidevinfo_t

◆ iobuf_t

typedef unsigned char iobuf_t

Enumeration Type Documentation

◆ _commands

enum _commands
Enumerator
FLI_COMMANDS 

Variable Documentation

◆ devices

◆ version

const char* version