You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
C++
55 lines
1.7 KiB
C++
#pragma once
|
|
#include "module.h"
|
|
#include "CommPortMgr.h"
|
|
|
|
|
|
|
|
enum OPTO_LASER_STATE//激光器状态
|
|
{
|
|
_STATE_COM_ERR = 0,//串口连接失败
|
|
_STATE_NOT_CONNECT,//未连接
|
|
_STATE_NOT_INI,//未初始化
|
|
_STATE_WAITING,//待机中
|
|
_STATE_STARTING,//启动中
|
|
_STATE_WORK//工作中
|
|
};
|
|
|
|
//光谱物理激光器管理类
|
|
class COptoWaveLaserMgr :public CModule
|
|
{
|
|
public:
|
|
COptoWaveLaserMgr(void);
|
|
~COptoWaveLaserMgr(void);
|
|
virtual CMFCPropertyGridProperty *CreatGridProperty();
|
|
virtual void ExportPar(ofstream *pFile);
|
|
virtual MODULE GetModuleType(){return _OPTO_WAVE_LASER_PROP;};
|
|
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
|
|
virtual void ReadWorkFile(CLabVecRang &LabVecRang);
|
|
virtual void Ini();
|
|
|
|
|
|
bool IniLaserDevice();
|
|
void SwitchDiode(bool b);
|
|
void CloseLaserDevice();
|
|
void SetPowerCurr(double p){m_PowerCurr = p;};
|
|
void SetFre(int n){m_Fre = n;};
|
|
double GetPowerCurr(){return m_PowerCurr;};
|
|
double GetLaserPower();
|
|
int GetFre(){return m_Fre;};
|
|
void SetFrequencyCurrent();
|
|
CString GetDeviceStateStr(OPTO_LASER_STATE state);
|
|
OPTO_LASER_STATE ReadDeviceState();
|
|
COLORREF GetColor(OPTO_LASER_STATE state);
|
|
private:
|
|
void CtrlIni();
|
|
private:
|
|
int m_Com;//通信用com 口编号
|
|
CCommPortMgr m_ComMgr;//串口管理
|
|
double m_PowerCurr;//电流A
|
|
int m_Fre;//激光频率khz
|
|
int m_SendDelay;//指令发送延时
|
|
int m_CurrUpTime;//初始化激光器时电流上升等待时间(秒)
|
|
|
|
};
|
|
extern COptoWaveLaserMgr *gOptoWaveLaserMgr;
|