83 lines
3.2 KiB
C++
83 lines
3.2 KiB
C++
#ifndef HSI_ILLUMINATION_INCLUDED_
|
|
#define HSI_ILLUMINATION_INCLUDED_
|
|
#pragma once
|
|
|
|
|
|
class HSI_Illumination :public HSI
|
|
{
|
|
public:
|
|
HSI_Illumination();
|
|
~HSI_Illumination();
|
|
HSI_STATUS IsSupported(UINT &Types);
|
|
|
|
virtual HSI_STATUS Startup(HWND _hWnd, bool bOfflineOnly);
|
|
HSI_STATUS GetLampCount(int &nLamps);
|
|
HSI_STATUS GetLampInfo(int& _LampInfo, int& _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE],
|
|
int *NumRings, int *NumSectors, int* _Color, double *_Angle, bool &bCanBeCalibrated);
|
|
HSI_STATUS GetLampState(int nLamp, bool *bBulbStates, double *Intensities, int &Color, double &Angle);
|
|
HSI_STATUS SetLampState(int nLamp, bool *bBulbStates, double *Intensities, int Color, double Angle, bool bWait);
|
|
HSI_STATUS SetSelectedIndex(int index);
|
|
HSI_STATUS GetLampStateAll(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS]);
|
|
HSI_STATUS SetLampStateAll(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
|
void TestSELight(bool flag);
|
|
virtual HSI_STATUS Shutdown();
|
|
private:
|
|
VOID EventCallback(sHSIEventProperties& sEventProp);
|
|
|
|
CPSerial m_SO7_SerialA;
|
|
CPSerial m_SO7_SerialB;
|
|
int m_iIlluminationType;
|
|
int m_iBuadRate;
|
|
int m_iSleepTime;
|
|
int m_iSo7DoubleSurface;
|
|
int m_iMinRings;
|
|
int m_iMaxRings;
|
|
int m_iMinSectors;
|
|
int m_iMaxSectors;
|
|
int m_iSelectedIndex;
|
|
byte m_cSendData[64];
|
|
int m_dIntensity[60];
|
|
BOOL m_bRS232AOpened;
|
|
BOOL m_bRS232BOpened;
|
|
BOOL SetLampState_So7I(int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
|
BOOL SetLampState_So7II(int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
|
BOOL SetLampState_So7III(int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
|
BOOL SetLampState_So7IIII(int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
|
|
BOOL _SendA_Command(const char* _SendData, DWORD _SendDataLength);
|
|
BOOL So7LightII_set_light_off();
|
|
BOOL So7LightIII_set_light_off();
|
|
char m_RecvData[MAX_RECIEVE_BUFFER_SIZE];
|
|
DWORD m_RecvDataSize;
|
|
|
|
void CreateDirectorySO(CString directoryLog);
|
|
void DebugLog(CString strlog);
|
|
|
|
|
|
//STM32 usb控制
|
|
bool m_bSTM32UsbFlag;
|
|
HANDLE m_DeviceHandle;
|
|
HANDLE m_hEventObject;
|
|
HANDLE m_hDevInfo;
|
|
GUID m_HidGuid;
|
|
OVERLAPPED m_HIDOverlapped;
|
|
ULONG m_Length;
|
|
bool m_MyDeviceDetected = FALSE;
|
|
CString m_MyDevicePathName;
|
|
HANDLE m_ReadHandle;
|
|
ULONG m_Required;
|
|
HANDLE m_WriteHandle;
|
|
|
|
int m_VendorID = 0;
|
|
int m_ProductID = 0;
|
|
bool FindTheHID();
|
|
void CloseHandles();
|
|
void RegisterForDeviceNotifications();
|
|
void GetDeviceCapabilities();
|
|
void PrepareForOverlappedTransfer();
|
|
|
|
};
|
|
|
|
extern HSI_Illumination *g_pHSI_Illumination;
|
|
#endif
|
|
|