71 lines
2.5 KiB
C#
71 lines
2.5 KiB
C#
using Aurora.Api;
|
|
using Aurora.Api.Devices;
|
|
using PropertyTools.DataAnnotations;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static AuroraTriggerBoard.Trigger;
|
|
|
|
namespace AuroraTriggerBoard
|
|
{
|
|
public class TriggerConfig : IDeviceConfig
|
|
{
|
|
public IConnConfig ConnConfig { get; set; }
|
|
[DisplayName("Encoder Direciton")]
|
|
public EncoderDirection EncDir { get; set; } = EncoderDirection.Forward;
|
|
[DisplayName("Encoder Position Map")]
|
|
public EncoderPositionMap encposmaptype { get; set; } = EncoderPositionMap.Normal;
|
|
[DisplayName("Encoder Input Mode")]
|
|
public EncoderMode encinputmode { get; set; } = EncoderMode.Real;
|
|
[DisplayName("Channel Out Mode")]
|
|
public ChannelOutMode chOutMode { get; set; } = ChannelOutMode.Simple;
|
|
[DisplayName("Trigger Generator Mode")]
|
|
public TriggerGenMode trigGenMode { get; set; } = TriggerGenMode.Sequence;
|
|
[DisplayName("Trigger Timer Set")]
|
|
public double trigTimerSet { get; set; } = 0.0;
|
|
[DisplayName("Trigger Timer Limit")]
|
|
public uint trigLimitSet { get; set; } = 0;
|
|
[DisplayName("Sequence Start Encoder")]
|
|
public int seqStartEnc { get; set; } = 0;
|
|
[DisplayName("Sequence Interval Encoder")]
|
|
public int seqIntervalEnc { get; set; } = 0;
|
|
[DisplayName("Sequence Iteration Counter")]
|
|
public int seqIterationCnt { get; set; } = 0;
|
|
|
|
public class CStrobeChData
|
|
{
|
|
public bool strobeEnable { get; set; } = false;
|
|
public double strobeStartDelay { get; set; } = 0.0;
|
|
public double strobeWidth { get; set; } = 0.0;
|
|
}
|
|
public List<CStrobeChData> strobeChData { get; set; } = new List<CStrobeChData>(8);
|
|
|
|
public TriggerConfig()
|
|
{
|
|
ConnConfig = new SerialConnConfig()
|
|
{
|
|
BaudRate = 9600,
|
|
DataBits = 8,
|
|
Parity = System.IO.Ports.Parity.None,
|
|
StopBits = System.IO.Ports.StopBits.One
|
|
};
|
|
}
|
|
|
|
public static TriggerConfig GetDefaultConfig()
|
|
{
|
|
var config = new TriggerConfig();
|
|
config.ConnConfig = new SerialConnConfig()
|
|
{
|
|
BaudRate = 9600,
|
|
DataBits = 8,
|
|
Parity = System.IO.Ports.Parity.None,
|
|
StopBits = System.IO.Ports.StopBits.One
|
|
};
|
|
|
|
return config;
|
|
}
|
|
}
|
|
}
|