using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data.SAUB
{
///
/// телеметрия спин мастер
///
public class TelemetryDataSpinDto : ITelemetryData
{
///
/// Идентификатор телеметрии
///
public int IdTelemetry { get; set; }
///
/// Дата
///
[Required]
public DateTime DateTime { get; set; }
///
/// Ограничение числа оборотов вправо
///
public float? RevolsRightLimit { get; set; }
///
/// Ограничение числа оборотов влево
///
public float? RevolsLeftLimit { get; set; }
///
/// Заданная скорость вращения вправо
///
public float? SpeedRightSp { get; set; }
///
/// Заданная скорость вращения влево
///
public float? SpeedLeftSp { get; set; }
///
/// Суммарное количество оборотов вправо
///
public float? RevolsRightTotal { get; set; }
///
/// Суммарное количество оборотов влево
///
public float? RevolsLeftTotal { get; set; }
///
/// Нулевая позиция осцилляции
///
public float? PositionZero { get; set; }
///
/// Крайний правый угол осцилляции
///
public float? PositionRight { get; set; }
///
/// Выбранный режим управления
///
public short? Mode { get; set; }
///
/// Переменная этапа
///
public short? State { get; set; }
///
/// Осцилляция включена
///
[Required]
public bool IsOscillating => State != 0 & State != 6 & State != 7;
///
/// Демпфирование включено
///
[Required]
public bool IsDampening => State == 7 && (Mode & 2) > 0;
}
}