summaryrefslogtreecommitdiff
path: root/include/qhy/QGigE.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/qhy/QGigE.h')
-rw-r--r--include/qhy/QGigE.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/include/qhy/QGigE.h b/include/qhy/QGigE.h
new file mode 100644
index 0000000..00bd9e2
--- /dev/null
+++ b/include/qhy/QGigE.h
@@ -0,0 +1,80 @@
+#ifndef _Q_GIGE_H_
+#define _Q_GIGE_H_
+
+#include "stdint.h"
+#include "qhyccdstruct.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define QGIGE_MAXCAMERACOUNT 16
+
+
+#define QGIGE_CAMTYPE_UNKNOWN DEVICETYPE_UNKNOW
+#define QGIGE_CAMTYPE_SOLAR800G DEVICETYPE_SOLAR800G
+#define QGIGE_CAMTYPE_QHY15 DEVICETYPE_QHY15G
+#define QGIGE_CAMTYPE_A0340 DEVICETYPE_A0340G
+#define QGIGE_CAMTYPE_A08050 DEVICETYPE_QHY08050G
+#define QGIGE_CAMTYPE_TEST694 DEVICETYPE_QHY694G
+#define QGIGE_CAMTYPE_TEST16050 DEVICETYPE_QHY27G
+#define QGIGE_CAMTYPE_TEST814 DEVICETYPE_QHY23G
+#define QGIGE_CAMTYPE_A16000 DEVICETYPE_QHY16000G
+#define QGIGE_CAMTYPE_A814 DEVICETYPE_QHY814G
+#define QGIGE_CAMTYPE_A45GX DEVICETYPE_QHY45GX
+
+
+#define QGIGE_DEPTH_8BIT 10
+#define QGIGE_DEPTH_16BIT 20
+
+#define QGIGE_READOUTSPEED_HIGH 10
+#define QGIGE_READOUTSPEED_MEDIUM 20
+#define QGIGE_READOUTSPEED_LOW 30
+
+#ifdef WIN32
+void __stdcall QGigEInit(HANDLE* hGigEList, uint32_t* pCamCount);
+void __stdcall QGigEUninit();
+
+uint32_t __stdcall QGigEGetCamType(HANDLE hGigE);
+GUID __stdcall QGigEGetCamGuid(HANDLE hGigE);
+
+bool __stdcall QGigESetBinning(HANDLE hGigE, uint8_t h, uint8_t v);
+bool __stdcall QGigESetDepth(HANDLE hGigE, uint8_t depth);
+bool __stdcall QGigESetReadoutSpeed(HANDLE hGigE, uint8_t readoutSpeed);
+bool __stdcall QGigESetExposure(HANDLE hGigE, double exp);
+bool __stdcall QGigESetGain(HANDLE hGigE, uint16_t gain);
+bool __stdcall QGigESetFinetune(HANDLE hGigE, uint8_t* finetune);
+bool __stdcall QGigESetRaw(HANDLE hGigE, bool raw);
+
+bool __stdcall QGigEBeginLive(HANDLE hGigE);
+bool __stdcall QGigEGetLiveFrame(HANDLE hGigE, void* data, uint32_t* pW, uint32_t* pH, uint32_t* pBpp);
+void __stdcall QGigEStopLive(HANDLE hGigE);
+bool __stdcall QGigECapture(HANDLE hGigE, void* data, uint32_t* pW, uint32_t* pH, uint32_t* pBpp);
+void __stdcall QGigEAbortCapture(HANDLE hGigE);
+
+bool __stdcall QGigESetTrigerFunction(HANDLE hGigE,bool value);
+
+bool __stdcall QGigESetTargetTemperature(HANDLE hGigE, double temp);
+bool __stdcall QGigESetCoolingPower(HANDLE hGigE,uint8_t power);
+bool __stdcall QGigEBeginCooling(HANDLE hGigE);
+void __stdcall QGigEStopCooling(HANDLE hGigE);
+bool __stdcall QGigEGetCoolerStatus(HANDLE hGigE, double* pTemp, uint8_t* pPower);
+
+bool __stdcall QGigESendRequest(HANDLE hGigE, bool hasResponse, uint16_t cmd, uint8_t* data, uint32_t len);
+
+bool __stdcall QGigEAdWrite(HANDLE hGigE, uint16_t addr, uint32_t value);
+
+bool __stdcall QGigEEepromRead(HANDLE hGigE, uint8_t index, uint8_t* data, uint16_t len);
+bool __stdcall QGigEEepromWrite(HANDLE hGigE, uint8_t index, uint8_t* data, uint16_t len);
+
+bool __stdcall QGigESend2Uart(HANDLE hGigE, int8_t* data, uint16_t len);
+bool __stdcall QGigEReceiveFromUart(HANDLE hGigE, int8_t* data, uint16_t len);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif