using Aurora.Api; using AuroraLaserScanner; using Hermes; using System; using VisionCommon; using WeldingCommon.Sequences; namespace WeldingCommon.Vision.Adapter { /// /// 장비의 카메라 트리거 어댑터 /// public class EquipTrigger : IEquipTrigger { private Logger _Logger = new Logger(typeof(EquipTrigger).Name); private Scanner _Scanner; /// /// SW or HW 트리거 모드 일괄 설정 /// /// 파라미터 /// 성공 유무 public int SetTrigger(object param = null) { _Scanner = VisionEnv.AuroraEnv.DeviceManager[CommonDeviceIds.Scanner] as Scanner; return E1.OK; } /// /// SW 트리거 모드 설정 /// /// 파라미터 /// 성공 유무 public int SetSwTrigger(object param = null) { // 장비에 맞게 구현 return E1.OK; } /// /// HW 트리거 모드 설정 /// /// 파라미터 /// 성공 유무 public int SetHwTrigger(object param = null) { // 장비에 맞게 구현 return E1.OK; } /// /// 트리거 신호 ON /// /// 성공 유무 public int TriggerOn() { try { _Scanner.SetLaserPinOut(0x01); } catch (Exception e) { _Logger.FuncE(); return E1.GENERIC; } return E1.OK; } /// /// 트리거 신호 OFF /// /// 성공 유무 public int TriggerOff() { try { _Scanner.SetLaserPinOut(0x00); } catch (Exception e) { _Logger.FuncE(); return E1.GENERIC; } return E1.OK; } /// /// 트리거 신호 On /// /// 카메라 컨피그 public void TriggerOn(CamConfig camConfig) { // 장비에 맞게 구현 } /// /// 트리거 신호 Off /// /// 카메라 컨피그 public void TriggerOff(CamConfig camConfig) { // 장비에 맞게 구현 } } }