namespace AuroraLaser.Ekspla { public abstract class LaserObj { public abstract void Connect(); public abstract void Disconnect(); public abstract bool GetConnected(); public abstract double GetTemperature(int diode); public abstract void SetError(int errorCode, string errorMsg); public abstract bool GetLastError(ref int ErrorCode, ref string ErrorMsg); public abstract bool RunLaser(); public abstract bool StartBurstShot(); public abstract bool StopLaser(); // Laser 상태를 Stop public abstract bool StopShot(); // 쏘고있는 Laser를 Stop public abstract bool ResetFault(); public abstract bool SetPumpLevel(double dValue); public abstract bool SetBurstCount(int nBurst); public abstract bool SetBurstMode(int nFireMode); public abstract bool SetRepetitionRate(int nRepetition); public abstract bool SetEnergyLevel(int nMod); public abstract bool SetWaveLength(int nWaveLength); public abstract bool SetAttenuator(double dValue); public abstract bool SetSyncMode(int nMode); //public abstract bool SetOutputControl(int nValue); // SetEnergyLevel과 중복. 삭제 public abstract bool SetLaserParam(int nIndex, double dValue); public abstract bool GetLaserParam(int nIndex); public abstract void CheckLaserParmeter(int nSynMode, int nBurstMode, int nBurstCount, int nWaveLength, int nRepetitionRate, double dAtt); } }