2026-01-26 18:56:53 +09:00

110 lines
4.2 KiB
C#

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);
}
}