TwiceAsNice
2019-02-18
|
#include <sys/types.h>
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) |
#define FLI_BGFLUSH_START (0x0001) |
#define FLI_BGFLUSH_STOP (0x0000) |
#define FLI_CAMERA_DATA_READY (0x80000000) |
#define FLI_CAMERA_STATUS_EXPOSING (0x02) |
#define FLI_CAMERA_STATUS_IDLE (0x00) |
#define FLI_CAMERA_STATUS_MASK (0x00000003) |
#define FLI_CAMERA_STATUS_READING_CCD (0x03) |
#define FLI_CAMERA_STATUS_UNKNOWN (0xffffffff) |
#define FLI_CAMERA_STATUS_WAITING_FOR_TRIGGER (0x01) |
#define FLI_EEPROM_PIXEL_MAP (0x01) |
#define FLI_EEPROM_USER (0x00) |
#define FLI_FAN_SPEED_OFF (0x00) |
#define FLI_FAN_SPEED_ON (0xffffffff) |
#define FLI_FILTER_POSITION_CURRENT (0x200) |
#define FLI_FILTER_POSITION_UNKNOWN (0xff) |
#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 FLI_FILTER_STATUS_HOMING (0x00000004) |
#define FLI_FILTER_STATUS_MOVING_CCW (0x01) |
#define FLI_FILTER_STATUS_MOVING_CW (0x02) |
#define FLI_FILTER_WHEEL_LEFT (FLI_FILTER_WHEEL_PHYSICAL | 0x00) |
#define FLI_FILTER_WHEEL_PHYSICAL (0x100) |
#define FLI_FILTER_WHEEL_RIGHT (FLI_FILTER_WHEEL_PHYSICAL | 0x01) |
#define FLI_FILTER_WHEEL_VIRTUAL (0) |
#define FLI_FOCUSER_STATUS_HOME (0x00000080) |
#define FLI_FOCUSER_STATUS_HOMING (0x00000004) |
#define FLI_FOCUSER_STATUS_LEGACY (0x10000000) |
#define FLI_FOCUSER_STATUS_LIMIT (0x00000040) |
#define FLI_FOCUSER_STATUS_MOVING_IN (0x00000001) |
#define FLI_FOCUSER_STATUS_MOVING_MASK (0x00000007) |
#define FLI_FOCUSER_STATUS_MOVING_OUT (0x00000002) |
#define FLI_FOCUSER_STATUS_UNKNOWN (0xffffffff) |
#define FLI_FRAME_TYPE_DARK (1) |
#define FLI_FRAME_TYPE_FLOOD (2) |
#define FLI_FRAME_TYPE_NORMAL (0) |
#define FLI_FRAME_TYPE_RBI_FLUSH (FLI_FRAME_TYPE_FLOOD | FLI_FRAME_TYPE_DARK) |
#define FLI_INVALID_DEVICE (-1) |
An opaque handle used by library functions to refer to FLI hardware.
#define FLI_IO_P0 (0x01) |
#define FLI_IO_P1 (0x02) |
#define FLI_IO_P2 (0x04) |
#define FLI_IO_P3 (0x08) |
#define FLI_MODE_16BIT (1) |
#define FLI_MODE_8BIT (0) |
#define FLI_PIXEL_DEFECT_CLUSTER (0x10) |
#define FLI_PIXEL_DEFECT_COLUMN (0x00) |
#define FLI_PIXEL_DEFECT_POINT_BRIGHT (0x20) |
#define FLI_PIXEL_DEFECT_POINT_DARK (0x30) |
#define FLI_SHUTTER_CLOSE (0x0000) |
#define FLI_SHUTTER_EXTERNAL_EXPOSURE_CONTROL (0x0008) |
#define FLI_SHUTTER_EXTERNAL_TRIGGER (0x0002) |
#define FLI_SHUTTER_EXTERNAL_TRIGGER_HIGH (0x0004) |
#define FLI_SHUTTER_EXTERNAL_TRIGGER_LOW (0x0002) |
#define FLI_SHUTTER_OPEN (0x0001) |
#define FLI_TEMPERATURE_BASE (0x0001) |
#define FLI_TEMPERATURE_CCD (0x0000) |
#define FLI_TEMPERATURE_EXTERNAL (0x0001) |
#define FLI_TEMPERATURE_INTERNAL (0x0000) |
#define FLIDEBUG_ALL (FLIDEBUG_INFO | FLIDEBUG_WARN | FLIDEBUG_FAIL) |
#define FLIDEBUG_FAIL (0x04) |
#define FLIDEBUG_INFO (0x01) |
#define FLIDEBUG_IO (0x08) |
#define FLIDEBUG_NONE (0x00) |
#define FLIDEBUG_WARN (0x02) |
#define FLIDEVICE_CAMERA (0x100) |
#define FLIDEVICE_ENUMERATE_BY_CONNECTION (0x8000) |
#define FLIDEVICE_ENUMERATE_BY_SERIAL (0x8000) |
#define FLIDEVICE_FILTERWHEEL (0x200) |
#define FLIDEVICE_FOCUSER (0x300) |
#define FLIDEVICE_HS_FILTERWHEEL (0x0400) |
#define FLIDEVICE_NONE (0x000) |
#define FLIDEVICE_RAW (0x0f00) |
#define FLIDOMAIN_DEVICE_MASK (0x0f00) |
#define FLIDOMAIN_INET (0x04) |
#define FLIDOMAIN_INTERFACE_MASK (0x000f) |
#define FLIDOMAIN_NONE (0x00) |
#define FLIDOMAIN_OPTIONS_MASK (0xf000) |
#define FLIDOMAIN_PARALLEL_PORT (0x01) |
#define FLIDOMAIN_SERIAL (0x03) |
#define FLIDOMAIN_SERIAL_1200 (0x06) |
#define FLIDOMAIN_SERIAL_19200 (0x05) |
#define FLIDOMAIN_USB (0x02) |
#define LIBFLIAPI long |
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}.
typedef long flibitdepth_t |
The gray-scale bit depth for an FLI camera device.
Valid bit depths are {FLI_MODE_8BIT} and {FLI_MODE_16BIT}.
typedef long flichannel_t |
Type used to determine which temperature channel to read.
Valid channel types are {FLI_TEMPERATURE_INTERNAL} and {FLI_TEMPERATURE_EXTERNAL}.
typedef long flidebug_t |
Type specifying library debug levels.
Valid debug levels are {FLIDEBUG_NONE}, {FLIDEBUG_INFO}, {FLIDEBUG_WARN}, and {FLIDEBUG_FAIL}.
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}.
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}.
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}.
typedef long flistatus_t |
typedef long flitdiflags_t |
typedef long flitdirate_t |
Cancel an exposure for a given camera.
This function cancels an exposure in progress by closing the shutter.
dev | Camera to cancel the exposure of. |
Close a handle to a FLI device.
dev | The device handle to be closed. |
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.
dev | Camera to configure the I/O port of. |
ioportset | Data to configure the I/O port with. |
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.
dev | Device to control the background flushing of. |
bgflush | Enables 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. |
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.
dev | Device to control the shutter of. |
shutter | How 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. |
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.
domain | Domain to search for devices, set to zero to search all domains. This parameter must contain the device type. |
void FLIDebug | ( | int | level, |
char * | format, | ||
... | |||
) |
LIBFLIAPI FLIDeleteList | ( | void | ) |
Deletes a list of devices created by {FLICreateList()}.
End an exposure for a given camera.
This function causes the exposure to end and image download begins immediately.
dev | Camera to end the exposure of. |
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.
dev | Camera to expose the frame of. |
Flush rows of a given camera.
This function flushes {rows} rows of camera {dev} {repeat} times.
dev | Camera to flush rows of. |
rows | Number of rows to flush. |
repeat | Number of times to flush each row. |
LIBFLIAPI FLIFreeList | ( | char ** | names | ) |
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}.
dev | Camera to get the array area of. |
ul_x | Pointer to where the upper-left x-coordinate is to be placed. |
ul_y | Pointer to where the upper-left y-coordinate is to be placed. |
lr_x | Pointer to where the lower-right x-coordinate is to be placed. |
lr_y | Pointer to where the lower-right y-coordinate is to be placed. |
LIBFLIAPI FLIGetCameraModeString | ( | flidev_t | dev, |
flimode_t | mode_index, | ||
char * | mode_string, | ||
size_t | siz | ||
) |
Get the cooler power level.
The function places the current cooler power in percent in the location pointed to by {power}.
dev | Camera to find the cooler power of. |
timeleft | Pointer to where the cooler power (in percent) will be placed. |
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}.
dev | Camera to find the remaining exposure time of. |
timeleft | Pointer to where the remaining exposure time (in milliseonds) will be placed. |
Get the filter wheel filter count of a given device.
Use this function to get the filter count of filter wheel {dev}.
dev | Filter wheel device handle. |
filter | Pointer to where the filter wheel filter count will be placed. |
Get the filter wheel position of a given device.
Use this function to get the filter wheel position of {dev}.
dev | Filter wheel device handle. |
filter | Pointer to where the filter wheel position will be placed. |
Retreive the maximum extent for FLI focuser {dev}.
dev | Focuser device handle. |
extent | Pointer to where the maximum extent of the focuser will be placed. |
Get firmware revision of a given device.
dev | Device to find the firmware revision of. |
fwrev | Pointer to a long which will receive the firmware revision. |
Get the hardware revision of a given device.
dev | Device to find the hardware revision of. |
hwrev | Pointer to a long which will receive the hardware revision. |
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}.
ver | Pointer to a character buffer where the library version string is to be placed. |
len | The size in bytes of the buffer pointed to by {ver}. |
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}.
dev | Device to find model of. |
model | Pointer to a character buffer where the model string is to be placed. |
len | The size in bytes of buffer pointed to by {model}. |
Find the dimensions of a pixel in the array of the given device.
dev | Device to find the pixel size of. |
pixel_x | Pointer to a double which will receive the size (in microns) of a pixel in the x direction. |
pixel_y | Pointer to a double which will receive the size (in microns) of a pixel in the y direction. |
LIBFLIAPI FLIGetReadoutDimensions | ( | flidev_t | dev, |
long * | width, | ||
long * | hoffset, | ||
long * | hbin, | ||
long * | height, | ||
long * | voffset, | ||
long * | vbin | ||
) |
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}.
dev | Device to find serial of. |
serial | Pointer to a character buffer where the serial string is to be placed. |
len | The size in bytes of buffer pointed to by {serial}. |
Get the stepper motor position of a given device.
Use this function to read the stepper motor position of filter wheel or focuser {dev}.
dev | Filter wheel or focuser device handle. |
position | Pointer to where the postion of the stepper motor will be placed. |
Get the number of motor steps remaining.
Use this function to determine if the stepper motor of {dev} is still moving.
dev | Filter wheel device handle. |
filter | Pointer to where the number of remaning steps will be placed. |
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}.
dev | Camera device to get the temperature of. |
temperature | Pointer to where the temperature will be placed. |
LIBFLIAPI FLIGetVerticalTableEntry | ( | flidev_t | dev, |
long | index, | ||
long * | height, | ||
long * | bin, | ||
long * | mode | ||
) |
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}.
dev | Camera to get the visible area of. |
ul_x | Pointer to where the upper-left x-coordinate is to be placed. |
ul_y | Pointer to where the upper-left y-coordinate is to be placed. |
lr_x | Pointer to where the lower-right x-coordinate is to be placed. |
lr_y | Pointer to where the lower-right y-coordinate is to be placed. |
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.
dev | Camera whose image to grab the next available row from. |
buff | Pointer to where the next available row will be placed. |
width | Row width in pixels. |
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).
dev | Device handle. |
Home focuser {dev}.
The home position is closed as far as mechanically possiable.
dev | Focuser device handle. |
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.
domain | Domain 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}. |
names | Pointer to where the device name list will be placed. |
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.
domain | Pointer to where to domain of the device will be placed. |
filename | Pointer to where the filename of the device will be placed. |
fnlen | Length of the supplied buffer to hold the filename. |
name | Pointer to where the name of the device will be placed. |
namelen | Length of the supplied buffer to hold the name. |
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()}.
domain | Pointer to where to domain of the device will be placed. |
filename | Pointer to where the filename of the device will be placed. |
fnlen | Length of the supplied buffer to hold the filename. |
name | Pointer to where the name of the device will be placed. |
namelen | Length of the supplied buffer to hold the name. |
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.
dev | Device to lock. |
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.
dev | Pointer to where a device handle will be placed. |
name | Pointer 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". |
domain | Domain 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}. |
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}.
dev | Camera to read the I/O port of. |
ioportset | Pointer to where the I/O port data will be stored. |
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}.
dev | Focuser device handle. |
channel | Channel to be read. |
extent | Pointer to where the channel temperature will be placed. |
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.
dev | Camera to set the bit depth of. |
bitdepth | Gray-scale bit depth: {FLI_MODE_8BIT} or {FLI_MODE_16BIT}. |
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.
host | Name 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). |
level | Debug level. A value of {FLIDEBUG_NONE} disables debugging. Values of {FLIDEBUG_FAIL}, {FLIDEBUG_WARN}, and {FLIDEBUG_INFO} enable progressively more verbose debug messages. |
Set the exposure time for a camera.
This function sets the exposure time for the camera {dev} to {exptime} msec.
dev | Camera to set the exposure time of. |
exptime | Exposure time in msec. |
Set the filter wheel position of a given device.
Use this function to set the filter wheel position of {dev} to {filter}.
dev | Filter wheel device handle. |
filter | Desired filter wheel position. |
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.
cam | Camera to set the frame type of. |
frametype | Frame type: {FLI_FRAME_TYPE_NORMAL} or {FLI_FRAME_TYPE_DARK}. |
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.
dev | Camera to set horizontal bin factor of. |
hbin | Horizontal bin factor. |
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.
dev | Camera to set image area of. |
ul_x | Upper-left x-coordinate of image area. |
ul_y | Upper-left y-coordinate of image area. |
lr_x | Lower-right x-coordinate of image area ($lr_x'$ from above). |
lr_y | Lower-right y-coordinate of image area ($lr_y'$ from above). |
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.
dev | Camera to set the number of flushes of. |
nflushes | Number of times to flush CCD array before an exposure. |
LIBFLIAPI FLISetTDI | ( | flidev_t | dev, |
flitdirate_t | tdi_rate, | ||
flitdiflags_t | flags | ||
) |
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.
dev | Camera device to set the temperature of. |
temperature | Temperature in Celsius to set CCD camera cold finger to. |
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.
dev | Camera to set vertical bin factor of. |
vbin | Vertical bin factor. |
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}.
dev | Filter wheel or focuser device handle. |
steps | Number of steps to move the focuser or filter wheel. |
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.
dev | Filter wheel or focuser device handle. |
steps | Number of steps to move the focuser or filter wheel. |
Trigger an exposure that is awaiting an external trigger.
This is a software override for the external trigger option.
dev | Camera to trigger the exposure of. |
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.
dev | Device to unlock. |
Write to the I/O port of a given camera.
This function writes the value {ioportset} to the I/O port on camera {dev}.
dev | Camera to write I/O port of. |
ioportset | Data to be written to the I/O port. |