diff options
Diffstat (limited to 'kstars/kstars/indi/fli/libfli-camera-parport.h')
-rw-r--r-- | kstars/kstars/indi/fli/libfli-camera-parport.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/kstars/kstars/indi/fli/libfli-camera-parport.h b/kstars/kstars/indi/fli/libfli-camera-parport.h new file mode 100644 index 00000000..12745098 --- /dev/null +++ b/kstars/kstars/indi/fli/libfli-camera-parport.h @@ -0,0 +1,102 @@ +/* + + Copyright (c) 2002 Finger Lakes Instrumentation (FLI), L.L.C. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + Neither the name of Finger Lakes Instrumentation (FLI), LLC + nor the names of its contributors may be used to endorse or + promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + ====================================================================== + + Finger Lakes Instrumentation, L.L.C. (FLI) + web: http://www.fli-cam.com + email: support@fli-cam.com + +*/ + +#ifndef _LIBFLI_CAMERA_PARPORT_H_ +#define _LIBFLI_CAMERA_PARPORT_H_ + +/* Define command and data word formats */ +#define C_ADDRESS(addr,ext) (0x8000|(((addr)<<8)&0x0f00)|((ext)&0x00ff)) +#define C_RESTCFG(gain,chnl,exttrig,res) (0x9000|(((gain)<<8)&0x0f00)|(((chnl)<<5)&0x00e0)|(((exttrig)<<4)&0x0010)|(((res)&0x000f))) +#define C_SHUTTER(open,dmult) (0xa000|((dmult)&0x07ff)|(((open)<<11)&0x0800)) +#define C_SEND(x) (0xb000|((x)&0x0fff)) +#define C_FLUSH(x) (0xc000|((x)&0x0fff)) +#define C_VSKIP(x) (0xd000|((x)&0x0fff)) +#define C_HSKIP(x) (0xe000|((x)&0x0fff)) +#define C_TEMP(x) (0xf000|((x)&0x0fff)) +#define D_XROWOFF(x) (0x0000|((x)&0x0fff)) +#define D_XROWWID(x) (0x1000|((x)&0x0fff)) +#define D_XFLBIN(x) (0x2000|((x)&0x0fff)) +#define D_YFLBIN(x) (0x3000|((x)&0x0fff)) +#define D_XBIN(x) (0x4000|((x)&0x0fff)) +#define D_YBIN(x) (0x5000|((x)&0x0fff)) +#define D_EXPDUR(x) (0x6000|((x)&0x0fff)) +#define D_RESERVE(x) (0x7000|((x)&0x0fff)) + +/* Define extended parameter fields for querying camera */ +#define EPARAM_ECHO (0x00) +#define EPARAM_CCDID (0x01) +#define EPARAM_FIRM (0x02) +#define EPARAM_SNHIGH (0x03) +#define EPARAM_SNLOW (0x04) +#define EPARAM_SIGGAIN (0x05) +#define EPARAM_DEVICE (0x06) + +/* I/O Bit definitions */ +#define FLICCD_IO_P0 (0x01) +#define FLICCD_IO_P1 (0x02) +#define FLICCD_IO_P2 (0x04) +#define FLICCD_IO_P3 (0x08) + +long fli_camera_parport_open(flidev_t dev); +long fli_camera_parport_get_array_area(flidev_t dev, long *ul_x, long *ul_y, + long *lr_x, long *lr_y); +long fli_camera_parport_get_visible_area(flidev_t dev, long *ul_x, long *ul_y, + long *lr_x, long *lr_y); +long fli_camera_parport_set_exposure_time(flidev_t dev, long exptime); +long fli_camera_parport_set_image_area(flidev_t dev, long ul_x, long ul_y, + long lr_x, long lr_y); +long fli_camera_parport_set_hbin(flidev_t dev, long hbin); +long fli_camera_parport_set_vbin(flidev_t dev, long vbin); +long fli_camera_parport_get_exposure_status(flidev_t dev, long *timeleft); +long fli_camera_parport_set_temperature(flidev_t dev, double temperature); +long fli_camera_parport_get_temperature(flidev_t dev, double *temperature); +long fli_camera_parport_grab_row(flidev_t dev, void *buf, size_t width); +long fli_camera_parport_expose_frame(flidev_t dev); +long fli_camera_parport_flush_rows(flidev_t dev, long rows, long repeat); +long fli_camera_parport_set_bit_depth(flidev_t dev, flibitdepth_t bitdepth); +long fli_camera_parport_read_ioport(flidev_t dev, long *ioportset); +long fli_camera_parport_write_ioport(flidev_t dev, long ioportset); +long fli_camera_parport_configure_ioport(flidev_t dev, long ioportset); +long fli_camera_parport_control_shutter(flidev_t dev, long shutter); + +#endif /* _LIBFLI_CAMERA_PARPORT_H_ */ |