using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using FLY.Thick.Base.Common;
using System.Collections.ObjectModel;
using Misc;
using FObjBase.Reflect;
using FObjBase;
namespace FLY.Thick.Base.IService
{
public interface IScanCorrService : INotifyPropertyChanged
{
///
/// 使能修正
///
bool Enable{set;get;}
///
/// 当前修正的组
///
int CurrGroupIndex { get; }
///
/// 当前进度 0 - 100
///
int Progress { get; }
///
/// 数据更新时间
///
DateTime[] UpdateTimes { get; }
///
/// 正在机架修正中
///
bool IsRunning { get; }
///
/// 来回次数
///
int ScanCnt { get; }
///
/// 平滑
///
int SmoothFactor { get; }
///
/// 开始机架修正
///
/// 组序号
/// 扫描次数
/// 平滑
void Start(int groupIndex, int scanCnt, int smoothFactor);
///
/// 清空组数据
///
///
void Clear(int groupIndex);
///
/// 设置修正曲线
///
/// 组序号
/// 修正数据
/// 均值
/// 原始数据
void SetCorrData(int groupIndex, int[][] corrDatas, int avg, int[][] orgDatas);
///
/// 获取 组 的 机架修正信息
///
///
///
///
[Call(typeof(GetScanCorrGroupResponse))]
void GetScanCorrGroup(int groupIndex, AsyncCBHandler asyncDelegate, object asyncContext);
}
///
///
///
public class GetScanCorrGroupResponse
{
///
/// 组序号
///
public int GroupIndex { get; set; }
///
/// 更新时间
///
public DateTime UpdateTime { get; set; }
///
/// 机架准备好了
///
public bool IsDataOK { get; set; }
///
/// 机架总长,脉冲
///
public int PosLen { get; set; }
///
/// 1个grid = N个pos
///
public int PosOfGrid { get; set; }
///
/// 原始 正反方向机架AD值数据, grid数据
///
public int[][] OrgDatas { get; set; }
///
/// 修正用 正反方向机架AD值数据
///
public int[][] CorrDatas { get; set; }
///
/// CorrDatas 的均值
///
public int Avg { get; set; }
}
}