using Aurora.Api; using System.ComponentModel; using static AuroraTriggerBoard.Trigger; namespace AuroraTriggerBoard { internal interface ITrigger { int Connect(IConnConfig config); int Disconnect(); bool IsCommError(); short GetSJTVersion(out string HwVer, out string tcstr); ushort GetSJT_DLL_Ver(ref char[] DllVer); ushort SetTrigTimerSeq(double timerfreq_us, sbyte mode = 0); ushort SetTrigPulse(uint trigpulse, sbyte mode = 0); ushort GetTrigPulse(ref uint trigpulse_us); ushort SetEncDirection(uint EncDirection); ushort GetEncDirection(ref uint EncDirection); ushort SetFNDMode(byte FND_Mode, sbyte mode = 0); ushort GetTrigNErrCnt(uint[] TrigCount, uint[] ErrCount, float[] MaxFreq); ushort TrigCount_Reset(); ushort SetTrigOutEnable(bool TrigOutEn, sbyte mode = 0); ushort SetENCCnt(long EncCnt, sbyte mode = 0); ushort SJT_SystemReset(); ushort SJT_Reset(bool MB_Reset, bool RefFF_Reset, bool TrigCnt_Reset, bool Strobe_Reset, bool EncCnt_Reset); ushort ENC_CNT_Reset(); ushort DisableTrigCorrectTable(); ushort SetTrigCorrectTable(ref double[] Pos_Table, ref ulong[] Enc_Table, sbyte mode = 0); ushort GetCurEncoderCnt(out long Cur_EncCnt); ushort GetCurPosition(out long Cur_Position); ushort SetTrigSet(byte NumberOfTrigSet, ref TrigSeqSet[] TrigSet); ushort SetMaskSet(ref byte[] MaskSet_pt); ushort SetMaskSet(ref ushort[] MaskSet_pt); ushort SetMaskSet(uint NumberofMask, ref byte[] MaskSet_pt); ushort SetDirectMask(uint NumberofMask, ref byte[] DirectMask_pt); ushort SetDirectMask(uint NumberofMask, ref ushort[] DirectMask_pt); ushort GetNextRefCnt(out long Next_RefCnt, out uint RefFF_Dcnt, out bool RefFF_pEmp, out bool RefFF_Empty, out ushort RefFF_OutMask, out byte RefFF_WD); ushort SetTrigDirect(uint NumberOfPosData, ref ulong[] TrigPosData, ref ushort[] TrigPosChMask, ref byte[] TrigPosWDSet); ushort SetTrigDirect(uint NumberOfPosData, ref double[] TrigPosData, ref ushort[] TrigPosChMask, ref byte[] TrigPosWDSet); ushort SetSimulEnc(long StartEnc, int IntervalPerSec); ushort SetSimulTrigLimit(uint m_iTrigLimit_Value); ushort SetCntInType(uint CntInType); ushort SetTrigMode(uint TrigGenMode, uint ChOutMode); ushort GetTrigMode(ref uint TrigGenMode, ref uint ChOutMode); ushort Debug_RefFF_Change(); ushort SJT_Trigger_Start(); ushort SJT_Trigger_Stop(); ushort SetStrobe(byte Strobe_Ch, uint Mask, ref double[] StrobeData_us_pt); ushort SetStrobe(byte StrobeCh, ref uint[] StrobeData_pt); ushort GetStrobe(byte StrobeCh, ref uint[] StrobeData_pt); ushort GetTrigTimeFreq(out uint TrigTimeFreq_10ns); ushort GetTrigTimeLimit(out uint TrigTimeLimit); ushort GetEncPosMapTableUse(out EncoderPositionMap encposmapuse); ushort GetCntInType(out uint CntInType); [Description("Trigger Board V3.0 관련 함수들")] ushort SetTriggerStartdelay(uint startDelay); ushort GetTriggerStartdelay(ref uint startDelay); ushort SetTriggerWidth(uint triggerWidth); ushort GetTriggerWidth(ref uint triggerWidth); ushort SetTriggerCnt(uint triggerCnt); ushort GetTriggerCnt(ref uint triggerCnt); ushort SetEncEnable(byte encEnable); ushort GetEncEnable(ref byte encEnable); ushort SetRunMode(byte runMode); ushort GetRunMode(ref byte runMode); ushort SetInputPol(byte inputPol); ushort GetInputPol(ref byte inputPol); ushort SetTriggerPol(byte triggerPol); ushort GetTriggerPol(ref byte triggerPol); ushort SetStrobeStartdelay(uint startDelay); ushort GetStrobeStartdelay(ref uint startDelay); ushort SetStrobeWidth(uint strobeWidth); ushort GetStrobeWidth(ref uint strobeWidth); ushort SetStrobePol(byte strobePol); ushort GetStrobePol(ref byte strobePol); ushort GetEndTrigger(ref byte endTrigger); ushort GetError(ref byte errorCode); } }