123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- using System.Runtime.InteropServices;
- using System.Runtime.Serialization;
- namespace EPInterface.Data
- {
- [DataContract]
- public enum EPDState
- {
- [EnumMember]
- UnSampling, //硬件未进入采样
- [EnumMember]
- Running, //计算中
- [EnumMember]
- Pause, //暂停
- [EnumMember]
- Idle,
- };
- [DataContract]
- public enum EPDEventType
- {
- [EnumMember]
- Default = 0, //基础信息
- [EnumMember]
- Info = 1, //基础信息
- [EnumMember]
- Error, //基础信息
- [EnumMember]
- Start, //步骤 开始
- [EnumMember]
- Delay, //步骤 延迟
- [EnumMember]
- Normalize, //步骤
-
- [EnumMember]
- Check, //步骤 检查条件
- [EnumMember]
- EndPoint, //步骤 触发
- [EnumMember]
- Stop, //步骤 停止
- };
- [DataContract]
- [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
- public struct HardwareInfo
- {
- [MarshalAs(UnmanagedType.U8)]
- public ulong Ver;
- [MarshalAs(UnmanagedType.U2)]
- public ushort Pixes;
- [MarshalAs(UnmanagedType.R8)]
- public double FirstCoefficient;
- [MarshalAs(UnmanagedType.R8)]
- public double SecondCoefficient;
- [MarshalAs(UnmanagedType.R8)]
- public double ThirdCoefficient;
- [MarshalAs(UnmanagedType.R8)]
- public double Intercept;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
- public char[] Serial;
- [MarshalAs(UnmanagedType.U8)]
- public ulong IntegrationTime;
- [MarshalAs(UnmanagedType.U8)]
- public ulong SamplingTime;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
- public double[] Wave;
- }
- [DataContract]
- [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
- public struct RawDataItem
- {
- public static readonly int Size = Marshal.SizeOf(typeof(RawDataItem));
- [MarshalAs(UnmanagedType.I8)]
- public long Ticket;
- [MarshalAs(UnmanagedType.I4)] //累积次数
- public int Counter;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] //全光谱数据
- public ushort[] RawData;
- [MarshalAs(UnmanagedType.I4)] //波段数据
- public int RegionNum;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
- public double[] RegionData;
- [MarshalAs(UnmanagedType.I4)] //趋势数据, 表达式
- public int TrendNum;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
- public double[] TrendData;
- }
- [DataContract]
- public class CRawDataItem
- {
- [DataMember]
- public long Ticket
- {
- get;set;
- }
- [DataMember]
- public ushort[] RawData
- { get;
- set;
- }
- [DataMember]
- public int RegionNum
- {
- get; set;
- }
- [DataMember]
- public double[] RegionData
- {
- get;set;
- }
- [DataMember]
- public int TrendNum
- {
- get;set;
- }
- [DataMember]
- public double[] TrendData
- {
- get;set;
- }
- public CRawDataItem()
- {
- Ticket = 0;
- RawData = new ushort[1024];
- RegionNum = 32;
- RegionData = new double[32];
- TrendNum = 32;
- TrendData = new double[32];
- }
- }
- }
|