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.

81 lines
2.1 KiB
C++

#ifndef CLASERPATHDRIVER_H
#define CLASERPATHDRIVER_H
#include "cdrivercard.h"
#include "export_laser_path_driver.h"
class LASER_PATH_DRIVER_EXPORT CLaserPathDriver : public CDriverCard
{
public:
enum msg_id
{
LASERPATHDRIVER_MSG_ID_MSG_ID=MAX_DRIVER_MSG_ID,
MOVEPATHANGLE, //移动到角度,设置到理论功率
MOVEPATHINITANGLE, //移动到初始角度
MOVEBEAMPOS,
OPENSHUTTER,
OPENLENSPROTECT,
CHECKLESNPROTECT,
MAX_LASERPATHDRIVER_MSG_ID,
};
CLaserPathDriver(const QString& name,int32_t id);
virtual ~CLaserPathDriver();
/**
* @brief 设置光路的玻片角度,频率和功率.
*
* \param pathid
* \param iEpulse 单位KHz
* \param dBeamWidth 单位mm Wide光斑宽度 D_Narrow光斑间距
* \param iFreq 单位KHz
* \param dPower 单位W
* \param bWait
* \return
*/
virtual int32_t MovePathAngle(int pathid, int iEpulse, double dBeamWidth, int iFreq, double dPower, bool bWait=true);
virtual int32_t MovePathInitAngle(int pathid);
/**
* 移动光路到宽度位置.
*
* \param iPathId
* \param dBeamWidth
* \return
*/
virtual int32_t MoveBeamWidthPos(int iPathId, double dBeamWidth);
/**
* 打开光闸.
*
* \param pathid
* \param bOpen
* \param bWait
* \return
*/
virtual int32_t OpenShutter(int pathid, bool bOpen, bool bWait=true);
/**
* @brief 设置光路的光阑宽度.
*/
virtual int32_t MoveBeamPosCali(int pathid, double dWidth);
virtual int32_t MoveBeamPos(int pathid, double dBeamWidth);
/**
* @brief 打开光路的吹气保护.
*
* \param pathid
* \param bOpen
* \return
*/
virtual int32_t OpenLensBlow(int pathid, bool bOpen);
/**
* 检查吹气的流量保护.
*
* \param pathid
* \return
*/
virtual int32_t CheckLensBlow(int pathid);
virtual void do_msg(int iID, QVariantList& vlInput, V_MsgOutput* pvlOutput);
};
#endif // CLASERPATHDRIVER_H