namespace MainShell.Hardware.Acs
{
    public sealed class AcsBondingAdress
    {
        public const string SumIndexName = "SumIndex";
        public const string PA_BondSumRowName = "PA_BondSumRow";
        public const string PA_DataSendFinishName = "PA_DataSendFinish";
        public const string PA_FBBondStopName = "PA_FBBondStop";
        public const string AP_FBBondingFinishName = "AP_FBBondingFinish";
        public const string PA_HomeAxisName = "PA_HomeAxis";
        public const string PHSCurrentRowName = "PHSCurrentRow";
        public const string AP_LogIndexAName = "AP_LogIndexA";
        public const string AP_LogIndexBName = "AP_LogIndexB";

        public const string AP_LogIndexASymbol = "AP_LogIndexPerA";
        public const string AP_LogIndexBSymbol = "AP_LogIndexPerB";

        public AcsBondingAdress()
        {
            SumIndex = AcsAddressDefinition.CreateInt32Symbol(SumIndexName, 1, "当前固晶计数。");
            PA_BondSumRow = AcsAddressDefinition.CreateInt32Symbol(PA_BondSumRowName, 1, "固晶总行数。");
            PA_DataSendFinish = AcsAddressDefinition.CreateInt32Symbol(PA_DataSendFinishName, 1, "数据发送完成标志。");
            PA_FBBondStop = AcsAddressDefinition.CreateInt32Symbol(PA_FBBondStopName, 1, "固晶停止标志，1 表示停止。");
            AP_FBBondingFinish = AcsAddressDefinition.CreateInt32Symbol(AP_FBBondingFinishName, 1, "固晶完成状态，0 表示进行中，1 表示完成，-1 表示默认值。");
            PA_HomeAxis = AcsAddressDefinition.CreateInt32Symbol(PA_HomeAxisName, 1, "回零目标轴号。");
            PHSCurrentRow = AcsAddressDefinition.CreateInt32Symbol(PHSCurrentRowName, 1, "当前固晶行索引。");
            AP_LogIndexA = AcsAddressDefinition.CreateInt32Symbol(AP_LogIndexAName, AP_LogIndexASymbol, 1, "A 区固晶日志计数。");
            AP_LogIndexB = AcsAddressDefinition.CreateInt32Symbol(AP_LogIndexBName, AP_LogIndexBSymbol, 1, "B 区固晶日志计数。");
        }

        public AcsAddressDefinition SumIndex { get; }

        public AcsAddressDefinition PA_BondSumRow { get; }

        public AcsAddressDefinition PA_DataSendFinish { get; }

        public AcsAddressDefinition PA_FBBondStop { get; }

        public AcsAddressDefinition AP_FBBondingFinish { get; }

        public AcsAddressDefinition PA_HomeAxis { get; }

        public AcsAddressDefinition PHSCurrentRow { get; }

        public AcsAddressDefinition AP_LogIndexA { get; }

        public AcsAddressDefinition AP_LogIndexB { get; }
    }
}
