TwiceAsNice  2019-02-18
Macros | Typedefs | Functions
libfli.h File Reference
#include <sys/types.h>
Include dependency graph for libfli.h:
This graph shows which files directly or indirectly include this file:

Macros

#define FLI_INVALID_DEVICE   (-1)
 An opaque handle used by library functions to refer to FLI hardware. More...
 
#define FLIDOMAIN_NONE   (0x00)
 
#define FLIDOMAIN_PARALLEL_PORT   (0x01)
 
#define FLIDOMAIN_USB   (0x02)
 
#define FLIDOMAIN_SERIAL   (0x03)
 
#define FLIDOMAIN_INET   (0x04)
 
#define FLIDOMAIN_SERIAL_19200   (0x05)
 
#define FLIDOMAIN_SERIAL_1200   (0x06)
 
#define FLIDOMAIN_INTERFACE_MASK   (0x000f)
 
#define FLIDEVICE_NONE   (0x000)
 
#define FLIDEVICE_CAMERA   (0x100)
 
#define FLIDEVICE_FILTERWHEEL   (0x200)
 
#define FLIDEVICE_FOCUSER   (0x300)
 
#define FLIDEVICE_HS_FILTERWHEEL   (0x0400)
 
#define FLIDEVICE_RAW   (0x0f00)
 
#define FLIDOMAIN_DEVICE_MASK   (0x0f00)
 
#define FLIDEVICE_ENUMERATE_BY_CONNECTION   (0x8000)
 
#define FLIDEVICE_ENUMERATE_BY_SERIAL   (0x8000)
 
#define FLIDOMAIN_OPTIONS_MASK   (0xf000)
 
#define FLI_FRAME_TYPE_NORMAL   (0)
 
#define FLI_FRAME_TYPE_DARK   (1)
 
#define FLI_FRAME_TYPE_FLOOD   (2)
 
#define FLI_FRAME_TYPE_RBI_FLUSH   (FLI_FRAME_TYPE_FLOOD | FLI_FRAME_TYPE_DARK)
 
#define FLI_MODE_8BIT   (0)
 
#define FLI_MODE_16BIT   (1)
 
#define FLI_SHUTTER_CLOSE   (0x0000)
 
#define FLI_SHUTTER_OPEN   (0x0001)
 
#define FLI_SHUTTER_EXTERNAL_TRIGGER   (0x0002)
 
#define FLI_SHUTTER_EXTERNAL_TRIGGER_LOW   (0x0002)
 
#define FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH   (0x0004)
 
#define FLI_SHUTTER_EXTERNAL_EXPOSURE_CONTROL   (0x0008)
 
#define FLI_BGFLUSH_STOP   (0x0000)
 
#define FLI_BGFLUSH_START   (0x0001)
 
#define FLI_TEMPERATURE_INTERNAL   (0x0000)
 
#define FLI_TEMPERATURE_EXTERNAL   (0x0001)
 
#define FLI_TEMPERATURE_CCD   (0x0000)
 
#define FLI_TEMPERATURE_BASE   (0x0001)
 
#define FLI_CAMERA_STATUS_UNKNOWN   (0xffffffff)
 
#define FLI_CAMERA_STATUS_MASK   (0x00000003)
 
#define FLI_CAMERA_STATUS_IDLE   (0x00)
 
#define FLI_CAMERA_STATUS_WAITING_FOR_TRIGGER   (0x01)
 
#define FLI_CAMERA_STATUS_EXPOSING   (0x02)
 
#define FLI_CAMERA_STATUS_READING_CCD   (0x03)
 
#define FLI_CAMERA_DATA_READY   (0x80000000)
 
#define FLI_FOCUSER_STATUS_UNKNOWN   (0xffffffff)
 
#define FLI_FOCUSER_STATUS_HOMING   (0x00000004)
 
#define FLI_FOCUSER_STATUS_MOVING_IN   (0x00000001)
 
#define FLI_FOCUSER_STATUS_MOVING_OUT   (0x00000002)
 
#define FLI_FOCUSER_STATUS_MOVING_MASK   (0x00000007)
 
#define FLI_FOCUSER_STATUS_HOME   (0x00000080)
 
#define FLI_FOCUSER_STATUS_LIMIT   (0x00000040)
 
#define FLI_FOCUSER_STATUS_LEGACY   (0x10000000)
 
#define FLI_FILTER_WHEEL_PHYSICAL   (0x100)
 
#define FLI_FILTER_WHEEL_VIRTUAL   (0)
 
#define FLI_FILTER_WHEEL_LEFT   (FLI_FILTER_WHEEL_PHYSICAL | 0x00)
 
#define FLI_FILTER_WHEEL_RIGHT   (FLI_FILTER_WHEEL_PHYSICAL | 0x01)
 
#define FLI_FILTER_STATUS_MOVING_CCW   (0x01)
 
#define FLI_FILTER_STATUS_MOVING_CW   (0x02)
 
#define FLI_FILTER_POSITION_UNKNOWN   (0xff)
 
#define FLI_FILTER_POSITION_CURRENT   (0x200)
 
#define FLI_FILTER_STATUS_HOMING   (0x00000004)
 
#define FLI_FILTER_STATUS_HOME   (0x00000080)
 
#define FLI_FILTER_STATUS_HOME_LEFT   (0x00000080)
 
#define FLI_FILTER_STATUS_HOME_RIGHT   (0x00000040)
 
#define FLI_FILTER_STATUS_HOME_SUCCEEDED   (0x00000008)
 
#define FLIDEBUG_NONE   (0x00)
 
#define FLIDEBUG_INFO   (0x01)
 
#define FLIDEBUG_WARN   (0x02)
 
#define FLIDEBUG_FAIL   (0x04)
 
#define FLIDEBUG_IO   (0x08)
 
#define FLIDEBUG_ALL   (FLIDEBUG_INFO | FLIDEBUG_WARN | FLIDEBUG_FAIL)
 
#define FLI_IO_P0   (0x01)
 
#define FLI_IO_P1   (0x02)
 
#define FLI_IO_P2   (0x04)
 
#define FLI_IO_P3   (0x08)
 
#define FLI_FAN_SPEED_OFF   (0x00)
 
#define FLI_FAN_SPEED_ON   (0xffffffff)
 
#define FLI_EEPROM_USER   (0x00)
 
#define FLI_EEPROM_PIXEL_MAP   (0x01)
 
#define FLI_PIXEL_DEFECT_COLUMN   (0x00)
 
#define FLI_PIXEL_DEFECT_CLUSTER   (0x10)
 
#define FLI_PIXEL_DEFECT_POINT_BRIGHT   (0x20)
 
#define FLI_PIXEL_DEFECT_POINT_DARK   (0x30)
 
#define LIBFLIAPI   long
 

Typedefs

typedef long flidev_t
 
typedef long flidomain_t
 The domain of an FLI device. More...
 
typedef long fliframe_t
 The frame type for an FLI CCD camera device. More...
 
typedef long flibitdepth_t
 The gray-scale bit depth for an FLI camera device. More...
 
typedef long flishutter_t
 Type used for shutter operations for an FLI camera device. More...
 
typedef long flibgflush_t
 Type used for background flush operations for an FLI camera device. More...
 
typedef long flichannel_t
 Type used to determine which temperature channel to read. More...
 
typedef long flidebug_t
 Type specifying library debug levels. More...
 
typedef long flimode_t
 
typedef long flistatus_t
 
typedef long flitdirate_t
 
typedef long flitdiflags_t
 

Functions

void FLIDebug (int level, char *format,...)
 
LIBFLIAPI FLIOpen (flidev_t *dev, char *name, flidomain_t domain)
 Get a handle to an FLI device. More...
 
LIBFLIAPI FLISetDebugLevel (char *host, flidebug_t level)
 Enable debugging of API operations and communications. More...
 
LIBFLIAPI FLIClose (flidev_t dev)
 Close a handle to a FLI device. More...
 
LIBFLIAPI FLIGetLibVersion (char *ver, size_t len)
 Get the current library version. More...
 
LIBFLIAPI FLIGetModel (flidev_t dev, char *model, size_t len)
 Get the model of a given device. More...
 
LIBFLIAPI FLIGetPixelSize (flidev_t dev, double *pixel_x, double *pixel_y)
 Find the dimensions of a pixel in the array of the given device. More...
 
LIBFLIAPI FLIGetHWRevision (flidev_t dev, long *hwrev)
 Get the hardware revision of a given device. More...
 
LIBFLIAPI FLIGetFWRevision (flidev_t dev, long *fwrev)
 Get firmware revision of a given device. More...
 
LIBFLIAPI FLIGetArrayArea (flidev_t dev, long *ul_x, long *ul_y, long *lr_x, long *lr_y)
 Get the array area of the given camera. More...
 
LIBFLIAPI FLIGetVisibleArea (flidev_t dev, long *ul_x, long *ul_y, long *lr_x, long *lr_y)
 Get the visible area of the given camera. More...
 
LIBFLIAPI FLISetExposureTime (flidev_t dev, long exptime)
 Set the exposure time for a camera. More...
 
LIBFLIAPI FLISetImageArea (flidev_t dev, long ul_x, long ul_y, long lr_x, long lr_y)
 Set the image area for a given camera. More...
 
LIBFLIAPI FLISetHBin (flidev_t dev, long hbin)
 Set the horizontal bin factor for a given camera. More...
 
LIBFLIAPI FLISetVBin (flidev_t dev, long vbin)
 Set the vertical bin factor for a given camera. More...
 
LIBFLIAPI FLISetFrameType (flidev_t dev, fliframe_t frametype)
 Set the frame type for a given camera. More...
 
LIBFLIAPI FLICancelExposure (flidev_t dev)
 Cancel an exposure for a given camera. More...
 
LIBFLIAPI FLIGetExposureStatus (flidev_t dev, long *timeleft)
 Find the remaining exposure time of a given camera. More...
 
LIBFLIAPI FLISetTemperature (flidev_t dev, double temperature)
 Set the temperature of a given camera. More...
 
LIBFLIAPI FLIGetTemperature (flidev_t dev, double *temperature)
 Get the temperature of a given camera. More...
 
LIBFLIAPI FLIGetCoolerPower (flidev_t dev, double *power)
 Get the cooler power level. More...
 
LIBFLIAPI FLIGrabRow (flidev_t dev, void *buff, size_t width)
 Grab a row of an image. More...
 
LIBFLIAPI FLIExposeFrame (flidev_t dev)
 Expose a frame for a given camera. More...
 
LIBFLIAPI FLIFlushRow (flidev_t dev, long rows, long repeat)
 Flush rows of a given camera. More...
 
LIBFLIAPI FLISetNFlushes (flidev_t dev, long nflushes)
 Set the number of flushes for a given camera. More...
 
LIBFLIAPI FLISetBitDepth (flidev_t dev, flibitdepth_t bitdepth)
 Set the gray-scale bit depth for a given camera. More...
 
LIBFLIAPI FLIReadIOPort (flidev_t dev, long *ioportset)
 Read the I/O port of a given camera. More...
 
LIBFLIAPI FLIWriteIOPort (flidev_t dev, long ioportset)
 Write to the I/O port of a given camera. More...
 
LIBFLIAPI FLIConfigureIOPort (flidev_t dev, long ioportset)
 Configure the I/O port of a given camera. More...
 
LIBFLIAPI FLILockDevice (flidev_t dev)
 Lock a specified device. More...
 
LIBFLIAPI FLIUnlockDevice (flidev_t dev)
 Unlock a specified device. More...
 
LIBFLIAPI FLIControlShutter (flidev_t dev, flishutter_t shutter)
 Control the shutter on a given camera. More...
 
LIBFLIAPI FLIControlBackgroundFlush (flidev_t dev, flibgflush_t bgflush)
 Enables background flushing of CCD array. More...
 
LIBFLIAPI FLISetDAC (flidev_t dev, unsigned long dacset)
 
LIBFLIAPI FLIList (flidomain_t domain, char ***names)
 List available devices. More...
 
LIBFLIAPI FLIFreeList (char **names)
 Free a previously generated device list. More...
 
LIBFLIAPI FLIGetFilterName (flidev_t dev, long filter, char *name, size_t len)
 
LIBFLIAPI FLISetActiveWheel (flidev_t dev, long wheel)
 
LIBFLIAPI FLIGetActiveWheel (flidev_t dev, long *wheel)
 
LIBFLIAPI FLISetFilterPos (flidev_t dev, long filter)
 Set the filter wheel position of a given device. More...
 
LIBFLIAPI FLIGetFilterPos (flidev_t dev, long *filter)
 Get the filter wheel position of a given device. More...
 
LIBFLIAPI FLIGetFilterCount (flidev_t dev, long *filter)
 Get the filter wheel filter count of a given device. More...
 
LIBFLIAPI FLIStepMotor (flidev_t dev, long steps)
 Step the filter wheel or focuser motor of a given device. More...
 
LIBFLIAPI FLIStepMotorAsync (flidev_t dev, long steps)
 Step the filter wheel or focuser motor of a given device. More...
 
LIBFLIAPI FLIGetStepperPosition (flidev_t dev, long *position)
 Get the stepper motor position of a given device. More...
 
LIBFLIAPI FLIGetStepsRemaining (flidev_t dev, long *steps)
 Get the number of motor steps remaining. More...
 
LIBFLIAPI FLIHomeFocuser (flidev_t dev)
 Home focuser {dev}. More...
 
LIBFLIAPI FLICreateList (flidomain_t domain)
 Creates a list of all devices within a specified {domain}. More...
 
LIBFLIAPI FLIDeleteList (void)
 Deletes a list of devices created by {FLICreateList()}. More...
 
LIBFLIAPI FLIListFirst (flidomain_t *domain, char *filename, size_t fnlen, char *name, size_t namelen)
 Obtains the first device in the list. More...
 
LIBFLIAPI FLIListNext (flidomain_t *domain, char *filename, size_t fnlen, char *name, size_t namelen)
 Obtains the next device in the list. More...
 
LIBFLIAPI FLIReadTemperature (flidev_t dev, flichannel_t channel, double *temperature)
 Retreive temperature from the FLI focuser {dev}. More...
 
LIBFLIAPI FLIGetFocuserExtent (flidev_t dev, long *extent)
 Retreive the maximum extent for FLI focuser {dev}. More...
 
LIBFLIAPI FLIUsbBulkIO (flidev_t dev, int ep, void *buf, long *len)
 
LIBFLIAPI FLIGetDeviceStatus (flidev_t dev, long *status)
 
LIBFLIAPI FLIGetCameraModeString (flidev_t dev, flimode_t mode_index, char *mode_string, size_t siz)
 
LIBFLIAPI FLIGetCameraMode (flidev_t dev, flimode_t *mode_index)
 
LIBFLIAPI FLISetCameraMode (flidev_t dev, flimode_t mode_index)
 
LIBFLIAPI FLIHomeDevice (flidev_t dev)
 Home focuser or filter wheel specified by {dev}. More...
 
LIBFLIAPI FLIGrabFrame (flidev_t dev, void *buff, size_t buffsize, size_t *bytesgrabbed)
 
LIBFLIAPI FLISetTDI (flidev_t dev, flitdirate_t tdi_rate, flitdiflags_t flags)
 
LIBFLIAPI FLIGrabVideoFrame (flidev_t dev, void *buff, size_t size)
 
LIBFLIAPI FLIStopVideoMode (flidev_t dev)
 
LIBFLIAPI FLIStartVideoMode (flidev_t dev)
 
LIBFLIAPI FLIGetSerialString (flidev_t dev, char *serial, size_t len)
 Get the serial string of a given device. More...
 
LIBFLIAPI FLIEndExposure (flidev_t dev)
 End an exposure for a given camera. More...
 
LIBFLIAPI FLITriggerExposure (flidev_t dev)
 Trigger an exposure that is awaiting an external trigger. More...
 
LIBFLIAPI FLISetFanSpeed (flidev_t dev, long fan_speed)
 
LIBFLIAPI FLISetVerticalTableEntry (flidev_t dev, long index, long height, long bin, long mode)
 
LIBFLIAPI FLIGetVerticalTableEntry (flidev_t dev, long index, long *height, long *bin, long *mode)
 
LIBFLIAPI FLIGetReadoutDimensions (flidev_t dev, long *width, long *hoffset, long *hbin, long *height, long *voffset, long *vbin)
 
LIBFLIAPI FLIEnableVerticalTable (flidev_t dev, long width, long offset, long flags)
 
LIBFLIAPI FLIReadUserEEPROM (flidev_t dev, long loc, long address, long length, void *rbuf)
 
LIBFLIAPI FLIWriteUserEEPROM (flidev_t dev, long loc, long address, long length, void *wbuf)
 

Macro Definition Documentation

◆ FLI_BGFLUSH_START

#define FLI_BGFLUSH_START   (0x0001)

◆ FLI_BGFLUSH_STOP

#define FLI_BGFLUSH_STOP   (0x0000)

◆ FLI_CAMERA_DATA_READY

#define FLI_CAMERA_DATA_READY   (0x80000000)

◆ FLI_CAMERA_STATUS_EXPOSING

#define FLI_CAMERA_STATUS_EXPOSING   (0x02)

◆ FLI_CAMERA_STATUS_IDLE

#define FLI_CAMERA_STATUS_IDLE   (0x00)

◆ FLI_CAMERA_STATUS_MASK

#define FLI_CAMERA_STATUS_MASK   (0x00000003)

◆ FLI_CAMERA_STATUS_READING_CCD

#define FLI_CAMERA_STATUS_READING_CCD   (0x03)

◆ FLI_CAMERA_STATUS_UNKNOWN

#define FLI_CAMERA_STATUS_UNKNOWN   (0xffffffff)

◆ FLI_CAMERA_STATUS_WAITING_FOR_TRIGGER

#define FLI_CAMERA_STATUS_WAITING_FOR_TRIGGER   (0x01)

◆ FLI_EEPROM_PIXEL_MAP

#define FLI_EEPROM_PIXEL_MAP   (0x01)

◆ FLI_EEPROM_USER

#define FLI_EEPROM_USER   (0x00)

◆ FLI_FAN_SPEED_OFF

#define FLI_FAN_SPEED_OFF   (0x00)

◆ FLI_FAN_SPEED_ON

#define FLI_FAN_SPEED_ON   (0xffffffff)

◆ FLI_FILTER_POSITION_CURRENT

#define FLI_FILTER_POSITION_CURRENT   (0x200)

◆ FLI_FILTER_POSITION_UNKNOWN

#define FLI_FILTER_POSITION_UNKNOWN   (0xff)

◆ FLI_FILTER_STATUS_HOME

#define FLI_FILTER_STATUS_HOME   (0x00000080)

◆ FLI_FILTER_STATUS_HOME_LEFT

#define FLI_FILTER_STATUS_HOME_LEFT   (0x00000080)

◆ FLI_FILTER_STATUS_HOME_RIGHT

#define FLI_FILTER_STATUS_HOME_RIGHT   (0x00000040)

◆ FLI_FILTER_STATUS_HOME_SUCCEEDED

#define FLI_FILTER_STATUS_HOME_SUCCEEDED   (0x00000008)

◆ FLI_FILTER_STATUS_HOMING

#define FLI_FILTER_STATUS_HOMING   (0x00000004)

◆ FLI_FILTER_STATUS_MOVING_CCW

#define FLI_FILTER_STATUS_MOVING_CCW   (0x01)

◆ FLI_FILTER_STATUS_MOVING_CW

#define FLI_FILTER_STATUS_MOVING_CW   (0x02)

◆ FLI_FILTER_WHEEL_LEFT

#define FLI_FILTER_WHEEL_LEFT   (FLI_FILTER_WHEEL_PHYSICAL | 0x00)

◆ FLI_FILTER_WHEEL_PHYSICAL

#define FLI_FILTER_WHEEL_PHYSICAL   (0x100)

◆ FLI_FILTER_WHEEL_RIGHT

#define FLI_FILTER_WHEEL_RIGHT   (FLI_FILTER_WHEEL_PHYSICAL | 0x01)

◆ FLI_FILTER_WHEEL_VIRTUAL

#define FLI_FILTER_WHEEL_VIRTUAL   (0)

◆ FLI_FOCUSER_STATUS_HOME

#define FLI_FOCUSER_STATUS_HOME   (0x00000080)

◆ FLI_FOCUSER_STATUS_HOMING

#define FLI_FOCUSER_STATUS_HOMING   (0x00000004)

◆ FLI_FOCUSER_STATUS_LEGACY

#define FLI_FOCUSER_STATUS_LEGACY   (0x10000000)

◆ FLI_FOCUSER_STATUS_LIMIT

#define FLI_FOCUSER_STATUS_LIMIT   (0x00000040)

◆ FLI_FOCUSER_STATUS_MOVING_IN

#define FLI_FOCUSER_STATUS_MOVING_IN   (0x00000001)

◆ FLI_FOCUSER_STATUS_MOVING_MASK

#define FLI_FOCUSER_STATUS_MOVING_MASK   (0x00000007)

◆ FLI_FOCUSER_STATUS_MOVING_OUT

#define FLI_FOCUSER_STATUS_MOVING_OUT   (0x00000002)

◆ FLI_FOCUSER_STATUS_UNKNOWN

#define FLI_FOCUSER_STATUS_UNKNOWN   (0xffffffff)

◆ FLI_FRAME_TYPE_DARK

#define FLI_FRAME_TYPE_DARK   (1)

◆ FLI_FRAME_TYPE_FLOOD

#define FLI_FRAME_TYPE_FLOOD   (2)

◆ FLI_FRAME_TYPE_NORMAL

#define FLI_FRAME_TYPE_NORMAL   (0)

◆ FLI_FRAME_TYPE_RBI_FLUSH

#define FLI_FRAME_TYPE_RBI_FLUSH   (FLI_FRAME_TYPE_FLOOD | FLI_FRAME_TYPE_DARK)

◆ FLI_INVALID_DEVICE

#define FLI_INVALID_DEVICE   (-1)

An opaque handle used by library functions to refer to FLI hardware.

◆ FLI_IO_P0

#define FLI_IO_P0   (0x01)

◆ FLI_IO_P1

#define FLI_IO_P1   (0x02)

◆ FLI_IO_P2

#define FLI_IO_P2   (0x04)

◆ FLI_IO_P3

#define FLI_IO_P3   (0x08)

◆ FLI_MODE_16BIT

#define FLI_MODE_16BIT   (1)

◆ FLI_MODE_8BIT

#define FLI_MODE_8BIT   (0)

◆ FLI_PIXEL_DEFECT_CLUSTER

#define FLI_PIXEL_DEFECT_CLUSTER   (0x10)

◆ FLI_PIXEL_DEFECT_COLUMN

#define FLI_PIXEL_DEFECT_COLUMN   (0x00)

◆ FLI_PIXEL_DEFECT_POINT_BRIGHT

#define FLI_PIXEL_DEFECT_POINT_BRIGHT   (0x20)

◆ FLI_PIXEL_DEFECT_POINT_DARK

#define FLI_PIXEL_DEFECT_POINT_DARK   (0x30)

◆ FLI_SHUTTER_CLOSE

#define FLI_SHUTTER_CLOSE   (0x0000)

◆ FLI_SHUTTER_EXTERNAL_EXPOSURE_CONTROL

#define FLI_SHUTTER_EXTERNAL_EXPOSURE_CONTROL   (0x0008)

◆ FLI_SHUTTER_EXTERNAL_TRIGGER

#define FLI_SHUTTER_EXTERNAL_TRIGGER   (0x0002)

◆ FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH

#define FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH   (0x0004)

◆ FLI_SHUTTER_EXTERNAL_TRIGGER_LOW

#define FLI_SHUTTER_EXTERNAL_TRIGGER_LOW   (0x0002)

◆ FLI_SHUTTER_OPEN

#define FLI_SHUTTER_OPEN   (0x0001)

◆ FLI_TEMPERATURE_BASE

#define FLI_TEMPERATURE_BASE   (0x0001)

◆ FLI_TEMPERATURE_CCD

#define FLI_TEMPERATURE_CCD   (0x0000)

◆ FLI_TEMPERATURE_EXTERNAL

#define FLI_TEMPERATURE_EXTERNAL   (0x0001)

◆ FLI_TEMPERATURE_INTERNAL

#define FLI_TEMPERATURE_INTERNAL   (0x0000)

◆ FLIDEBUG_ALL

#define FLIDEBUG_ALL   (FLIDEBUG_INFO | FLIDEBUG_WARN | FLIDEBUG_FAIL)

◆ FLIDEBUG_FAIL

#define FLIDEBUG_FAIL   (0x04)

◆ FLIDEBUG_INFO

#define FLIDEBUG_INFO   (0x01)

◆ FLIDEBUG_IO

#define FLIDEBUG_IO   (0x08)

◆ FLIDEBUG_NONE

#define FLIDEBUG_NONE   (0x00)

◆ FLIDEBUG_WARN

#define FLIDEBUG_WARN   (0x02)

◆ FLIDEVICE_CAMERA

#define FLIDEVICE_CAMERA   (0x100)

◆ FLIDEVICE_ENUMERATE_BY_CONNECTION

#define FLIDEVICE_ENUMERATE_BY_CONNECTION   (0x8000)

◆ FLIDEVICE_ENUMERATE_BY_SERIAL

#define FLIDEVICE_ENUMERATE_BY_SERIAL   (0x8000)

◆ FLIDEVICE_FILTERWHEEL

#define FLIDEVICE_FILTERWHEEL   (0x200)

◆ FLIDEVICE_FOCUSER

#define FLIDEVICE_FOCUSER   (0x300)

◆ FLIDEVICE_HS_FILTERWHEEL

#define FLIDEVICE_HS_FILTERWHEEL   (0x0400)

◆ FLIDEVICE_NONE

#define FLIDEVICE_NONE   (0x000)

◆ FLIDEVICE_RAW

#define FLIDEVICE_RAW   (0x0f00)

◆ FLIDOMAIN_DEVICE_MASK

#define FLIDOMAIN_DEVICE_MASK   (0x0f00)

◆ FLIDOMAIN_INET

#define FLIDOMAIN_INET   (0x04)

◆ FLIDOMAIN_INTERFACE_MASK

#define FLIDOMAIN_INTERFACE_MASK   (0x000f)

◆ FLIDOMAIN_NONE

#define FLIDOMAIN_NONE   (0x00)

◆ FLIDOMAIN_OPTIONS_MASK

#define FLIDOMAIN_OPTIONS_MASK   (0xf000)

◆ FLIDOMAIN_PARALLEL_PORT

#define FLIDOMAIN_PARALLEL_PORT   (0x01)

◆ FLIDOMAIN_SERIAL

#define FLIDOMAIN_SERIAL   (0x03)

◆ FLIDOMAIN_SERIAL_1200

#define FLIDOMAIN_SERIAL_1200   (0x06)

◆ FLIDOMAIN_SERIAL_19200

#define FLIDOMAIN_SERIAL_19200   (0x05)

◆ FLIDOMAIN_USB

#define FLIDOMAIN_USB   (0x02)

◆ LIBFLIAPI

#define LIBFLIAPI   long

Typedef Documentation

◆ flibgflush_t

typedef long flibgflush_t

Type used for background flush operations for an FLI camera device.

Valid bgflush types are {FLI_BGFLUSH_STOP} and {FLI_BGFLUSH_START}.

See also
FLIControlBackgroundFlush

◆ flibitdepth_t

The gray-scale bit depth for an FLI camera device.

Valid bit depths are {FLI_MODE_8BIT} and {FLI_MODE_16BIT}.

See also
FLISetBitDepth

◆ flichannel_t

typedef long flichannel_t

Type used to determine which temperature channel to read.

Valid channel types are {FLI_TEMPERATURE_INTERNAL} and {FLI_TEMPERATURE_EXTERNAL}.

See also
FLIReadTemperature

◆ flidebug_t

typedef long flidebug_t

Type specifying library debug levels.

Valid debug levels are {FLIDEBUG_NONE}, {FLIDEBUG_INFO}, {FLIDEBUG_WARN}, and {FLIDEBUG_FAIL}.

See also
FLISetDebugLevel

◆ flidev_t

typedef long flidev_t

◆ flidomain_t

typedef long flidomain_t

The domain of an FLI device.

This consists of a bitwise ORed combination of interface method and device type. Valid interfaces are {FLIDOMAIN_PARALLEL_PORT}, {FLIDOMAIN_USB}, {FLIDOMAIN_SERIAL}, and {FLIDOMAIN_INET}. Valid device types are {FLIDEVICE_CAMERA}, {FLIDOMAIN_FILTERWHEEL}, and {FLIDOMAIN_FOCUSER}.

See also
FLIOpen
FLIList

◆ fliframe_t

typedef long fliframe_t

The frame type for an FLI CCD camera device.

Valid frame types are {FLI_FRAME_TYPE_NORMAL} and {FLI_FRAME_TYPE_DARK}.

See also
FLISetFrameType

◆ flimode_t

typedef long flimode_t

◆ flishutter_t

typedef long flishutter_t

Type used for shutter operations for an FLI camera device.

Valid shutter types are {FLI_SHUTTER_CLOSE}, {FLI_SHUTTER_OPEN}, {FLI_SHUTTER_EXTERNAL_TRIGGER}, {FLI_SHUTTER_EXTERNAL_TRIGGER_LOW}, and {FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH}.

See also
FLIControlShutter

◆ flistatus_t

typedef long flistatus_t

◆ flitdiflags_t

◆ flitdirate_t

typedef long flitdirate_t

Function Documentation

◆ FLICancelExposure()

LIBFLIAPI FLICancelExposure ( flidev_t  dev)

Cancel an exposure for a given camera.

This function cancels an exposure in progress by closing the shutter.

Parameters
devCamera to cancel the exposure of.
Returns
Zero on success.
Non-zero on failure.
See also
FLIExposeFrame
FLIEndExposure
FLIGetExposureStatus
FLISetExposureTime

◆ FLIClose()

LIBFLIAPI FLIClose ( flidev_t  dev)

Close a handle to a FLI device.

Parameters
devThe device handle to be closed.
Returns
Zero on success.
Non-zero on failure.
See also
FLIOpen

◆ FLIConfigureIOPort()

LIBFLIAPI FLIConfigureIOPort ( flidev_t  dev,
long  ioportset 
)

Configure the I/O port of a given camera.

This function configures the I/O port on camera {dev} with the value {ioportset}.

The I/O configuration of each pin on a given camera is determined by the value of {ioportset}. Setting a respective I/O bit enables the port bit for output while clearing an I/O bit enables to port bit for input. By default, all I/O ports are configured as inputs.

Parameters
devCamera to configure the I/O port of.
ioportsetData to configure the I/O port with.
Returns
Zero on success.
Non-zero on failure.
See also
FLIReadIOPort
FLIWriteIOPort

◆ FLIControlBackgroundFlush()

LIBFLIAPI FLIControlBackgroundFlush ( flidev_t  dev,
flibgflush_t  bgflush 
)

Enables background flushing of CCD array.

This function enables the background flushing of the CCD array camera {dev} according to the {bgflush} parameter. Note that this function may not succeed on all FLI products as this feature may not be available.

Parameters
devDevice to control the background flushing of.
bgflushEnables or disables background flushing. A value of {FLI_BGFLUSH_START} begins background flushing. It is important to note that background flushing is stopped whenever {FLIExposeFrame()} or {FLIControlShutter()} are called. {FLI_BGFLUSH_STOP} stops all background flush activity.
Returns
Zero on success.
Non-zero on failure.
See also
flibgflush_t

◆ FLIControlShutter()

LIBFLIAPI FLIControlShutter ( flidev_t  dev,
flishutter_t  shutter 
)

Control the shutter on a given camera.

This function controls the shutter function on camera {dev} according to the {shutter} parameter.

Parameters
devDevice to control the shutter of.
shutterHow to control the shutter. A value of {FLI_SHUTTER_CLOSE} closes the shutter and {FLI_SHUTTER_OPEN} opens the shutter. {FLI_SHUTTER_EXTERNAL_TRIGGER_LOW}, {FLI_SHUTTER_EXTERNAL_TRIGGER} causes the exposure to begin only when a logic LOW is detected on I/O port bit 0. {FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH} causes the exposure to begin only when a logic HIGH is detected on I/O port bit 0. This setting may not be available on all cameras.
Returns
Zero on success.
Non-zero on failure.
See also
flishutter_t

◆ FLICreateList()

LIBFLIAPI FLICreateList ( flidomain_t  domain)

Creates a list of all devices within a specified {domain}.

Use {FLIDeleteList()} to delete the list created with this function. This function is the first called begin the iteration through the list of current FLI devices attached.

Parameters
domainDomain to search for devices, set to zero to search all domains. This parameter must contain the device type.
Returns
Zero on success.
Non-zero on failure.
See also
FLIDeleteList
FLIListFirst
FLIListNext

◆ FLIDebug()

void FLIDebug ( int  level,
char *  format,
  ... 
)

◆ FLIDeleteList()

LIBFLIAPI FLIDeleteList ( void  )

Deletes a list of devices created by {FLICreateList()}.

Returns
Zero on success.
Non-zero on failure.
See also
FLICreateList
FLIListFirst
FLIListNext

◆ FLIEnableVerticalTable()

LIBFLIAPI FLIEnableVerticalTable ( flidev_t  dev,
long  width,
long  offset,
long  flags 
)

◆ FLIEndExposure()

LIBFLIAPI FLIEndExposure ( flidev_t  dev)

End an exposure for a given camera.

This function causes the exposure to end and image download begins immediately.

Parameters
devCamera to end the exposure of.
Returns
Zero on success.
Non-zero on failure.
See also
FLIExposeFrame
FLICancelExposure
FLIGetExposureStatus
FLISetExposureTime

◆ FLIExposeFrame()

LIBFLIAPI FLIExposeFrame ( flidev_t  dev)

Expose a frame for a given camera.

This function exposes a frame according to the settings (image area, exposure time, bit depth, etc.) of camera {dev}. The settings of {dev} must be valid for the camera device. They are set by calling the appropriate set library functions. This function returns after the exposure has started.

Parameters
devCamera to expose the frame of.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetExposureTime
FLISetFrameType
FLISetImageArea
FLISetHBin
FLISetVBin
FLISetNFlushes
FLISetBitDepth
FLIGrabFrame
FLICancelExposure
FLIGetExposureStatus

◆ FLIFlushRow()

LIBFLIAPI FLIFlushRow ( flidev_t  dev,
long  rows,
long  repeat 
)

Flush rows of a given camera.

This function flushes {rows} rows of camera {dev} {repeat} times.

Parameters
devCamera to flush rows of.
rowsNumber of rows to flush.
repeatNumber of times to flush each row.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetNFlushes

◆ FLIFreeList()

LIBFLIAPI FLIFreeList ( char **  names)

Free a previously generated device list.

Use this function after {FLIList()} to free the list of device names.

Parameters
namesPointer to the list.
Returns
Zero on success.
Non-zero on failure.
See also
FLIList

◆ FLIGetActiveWheel()

LIBFLIAPI FLIGetActiveWheel ( flidev_t  dev,
long wheel 
)

◆ FLIGetArrayArea()

LIBFLIAPI FLIGetArrayArea ( flidev_t  dev,
long ul_x,
long ul_y,
long lr_x,
long lr_y 
)

Get the array area of the given camera.

This function finds the {total} area of the CCD array for camera {dev}. This area is specified in terms of a upper-left point and a lower-right point. The upper-left x-coordinate is placed in {ul_x}, the upper-left y-coordinate is placed in {ul_y}, the lower-right x-coordinate is placed in {lr_x}, and the lower-right y-coordinate is placed in {lr_y}.

Parameters
devCamera to get the array area of.
ul_xPointer to where the upper-left x-coordinate is to be placed.
ul_yPointer to where the upper-left y-coordinate is to be placed.
lr_xPointer to where the lower-right x-coordinate is to be placed.
lr_yPointer to where the lower-right y-coordinate is to be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetVisibleArea
FLISetImageArea

◆ FLIGetCameraMode()

LIBFLIAPI FLIGetCameraMode ( flidev_t  dev,
flimode_t mode_index 
)

◆ FLIGetCameraModeString()

LIBFLIAPI FLIGetCameraModeString ( flidev_t  dev,
flimode_t  mode_index,
char *  mode_string,
size_t  siz 
)

◆ FLIGetCoolerPower()

LIBFLIAPI FLIGetCoolerPower ( flidev_t  dev,
double *  power 
)

Get the cooler power level.

The function places the current cooler power in percent in the location pointed to by {power}.

Parameters
devCamera to find the cooler power of.
timeleftPointer to where the cooler power (in percent) will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetTemperature
FLIGetTemperature

◆ FLIGetDeviceStatus()

LIBFLIAPI FLIGetDeviceStatus ( flidev_t  dev,
long status 
)

◆ FLIGetExposureStatus()

LIBFLIAPI FLIGetExposureStatus ( flidev_t  dev,
long timeleft 
)

Find the remaining exposure time of a given camera.

This functions places the remaining exposure time (in milliseconds) in the location pointed to by {timeleft}.

Parameters
devCamera to find the remaining exposure time of.
timeleftPointer to where the remaining exposure time (in milliseonds) will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLIExposeFrame
FLICancelExposure
FLISetExposureTime

◆ FLIGetFilterCount()

LIBFLIAPI FLIGetFilterCount ( flidev_t  dev,
long filter 
)

Get the filter wheel filter count of a given device.

Use this function to get the filter count of filter wheel {dev}.

Parameters
devFilter wheel device handle.
filterPointer to where the filter wheel filter count will be placed.
Returns
Zero on success.
Non-zero on failure.

◆ FLIGetFilterName()

LIBFLIAPI FLIGetFilterName ( flidev_t  dev,
long  filter,
char *  name,
size_t  len 
)

◆ FLIGetFilterPos()

LIBFLIAPI FLIGetFilterPos ( flidev_t  dev,
long filter 
)

Get the filter wheel position of a given device.

Use this function to get the filter wheel position of {dev}.

Parameters
devFilter wheel device handle.
filterPointer to where the filter wheel position will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetFilterPos

◆ FLIGetFocuserExtent()

LIBFLIAPI FLIGetFocuserExtent ( flidev_t  dev,
long extent 
)

Retreive the maximum extent for FLI focuser {dev}.

Parameters
devFocuser device handle.
extentPointer to where the maximum extent of the focuser will be placed.
Returns
Zero on success.
Non-zero on failure.

◆ FLIGetFWRevision()

LIBFLIAPI FLIGetFWRevision ( flidev_t  dev,
long fwrev 
)

Get firmware revision of a given device.

Parameters
devDevice to find the firmware revision of.
fwrevPointer to a long which will receive the firmware revision.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetModel
FLIGetHWRevision
FLIGetSerialNum

◆ FLIGetHWRevision()

LIBFLIAPI FLIGetHWRevision ( flidev_t  dev,
long hwrev 
)

Get the hardware revision of a given device.

Parameters
devDevice to find the hardware revision of.
hwrevPointer to a long which will receive the hardware revision.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetModel
FLIGetFWRevision
FLIGetSerialNum

◆ FLIGetLibVersion()

LIBFLIAPI FLIGetLibVersion ( char *  ver,
size_t  len 
)

Get the current library version.

This function copies up to {len - 1} characters of the current library version string followed by a terminating {NULL} character into the buffer pointed to by {ver}.

Parameters
verPointer to a character buffer where the library version string is to be placed.
lenThe size in bytes of the buffer pointed to by {ver}.
Returns
Zero on success.
Non-zero on failure.

◆ FLIGetModel()

LIBFLIAPI FLIGetModel ( flidev_t  dev,
char *  model,
size_t  len 
)

Get the model of a given device.

This function copies up to {len - 1} characters of the model string for device {dev}, followed by a terminating {NULL} character into the buffer pointed to by {model}.

Parameters
devDevice to find model of.
modelPointer to a character buffer where the model string is to be placed.
lenThe size in bytes of buffer pointed to by {model}.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetHWRevision
FLIGetFWRevision
FLIGetSerialNum

◆ FLIGetPixelSize()

LIBFLIAPI FLIGetPixelSize ( flidev_t  dev,
double *  pixel_x,
double *  pixel_y 
)

Find the dimensions of a pixel in the array of the given device.

Parameters
devDevice to find the pixel size of.
pixel_xPointer to a double which will receive the size (in microns) of a pixel in the x direction.
pixel_yPointer to a double which will receive the size (in microns) of a pixel in the y direction.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetArrayArea
FLIGetVisibleArea

◆ FLIGetReadoutDimensions()

LIBFLIAPI FLIGetReadoutDimensions ( flidev_t  dev,
long width,
long hoffset,
long hbin,
long height,
long voffset,
long vbin 
)

◆ FLIGetSerialString()

LIBFLIAPI FLIGetSerialString ( flidev_t  dev,
char *  serial,
size_t  len 
)

Get the serial string of a given device.

This function copies up to {len - 1} characters of the serial string for device {dev}, followed by a terminating {NULL} character into the buffer pointed to by {serial}.

Parameters
devDevice to find serial of.
serialPointer to a character buffer where the serial string is to be placed.
lenThe size in bytes of buffer pointed to by {serial}.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetHWRevision
FLIGetFWRevision
FLIGetModel

◆ FLIGetStepperPosition()

LIBFLIAPI FLIGetStepperPosition ( flidev_t  dev,
long position 
)

Get the stepper motor position of a given device.

Use this function to read the stepper motor position of filter wheel or focuser {dev}.

Parameters
devFilter wheel or focuser device handle.
positionPointer to where the postion of the stepper motor will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLIStepMotor

◆ FLIGetStepsRemaining()

LIBFLIAPI FLIGetStepsRemaining ( flidev_t  dev,
long steps 
)

Get the number of motor steps remaining.

Use this function to determine if the stepper motor of {dev} is still moving.

Parameters
devFilter wheel device handle.
filterPointer to where the number of remaning steps will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetFilterPos

◆ FLIGetTemperature()

LIBFLIAPI FLIGetTemperature ( flidev_t  dev,
double *  temperature 
)

Get the temperature of a given camera.

This function places the temperature of the CCD camera cold finger of device {dev} in the location pointed to by {temperature}.

Parameters
devCamera device to get the temperature of.
temperaturePointer to where the temperature will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetTemperature

◆ FLIGetVerticalTableEntry()

LIBFLIAPI FLIGetVerticalTableEntry ( flidev_t  dev,
long  index,
long height,
long bin,
long mode 
)

◆ FLIGetVisibleArea()

LIBFLIAPI FLIGetVisibleArea ( flidev_t  dev,
long ul_x,
long ul_y,
long lr_x,
long lr_y 
)

Get the visible area of the given camera.

This function finds the {visible} area of the CCD array for the camera {dev}. This area is specified in terms of a upper-left point and a lower-right point. The upper-left x-coordinate is placed in {ul_x}, the upper-left y-coordinate is placed in {ul_y}, the lower-right x-coordinate is placed in {lr_x}, the lower-right y-coordinate is placed in {lr_y}.

Parameters
devCamera to get the visible area of.
ul_xPointer to where the upper-left x-coordinate is to be placed.
ul_yPointer to where the upper-left y-coordinate is to be placed.
lr_xPointer to where the lower-right x-coordinate is to be placed.
lr_yPointer to where the lower-right y-coordinate is to be placed.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetArrayArea
FLISetImageArea

◆ FLIGrabFrame()

LIBFLIAPI FLIGrabFrame ( flidev_t  dev,
void *  buff,
size_t  buffsize,
size_t *  bytesgrabbed 
)

◆ FLIGrabRow()

LIBFLIAPI FLIGrabRow ( flidev_t  dev,
void *  buff,
size_t  width 
)

Grab a row of an image.

This function grabs the next available row of the image from camera device {dev}. The row of width {width} is placed in the buffer pointed to by {buff}. The size of the buffer pointed to by {buff} must take into account the bit depth of the image, meaning the buffer size must be at least {width} bytes for an 8-bit image, and at least 2*{width} for a 16-bit image.

Parameters
devCamera whose image to grab the next available row from.
buffPointer to where the next available row will be placed.
widthRow width in pixels.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGrabFrame

◆ FLIGrabVideoFrame()

LIBFLIAPI FLIGrabVideoFrame ( flidev_t  dev,
void *  buff,
size_t  size 
)

◆ FLIHomeDevice()

LIBFLIAPI FLIHomeDevice ( flidev_t  dev)

Home focuser or filter wheel specified by {dev}.

The home position of a device is defined as where the electromechanical home sensor detects home. Note that on color filter wheels this may not be located at filter slot zero and may in fact be between filter slots. It should be noted that this function replaces the deprecated function FLIHomeFocuser(). This function may not return immediately as older FLI devices blocked during a HOME operation. Use the function FLIGetDeviceStatus() to determine if the filter wheel or focuser is still moving (or is capable of reporting device status).

Parameters
devDevice handle.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetDeviceStatus

◆ FLIHomeFocuser()

LIBFLIAPI FLIHomeFocuser ( flidev_t  dev)

Home focuser {dev}.

The home position is closed as far as mechanically possiable.

Parameters
devFocuser device handle.
Returns
Zero on success.
Non-zero on failure.

◆ FLIList()

LIBFLIAPI FLIList ( flidomain_t  domain,
char ***  names 
)

List available devices.

This function returns a pointer to a NULL terminated list of device names. The pointer should be freed later with {FLIFreeList()}. Each device name in the returned list includes the filename needed by {FLIOpen()}, a separating semicolon, followed by the model name or user assigned device name.

Parameters
domainDomain to list the devices of. This is a bitwise ORed combination of interface method and device type. Valid interfaces include {FLIDOMAIN_PARALLEL_PORT}, {FLIDOMAIN_USB}, {FLIDOMAIN_SERIAL}, and {FLIDOMAIN_INET}. Valid device types include {FLIDEVICE_CAMERA}, {FLIDOMAIN_FILTERWHEEL}, and {FLIDOMAIN_FOCUSER}.
namesPointer to where the device name list will be placed.
Returns
Zero on success.
Non-zero on failure.
See also
flidomain_t
FLIFreeList
FLIOpen

◆ FLIListFirst()

LIBFLIAPI FLIListFirst ( flidomain_t domain,
char *  filename,
size_t  fnlen,
char *  name,
size_t  namelen 
)

Obtains the first device in the list.

Use this function to get the first {domain}, {filename} and {name} from the list of attached FLI devices created using the function {FLICreateList()}. Use {FLIListNext()} to obtain more found devices.

Parameters
domainPointer to where to domain of the device will be placed.
filenamePointer to where the filename of the device will be placed.
fnlenLength of the supplied buffer to hold the filename.
namePointer to where the name of the device will be placed.
namelenLength of the supplied buffer to hold the name.
Returns
Zero on success.
Non-zero on failure.
See also
FLICreateList
FLIDeleteList
FLIListNext

◆ FLIListNext()

LIBFLIAPI FLIListNext ( flidomain_t domain,
char *  filename,
size_t  fnlen,
char *  name,
size_t  namelen 
)

Obtains the next device in the list.

Use this function to get the next {domain}, {filename} and {name} from the list of attached FLI devices created using the function {FLICreateList()}.

Parameters
domainPointer to where to domain of the device will be placed.
filenamePointer to where the filename of the device will be placed.
fnlenLength of the supplied buffer to hold the filename.
namePointer to where the name of the device will be placed.
namelenLength of the supplied buffer to hold the name.
Returns
Zero on success.
Non-zero on failure.
See also
FLICreateList
FLIDeleteList
FLIListFirst

◆ FLILockDevice()

LIBFLIAPI FLILockDevice ( flidev_t  dev)

Lock a specified device.

This function establishes an exclusive lock (mutex) on the given device to prevent access to the device by any other function or process.

Parameters
devDevice to lock.
Returns
Zero on success.
Non-zero on failure.
See also
FLIUnlockDevice

◆ FLIOpen()

LIBFLIAPI FLIOpen ( flidev_t dev,
char *  name,
flidomain_t  domain 
)

Get a handle to an FLI device.

This function requires the filename and domain of the requested device. Valid device filenames can be obtained using the {FLIList()} function. An application may use any number of handles associated with the same physical device. When doing so, it is important to lock the appropriate device to ensure that multiple accesses to the same device do not occur during critical operations.

Parameters
devPointer to where a device handle will be placed.
namePointer to a string where the device filename to be opened is stored. For parallel port devices that are not probed by {FLIList()} (Windows 95/98/Me), place the address of the parallel port in a string in ascii form ie: "0x378".
domainDomain to apply to {name} for device opening. This is a bitwise ORed combination of interface method and device type. Valid interfaces include {FLIDOMAIN_PARALLEL_PORT}, {FLIDOMAIN_USB}, {FLIDOMAIN_SERIAL}, and {FLIDOMAIN_INET}. Valid device types include {FLIDEVICE_CAMERA}, {FLIDOMAIN_FILTERWHEEL}, and {FLIDOMAIN_FOCUSER}.
Returns
Zero on success.
Non-zero on failure.
See also
FLIList
FLIClose
flidomain_t

◆ FLIReadIOPort()

LIBFLIAPI FLIReadIOPort ( flidev_t  dev,
long ioportset 
)

Read the I/O port of a given camera.

This function reads the I/O port on camera {dev} and places the value in the location pointed to by {ioportset}.

Parameters
devCamera to read the I/O port of.
ioportsetPointer to where the I/O port data will be stored.
Returns
Zero on success.
Non-zero on failure.
See also
FLIWriteIOPort
FLIConfigureIOPort

◆ FLIReadTemperature()

LIBFLIAPI FLIReadTemperature ( flidev_t  dev,
flichannel_t  channel,
double *  temperature 
)

Retreive temperature from the FLI focuser {dev}.

Valid channels are {FLI_TEMPERATURE_INTERNAL} and {FLI_TEMPERATURE_EXTERNAL}.

Parameters
devFocuser device handle.
channelChannel to be read.
extentPointer to where the channel temperature will be placed.
Returns
Zero on success.
Non-zero on failure.

◆ FLIReadUserEEPROM()

LIBFLIAPI FLIReadUserEEPROM ( flidev_t  dev,
long  loc,
long  address,
long  length,
void *  rbuf 
)

◆ FLISetActiveWheel()

LIBFLIAPI FLISetActiveWheel ( flidev_t  dev,
long  wheel 
)

◆ FLISetBitDepth()

LIBFLIAPI FLISetBitDepth ( flidev_t  dev,
flibitdepth_t  bitdepth 
)

Set the gray-scale bit depth for a given camera.

This function sets the gray-scale bit depth of camera {dev} to {bitdepth}. The {bitdepth} parameter is either {FLI_MODE_8BIT} for 8-bit mode or {FLI_MODE_16BIT} for 16-bit mode. Many cameras do not support this mode.

Parameters
devCamera to set the bit depth of.
bitdepthGray-scale bit depth: {FLI_MODE_8BIT} or {FLI_MODE_16BIT}.
Returns
Zero on success.
Non-zero on failure.
See also
flibitdepth_t
FLIExposeFrame

◆ FLISetCameraMode()

LIBFLIAPI FLISetCameraMode ( flidev_t  dev,
flimode_t  mode_index 
)

◆ FLISetDAC()

LIBFLIAPI FLISetDAC ( flidev_t  dev,
unsigned long  dacset 
)

◆ FLISetDebugLevel()

LIBFLIAPI FLISetDebugLevel ( char *  host,
flidebug_t  level 
)

Enable debugging of API operations and communications.

Use this function in combination with FLIDebug to assist in diagnosing problems that may be encountered during programming.

When usings Microsoft Windows operating systems, creating an empty file C:\FLIDBG.TXT will override this option. All debug output will then be directed to this file.

Parameters
hostName of the file to send debugging information to. This parameter is ignored under Linux where {syslog(3)} is used to send debug messages (see {syslog.conf(5)} for how to configure syslogd).
levelDebug level. A value of {FLIDEBUG_NONE} disables debugging. Values of {FLIDEBUG_FAIL}, {FLIDEBUG_WARN}, and {FLIDEBUG_INFO} enable progressively more verbose debug messages.
Returns
Zero on success.
Non-zero on failure.

◆ FLISetExposureTime()

LIBFLIAPI FLISetExposureTime ( flidev_t  dev,
long  exptime 
)

Set the exposure time for a camera.

This function sets the exposure time for the camera {dev} to {exptime} msec.

Parameters
devCamera to set the exposure time of.
exptimeExposure time in msec.
Returns
Zero on success.
Non-zero on failure.
See also
FLIExposeFrame
FLICancelExposure
FLIGetExposureStatus

◆ FLISetFanSpeed()

LIBFLIAPI FLISetFanSpeed ( flidev_t  dev,
long  fan_speed 
)

◆ FLISetFilterPos()

LIBFLIAPI FLISetFilterPos ( flidev_t  dev,
long  filter 
)

Set the filter wheel position of a given device.

Use this function to set the filter wheel position of {dev} to {filter}.

Parameters
devFilter wheel device handle.
filterDesired filter wheel position.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetFilterPos

◆ FLISetFrameType()

LIBFLIAPI FLISetFrameType ( flidev_t  dev,
fliframe_t  frametype 
)

Set the frame type for a given camera.

This function sets the frame type for camera {dev} to {frametype}. The {frametype} parameter is either {FLI_FRAME_TYPE_NORMAL} for a normal frame where the shutter opens or {FLI_FRAME_TYPE_DARK} for a dark frame where the shutter remains closed.

Parameters
camCamera to set the frame type of.
frametypeFrame type: {FLI_FRAME_TYPE_NORMAL} or {FLI_FRAME_TYPE_DARK}.
Returns
Zero on success.
Non-zero on failure.
See also
fliframe_t
FLIExposeFrame

◆ FLISetHBin()

LIBFLIAPI FLISetHBin ( flidev_t  dev,
long  hbin 
)

Set the horizontal bin factor for a given camera.

This function sets the horizontal bin factor for the camera {dev} to {hbin}. The valid range of the {hbin} parameter is from 1 to 16.

Parameters
devCamera to set horizontal bin factor of.
hbinHorizontal bin factor.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetVBin
FLISetImageArea

◆ FLISetImageArea()

LIBFLIAPI FLISetImageArea ( flidev_t  dev,
long  ul_x,
long  ul_y,
long  lr_x,
long  lr_y 
)

Set the image area for a given camera.

This function sets the image area for camera {dev} to an area specified in terms of a upper-left point and a lower-right point. The upper-left x-coordinate is {ul_x}, the upper-left y-coordinate is {ul_y}, the lower-right x-coordinate is {lr_x}, and the lower-right y-coordinate is {lr_y}. Note that the given lower-right coordinate must take into account the horizontal and vertical bin factor settings, but the upper-left coordinate is absolute. In other words, the lower-right coordinate used to set the image area is a virtual point $(lr_x', lr_y')$ determined by:

[ lr_x' = ul_x + (lr_x - ul_x) / hbin ] [ lr_y' = ul_y + (lr_y - ul_y) / vbin ]

Where $(lr_x', lr_y')$ is the coordinate to pass to the {FLISetImageArea} function, $(ul_x, ul_y)$ and $(lr_x, lr_y)$ are the absolute coordinates of the desired image area, $hbin$ is the horizontal bin factor, and $vbin$ is the vertical bin factor.

Parameters
devCamera to set image area of.
ul_xUpper-left x-coordinate of image area.
ul_yUpper-left y-coordinate of image area.
lr_xLower-right x-coordinate of image area ($lr_x'$ from above).
lr_yLower-right y-coordinate of image area ($lr_y'$ from above).
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetVisibleArea
FLIGetArrayArea

◆ FLISetNFlushes()

LIBFLIAPI FLISetNFlushes ( flidev_t  dev,
long  nflushes 
)

Set the number of flushes for a given camera.

This function sets the number of times the CCD array of camera {dev} is flushed by the FLIExposeFrame {before} exposing a frame to {nflushes}. The valid range of the {nflushes} parameter is from 0 to 16. Some FLI cameras support background flushing. Background flushing continuously flushes the CCD eliminating the need for pre-exposure flushing.

Parameters
devCamera to set the number of flushes of.
nflushesNumber of times to flush CCD array before an exposure.
Returns
Zero on success.
Non-zero on failure.
See also
FLIFlushRow
FLIExposeFrame
FLIControlBackgroundFlush

◆ FLISetTDI()

LIBFLIAPI FLISetTDI ( flidev_t  dev,
flitdirate_t  tdi_rate,
flitdiflags_t  flags 
)

◆ FLISetTemperature()

LIBFLIAPI FLISetTemperature ( flidev_t  dev,
double  temperature 
)

Set the temperature of a given camera.

This function sets the temperature of the CCD camera {dev} to {temperature} degrees Celsius. The valid range of the {temperature} parameter is from -55 C to 45 C.

Parameters
devCamera device to set the temperature of.
temperatureTemperature in Celsius to set CCD camera cold finger to.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetTemperature

◆ FLISetVBin()

LIBFLIAPI FLISetVBin ( flidev_t  dev,
long  vbin 
)

Set the vertical bin factor for a given camera.

This function sets the vertical bin factor for the camera {dev} to {vbin}. The valid range of the {vbin} parameter is from 1 to 16.

Parameters
devCamera to set vertical bin factor of.
vbinVertical bin factor.
Returns
Zero on success.
Non-zero on failure.
See also
FLISetHBin
FLISetImageArea

◆ FLISetVerticalTableEntry()

LIBFLIAPI FLISetVerticalTableEntry ( flidev_t  dev,
long  index,
long  height,
long  bin,
long  mode 
)

◆ FLIStartVideoMode()

LIBFLIAPI FLIStartVideoMode ( flidev_t  dev)

◆ FLIStepMotor()

LIBFLIAPI FLIStepMotor ( flidev_t  dev,
long  steps 
)

Step the filter wheel or focuser motor of a given device.

Use this function to move the focuser or filter wheel {dev} by an amount {steps}.

Parameters
devFilter wheel or focuser device handle.
stepsNumber of steps to move the focuser or filter wheel.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetStepperPosition

◆ FLIStepMotorAsync()

LIBFLIAPI FLIStepMotorAsync ( flidev_t  dev,
long  steps 
)

Step the filter wheel or focuser motor of a given device.

Use this function to move the focuser or filter wheel {dev} by an amount {steps}. This function is non-blocking.

Parameters
devFilter wheel or focuser device handle.
stepsNumber of steps to move the focuser or filter wheel.
Returns
Zero on success.
Non-zero on failure.
See also
FLIGetStepperPosition

◆ FLIStopVideoMode()

LIBFLIAPI FLIStopVideoMode ( flidev_t  dev)

◆ FLITriggerExposure()

LIBFLIAPI FLITriggerExposure ( flidev_t  dev)

Trigger an exposure that is awaiting an external trigger.

This is a software override for the external trigger option.

Parameters
devCamera to trigger the exposure of.
Returns
Zero on success.
Non-zero on failure.
See also
FLIExposeFrame
FLICancelExposure
FLIEndExposure
FLIGetExposureStatus
FLISetExposureTime

◆ FLIUnlockDevice()

LIBFLIAPI FLIUnlockDevice ( flidev_t  dev)

Unlock a specified device.

This function releases a previously established exclusive lock (mutex) on the given device to allow access to the device by any other function or process.

Parameters
devDevice to unlock.
Returns
Zero on success.
Non-zero on failure.
See also
FLILockDevice

◆ FLIUsbBulkIO()

LIBFLIAPI FLIUsbBulkIO ( flidev_t  dev,
int  ep,
void *  buf,
long len 
)

◆ FLIWriteIOPort()

LIBFLIAPI FLIWriteIOPort ( flidev_t  dev,
long  ioportset 
)

Write to the I/O port of a given camera.

This function writes the value {ioportset} to the I/O port on camera {dev}.

Parameters
devCamera to write I/O port of.
ioportsetData to be written to the I/O port.
Returns
Zero on success.
Non-zero on failure.
See also
FLIReadIOPort
FLIConfigureIOPort

◆ FLIWriteUserEEPROM()

LIBFLIAPI FLIWriteUserEEPROM ( flidev_t  dev,
long  loc,
long  address,
long  length,
void *  wbuf 
)