using System; using System.Collections.Generic; using System.Linq; using System.Text; using FLY.Thick.Base.Common; using System.ComponentModel; using Misc; namespace FLY.Thick.Base.IService { public interface IBorderSearchService:INotifyPropertyChanged { /// <summary> /// 启动与否 /// </summary> bool Enable{get;set;} /// <summary> /// 边界拐点检测,找到的边界更加精确 /// </summary> bool IsBreakDetect { get; set; } /// <summary> /// 有限范围 /// </summary> Range Valid{ get; set; } /// <summary> /// 反向边界 /// </summary> Range Border_Backw{ get; } /// <summary> /// 正向边界 /// </summary> Range Border_Forw{ get; } /// <summary> /// 边界 /// </summary> Range Border { get; } /// <summary> /// 当前膜宽,测量出来的,单位是 脉冲 /// </summary> int Width { get; } /// <summary> /// 膜中间位置 单位 脉冲 /// </summary> int Mid { get; } /// <summary> /// 手动设置温修AD值 /// </summary> bool TempADBySet { set; get; } /// <summary> /// 温修AD值 /// </summary> int TempAD{get;set;} /// <summary> /// AD超过了范围, 就认为开始找到边界 /// </summary> int TempRange{get;set;} /// <summary> /// 温修范围是温修的百分比 /// </summary> bool IsTempRangeByPercent { get; set; } /// <summary> /// 温修范围百分比 /// </summary> double TempRangePercent { get; set; } /// <summary> /// 有滤波器,只有非空的连续N个pos以上,才开始算边界开始 /// </summary> int N{get;set;} /// <summary> /// 探头直径,单位脉冲, 膜宽 = 边界范围 - 探头直径 /// </summary> int SensorWidth { get; set; } /// <summary> /// 找到边界后,边界 + 探头半径 + N2个脉冲。 这个是数据有效的开始 /// </summary> int N2{get;set;} /// <summary> /// 记录两个边界以后扫描,以它们再外扩N3个脉冲,作为扫描范围 /// </summary> int N3{get;set;} /// <summary> /// 用于调试, 进入到边界查找的数据 /// </summary> int[] Datas { get; } /// <summary> /// 应该 及 保存 /// </summary> void Apply(); } }