50 lines
2.0 KiB
C#
50 lines
2.0 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 DigitalOutputDefaults : DTS.Common.Base.BasePropertyChanged, IDigitalOutDefaults
|
|
{
|
|
private ISensorData _defaultOut;
|
|
|
|
public DigitalOutputModes OutputMode { get => _defaultOut.DigitalOutputMode; set => _defaultOut.DigitalOutputMode = value; }
|
|
|
|
private static DigitalOutputModes[] _outputModes = new DigitalOutputModes[] { DigitalOutputModes.CCNC, DigitalOutputModes.CCNO, DigitalOutputModes.FVHL, DigitalOutputModes.FVLH };
|
|
public DigitalOutputModes[] AvailableModes { get => _outputModes; }
|
|
|
|
public double DelayMS { get => _defaultOut.DigitalOutputDelayMS; set => _defaultOut.DigitalOutputDelayMS = value; }
|
|
|
|
public bool LimitDuration
|
|
{
|
|
get => _defaultOut.DigitalOutputLimitDuration;
|
|
set
|
|
{
|
|
_defaultOut.DigitalOutputLimitDuration = value;
|
|
OnPropertyChanged("LimitDuration");
|
|
}
|
|
}
|
|
|
|
public double DurationMS { get => _defaultOut.DigitalOutputDurationMS; set => _defaultOut.DigitalOutputDurationMS = value; }
|
|
|
|
public static void CommitChange(DigitalOutputDefaults settingDefaults, string user)
|
|
{
|
|
DTS.SensorDB.SensorsCollection.SensorsList.Commit(user, (DTS.SensorDB.SensorData)settingDefaults._defaultOut, false);
|
|
}
|
|
|
|
public static DigitalOutputDefaults GetDigitalOutDefault(string user)
|
|
{
|
|
var sd = DTS.SensorDB.SensorsCollection.SensorsList.GetSensorBySerialNumber(SensorConstants.TEST_SPECIFIC_DIGITAL_OUT_SERIAL);
|
|
return new DigitalOutputDefaults(sd);
|
|
}
|
|
|
|
private DigitalOutputDefaults(ISensorData defaultOut)
|
|
{
|
|
_defaultOut = defaultOut;
|
|
}
|
|
}
|
|
}
|