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

70 lines
2.1 KiB
C#

using DTS.Common.Classes;
using DTS.Common.Classes.Sensors;
using DTS.Common.Enums;
using DTS.Common.Enums.Sensors;
using DTS.Common.Interface.Sensors;
using DTS.Common.Storage;
using DTS.Common.Utilities.Logging;
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO.Ports;
namespace DTS.SensorDB
{
public class CanSetting : SensorData
{
///<summary>
///</summary>
public CanSetting() : base()
{
SetDefaults(this);
}
public CanSetting(CanSetting copy) : base(copy)
{
SetDefaults(this);
}
public CanSetting(ICANRecord record)
{
SetDefaults(this);
DatabaseId = record.Id;
SerialNumber = record.SerialNumber;
Broken = record.Broken;
DoNotUse = record.DoNotUse;
LastModified = record.LastModified;
LastUpdatedBy = record.LastUpdatedBy;
}
public static void SetDefaults(SensorData sd)
{
sd.SupportedExcitation = new Common.Enums.ExcitationVoltageOptions.ExcitationVoltageOption[] { ExcitationVoltageOptions.ExcitationVoltageOption.Undefined };
sd.Bridge = SensorConstants.BridgeType.CAN;
sd.AxisNumber = 0;
sd.NumberOfAxes = 1;
sd.Capacity = 1;
sd.DisplayUnit = "";
sd.BridgeResistance = double.NaN;
sd.CheckOffset = false;
sd.Manufacturer = "Generic";
sd.OffsetToleranceHigh = 0;
sd.OffsetToleranceLow = 0;
sd.Model = "CAN Setting";
sd.Shunt = ShuntMode.None;
sd.MeasureExcitation = false;
sd.MeasureNoise = false;
}
public static void Commit(SensorData setting)
{
SetDefaults(setting);
ICANRecord record = new CANRecord(setting);
var hr = DbOperations.SensorsCanUpdateInsert(ref record);
if (0 == hr)
{
setting.DatabaseId = record.Id;
}
}
}
}