#ifndef CLASERDRIVER_JDSU_H
#define CLASERDRIVER_JDSU_H

#include "claserdriver_base.h"
class CLaserDriver_JDSU : public CLaserDriver_Base
{
public:
    enum msg_id
    {
        LASERDRIVER_JDSU_MSG_ID=MAX_LASERDRIVER_MSG_ID,
        MAX_LASERDRIVER_JDSU_MSG_ID,
    };
    CLaserDriver_JDSU(const QString& name,int32_t id);
    ~CLaserDriver_JDSU();
public:
    int32_t init_driver();
    int32_t exit_driver();
    void SendCommand(const char* pCommand, char *pResponse);
    void SendCommand(const char* pCommand, char *pResponse,char* pOkMsg);
    char* GetNums(char *pResponse);
public:
    virtual int SetFreq(int32_t laserid,float64_t dFreq);
    virtual int GetFreq(int32_t laserid);
    virtual int OpenLaserGate(int32_t laserid,bool_t bOpen);
    virtual int SetPowerRate(int32_t laserid, float64_t dPower);
    virtual int GetPowerRate(int32_t laserid);
    virtual int SetGateSource(int32_t laserid, bool_t bInt);
    virtual int SetPRFSource(int32_t laserid, bool_t bExt);
public:
    virtual int SetFPKTime(int32_t laserid, dword_t dwTime,bool bEnable);
    virtual int GetFPKTime(int32_t laserid);
    virtual int SetShutter(int32_t laserid,bool_t bOn);

    virtual int SetCurrent_Ref(int32_t laserid, double dCurrent);
    virtual int SetCurrent_Max(int32_t laserid, double dCurrent);

    virtual int GetCurrent_Cur(int32_t laserid);
    virtual int GetCurrent_Ref(int32_t laserid);
    virtual int GetCurrent_Max(int32_t laserid);

    virtual int GetShutterStatus(int32_t laserid);
    virtual int GetUVPower(int32_t laserid);
    virtual int GetLaserTime(int32_t laserid);

    virtual int GetSerial(int32_t laserid);


    virtual int SetDiodTemp(int32_t laserid,double dTemp);
    virtual int GetDiodTempRef(int32_t laserid);
    virtual int GetDiodTemp(int32_t laserid);


    virtual int SetTHGTempAdjust(int32_t laserid,byte adjust);
    virtual int GetTHGTempAdjustRef(int32_t laserid);
    virtual int GetTHGTemp(int32_t laserid);
    virtual int GetTHGTempRef(int32_t laserid);
    virtual int SetWorkMode(int32_t laserid,int iworkMode);
    virtual int GetWorkMode(int32_t laserid);

};
#endif // CLASERDRIVER_JDSU_H
