Files
DP44/DataPRO/Modules/DatabaseImporter/DatabaseImport/SensorDB/DigitalInputSetting.cs
2026-04-17 14:55:32 -04:00

56 lines
2.9 KiB
C#

using System;
using System.Data;
namespace DatabaseImport
{
/// <summary>
/// Digital Inputs allow collected data to behave consistently with a digital data source
/// the settings are for configuring firmware appropriately and for transforming data for consumption
/// </summary>
public class DigitalInputSetting : SensorData
{
public DigitalInputSetting(IDataRecord reader) : base()
{
SetDefaults(this);
try
{
LastModified = Convert.ToDateTime(reader[DbOperations.DigitalInputSettings.Fields.LastModified.ToString()]);
LastUpdatedBy = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.LastModifiedBy.ToString()]);
InputMode = (DigitalInputModes)Convert.ToInt32(reader[DbOperations.DigitalInputSettings.Fields.SettingMode.ToString()]);
SettingName = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.SettingName.ToString()]);
Id = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.eId.ToString()]);
UserValue1 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue1.ToString()]);
UserValue2 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue2.ToString()]);
UserValue3 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue3.ToString()]);
TagsBlobBytes = (byte[])reader[DbOperations.DigitalInputSettings.Fields.UserTags.ToString()];
Comment = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue1.ToString()]);
ScaleMultiplier.FromDbSerializeString(Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.ScaleMultiplier.ToString()]));
Broken = Convert.ToBoolean(reader[DbOperations.DigitalInputSettings.Fields.Broken.ToString()]);
DoNotUse = Convert.ToBoolean(reader[DbOperations.DigitalInputSettings.Fields.DoNotUse.ToString()]);
}
catch (Exception)
{
//APILogger.Log("Failed to process: ", ex);
}
}
public static void SetDefaults(SensorData sd)
{
sd.AxisNumber = 0;
sd.NumberOfAxes = 1;
sd.Capacity = 2400;
sd.Bridge = Test.Module.Channel.Sensor.BridgeType.DigitalInput;
sd.Capacity = 1;
sd.DisplayUnit = "V";
sd.BridgeResistance = double.NaN;
sd.CheckOffset = false;
sd.Manufacturer = "Generic";
sd.OffsetToleranceHigh = 2500;
sd.OffsetToleranceLow = 2500;
sd.Model = "Digital Input Setting";
sd.Shunt = ShuntMode.None;
sd.MeasureExcitation = false;
sd.MeasureNoise = false;
}
}
}