This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,201 @@
using DTS.Common.Enums.Sensors;
using System;
using DTS.Common.Enums;
using DTS.Common.Classes.Sensors;
using DTS.Common.Interface.Sensors.SoftwareFilters;
namespace DTS.Common.Interface.Sensors.SensorsList
{
/// <summary>
/// this interface is used to describe objects used to represents sensors for UI purposes
/// </summary>
public interface IAnalogSensor
{
/// <summary>
/// bridge mode of the sensor in question
/// </summary>
SensorConstants.BridgeType Bridge { get; set; }
/// <summary>
/// indicates if the sensor is Integrated Electronics Piezo-Electric (IEPE)
/// </summary>
bool IEPE { get; }
/// <summary>
/// id in the database if available
/// only positive values are valid
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// used to indicate that the sensor should be checked if in a list
/// with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// serial number of the sensor
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of the sensor
/// </summary>
string Description { get; set; }
/// <summary>
/// the maker of the sensor
/// </summary>
string Manufacturer { get; set; }
/// <summary>
/// the model of the sensor
/// </summary>
string Model { get; set; }
/// <summary>
/// the current capacity or desired range of the sensor in EU
/// in general this value refers to maximum capacity, however
/// in some contexts this can refer to desired range instead
/// </summary>
double Capacity { get; set; }
/// <summary>
/// an arbitrary EU value for range for the sensor
/// </summary>
double RangeHigh { get; set; }
/// <summary>
/// an arbitrary EU value for medium range for the sensor
/// </summary>
double RangeMedium { get; set; }
/// <summary>
/// an arbitrary EU value for the low range for the sensor
/// </summary>
double RangeLow { get; set; }
/// <summary>
/// a user display friendly string representation of the sensor's sensitivity
/// this is suitable for tables and user display
/// </summary>
string Sensitivity { get; set; }
/// <summary>
/// in the case of dual sensitivity sensors, this is a string
/// user friendly representation of the second calibration
/// </summary>
string AddedSensitivity { get; set; }
/// <summary>
/// resistance in ohms of the sensor
/// </summary>
double Resistance { get; set; }
/// <summary>
/// a user friendly representation of the supported excitations
/// of the sensor
/// </summary>
string Excitation { get; set; }
/// <summary>
/// the engineering units of the sensor
/// usually obtained from the most recent calibration
/// </summary>
string Units { get; set; }
/// <summary>
/// Electronic ID associated with the sensor, if any
/// </summary>
string EID { get; set; }
/// <summary>
/// the last (most recent) calibration date for the sensor
/// </summary>
DateTime CalDate { get; set; }
/// <summary>
/// the date the sensor is due for calibration
/// </summary>
DateTime CalDueDate { get; set; }
/// <summary>
/// the user that last modified the sensor or calibration
/// </summary>
string ModifiedBy { get; set; }
/// <summary>
/// the date the sensor or calibration was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if the sensor matches the filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// used to indicate if the sensor has been assigned to a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// used to indicate if the sensor is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// the isocode associated with the sensor
/// this is the default isocode for the sensor when assigned to a new blank channel
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the isochannel name associated with the sensor
/// this is the default user channel name for the sensor when assigned to a new blank channel
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code associated with the sensor
/// this is the default user code for the sensor when assigned to a new blank channel
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name associated with the sensor
/// this is the default user channel name for the sensor when assigned to a new blank channel
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// the channel filter class (CFC) associated with the sensor
/// this is the default CFC for the sensor when assigned to a new blank channel
/// </summary>
Enums.Sensors.FilterClassType CFC { get; set; }
/// <summary>
/// indicates whether the sensor output should be inverted or not
/// this is the default polarity for the sensor when assigned to a new blank channel
/// </summary>
bool Polarity { get; set; }
/// <summary>
/// indicates what the type of nonlinear calculation is used for this sensor as a string
/// </summary>
string NonLinearCalculationType { get; set; }
/// <summary>
/// indicates what the type of nonlinear calculation is used for this sensor, as an enum
/// </summary>
NonLinearStyles NonLinearCalculationTypeEnum { get; set; }
/// <summary>
/// indicates what the type of software zero method is used for this sensor
/// </summary>
Enums.Sensors.ZeroMethodType ZeroMethod { get; set; }
/// <summary>
/// If ZeroMethod is Average over Time, indicates the start time
/// </summary>
double ZeroMethodStart { get; set; }
/// <summary>
/// If ZeroMethod is Average over Time, indicates the end time
/// </summary>
double ZeroMethodEnd { get; set; }
string UserValue1 { get; set; }
string UserValue2 { get; set; }
string UserValue3 { get; set; }
UIItemStatus SensorCalibrationOrUsageStatus { get; }
InitialOffset[] InitialOffsets { get; set; }
//FB 13120 define filter class
IFilterClass FilterClass { get; set; }
/// <summary>
/// Date of first use (null value indicates not set)
/// only valid when using latest calibration (as indicated by UsingLatestCalibration and LatestCalibrationId)
/// 13065 Sensor "First Use" Date
/// </summary>
DateTime? FirstUseDate { get; set; }
/// <summary>
/// latest calibration id for sensor, null indicates not set
/// 13065 Sensor "First Use" Date
/// </summary>
int? LatestCalibrationId { get; set; }
/// <summary>
/// whether the sensor is using the latest calibration (as indicated by calibration id)
/// 13065 Sensor "First Use" Date
/// </summary>
bool UsingLatestCalibration { get; set; }
int SensorUsageCount { get; set; }
int MaximumUsage { get; set; }
string AssemblyName { get; set; }
}
}

View File

@@ -0,0 +1,82 @@
using System;
using System.IO.Ports;
using DTS.Common.Enums;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ICanIOSetting
{
/// <summary>
/// ID in the database for the uart i/o setting
/// only positive numbers are valid database ids
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether the uart i/o is checked in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// the serial number / setting name
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of setting
/// </summary>
string Description { get; set; }
/// <summary>
/// the user who last modified setting
/// </summary>
string LastModifiedBy { get; set; }
/// <summary>
/// when the setting was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if uart i/o matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether the uart i/o is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether the uart i/o is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// the isocode for the uart i/o
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the iso channel name for the uart i/o
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code for the uart i/o
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name for the uart i/o
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// marks the uart i/o setting as broken or not
/// broken sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the uart i/o setting as donotuse
/// donotuse sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
bool CanIsFD { get; set; }
int CanArbBaseBitrate { get; set; }
int CanArbBaseSJW { get; set; }
int CanDataBitrate { get; set; }
int CanDataSJW { get; set; }
string CanFileType { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
using DTS.Common.Enums;
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
/// <summary>
/// interface describes objects used in the UI to display digital inputs
/// </summary>
public interface IDigitalInputSetting
{
/// <summary>
/// ID in the database for the digital input setting
/// only positive numbers are valid database ids
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether the digital input is checked in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// the serial number / setting name
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of setting
/// </summary>
string Description { get; set; }
/// <summary>
/// string representation of the Digital Input Mode of the setting
/// </summary>
string DIMode { get; set; }
/// <summary>
/// the user who last modified setting
/// </summary>
string ModifiedBy { get; set; }
/// <summary>
/// when the setting was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if digital input matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether the digital input is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether the digital input is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// electronic id associated with the digital input
/// </summary>
string EID { get; set; }
/// <summary>
/// the isocode for the digital input
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the iso channel name for the digital input
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code for the digital input
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name for the digital input
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// the active value of digital input as a string
/// this is the what to display when the digital input is in active state
/// </summary>
string ActiveValue { get; set; }
/// <summary>
/// the string representation of the state of the digital input in it's default state
/// this is what to display when the digital input is in idle, inactive, or the default state
/// </summary>
string DefaultValue { get; set; }
DigitalInputModes Mode { get; set; }
/// <summary>
/// marks the digital input setting as broken or not
/// broken sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the digital input setting as donotuse
/// donotuse sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
}
}

View File

@@ -0,0 +1,93 @@
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IDigitalOutputSetting
{
/// <summary>
/// database id for digital output setting
/// only ids > 0 are valid
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether digital output should have a check in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// serialnumber/setting name for digital output setting
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description/comment for setting
/// </summary>
string Description { get; set; }
/// <summary>
/// delay in ms before outputting
/// </summary>
double DODelay { get; set; }
/// <summary>
/// duration in ms of output (if limiting duration)
/// </summary>
double DODuration { get; set; }
/// <summary>
/// who last modified the digital output
/// </summary>
string ModifiedBy { get; set; }
/// <summary>
/// when the digital output was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if the digital output matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether digital output is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether digital output was found online or not (there's no real way of finding digital output online, it has no EID)
/// </summary>
bool Online { get; set; }
/// <summary>
/// isocode associated with digital output
/// digital outputs aren't in collected data so there's not a real need for this ...
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// iso channel name associated with digital output
/// digital outputs aren't in collected data so there's no real need for this ...
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// user code associated with digital output
/// there's no collected data for outputs so there's no real need for this
/// </summary>
string UserCode { get; set; }
/// <summary>
/// user channel name associated with digital output
/// there's no collected data for outputs so there's no real need for this
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// whether output should be limited or not
/// </summary>
bool LimitDuration { get; set; }
/// <summary>
/// the output mode for the digital output setting
/// </summary>
Enums.DigitalOutputModes DOMode { get; set; }
/// <summary>
/// used to mark whether the digital output is broken
/// broken sensors do not appear in selectable lists of sensors in edit group or edit test setup
/// </summary>
bool Broken { get; set; }
/// <summary>
/// used to mark whether the digital output should not be used
/// donotuse sensors do not appear in selectable lists of sensors in edit group or edit test setup
/// </summary>
bool DoNotUse { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
namespace DTS.Common.Interface.Sensors.SensorsList
{
/// <summary>
/// interface describing drag and drop payload when dragging from a sensor list
/// this is common interface between different sensor types
/// </summary>
public interface IDragAndDropItem
{
/// <summary>
/// serial name /setting name for sensor
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// database id associated with sensor (if any)
/// only ids >0 are valid
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// isocode associated with sensor
/// </summary>
string ISOCode { get; }
/// <summary>
/// iso channel name associated with sensor
/// </summary>
string ISOChannelName { get; }
/// <summary>
/// user code associated with sensor
/// </summary>
string UserCode { get; }
/// <summary>
/// user channel name associated with sensor
/// </summary>
string UserChannelName { get; }
}
}

View File

@@ -0,0 +1,6 @@
using DTS.Common.Base;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorTemplatesExportView : IBaseView { }
}

View File

@@ -0,0 +1,8 @@
using DTS.Common.Base;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorTemplatesViewModel : IBaseViewModel
{
}
}

View File

@@ -0,0 +1,15 @@
using DTS.Common.Base;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListEditGroupView : IBaseView
{
/// <summary>
/// handles adding/removing columns done before view is displayed
/// 13065 Sensor "First Use" Date
/// </summary>
void HandleColumns();
void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused);
void HandleInspectBeforeUseVisibilityColumn(bool show);
}
}

View File

@@ -0,0 +1,40 @@
using DTS.Common.Base;
using System.Collections.Generic;
using DTS.Common.Enums.Sensors;
using DTS.Common.Interface.Pagination;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListEditGroupViewModel : IBaseViewModel, IFilterableListView
{
ISensorsListEditGroupView View { get; set; }
IAnalogSensor[] AnalogSensors { get; set; }
ISquib[] Squibs { get; set; }
IDigitalInputSetting[] DigitalInputSettings { get; set; }
IDigitalOutputSetting[] DigitalOutputSettings { get; set; }
IUartIOSetting[] UartSettings { get; set; }
IStreamOutputSetting[] StreamOutputSettings { get; set; }
void GetSensors(int sensorCalWarningPeriodDays, bool dontAllowDataCollectionIfOverused, int sensorUsageWarningPeriodCount, bool included);
void SetCapacityFormat(string format);
void Sort(object sortBy, bool bColumnClick);
void Unset();
void Filter(string currentFilter);
void FilterSquib(object columnTag, string searchTerm);
void FilterDigitalIn(object columnTag, string searchTerm);
void FilterDigitalOut(object columnTag, string searchTerm);
void FilterUartIO(object columnTag, string searchTerm);
void FilterStreamOut(object columnTag, string searchTerm);
void FilterStreamIn(object columnTag, string searchTerm);
void SetShowAssigned(bool showAssigned, bool showUnassigned, IReadOnlyDictionary<string, bool> assignedSensors);
void SetShowOnline(bool showOnline);
void SetAssignedSensors(IReadOnlyDictionary<string, bool> serialNumbers);
void SetOnline(Dictionary<string, bool> serialNumbersToOnline);
bool IsSensorOnline(string serialNumber);
void SetCachedSensors(ISensorData[] cachedSensors);
void SetCachedCalibrations(ISensorCalibration[] calibrations);
// sets the currently active tab to the type of sensor (analog/squib/di/dout)
void SetActiveTab(PossibleFilters filter);
void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused);
void HandleInspectBeforeUseVisibilityColumn(bool allow);
}
}

View File

@@ -0,0 +1,6 @@
using DTS.Common.Base;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListOverdueView : IBaseView { }
}

View File

@@ -0,0 +1,13 @@
using DTS.Common.Base;
using DTS.Common.Enums.Sensors;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListView : IBaseView
{
void HandleColumns(CalibrationBehaviors calibrationBehavior);
void SetIncludedVisible(bool bUsesIncludeColumn);
void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused);
void HandleInspectBeforeUseVisibilityColumn(bool show);
}
}

View File

@@ -0,0 +1,75 @@
using DTS.Common.Base;
using DTS.Common.Enums.Sensors;
using DTS.Common.Interface.Pagination;
using System;
using System.Collections.Generic;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorsListViewModel : IBaseViewModel, IFilterableListView
{
ISensorsListView View { get; set; }
IAnalogSensor[] AnalogSensors { get; set; }
ISquib[] Squibs { get; set; }
IDigitalInputSetting[] DigitalInputSettings { get; set; }
IDigitalOutputSetting[] DigitalOutputSettings { get; set; }
IUartIOSetting[] UartIOSettings { get; set; }
IStreamOutputSetting[] StreamOutputSettings { get; set; }
CalibrationBehaviors CalibrationBehavior { get; set; }
void HandleAssemblyVisibilityColumns(bool bDontAllowDataCollectionIfOverused);
void HandleInspectBeforeUseVisibilityColumn(bool show);
void GetSensors(int sensorCalWarningPeriodDays, bool dontAllowDataCollectionIfOverused, int sensorUsageWarningCount,
bool included, Action OnComplete);
/// <summary>
/// retrieves and populates view model with all sensors matching sensors allowed
/// </summary>
/// <param name="sensorCalWarningPeriodDays">cal warning period in days, used for colorization</param>
/// <param name="sensorsAllowed">array of which sensors to display</param>
/// <param name="sensors">dictionary look up of databaseid to ISensorData for sensors in a test</param>
void GetSensors(int sensorCalWarningPeriodDays, int[] sensorsAllowed, IReadOnlyDictionary<int, ISensorData> sensors);
void SetSelectedSerial(string serialNumber);
void Sort(object sortBy, bool bColumnClick);
void SortOverdue(object sortBy, bool bColumnClick);
void Unset();
void Filter(string currentFilter);
void FilterSquib(object columnTag, string searchTerm);
void FilterDigitalIn(object columnTag, string searchTerm);
void FilterDigitalOut(object columnTag, string searchTerm);
void FilterUartIO(object columnTag, string searchTerm);
void FilterStreamIn(object columnTag, string searchTerm);
void FilterStreamOut(object columnTag, string searchTerm);
void SetCachedSensors(ISensorData[] cachedSensors);
void SetCachedCalibrations(ISensorCalibration[] sensorCalibrations);
string CapacityFormat { get; set; }
/// <summary>
/// determines whether included columns are used in models/views
/// </summary>
/// <param name="bUsesIncludedColumn"></param>
void UseIncludedColumn(bool bUsesIncludedColumn);
/// <summary>
///// determines whether the Assembly, Usage count, and Maximum usage columns are used in models/views
///// </summary>
///// <param name="bUsesIncludedColumn"></param>
//void UseUsageCountColumns(bool bUsesUsageCountColumns);
/// <summary>
/// sets the included property for all sensors
/// </summary>
/// <param name="bIncluded"></param>
void SetIncludedAll(bool bIncluded);
/// <summary>
/// returns all the included sensors
/// </summary>
/// <returns></returns>
IDragAndDropItem[] GetIncludedSensors();
/// <summary>
/// controls whether TDC incompatible sensors should be included or not
/// </summary>
bool ShowOnlyTDCSensors { set; }
/// <summary>
/// controls whether Sliceware incompatible sensors should be included or not
/// </summary>
bool ShowOnlySlicewareSensors { set; }
}
}

View File

@@ -0,0 +1,6 @@
using DTS.Common.Base;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISensorTemplatesImportView : IBaseView { }
}

View File

@@ -0,0 +1,41 @@
using DTS.Common.Enums;
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface ISquib
{
int DatabaseId { get; set; }
bool Included { get; set; }
string SerialNumber { get; set; }
string Description { get; set; }
double ResistanceLow { get; set; }
double ResistanceHigh { get; set; }
string ID { get; set; }
string SQMode { get; set; }
double SQDelay { get; set; }
double SQCurrent { get; set; }
double SQDuration { get; set; }
bool LimitDuration { get; set; }
string ModifiedBy { get; set; }
DateTime LastModified { get; set; }
bool Filter(string term);
bool Assigned { get; set; }
bool Online { get; set; }
string ISOCode { get; set; }
string ISOChannelName { get; set; }
string UserCode { get; set; }
string UserChannelName { get; set; }
SquibFireMode Mode { get; set; }
/// <summary>
/// marks the squib as broken
/// broken sensors do not appear in lists of available sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the squib as donotuse
/// donotuse sensors do not appear in lists of available sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
}
}

View File

@@ -0,0 +1,80 @@
using DTS.Common.Enums;
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IStreamInputSetting
{
/// <summary>
/// ID in the database for the stream output setting
/// only positive numbers are valid database ids
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether the stream output is checked in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// the serial number / setting name
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of setting
/// </summary>
string Description { get; set; }
/// <summary>
/// the user who last modified setting
/// </summary>
string LastModifiedBy { get; set; }
/// <summary>
/// when the setting was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if stream output matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether the stream output is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether the stream output is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// the isocode for the stream output
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the iso channel name for the stream output
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code for the stream output
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name for the stream output
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// marks the stream output setting as broken or not
/// broken sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the stream output setting as donotuse
/// donotuse sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
///<summary>
/// udp address setting value
///</summary>
string UDPAddress { get; set; }
}
}

View File

@@ -0,0 +1,136 @@
using DTS.Common.Enums;
using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IStreamOutputSetting
{
/// <summary>
/// ID in the database for the stream output setting
/// only positive numbers are valid database ids
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether the stream output is checked in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// the serial number / setting name
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of setting
/// </summary>
string Description { get; set; }
/// <summary>
/// the user who last modified setting
/// </summary>
string LastModifiedBy { get; set; }
/// <summary>
/// when the setting was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if stream output matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether the stream output is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether the stream output is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// the isocode for the stream output
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the iso channel name for the stream output
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code for the stream output
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name for the stream output
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// marks the stream output setting as broken or not
/// broken sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the stream output setting as donotuse
/// donotuse sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
///<summary>
/// udp profile setting value
///</summary>
UDPStreamProfile UDPProfile { get; set; }
///<summary>
/// udp address setting value
///</summary>
string UDPAddress { get; set; }
///<summary>
/// time channel id setting value
///</summary>
ushort UDPTimeChannelId { get; set; }
///<summary>
/// data channel id setting value
///</summary>
ushort UDPDataChannelId { get; set; }
///<summary>
/// tmns config setting value
///</summary>
string UDPTmNSConfig { get; set; }
///<summary>
/// irig data packet interval setting value
///</summary>
ushort IRIGTimeDataPacketIntervalMs { get; set; }
/// <summary>
/// interval in ms between sending TMATS information while streaming
/// http://manuscript.dts.local/f/cases/29987/Add-CG-DP-TMATS-interval-UI-support
/// </summary>
ushort TMATSIntervalMs { get; set; }
bool IsCH10 { get; }
bool IsTMNS { get; }
bool IsIENA { get; }
bool IsUART { get; }
/// <summary>
/// TMNS sub frame id for output streaming
/// </summary>
uint TMNS_SubFrameId { get; set; }
/// <summary>
/// TMNS message id for output streaming
/// </summary>
uint TMNS_MsgId { get; set; }
/// <summary>
/// tmns PCM minor per major setting for output streaming
/// </summary>
uint TMNS_MinorPerMajor { get; set; }
/// <summary>
/// TMNS TMATs port for output streaming
/// </summary>
uint TMNS_TMATSPort { get; set; }
/// <summary>
/// IENA key for output streaming
/// </summary>
ushort IENA_Key { get; set; }
/// <summary>
/// IENA source port for streaming
/// </summary>
uint IENA_SourcePort { get; set; }
}
}

View File

@@ -0,0 +1,100 @@
using System;
using System.IO.Ports;
using DTS.Common.Enums;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IUartIOSetting
{
/// <summary>
/// ID in the database for the uart i/o setting
/// only positive numbers are valid database ids
/// </summary>
int DatabaseId { get; set; }
/// <summary>
/// whether the uart i/o is checked in a list with a checkbox
/// </summary>
bool Included { get; set; }
/// <summary>
/// the serial number / setting name
/// </summary>
string SerialNumber { get; set; }
/// <summary>
/// description or comment of setting
/// </summary>
string Description { get; set; }
/// <summary>
/// the user who last modified setting
/// </summary>
string LastModifiedBy { get; set; }
/// <summary>
/// when the setting was last modified
/// </summary>
DateTime LastModified { get; set; }
/// <summary>
/// returns true if uart i/o matches filter criteria
/// </summary>
/// <param name="term"></param>
/// <returns></returns>
bool Filter(string term);
/// <summary>
/// whether the uart i/o is associated with a channel
/// </summary>
bool Assigned { get; set; }
/// <summary>
/// whether the uart i/o is online or not
/// </summary>
bool Online { get; set; }
/// <summary>
/// the isocode for the uart i/o
/// </summary>
string ISOCode { get; set; }
/// <summary>
/// the iso channel name for the uart i/o
/// </summary>
string ISOChannelName { get; set; }
/// <summary>
/// the user code for the uart i/o
/// </summary>
string UserCode { get; set; }
/// <summary>
/// the user channel name for the uart i/o
/// </summary>
string UserChannelName { get; set; }
/// <summary>
/// marks the uart i/o setting as broken or not
/// broken sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool Broken { get; set; }
/// <summary>
/// marks the uart i/o setting as donotuse
/// donotuse sensors do not appear in selectable lists of sensors in edit test setup or edit group
/// </summary>
bool DoNotUse { get; set; }
/// <summary>
/// uart baud rate
/// </summary>
uint BaudRate { get; set; }
/// <summary>
/// uart data bits
/// </summary>
uint DataBits { get; set; }
/// <summary>
/// uart stop bits
/// </summary>
StopBits StopBits { get; set; }
/// <summary>
/// uart parity
/// </summary>
Parity Parity { get; set; }
/// <summary>
/// uart flow control FB 30486 removed set. Always be NONE
/// </summary>
Handshake FlowControl { get; }
/// <summary>
/// the data format of incoming data
/// </summary>
UartDataFormat DataFormat { get; set; }
}
}