init
This commit is contained in:
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace DTS.Common.Enums.Viewer
|
||||
{
|
||||
public enum TestChannelFields
|
||||
{
|
||||
SerialNumber,
|
||||
ChannelId,
|
||||
Description,
|
||||
ChannelGroupName,
|
||||
ChannelType,
|
||||
Number,
|
||||
DigitalMultiplier,
|
||||
DigitalMode,
|
||||
Start,
|
||||
Bridge,
|
||||
BridgeResistanceOhms,
|
||||
ZeroPoint,
|
||||
ChannelDescriptionString,
|
||||
ChannelName2,
|
||||
HardwareChannelName,
|
||||
DesiredRange,
|
||||
Sensitivity,
|
||||
SoftwareFilter,
|
||||
ProportionalToExcitation,
|
||||
IsInverted,
|
||||
LinearizationFormula,
|
||||
IsSubsampled,
|
||||
AbsoluteDisplayOrder,
|
||||
LastCalibrationDate,
|
||||
SensorId,
|
||||
OffsetToleranceLowMv,
|
||||
OffsetToleranceHighMv,
|
||||
DataFlag,
|
||||
ExcitationVoltage,
|
||||
Eu,
|
||||
CalSignalEnabled,
|
||||
ShuntEnabled,
|
||||
VoltageInsertionCheckEnabled,
|
||||
RemoveOffset,
|
||||
ZeroMethod,
|
||||
ZeroAverageWindowBegin,
|
||||
ZeroAverageWindowEnd,
|
||||
InitialEu,
|
||||
InitialOffset,
|
||||
UnsubsampledSampleRateHz,
|
||||
MeasuredShuntDeflectionMv,
|
||||
TargetShuntDeflectionMv,
|
||||
MeasuredExcitationVoltage,
|
||||
FactoryExcitationVoltage,
|
||||
TimeOfFirstSample,
|
||||
Multiplier,
|
||||
UserOffsetEU,
|
||||
UnitConversion,
|
||||
AtCapacity,
|
||||
CapacityOutputIsBasedOn,
|
||||
SensitivityUnits,
|
||||
SensorCapacity,
|
||||
SourceChannelNumber,
|
||||
SourceModuleNumber,
|
||||
SourceModuleSerialNumber,
|
||||
Calculation,
|
||||
SampleRateHz,
|
||||
IsoCode,
|
||||
IsoChannelName,
|
||||
UserCode,
|
||||
UserChannelName,
|
||||
SensorPolarity,
|
||||
HIC,
|
||||
UseEUScaler,
|
||||
ScaleFactorEU,
|
||||
T1,
|
||||
T2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using DTS.Common.Base;
|
||||
using DTS.Common.Enums;
|
||||
using DTS.Common.Enums.Sensors;
|
||||
using DTS.Common.Enums.Sensors.SensorsList;
|
||||
using DTS.Common.Interface.Channels;
|
||||
using DTS.Common.Interface.Channels.ChannelCodes;
|
||||
using DTS.Common.Interface.DataRecorders;
|
||||
using DTS.Common.Interface.Groups.GroupList;
|
||||
using DTS.Common.Interface.Pagination;
|
||||
using DTS.Common.Interface.Sensors;
|
||||
using DTS.Common.Interface.TestSetups.TestSetupsList;
|
||||
|
||||
namespace DTS.Common.Interface.Groups.GroupChannelList
|
||||
{
|
||||
/// <summary>
|
||||
/// this class describes the view module for the group import module
|
||||
/// this handles interaction betweens the views and the application, as well as
|
||||
/// the logic and intermediate data for the module
|
||||
/// </summary>
|
||||
public interface IGroupChannelListViewModel : IBaseViewModel, IFilterableListView
|
||||
{
|
||||
IGroupChannelListView View { get; set; }
|
||||
IGroupChannelSettingsListView SettingsView { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// populates the channels to be displayed in views
|
||||
/// </summary>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="sensorLookup"></param>
|
||||
/// <param name="hardwareLookup"></param>
|
||||
/// <param name="channelDefaults"></param>
|
||||
/// <returns></returns>
|
||||
IDictionary<IGroup, Channels.IGroupChannel[]> PopulateChannels(object page,
|
||||
IDictionary<int, ISensorData> sensorLookup,
|
||||
IDictionary<int, IDASHardware> hardwareLookup,
|
||||
IChannelSetting[] channelDefaults,
|
||||
bool allowChannelDeletionByNonAdminUser = true,
|
||||
bool userIsAdmin = true,
|
||||
bool allowSensorPushAndPull = false,
|
||||
bool keepExistingChannels = false,
|
||||
bool allowChannelDeletionFromFixedGroup = true);
|
||||
|
||||
/// <summary>
|
||||
/// whether voltage insertion channels should be created when dragging on an analog hardware channel onto
|
||||
/// a blank channel with no sensor set yet
|
||||
/// </summary>
|
||||
bool CreateVoltageInputChannels { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if any of the channel's values that can be modified
|
||||
/// in the Parameters step are different than the corresponding
|
||||
/// sensor's values in the sensor database, so that they can be
|
||||
/// decorated, along with the Parameters step (FB 15245)
|
||||
/// </summary>
|
||||
/// <param name="ch"></param>
|
||||
/// <returns></returns>
|
||||
bool CompareAndMarkChannelParameters(Channels.IGroupChannel ch);
|
||||
/// <summary>
|
||||
/// any work that needs to be done when a view is loaded
|
||||
/// </summary>
|
||||
void OnSetActive();
|
||||
/// <summary>
|
||||
/// any work that needs to be done when view is unloaded
|
||||
/// </summary>
|
||||
void Unset();
|
||||
|
||||
/// <summary>
|
||||
/// filters content on the screen given a string term
|
||||
/// </summary>
|
||||
/// <param name="term"></param>
|
||||
void Filter(string term);
|
||||
/// <summary>
|
||||
/// The format of a string double (usually "N2")
|
||||
/// </summary>
|
||||
string CapacityFormat { get; set; }
|
||||
/// <summary>
|
||||
/// All available channels [prior to filtering/searching/sorting]
|
||||
/// </summary>
|
||||
List<Channels.IGroupChannel> AllChannels { get; }
|
||||
|
||||
Func<IList<IChannelCode>> ChannelCodesFunc { get; }
|
||||
|
||||
/// <summary>
|
||||
/// channels displayed in channel list view
|
||||
/// </summary>
|
||||
ObservableCollection<Channels.IGroupChannel> Channels { get; set; }
|
||||
/// <summary>
|
||||
/// channels display in settings view, essentially the same as channels
|
||||
/// but snap-shot in onsetactive with just the blank channels removed
|
||||
/// </summary>
|
||||
ObservableCollection<Channels.IGroupChannel> SettingChannels { get; set; }
|
||||
/// <summary>
|
||||
/// indicates that the attached SettingsView has loaded
|
||||
/// </summary>
|
||||
bool SettingsViewLoaded { get; set; }
|
||||
/// <summary>
|
||||
/// indicates that the SettingChannel UI elements were created
|
||||
/// </summary>
|
||||
bool SettingChannelsLoaded { get; set; }
|
||||
/// <summary>
|
||||
/// group being viewed (when editing a group)
|
||||
/// </summary>
|
||||
IGroup Group { get; set; }
|
||||
/// <summary>
|
||||
/// test setup being viewed (when editing a test setup)
|
||||
/// </summary>
|
||||
ITestSetup TestSetup { get; set; }
|
||||
//whether to always match the CFC to the iso code and vice versa
|
||||
bool UseISOCodeFilterMapping { get; set; }
|
||||
/// <summary>
|
||||
/// sets which typeof channels are displayed by sensor type
|
||||
/// </summary>
|
||||
/// <param name="bridgeFilter"></param>
|
||||
void SetFilter(PossibleFilters bridgeFilter);
|
||||
/// <summary>
|
||||
/// indicates whether to show isocodes
|
||||
/// </summary>
|
||||
bool ShowISOCodes { get; }
|
||||
/// <summary>
|
||||
/// indicates whether to show user codes
|
||||
/// </summary>
|
||||
bool ShowUserCodes { get; }
|
||||
/// <summary>
|
||||
/// indicates whether to show Dallas Id column or not
|
||||
/// http://manuscript.dts.local/f/cases/31802/Add-Dallas-ID-column-to-quickcheckout
|
||||
/// </summary>
|
||||
bool ShowDallasIdColumn { get; set; }
|
||||
/// <summary>
|
||||
/// gets/sets what the iso view mode is
|
||||
/// </summary>
|
||||
IsoViewMode ISOViewMode { get; set; }
|
||||
bool ShowISOStringBuilder { get; set; }
|
||||
/// <summary>
|
||||
/// gets/sets whether complete and unique isocodes are required
|
||||
/// </summary>
|
||||
bool UniqueISOCodesRequired { get; set; }
|
||||
bool ShowChannelCodeLookupHelper { get; set; }
|
||||
|
||||
bool UseTestSetupOrder { get; }
|
||||
bool ShowSensorChannelUserValues { get; set; }
|
||||
void MoveDown(Channels.IGroupChannel[] channel);
|
||||
void MoveBottom(Channels.IGroupChannel[] channel);
|
||||
void MoveUp(Channels.IGroupChannel[] channel);
|
||||
void MoveTop(Channels.IGroupChannel[] channel);
|
||||
void Filter(PossibleFilters filter);
|
||||
void AddChannels(DTS.Common.Interface.Sensors.SensorsList.IDragAndDropItem[] sensors);
|
||||
void AddChannels(IHardwareChannel[] hardwareChannels);
|
||||
void AddChannels(Channels.IGroupChannel[] groupChannels);
|
||||
void Remove(Channels.IGroupChannel channel, bool notifyChanged = true);
|
||||
IGroup CreateGroupIfNeeded(ITestSetup testSetup, string groupName);
|
||||
//used to count channels for the label at the top of the view
|
||||
void SetIncludedHardware(IDASHardware[] hardwares);
|
||||
|
||||
/// <summary>
|
||||
/// modifies how meta data is handled when sensors are dragged onto channels without sensors
|
||||
/// </summary>
|
||||
bool ApplySensorDataToBlankChannels { get; set; }
|
||||
bool AllowChannelDeletionByNonAdminUser { get; set; }
|
||||
bool UserIsAdmin { get; set; }
|
||||
bool AllowSensorPushAndPull { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// sets the range of all analog sensors according to input
|
||||
/// </summary>
|
||||
/// <param name="option"></param>
|
||||
void SetRange(CACOption option);
|
||||
|
||||
/// <summary>
|
||||
/// sets the view (settings)
|
||||
/// </summary>
|
||||
/// <param name="columnTag"></param>
|
||||
/// <param name="bUserClick"></param>
|
||||
void Sort(object columnTag, bool bUserClick);
|
||||
|
||||
bool ReadOnlyParametersMode { get; set; }
|
||||
bool ReadOnlyChannelsMode { get; set; }
|
||||
int UserID { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using DTS.Common.Base;
|
||||
|
||||
namespace DTS.Common.Interface
|
||||
{
|
||||
public interface IHeadReportViewModel : IBaseViewModel
|
||||
{
|
||||
IHeadReportInputView InputView { get; set; }
|
||||
IHeadReportOutputView OutputView { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
using DTS.Common.Interface.DASFactory.Config;
|
||||
|
||||
namespace DTS.Common.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// different variables to optimize or change the behavior of das factory based on whether a test
|
||||
/// is currently executing or not
|
||||
/// </summary>
|
||||
public abstract class RunTestVariables
|
||||
{
|
||||
public static bool TestSetupIdPrefill { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the first ip for the range that can fd are expected at
|
||||
/// </summary>
|
||||
public static string CANFD_START { get; set; } = "192.168.6.1";
|
||||
/// <summary>
|
||||
/// the last ip for the range that can fd are expected at
|
||||
/// </summary>
|
||||
public static string CANFD_STOP { get; set; } = "192.168.6.254";
|
||||
public static bool IsTSRAIRGo { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the delay in seconds before arm/record in auto arm recording modes
|
||||
/// http://manuscript.dts.local/f/cases/43048/Support-Delay-to-arm-record-with-power-on-with-autoarm-enabled
|
||||
/// </summary>
|
||||
public static int AutoArmRecordDelaySeconds { get; set; } = 1;
|
||||
public static string DbName { get; set; } = "DataPRO";
|
||||
/// <summary>
|
||||
/// whether to show ADC unsigned or not
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool ShowADCUnsigned { get; set; } = false;
|
||||
/// <summary>
|
||||
/// The realtime sample rate for TDAS
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double RealtimeSampleRateTDAS { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// The default udp stream time channel id
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int DefaultUDPStreamTimeChannelId { get; set; } = 1;
|
||||
/// <summary>
|
||||
/// the default udp stream data channel id
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int DefaultUDPStreamDataChannelId { get; set; } = 3;
|
||||
/// <summary>
|
||||
/// the default irig time data packet interval in ms
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int DefaultIRIGTimeDataPacketIntervalMs { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// the default udp stream tmns config property as a string
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static string DefaultUDPStreamTmNSConfig { get; set; } = "";
|
||||
/// <summary>
|
||||
/// The ISO view mode
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static IsoViewMode ISOViewMode { get; set; } = IsoViewMode.ISOOnly;
|
||||
/// <summary>
|
||||
/// the realtime level trigger percentage
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double RealtimeLevelTriggerPercentage { get; set; } = 100;
|
||||
/// <summary>
|
||||
/// the realtime level trigger beep interval in ms
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int RealtimeLevelTriggerBeepIntervalMS { get; set; } = 10;
|
||||
/// <summary>
|
||||
/// the realtime level trigger beep count
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int RealtimeLevelTriggerBeepCount { get; set; } = 10;
|
||||
/// <summary>
|
||||
/// whether to auto advance in realtime level trigger
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool RealtimeLevelTriggerAutoAdvance { get; set; } = false;
|
||||
/// <summary>
|
||||
/// how long to freeze after a level trigger in realtime in seconds
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int RealtimeLevelTriggerFreezeTimeSec { get; set; } = 3;
|
||||
/// <summary>
|
||||
/// whether to require completion of realtime level trigger checks or not
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool RealtimeLevelTriggerRequireCheckCompletion { get; set; } = false;
|
||||
/// <summary>
|
||||
/// realtime level trigger qualifying number of samples for a level trigger
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int RealtimeLevelTriggerQualifyingSamples { get; set; } = 5;
|
||||
/// <summary>
|
||||
/// whether to beep in realtime level trigger while idle
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool RealtimeLevelTriggerIdleBeep { get; set; } = false;
|
||||
/// <summary>
|
||||
/// realtime level trigger idle beep interval in ms
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int RealtimeLevelTriggerIdleBeepIntervalMS { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// whether to use realtime in metermode table mode
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool UseMeterModeTable { get; set; } = false;
|
||||
/// <summary>
|
||||
/// whether to save realtime snapshots to clipboard or not
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool SaveSnapshotToClipboard { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the default UDP stream address
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static string RealtimeUDPStreamAddress { get; set; } = "";
|
||||
/// <summary>
|
||||
/// whether to use UDP for realtime streaming
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool UseUDPStreaming { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the number of realtime charts to show
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static int NumberOfRealtimeCharts { get; set; } = 6;
|
||||
/// <summary>
|
||||
/// realtime sample rate for SLICE6
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double RealtimeSampleRateSLICE6 { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// realtime sample rate
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double RealtimeSampleRate { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// realtime sample rate for USB SLICE
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double RealtimeSampleRateUSBSLICE { get; set; } = 1000;
|
||||
public static double RealtimeSampleRateEthSLICE { get; set; } = 120;
|
||||
/// <summary>
|
||||
/// default realtime chart width in seconds
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static double ChartWidthInSeconds { get; set; } = 2;
|
||||
/// <summary>
|
||||
/// whether to enable dynamic realtime optimization
|
||||
/// This is just a property to hold the value during run test
|
||||
/// http://manuscript.dts.local/f/cases/33110/Eliminate-DB-communication-while-in-realtime
|
||||
/// </summary>
|
||||
public static bool EnableDynamicRealtimeOptimization { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the number of ADC samples per data packet
|
||||
/// http://manuscript.dts.local/f/cases/31754/
|
||||
/// </summary>
|
||||
public static int ADCSamplesPerPacket { get; set; } = 100;
|
||||
/// <summary>
|
||||
/// whether to remove leap seconds from streaming timestamps
|
||||
/// note that this property does not retrieve the setting from the database, and only holds the value
|
||||
/// between operations, it must be updated separately
|
||||
/// </summary>
|
||||
public static bool RemoveLeapSeconds { get; set; } = false;
|
||||
/// <summary>
|
||||
/// whether to output reports in XLSM format or XLSX
|
||||
/// 20152 DataPRO Test Summary Preview - .xlsm support
|
||||
/// note that Test Summary is the only one requested so far, so that's the only one we do
|
||||
/// </summary>
|
||||
public static bool OutputXLSMReports { get; set; } = false;
|
||||
/// <summary>
|
||||
/// 43731 [SW] NFR - DataPRO - Allow users to turn off sensor ID reading
|
||||
/// this property controls whether EIDs are disabled in run test tabs
|
||||
/// It does not retrieve the setting, only holds the property between processes
|
||||
/// </summary>
|
||||
public static bool DisableEIDs { get; set; } = false;
|
||||
public static bool BypassEIDRead
|
||||
{
|
||||
get => DisableEIDs && InRunTest;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// controls whether to mask EU meta data when streaming
|
||||
/// 25597 Add option in System Settings to populate TMATs without offset values or scalefactors; "Stream without EU Metadata in TMATs"
|
||||
/// does not query setting, only holds the setting in memory for use
|
||||
/// across modules
|
||||
/// </summary>
|
||||
public static bool MaskEUMetaData { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the protocol version S6 are assumed to be when running a test (protocol version not queried)
|
||||
/// </summary>
|
||||
public static byte AssumedProtocolVersionForSlice6InRunTest { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// whether to query cal date when running a test
|
||||
/// </summary>
|
||||
public static bool QueryCalDateInRunTest { get; set; } = false;
|
||||
/// <summary>
|
||||
/// whether currently running a test or not
|
||||
/// </summary>
|
||||
public static bool InRunTest { get; set; } = false;
|
||||
/// <summary>
|
||||
/// whether to query connected devices when running a test or not
|
||||
/// </summary>
|
||||
public static bool QueryConnectedDevicesInRunTest { get; set; } = false;
|
||||
/// <summary>
|
||||
/// the minimum time between different ATDs when connecting
|
||||
/// </summary>
|
||||
public static int PerBucketOffsetMS { get; set; } = 2000;
|
||||
/// <summary>
|
||||
/// the maximum time variance within the bucket itself for an ATD (so 2000, 1000 means all units in ATD2 should have their chance to start between 2 and 3s)
|
||||
/// </summary>
|
||||
public static int BucketVariance { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// performance improvement possibility, skip QueryProtocolVersion in RunTest and just
|
||||
/// assume the protocol version of devices
|
||||
/// a value of -1 means the version will still be queried
|
||||
/// </summary>
|
||||
public static byte Assumed_S6DB_ProtocolVersion = 13;
|
||||
/// <summary>
|
||||
/// performance improvement, skip QueryBaseHardwareRevision and use this assumed value in RunTest
|
||||
/// a value of -1 means it will be queried anyhow
|
||||
/// </summary>
|
||||
public static int AssumedBaseHardwareRevisionSLICE6 = 0;
|
||||
/// <summary>
|
||||
/// performance improvement, skip QueryBaseType in RunTest for S6 and just use this value as the
|
||||
/// assumed base type, a value of -1 means it will be queried anyhow
|
||||
/// </summary>
|
||||
public static int AssumeBaseTypeSLICE6 = 6;
|
||||
/// <summary>
|
||||
/// performance improvement, skip QueryEventData in run test or not
|
||||
/// </summary>
|
||||
public static bool OptimizeQueryEventData = true;
|
||||
/// <summary>
|
||||
/// performance improvement, skip setting polarity in run test
|
||||
/// </summary>
|
||||
public static bool DontSetPolarityInRunTest = false;
|
||||
/// <summary>
|
||||
/// performance improvement, whether to cache voltage settings in runtest
|
||||
/// rather than always retrieving from db
|
||||
/// </summary>
|
||||
public static bool CacheVoltageSettingsInRunTest = true;
|
||||
/// <summary>
|
||||
/// performance improvment, skip getting TiltSensorScaleFactor from S6
|
||||
/// as they aren't currently calibrated and use the same scalefactor
|
||||
/// </summary>
|
||||
public static float TiltSensorScaleFactor = 0.0009765625F;
|
||||
/// <summary>
|
||||
/// performance improvment, whether to check for autoarmed in runtest or not
|
||||
/// </summary>
|
||||
public static bool CheckForAutoArmedInRunTest = true;
|
||||
/// <summary>
|
||||
/// performance, whether to avoid executing PrepareDataCollection when arming
|
||||
/// [per LP since arming does same work]
|
||||
/// </summary>
|
||||
public static bool EliminatePrepareForDataCollection = true;
|
||||
/// <summary>
|
||||
/// performance improvement, whether to check hardware first use date in run test
|
||||
/// </summary>
|
||||
public static bool CheckHardwareFirstUseDateInRunTest = true;
|
||||
|
||||
/// <summary>
|
||||
/// The current value for how long to wait for excitation warmup for a TOM
|
||||
/// http://manuscript.dts.local/f/cases/39396/TOM-diagnostic-delay-not-being-observed
|
||||
/// </summary>
|
||||
public static int TOMExcitationWarmupTimeMS = TOM_EXCITATIONWARMUPTIME_MS;
|
||||
/// <summary>
|
||||
/// default value for TOM excitation warmup time in ms
|
||||
/// </summary>
|
||||
public const int TOM_EXCITATIONWARMUPTIME_MS = 20000;
|
||||
|
||||
public static int IEPEExcitationWamupTimeMS = IEPE_EXCITATIONWARMUPTIME_MS;
|
||||
public const int IEPE_EXCITATIONWARMUPTIME_MS = 30000;
|
||||
|
||||
/// <summary>
|
||||
/// initiales all channels to have no EIDs
|
||||
/// </summary>
|
||||
/// <param name="configData"></param>
|
||||
public static void BlankIds(IConfigurationData configData)
|
||||
{
|
||||
if (null == configData) { return; }
|
||||
if (null == configData.Modules || 0 == configData.Modules.Length) { return; }
|
||||
foreach (var module in configData.Modules)
|
||||
{
|
||||
if (null == module.Channels || 0 == module.Channels.Length) { continue; }
|
||||
foreach (var channel in module.Channels)
|
||||
{
|
||||
channel.IDs = new IEID[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user