#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