53 lines
2.1 KiB
C#
53 lines
2.1 KiB
C#
using Aurora.Api;
|
|
using Hermes;
|
|
using System.Collections.Generic;
|
|
|
|
namespace AuroraLaser
|
|
{
|
|
public abstract class LaserObj
|
|
{
|
|
protected Logger Log = new Logger("Laser");
|
|
|
|
#region abstract method
|
|
public abstract int Open(LaserConfig Config);
|
|
public abstract void Close();
|
|
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 int SetData(int nTarget, int value);
|
|
public abstract string GetData(int nTarget);
|
|
|
|
public abstract bool RunLaser();
|
|
public abstract bool StartBurstShot(); // LaserOn 함수와 통일
|
|
public abstract bool StopLaser(); // Laser 상태를 Stop
|
|
public abstract bool StopShot(); // 쏘고있는 Laser를 Stop, LaserOff 함수와 통일
|
|
public abstract bool ResetFault();
|
|
public abstract void GetLaserPower(out List<double> lsPower); // Laser 종류마다 source 개수가 다를수 있으므로 list 로 처리한다.
|
|
public abstract int GetLaserError();
|
|
|
|
|
|
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);
|
|
|
|
public virtual int Initialize(LaserConfig config)
|
|
{
|
|
return E1.OK;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|