namespace MainShell.Hardware.Acs
{
    public sealed class AcsCommonAdress
    {
        public const string AP_ComSupMotionResName = "AP_ComSupMotionRes";
        public const string PA_ComSupMotionTypeName = "PA_ComSupMotionType";
        public const string PA_ChangeParaIndexName = "PA_ChangeParaIndex";

        public const string AP_ComSupMotionResSymbol = "AP_ComSupMotionRes";
        public const string PA_ComSupMotionTypeSymbol = "PA_ComSupMotionType";
        public const string PA_ChangeParaIndexSymbol = "PA_ChangeParaIndex";

        public AcsCommonAdress()
        {
            AP_ComSupMotionRes = AcsAddressDefinition.CreateInt32Symbol(AP_ComSupMotionResName, AP_ComSupMotionResSymbol, 1, "Result flag for ACS common communication command.");
            PA_ComSupMotionType = AcsAddressDefinition.CreateInt32Symbol(PA_ComSupMotionTypeName, PA_ComSupMotionTypeSymbol, 1, "Communication action type such as data set, home, alarm clear, or PID sync.");
            PA_ChangeParaIndex = AcsAddressDefinition.CreateInt32Symbol(PA_ChangeParaIndexName, PA_ChangeParaIndexSymbol, 1, "PID parameter index. 0=fast bonding PID, 1=fly-shot PID.");
        }

        public AcsAddressDefinition AP_ComSupMotionRes { get; }

        public AcsAddressDefinition PA_ComSupMotionType { get; }

        public AcsAddressDefinition PA_ChangeParaIndex { get; }
    }
}
