using SWRIS.Enums;
using System;

namespace SWRIS.Models.Data
{
    public class ParameterModel
    {
        /// <summary>
        /// 主板软件版本号
        /// </summary>
        public string MainBoardSoftwareVersion { get; set; }
        /// <summary>
        /// 传感器数量
        /// </summary>
        public short SensorCount { get; set; }
        /// <summary>
        /// 采样步长 单位：mm/点   4字节浮点数
        /// </summary>
        public float SamplingStep { get; set; }
        /// <summary>
        /// 分频系数
        /// </summary>
        public short FrequencyDivisionFactor { get; set; }
        /// <summary>
        /// 时域频率  2字节整型
        /// </summary>
        public short TimeDomainFrequency { get; set; }
        /// <summary>
        /// 损伤门限   2字节整型
        /// </summary>
        public short DamageThreshold { get; set; }
        /// <summary>
        /// 报废上限
        /// </summary>
        public short ScrapUpperLimit { get; set; }
        /// <summary>
        /// 前磁极长度  单位：mm  2字节整型
        /// </summary>
        public short FrontMagnetLength { get; set; }
        /// <summary>
        /// 后磁极长度  单位：mm  2字节整型
        /// </summary>
        public short BackMagnetLength { get; set; }
        /// <summary>
        /// 量值系数  4字节浮点数
        /// </summary>
        public float ValueCoefficient { get; set; }
        /// <summary>
        /// 有效行程长度，单位：m  4字节浮点数
        /// </summary>
        public float EffectiveStrokeLength { get; set; }
        /// <summary>
        /// 零位矫正静止时长，单位：秒  2字节整型
        /// </summary>
        public short ZeroPositionCorrectionDuration { get; set; }
        /// <summary>
        /// 零位矫正允许偏移量，单位：mm  2字节整型
        /// </summary>
        public short ZeroPositionCorrectionOffset { get; set; }
        /// <summary>
        /// 预警（黄色报警）量值  4字节浮点数
        /// </summary>
        public float WarningValue { get; set; }
        /// <summary>
        /// 报警（红色报警）量值  4字节浮点数
        /// </summary>
        public float AlarmValue { get; set; }
        /// <summary>
        /// 声光报警自动重置方式，0=不自动重置，>0=延时自动重置，-1=开始新一次检测时重置
        /// </summary>
        public short SoundLightAlarmAutoResetMode { get; set; }
        /// <summary>
        /// 钢丝绳类型 0=塔吊单绳，1=电梯排绳
        /// </summary>
        public short WireRopeType { get; set; }
        /// <summary>
        ///钢丝绳数量 1字节
        /// </summary>
        public short WireRopeCount { get; set; }
        /// <summary>
        /// 钢丝绳长度，单位：m  4字节浮点数
        /// </summary>
        public float WireRopeLength { get; set; }
        /// <summary>
        /// 钢丝绳直径，单位：mm  4字节浮点数
        /// </summary>
        public float WireRopeDiameter { get; set; }
        /// <summary>
        /// 钢丝绳股数 1字节
        /// </summary>
        public short WireRopeStrandCount { get; set; }
        /// <summary>
        /// 钢丝绳每股丝数，2字节整型
        /// </summary>
        public short WireRopeStrandWireCount { get; set; }
        /// <summary>
        /// 编码器方向，1=正向，2=反向
        /// </summary>
        public EncoderDirection EncoderDirection { get; set; }
        /// <summary>
        /// 系统时间
        /// </summary>
        public DateTime? SystemTime { get; set; }
        /// <summary>
        /// 判伤捻距系数，浮点数，判伤捻距默认为7d，可通过此参数设置系数来调整（与损伤判定相关）。
        /// 默认值为1.0，设置2.0表示判伤捻距为2 x 7 = 14d
        /// </summary>
        public float TwistFactor { get; set; }

    }
}
