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) {
// 장비에 맞게 구현
}
}
}