TwiceAsNice
2019-02-18
|
#include "sxccdusb.h"
#include <indidevapi.h>
#include <memory>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <config-usb.h>
Functions | |
static char * | libusb_error_name (int rc) |
void | log (bool debug, const char *fmt,...) |
static void | init () |
void | sxDebug (bool enable) |
bool | sxIsInterlaced (short model) |
bool | sxIsColor (short model) |
bool | sxIsICX453 (short model) |
int | sxList (DEVICE *sxDevices, const char **names, int maxCount) |
int | sxOpen (DEVICE sxDevice, HANDLE *sxHandle) |
int | sxOpen (HANDLE *sxHandles) |
void | sxClose (HANDLE *sxHandle) |
int | sxReset (HANDLE sxHandle) |
unsigned short | sxGetCameraModel (HANDLE sxHandle) |
unsigned long | sxGetFirmwareVersion (HANDLE sxHandle) |
unsigned short | sxGetBuildNumber (HANDLE sxHandle) |
int | sxGetCameraParams (HANDLE sxHandle, unsigned short camIndex, struct t_sxccd_params *params) |
int | sxSetShutter (HANDLE sxHandle, unsigned short state) |
int | sxSetTimer (HANDLE sxHandle, unsigned long msec) |
unsigned long | sxGetTimer (HANDLE sxHandle) |
int | sxSetCooler (HANDLE sxHandle, unsigned char setStatus, unsigned short setTemp, unsigned char *retStatus, unsigned short *retTemp) |
int | sxClearPixels (HANDLE sxHandle, unsigned short flags, unsigned short camIndex) |
int | sxLatchPixels (HANDLE sxHandle, unsigned short flags, unsigned short camIndex, unsigned short xoffset, unsigned short yoffset, unsigned short width, unsigned short height, unsigned short xbin, unsigned short ybin) |
int | sxExposePixels (HANDLE sxHandle, unsigned short flags, unsigned short camIndex, unsigned short xoffset, unsigned short yoffset, unsigned short width, unsigned short height, unsigned short xbin, unsigned short ybin, unsigned long msec) |
int | sxExposePixelsGated (HANDLE sxHandle, unsigned short flags, unsigned short camIndex, unsigned short xoffset, unsigned short yoffset, unsigned short width, unsigned short height, unsigned short xbin, unsigned short ybin, unsigned long msec) |
int | sxReadPixels (HANDLE sxHandle, void *pixels, unsigned long count) |
int | sxSetSTAR2000 (HANDLE sxHandle, char star2k) |
int | sxSetSerialPort (HANDLE sxHandle, unsigned short portIndex, unsigned short property, unsigned short value) |
unsigned short | sxGetSerialPort (HANDLE sxHandle, unsigned short portIndex, unsigned short property) |
int | sxWriteSerialPort (HANDLE sxHandle, unsigned short portIndex, unsigned short flush, unsigned short count, char *data) |
int | sxReadSerialPort (HANDLE sxHandle, unsigned short portIndex, unsigned short count, char *data) |
int | sxReadEEPROM (HANDLE sxHandle, unsigned short address, unsigned short count, char *data) |
Variables | |
struct { | |
int pid | |
const char * name | |
int seq | |
} | SX_PIDS [] |
libusb_context * | ctx = nullptr |
static bool | debugEnabled = false |
#define BULK_COMMAND_TIMEOUT 2000 |
#define BULK_DATA_TIMEOUT 10000 |
#define BULK_IN 0x0082 |
#define BULK_OUT 0x0001 |
#define CHUNK_SIZE (10*1024*1024) |
#define DEBUG | ( | c | ) | (c) |
#define SX_USB_NAME "SX-USB" |
#define SX_USB_PID 0x4220 |
#define SX_USB_VID 0x4444 |
#define SX_VID 0x1278 |
#define SXUSB_BUILD_NUMBER 19 |
#define SXUSB_CAMERA_MODEL 14 |
#define SXUSB_CLEAR_PIXELS 1 |
#define SXUSB_COOLER 30 |
#define SXUSB_COOLER_CONTROL 30 |
#define SXUSB_COOLER_TEMPERATURE 31 |
#define SXUSB_ECHO 0 |
#define SXUSB_GET_CCD 8 |
#define SXUSB_GET_FIRMWARE_VERSION 255 |
#define SXUSB_GET_SERIAL 13 |
#define SXUSB_GET_TIMER 5 |
#define SXUSB_LOAD_EEPROM 15 |
#define SXUSB_READ_I2CPORT 33 |
#define SXUSB_READ_PIXELS 3 |
#define SXUSB_READ_PIXELS_DELAYED 2 |
#define SXUSB_READ_PIXELS_GATED 18 |
#define SXUSB_READ_SERIAL_PORT 11 |
#define SXUSB_RED_A2D 17 |
#define SXUSB_RESET 6 |
#define SXUSB_SET_A2D 16 |
#define SXUSB_SET_CCD 7 |
#define SXUSB_SET_SERIAL 12 |
#define SXUSB_SET_STAR2K 9 |
#define SXUSB_SET_TIMER 4 |
#define SXUSB_SHUTTER 32 |
#define SXUSB_SHUTTER_CONTROL 32 |
#define SXUSB_WRITE_SERIAL_PORT 10 |
#define TRACE | ( | c | ) | (c) |
#define USB_DATAIN 0x80 |
#define USB_DATAOUT 0x00 |
#define USB_REQ 1 |
#define USB_REQ_DATA 8 |
#define USB_REQ_DATAIN 0x80 |
#define USB_REQ_DATAOUT 0x00 |
#define USB_REQ_DEVICE 0x00 |
#define USB_REQ_DIR | ( | r | ) | ((r) & (1 << 7)) |
#define USB_REQ_ENDPOINT 0x02 |
#define USB_REQ_IFACE 0x01 |
#define USB_REQ_INDEX_H 5 |
#define USB_REQ_INDEX_L 4 |
#define USB_REQ_KIND | ( | r | ) | ((r) & (3 << 5)) |
#define USB_REQ_LENGTH_H 7 |
#define USB_REQ_LENGTH_L 6 |
#define USB_REQ_RECIP | ( | r | ) | ((r)&31) |
#define USB_REQ_STD 0 |
#define USB_REQ_TYPE 0 |
#define USB_REQ_VALUE_H 3 |
#define USB_REQ_VALUE_L 2 |
#define USB_REQ_VENDOR (2 << 5) |
|
static |
|
static |
int sxClearPixels | ( | HANDLE | sxHandle, |
unsigned short | flags, | ||
unsigned short | camIndex | ||
) |
void sxClose | ( | HANDLE * | sxHandle | ) |
void sxDebug | ( | bool | enable | ) |
int sxExposePixels | ( | HANDLE | sxHandle, |
unsigned short | flags, | ||
unsigned short | camIndex, | ||
unsigned short | xoffset, | ||
unsigned short | yoffset, | ||
unsigned short | width, | ||
unsigned short | height, | ||
unsigned short | xbin, | ||
unsigned short | ybin, | ||
unsigned long | msec | ||
) |
int sxExposePixelsGated | ( | HANDLE | sxHandle, |
unsigned short | flags, | ||
unsigned short | camIndex, | ||
unsigned short | xoffset, | ||
unsigned short | yoffset, | ||
unsigned short | width, | ||
unsigned short | height, | ||
unsigned short | xbin, | ||
unsigned short | ybin, | ||
unsigned long | msec | ||
) |
unsigned short sxGetBuildNumber | ( | HANDLE | sxHandle | ) |
unsigned short sxGetCameraModel | ( | HANDLE | sxHandle | ) |
int sxGetCameraParams | ( | HANDLE | sxHandle, |
unsigned short | camIndex, | ||
struct t_sxccd_params * | params | ||
) |
unsigned short sxGetSerialPort | ( | HANDLE | sxHandle, |
unsigned short | portIndex, | ||
unsigned short | property | ||
) |
bool sxIsColor | ( | short | model | ) |
bool sxIsICX453 | ( | short | model | ) |
bool sxIsInterlaced | ( | short | model | ) |
int sxLatchPixels | ( | HANDLE | sxHandle, |
unsigned short | flags, | ||
unsigned short | camIndex, | ||
unsigned short | xoffset, | ||
unsigned short | yoffset, | ||
unsigned short | width, | ||
unsigned short | height, | ||
unsigned short | xbin, | ||
unsigned short | ybin | ||
) |
int sxOpen | ( | HANDLE * | sxHandles | ) |
int sxReadEEPROM | ( | HANDLE | sxHandle, |
unsigned short | address, | ||
unsigned short | count, | ||
char * | data | ||
) |
int sxReadSerialPort | ( | HANDLE | sxHandle, |
unsigned short | portIndex, | ||
unsigned short | count, | ||
char * | data | ||
) |
int sxReset | ( | HANDLE | sxHandle | ) |
int sxSetCooler | ( | HANDLE | sxHandle, |
unsigned char | setStatus, | ||
unsigned short | setTemp, | ||
unsigned char * | retStatus, | ||
unsigned short * | retTemp | ||
) |
int sxSetSerialPort | ( | HANDLE | sxHandle, |
unsigned short | portIndex, | ||
unsigned short | property, | ||
unsigned short | value | ||
) |
int sxSetShutter | ( | HANDLE | sxHandle, |
unsigned short | state | ||
) |
int sxSetSTAR2000 | ( | HANDLE | sxHandle, |
char | star2k | ||
) |
int sxWriteSerialPort | ( | HANDLE | sxHandle, |
unsigned short | portIndex, | ||
unsigned short | flush, | ||
unsigned short | count, | ||
char * | data | ||
) |
libusb_context* ctx = nullptr |
const char* name |
int pid |
int seq |
struct { ... } SX_PIDS[] |