Files
DP44/DataPRO/SensorDB/DigitalOutputDefaults.cs
2026-04-17 14:55:32 -04:00

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;
}
}
}