132 lines
4.3 KiB
C#
132 lines
4.3 KiB
C#
|
|
using DTS.Common.Enums;
|
|||
|
|
using DTS.Common.Enums.Sensors;
|
|||
|
|
using DTS.Common.Interface.Sensors;
|
|||
|
|
|
|||
|
|
namespace DTS.SensorDB
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// this class handles the updating the default squib settings
|
|||
|
|
/// </summary>
|
|||
|
|
public sealed class SquibSettingDefaults : DTS.Common.Base.BasePropertyChanged, ISquibSettingDefaults
|
|||
|
|
{
|
|||
|
|
private ISensorData _defaultSquib;
|
|||
|
|
|
|||
|
|
public double ToleranceLowDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibToleranceLow;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibToleranceLow = value;
|
|||
|
|
OnPropertyChanged("ToleranceLowDefault");
|
|||
|
|
OnPropertyChanged("ToleranceValid");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double ToleranceHighDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibToleranceHigh;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibToleranceHigh = value;
|
|||
|
|
OnPropertyChanged("ToleranceHighDefault");
|
|||
|
|
OnPropertyChanged("ToleranceValid");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double OutputCurrentDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibOutputCurrent;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibOutputCurrent = value;
|
|||
|
|
OnPropertyChanged("OutputCurrentDefault");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public SquibMeasurementType MeasurementTypeDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibMeasurementType;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibMeasurementType = value;
|
|||
|
|
OnPropertyChanged("MeasurementTypeDefault");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public SquibFireMode FireModeDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibFireMode;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibFireMode = value;
|
|||
|
|
OnPropertyChanged("FireModeDefault");
|
|||
|
|
OnPropertyChanged("IsConstantCurrent");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
private static SquibFireMode[] _availableModes = new SquibFireMode[] { SquibFireMode.CAP, SquibFireMode.CONSTANT };
|
|||
|
|
public SquibFireMode[] AvailableModes
|
|||
|
|
{
|
|||
|
|
get => _availableModes;
|
|||
|
|
}
|
|||
|
|
public bool IsConstantCurrent { get => FireModeDefault == SquibFireMode.CONSTANT; }
|
|||
|
|
public bool LimitDurationDefault
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.LimitSquibFireDuration;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.LimitSquibFireDuration = value;
|
|||
|
|
OnPropertyChanged("LimitDurationDefault");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double FireDurationMS
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibFireDurationMS;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibFireDurationMS = value;
|
|||
|
|
OnPropertyChanged("FireDurationMS");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double FireDelayMS
|
|||
|
|
{
|
|||
|
|
get => _defaultSquib.SquibFireDelayMS;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_defaultSquib.SquibFireDelayMS = value;
|
|||
|
|
OnPropertyChanged("FireDelayMS");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// commits the changes to the db
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="settingDefaults"></param>
|
|||
|
|
/// <param name="user"></param>
|
|||
|
|
public static void CommitChange(SquibSettingDefaults settingDefaults, string user)
|
|||
|
|
{
|
|||
|
|
SensorsCollection.SensorsList.Commit(user, (SensorData)settingDefaults._defaultSquib, false);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// returns the defaults for squibs
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="user"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static SquibSettingDefaults GetSquibSettingsDefault(string user)
|
|||
|
|
{
|
|||
|
|
var sd = DTS.SensorDB.SensorsCollection.SensorsList.GetSensorBySerialNumber(SensorConstants.TEST_SPECIFIC_SQUIB_SERIAL);
|
|||
|
|
return new SquibSettingDefaults(sd);
|
|||
|
|
}
|
|||
|
|
private SquibSettingDefaults(ISensorData defaultSquib)
|
|||
|
|
{
|
|||
|
|
_defaultSquib = defaultSquib;
|
|||
|
|
}
|
|||
|
|
public bool ToleranceValid
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return ToleranceLowDefault < ToleranceHighDefault;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public bool Validate()
|
|||
|
|
{
|
|||
|
|
return ToleranceValid;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|