using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Globalization; using System.IO.Ports; using System.Reflection; using DTS.Common; using DTS.Common.Enums; using DTS.Common.Enums.Sensors; using DTS.Common.Storage; using DTS.Common.Utilities.Logging; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; // ReSharper disable RedundantEmptyDefaultSwitchBranch // ReSharper disable once CheckNamespace namespace DTS.Slice.Users.UserSettings { /// /// user specific properties, stored in db /// /// these are all the user specific settings we are storing in the db currently as generic settings /// we have a few user specific settings like last used hardware that are stored in other places, that maybe /// should be stored here as well /// /// it's possible to retrieve all the settings at once (more efficient, only one db query), or retrieve settings individually /// one by one using the static accessors /// each setting has a default specified both in code and in the db. /// when retrieving a setting we fall back to the default if a user specific value is not found /// if the default setting in the db is not found, we can further fall back to the default specified in code /// /// in the db we have a table that lists all the settings with their fall back default value /// we have a separate table that stores the user specific values for any of those settings, which may or may not match the fall /// back default value /// /// the data should always be stored in invariant form in the db /// DisplayName, Description attributes translate so the properties can be displayed in a property grid /// public class TestSetupDefaults : Defaults { #region properties [CategoryAttributeEx(PropertyEnums.PropertyCategories.UploadOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUploadEnabled)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUploadEnabled)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUploadEnabled)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.UploadData)] public bool DefaultUploadEnabled { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultUseAdvancedUDPStreamProfiles)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUseAdvancedUDPStreamProfiles)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUseAdvancedUDPStreamProfiles)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.UseAdvancedStreamingProfiles)] public bool DefaultUseAdvancedUDPStreamProfiles { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestSampleRate)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestSampleRate)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestSampleRate)] [DefaultValue(10000D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultSampleRate)] [TypeConverter(typeof(SampleRateConverter))] public double DefaultTestSampleRate { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultIntervalBetweenEventStartsMinutes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultIntervalBetweenEventStartsMinutes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultIntervalBetweenEventStartsMinutes)] [DefaultValue(1)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultIntervalBetweenEventStartsMinutes)] [Range(0, 1440)] //1440 minutes in 24 hours public int DefaultIntervalBetweenEventStartsMinutes { get; set; } //14766 Default Pre- and Post-trigger second(s) values in Test Setup defaults should not be allowed to be set less than zero [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultPostTriggerSeconds)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultPostTriggerSeconds)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultPostTriggerSeconds)] [DefaultValue(1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultPostTriggerSeconds)] [Range(0, 1.79769313486232E+307)] public double DefaultPostTriggerSeconds { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultNumberOfEvents)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultNumberOfEvents)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultNumberOfEvents)] [DefaultValue(1)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultNumberOfEvents)] [Range(1, 32767)] public int DefaultNumberOfEvents { get; set; } //14766 Default Pre- and Post-trigger second(s) values in Test Setup defaults should not be allowed to be set less than zero [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultPreTriggerSeconds)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultPreTriggerSeconds)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultPreTriggerSeconds)] [DefaultValue(1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultPreTriggerSeconds)] [Range(0, 1.79769313486232E+307)] public double DefaultPreTriggerSeconds { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultTriggerCheckStep)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTriggerCheckStep)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTriggerCheckStep)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTriggerCheckStep)] public bool DefaultTriggerCheckStep { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultMeasureSquibResistancesStep)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultMeasureSquibResistancesStep)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultMeasureSquibResistancesStep)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultMeasureSquibResistancesStep)] public bool DefaultMeasureSquibResistancesStep { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultRealtimeGraphCount)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRealtimeGraphCount)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRealtimeGraphCount)] [DefaultValue(DTS.Common.Enums.TestSetups.RealtimeGraphsEnum.Six)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRealtimeGraphCount)] public DTS.Common.Enums.TestSetups.RealtimeGraphsEnum DefaultRealtimeGraphCount { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeSampleRateEthernetSLICE)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateEthernetSLICE)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateEthernetSLICE)] [DefaultValue(-1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeSampleRateEthernetSLICE)] public double RealtimeSampleRateEthernetSLICE { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeSampleRateSLICE6)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateSLICE6)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateSLICE6)] [DefaultValue(-1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeSampleRateSLICE6)] public double RealtimeSampleRateSLICE6 { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeSampleRateUSBSLICE)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateUSBSLICE)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateUSBSLICE)] [DefaultValue(-1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeSampleRateUSBSLICE)] public double RealtimeSampleRateUSBSLICE { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeSampleRateTDAS)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateTDAS)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateTDAS)] [DefaultValue(1000D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeSampleRateTDAS)] [ReadOnly(true)] public double RealtimeSampleRateTDAS { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeSampleRateTDASSIM)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateTDASSIM)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeSampleRateTDASSIM)] [DefaultValue(200D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeSampleRateTDASSIM)] [ReadOnly(true)] public double RealtimeSampleRateTDASSIM { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultROIStart)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultROIStart)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultROIStart)] [DefaultValue(-1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultROIStart)] public double DefaultROIStart { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultROIEnd)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultROIEnd)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultROIEnd)] [DefaultValue(1D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultROIEnd)] public double DefaultROIEnd { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultDownloadROI)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultDownloadROI)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultDownloadROI)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultDownloadROI)] public bool DefaultDownloadROI { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultViewROI)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultViewROI)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultViewROI)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultViewROI)] public bool DefaultViewROI { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultDownloadAll)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultDownloadAll)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultDownloadAll)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultDownloadAll)] public bool DefaultDownloadAll { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultViewAll)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultViewAll)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultViewAll)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultViewAll)] public bool DefaultViewAll { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultRequireAllUnitsPassDiagnostics)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRequireAllUnitsPassDiagnostics)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRequireAllUnitsPassDiagnostics)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRequireAllUnitsPassDiagnostics)] public bool DefaultRequireAllUnitsPassDiagnostics { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultRequireUserConfirmationOnErrors)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRequireUserConfirmationOnErrors)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRequireUserConfirmationOnErrors)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRequireUserConfirmationOnErrors)] public bool DefaultRequireUserConfirmationOnErrors { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultAllowMissingSensors)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultAllowMissingSensors)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultAllowMissingSensors)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultAllowMissingSensors)] public bool DefaultAllowMissingSensors { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultRunPostTestDiagnostics)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRunPostTestDiagnostics)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRunPostTestDiagnostics)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRunPostTestDiagnostics)] public bool DefaultRunPostTestDiagnostics { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultArmCheckListStep)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultArmCheckListStep)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultArmCheckListStep)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultArmCheckListStep)] public bool DefaultArmCheckListStep { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListInputVoltageCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListInputVoltageCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListInputVoltageCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListInputVoltageCheck)] public bool DefaultCheckListInputVoltageCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListBatteryVoltageCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListBatteryVoltageCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListBatteryVoltageCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListBatteryVoltageCheck)] public bool DefaultCheckListBatteryVoltageCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListSquibResistanceCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListSquibResistanceCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListSquibResistanceCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListSquibResistanceCheck)] public bool DefaultCheckListSquibResistanceCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListSensorIdCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListSensorIdCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListSensorIdCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListSensorIdCheck)] public bool DefaultCheckListSensorIdCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListTriggerStartCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTriggerStartCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTriggerStartCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListTriggerStartCheck)] public bool DefaultCheckListTriggerStartCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultRequireSensorIdFound)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRequireSensorIdFound)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRequireSensorIdFound)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRequireSensorIdFound)] public bool DefaultRequireSensorIdFound { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListTiltSensorCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTiltSensorCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTiltSensorCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListTiltSensorCheck)] public bool DefaultCheckListTiltSensorCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListTemperatureCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTemperatureCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListTemperatureCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListTemperatureCheck)] public bool DefaultCheckListTemperatureCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListClockSyncCheck)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListClockSyncCheck)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListClockSyncCheck)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListClockSyncCheck)] public bool DefaultCheckListClockSyncCheck { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.DefaultCheckListMustPass)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListMustPass)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCheckListMustPass)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCheckListMustPass)] public bool DefaultChecklistMustPass { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultViewRealtime)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultViewRealtime)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultViewRealtime)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultViewRealtime)] public bool DefaultViewRealtime { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultExport)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultExport)] [PropertyId(PropertyEnums.PropertyIds.DefaultExport)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultExport)] public bool DefaultExport { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.RealtimeChartWidthInSeconds)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.RealtimeChartWidthInSeconds)] [DisplayAttributeEx(PropertyEnums.PropertyIds.RealtimeChartWidthInSeconds)] [DefaultValue(2)] [PropertyOrder((int)PropertyEnums.PropertyOrders.RealtimeChartWidthInSeconds)] public double RealtimeChartWidthInSeconds { get; set; } [DefaultValue(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTreeModeDiagnostics)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTreeModeDiagnostics)] [PropertyId(PropertyEnums.PropertyIds.DefaultTreeModeDiagnostics)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTreeModeDiagnostics)] public bool DefaultTreeModeDiagnostics { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ArmChecklist)] [PropertyId(PropertyEnums.PropertyIds.ArmChecklistRequiredIfTOM)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ArmChecklistRequiredIfTOM)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ArmChecklistRequiredIfTOM)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ArmChecklistRequiredIfTOM)] public bool ArmChecklistRequiredIfTOM { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultSuppressMissingSensorsWarning)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultSuppressMissingSensorsWarning)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultSuppressMissingSensorsWarning)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultSuppressMissingSensorsWarning)] public bool DefaultSuppressMissingSensorsWarning { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultSensorCalibrationBehavior)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultSensorCalibrationBehavior)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultSensorCalibrationBehavior)] [DefaultValue(CalibrationBehaviors.NonLinearIfAvailable)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultSensorCalibrationBehavior)] public CalibrationBehaviors DefaultSensorCalibrationBehavior { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.ArmTriggerDiagnosticsRunOnNextStep)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ArmTriggerDiagnosticsRunOnNextStep)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ArmTriggerDiagnosticsRunOnNextStep)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ArmTriggerDiagnosticsRunOnNextStep)] public bool ArmTriggerDiagnosticsRunOnNextStep { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportCSVUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportCSVUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportCSVUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportCSVUnfiltered)] public bool ExportCSVUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportCSVFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportCSVFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportCSVFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportCSVFiltered)] public bool ExportCSVFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportCSVMV)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportCSVMV)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportCSVMV)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportCSVMV)] public bool ExportCSVMV { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportCSVADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportCSVADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportCSVADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportCSVADC)] public bool ExportCSVADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportISOUnFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportISOUnFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportISOUnFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportISOUnFiltered)] public bool ExportISOUnFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportISOFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportISOFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportISOFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportISOFiltered)] public bool ExportISOFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportSomatUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportSomatUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportSomatUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportSomatUnfiltered)] [Browsable(false)] public bool ExportSomatUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportSomatFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportSomatFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportSomatFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportSomatFiltered)] [Browsable(false)] public bool ExportSomatFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportTDMSADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportTDMSADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportTDMSADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportTDMSADC)] public bool ExportTDMSADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportToyotaUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportToyotaUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportToyotaUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportToyotaUnfiltered)] public bool ExportToyotaUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportToyotaFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportToyotaFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportToyotaFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportToyotaFiltered)] [Browsable(false)] public bool ExportToyotaFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportTSVUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportTSVUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportTSVUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportTSVUnfiltered)] public bool ExportTSVUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportTSVFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportTSVFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportTSVFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportTSVFiltered)] public bool ExportTSVFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportTDASADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportTDASADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportTDASADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportTDASADC)] public bool ExportTDASADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportRDFADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportRDFADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportRDFADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportRDFADC)] public bool ExportRDFADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportChryslerDDAS)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportChryslerDDAS)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportChryslerDDAS)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportChryslerDDAS)] public bool ExportChryslerDDAS { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportHDFUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportHDFUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportHDFUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportHDFUnfiltered)] public bool ExportHDFUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportHDFFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportHDFFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportHDFFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportHDFFiltered)] [Browsable(false)] public bool ExportHDFFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportHDFMV)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportHDFMV)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportHDFMV)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportHDFMV)] public bool ExportHDFMV { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportHDFADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportHDFADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportHDFADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportHDFADC)] public bool ExportHDFADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportXLSXUnfiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportXLSXUnfiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportXLSXUnfiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportXLSXUnfiltered)] public bool ExportXLSXUnfiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportDiademADC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportDiademADC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportDiademADC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportDiademADC)] public bool ExportDiademADC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportASC)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportASC)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportASC)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportASC)] public bool ExportASC { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestExcitationWarmupSeconds)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationWarmupSeconds)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationWarmupSeconds)] [DefaultValue(6D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTestExcitationWarmupSeconds)] public double DefaultTestExcitationWarmupSeconds { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestExcitationTOMWarmupDelayMS)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationTOMWarmupDelayMS)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationTOMWarmupDelayMS)] [DefaultValue(20000D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTestExcitationTOMWarmupDelayMS)] public double DefaultTestExcitationTOMWarmupDelayMS { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.DiagnosticOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestExcitationIEPEWarmupDelayMS)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationIEPEWarmupDelayMS)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestExcitationIEPEWarmupDelayMS)] [DefaultValue(30000D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTestExcitationIEPEWarmupDelayMS)] public double DefaultTestExcitationIEPEWarmupDelayMS { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ExportOptions)] [PropertyId(PropertyEnums.PropertyIds.ExportXLSXFiltered)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExportXLSXFiltered)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExportXLSXFiltered)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.ExportXLSXFiltered)] public bool ExportXLSXFiltered { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.SupressQuitTestWarning)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.SupressQuitTestWarning)] [DisplayAttributeEx(PropertyEnums.PropertyIds.SupressQuitTestWarning)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.SupressQuitTestWarning)] public bool SupressQuitTestWarning { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.SuppressViewAllRealtime)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.SuppressViewAllRealtime)] [DisplayAttributeEx(PropertyEnums.PropertyIds.SuppressViewAllRealtime)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.SuppressViewAllRealtime)] public bool SuppressViewAllRealtime { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.SupressViewAllViewer)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.SupressViewAllViewer)] [DisplayAttributeEx(PropertyEnums.PropertyIds.SupressViewAllViewer)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.SupressViewAllViewer)] public bool SupressViewAllViewer { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultCommonStatusLine)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultCommonStatusLine)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultCommonStatusLine)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultCommonStatusLine)] public bool DefaultCommonStatusLine { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultAutomaticMode)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultAutomaticMode)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultAutomaticMode)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultAutomaticMode)] public bool DefaultAutomaticMode { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestSetupAutomaticProgressDelaySeconds)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestSetupAutomaticProgressDelaySeconds)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestSetupAutomaticProgressDelaySeconds)] [DefaultValue(.5D)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTestSetupAutomaticProgressDelaySeconds)] public double DefaultTestSetupAutomaticProgressDelaySeconds { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultWarnOnFailedBattery)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultWarnOnFailedBattery)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultWarnOnFailedBattery)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultWarnOnFailedBattery)] public bool DefaultWarnOnFailedBattery { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultIgnoreShortedStart)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultIgnoreShortedStart)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultIgnoreShortedStart)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultIgnoreShortedStart)] public bool DefaultIgnoreShortedStart { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.DefaultIgnoreShortedTrigger)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultIgnoreShortedTrigger)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultIgnoreShortedTrigger)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultIgnoreShortedTrigger)] public bool DefaultIgnoreShortedTrigger { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UploadOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUploadFolder)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUploadFolder)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUploadFolder)] [DefaultValue("")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUploadFolder)] public string DefaultUploadFolder { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UploadOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUploadExportsOnly)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUploadExportsOnly)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUploadExportsOnly)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUploadExportsOnly)] public bool DefaultUploadExportsOnly { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultAutoArm)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArm)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArm)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultAutoArm)] public bool DefaultAutoArm { get; set; } // FB15507: Allow user to elect to repeat auto-arm/streaming after power cycle(s) [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultAutoArmRepeatEnable)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArmRepeatEnable)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArmRepeatEnable)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultAutoArmRepeatEnable)] public bool DefaultAutoArmRepeatEnable { get; set; } // FB15507: Allow user to elect to preserve Run Test diagnostics through auto-arm/streaming [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultAutoArmPreserveDiagnostics)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArmPreserveDiagnostics)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultAutoArmPreserveDiagnostics)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultAutoArmPreserveDiagnostics)] public bool DefaultAutoArmPreserveDiagnostics { get; set; } //17940 incorrect roi download region with multiple recorder mode events [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultWarnMissingTrigger)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultWarnMissingTrigger)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultWarnMissingTrigger)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultWarnMissingTrigger)] public bool DefaultWarnMissingTrigger { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultTestSetupTag)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultTestSetupTag)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultTestSetupTag)] [DefaultValue("")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultTestSetupTag)] public string DefaultTestSetupTag { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultStreaming)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultStreaming)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultStreaming)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultStreaming)] public bool DefaultStreaming { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AllowAdvancedRecordingModes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AllowAdvancedRecordingModes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AllowAdvancedRecordingModes)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AllowAdvanceRecordingModes)] public bool AllowAdvancedRecordingModes { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AllowActiveRamRecordingModes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AllowActiveRamRecordingModes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AllowActiveRamRecordingModes)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AllowActiveRamRecordingModes)] public bool AllowActiveRamRecordingModes { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AllowTSRAIRRecordingModes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AllowTSRAIRRecordingModes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AllowTSRAIRRecordingModes)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AllowTSRAIRRecordingModes)] public bool AllowTSRAIRRecordingModes { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AutoExpandInfoSections)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AutoExpandInfoSections)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AutoExpandInfoSections)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AutoExpandInfoSections)] public bool AutoExpandInfoSections { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandMainInfo)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandMainInfo)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandMainInfo)] [DefaultValue(true)] [ReadOnly(true)] [Browsable(false)] public bool ExpandMainInfo { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestInfo)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestInfo)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestInfo)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestInfo { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestDiag)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestDiag)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestDiag)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestDiag { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestRealtime)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestRealtime)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestRealtime)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestRealtime { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestClockSync)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestClockSync)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestClockSync)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestClockSync { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestArmChecklist)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestArmChecklist)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestArmChecklist)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestArmChecklist { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestUpload)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestUpload)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestUpload)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestUpload { get; set; } [ReadOnly(true)] [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.ExpandTestExport)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.ExpandTestExport)] [DisplayAttributeEx(PropertyEnums.PropertyIds.ExpandTestExport)] [DefaultValue(false)] [Browsable(false)] public bool ExpandTestExport { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AllowUARTRecordingModes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AllowUARTRecordingModes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AllowUARTRecordingModes)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AllowUARTRecordingModes)] public bool AllowUARTRecordingModes { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.DefaultRecordingMode)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultRecordingMode)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultRecordingMode)] [DefaultValue(RecordingModes.CircularBuffer)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultRecordingMode)] [ItemsSource(typeof(NonStreamingRecordingModeItemsSource))] public RecordingModes DefaultRecordingMode { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ClockSyncOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultClockSyncProfileMaster)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultClockSyncProfileMaster)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultClockSyncProfileMaster)] [DefaultValue(ClockSyncProfile.None)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultClockSyncProfileMaster)] [ItemsSource(typeof(MasterClockSyncProfileItemsSource))] [Browsable(false)] public ClockSyncProfile DefaultClockSyncProfileMaster { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.ClockSyncOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultClockSyncProfileSlave)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultClockSyncProfileSlave)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultClockSyncProfileSlave)] [DefaultValue(ClockSyncProfile.None)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultClockSyncProfileSlave)] [ItemsSource(typeof(SlaveClockSyncProfileItemsSource))] [Browsable(false)] public ClockSyncProfile DefaultClockSyncProfileSlave { get; set; } // 30513 Add support for Domain Id to clock sync [CategoryAttributeEx(PropertyEnums.PropertyCategories.ClockSyncOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultPTPDomainID)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultPTPDomainID)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultPTPDomainID)] [DefaultValue(typeof(byte), "0")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultPTPDomainID)] [Browsable(true)] // initially set true, will set to false if db is unsupported public byte DefaultPTPDomainID { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTBaudRate)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTBaudRate)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTBaudRate)] [DefaultValue(typeof(uint), "57600")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTBaudRate)] [Browsable(false)] // 18363 public uint DefaultUARTBaudRate { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTDataBits)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTDataBits)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTDataBits)] [DefaultValue(typeof(uint), "8")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTDataBits)] [Browsable(false)] // 18363 public uint DefaultUARTDataBits { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTStopBits)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTStopBits)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTStopBits)] [DefaultValue(System.IO.Ports.StopBits.None)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTStopBits)] [Browsable(false)] // 18363 public System.IO.Ports.StopBits DefaultUARTStopBits { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTParity)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTParity)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTParity)] [DefaultValue(System.IO.Ports.Parity.None)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTParity)] [Browsable(false)] // 18363 public System.IO.Ports.Parity DefaultUARTParity { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTFlowControl)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTFlowControl)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTFlowControl)] [DefaultValue(System.IO.Ports.Handshake.None)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTFlowControl)] [Browsable(false)] // 18363 public System.IO.Ports.Handshake DefaultUARTFlowControl { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.UARTOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUARTDataFormat)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUARTDataFormat)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUARTDataFormat)] [DefaultValue(UartDataFormat.Binary)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUARTDataFormat)] [Browsable(false)] // 18363 public UartDataFormat DefaultUARTDataFormat { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamProfile)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamProfile)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamProfile)] [DefaultValue(UDPStreamProfile.CH10_PCM_128BIT_2HDR)] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamProfile)] [Browsable(false)] public UDPStreamProfile DefaultUDPStreamProfile { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamAddress)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamAddress)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamAddress)] [DefaultValue("UDP://239.1.2.10:8400")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamAddress)] [Browsable(false)] public string DefaultUDPStreamAddress { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamTimeChannelId)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamTimeChannelId)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamTimeChannelId)] [DefaultValue(typeof(ushort), "1")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamTimeChannelId)] [Browsable(false)] public ushort DefaultUDPStreamTimeChannelId { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamDataChannelId)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamDataChannelId)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamDataChannelId)] [DefaultValue(typeof(ushort), "3")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamDataChannelId)] [Browsable(false)] public ushort DefaultUDPStreamDataChannelId { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamTmNSConfig)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamTmNSConfig)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamTmNSConfig)] [DefaultValue("(1,6,60,0,0,0,0,0)")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamTmNSConfig)] [Browsable(false)] public string DefaultUDPStreamTmNSConfig { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultIRIGTimeDataPacketIntervalMs)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultIRIGTimeDataPacketIntervalMs)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultIRIGTimeDataPacketIntervalMs)] [DefaultValue(typeof(ushort), "500")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultIRIGTimeDataPacketIntervalMs)] [Browsable(false)] public ushort DefaultIRIGTimeDataPacketIntervalMs { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.RealtimeOptions)] [PropertyId(PropertyEnums.PropertyIds.DefaultUDPStreamMaskEUMetaData)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamMaskEUMetaData)] [DisplayAttributeEx(PropertyEnums.PropertyIds.DefaultUDPStreamMaskEUMetaData)] [DefaultValue(typeof(bool), "false")] [PropertyOrder((int)PropertyEnums.PropertyOrders.DefaultUDPStreamMaskEUMetaData)] public bool DefaultUDPStreamMaskEUMetaData { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestInfo)] [PropertyId(PropertyEnums.PropertyIds.AllowStreamingModes)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AllowStreamingModes)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AllowStreamingModes)] [DefaultValue(false)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AllowStreamingModes)] public bool AllowStreamingModes { get; set; } [CategoryAttributeEx(PropertyEnums.PropertyCategories.TestDetails)] [PropertyId(PropertyEnums.PropertyIds.AlignUDPToPPS)] [DescriptionAttributeEx(PropertyEnums.PropertyIds.AlignUDPToPPS)] [DisplayAttributeEx(PropertyEnums.PropertyIds.AlignUDPToPPS)] [DefaultValue(true)] [PropertyOrder((int)PropertyEnums.PropertyOrders.AlignUDPToPPS)] public bool AlignUDPToPPS { get; set; } #endregion properties #region Static Methods /// /// this function is designed to create any missing property settings if needed /// this might happen if the database table was just created for instance /// it will create defaults for all the settings in the db, and also settings for all users /// currently it's used by DataPRO.App /// public static void CreateAnyMissingUserSettingPropertyDefaults() { //get a list of all known properties var userSetting = new TestSetupDefaults(); CreateAnyMissingUserSettingPropertyDefaults(userSetting); } /// /// default rates if the global rates aren't in the db /// the way this works is if the user has a setting, we use that /// otherwise we use the global setting, if there's no global setting /// we just use the default value here /// 15959 Realtime Sample Rate needs to be per seat instead of site wide /// private enum RealtimeSampleRateGlobalKeys { RealtimeSampleRateSliceIP = 120, RealtimeSampleRateSLICE6 = 1000, RealtimeSampleRateSliceUSB = 400, RealtimeSampleRateTDASG5 = 1000 } /// /// gets a collection of all settings for a given user /// /// /// public static TestSetupDefaults GetUserSettings(int userId) { var settings = (TestSetupDefaults)GetUserSettings(userId, new TestSetupDefaults()); //here's the code to handle if we didn't find a user specific value, //it will then go and retrieve the value from the global setting if (settings.RealtimeSampleRateEthernetSLICE < 0) { settings.RealtimeSampleRateEthernetSLICE = DTS.Common.Settings.SettingsDB.GetGlobalValueDouble( RealtimeSampleRateGlobalKeys.RealtimeSampleRateSliceIP.ToString(), Convert.ToDouble((int)RealtimeSampleRateGlobalKeys.RealtimeSampleRateSliceIP)); } if (settings.RealtimeSampleRateSLICE6 < 0) { settings.RealtimeSampleRateSLICE6 = DTS.Common.Settings.SettingsDB.GetGlobalValueDouble( RealtimeSampleRateGlobalKeys.RealtimeSampleRateSLICE6.ToString(), Convert.ToDouble((int)RealtimeSampleRateGlobalKeys.RealtimeSampleRateSLICE6)); } if (settings.RealtimeSampleRateTDAS < 0) { settings.RealtimeSampleRateTDAS = DTS.Common.Settings.SettingsDB.GetGlobalValueDouble( RealtimeSampleRateGlobalKeys.RealtimeSampleRateTDASG5.ToString(), Convert.ToDouble((int)RealtimeSampleRateGlobalKeys.RealtimeSampleRateTDASG5)); } if (settings.RealtimeSampleRateUSBSLICE < 0) { settings.RealtimeSampleRateUSBSLICE = DTS.Common.Settings.SettingsDB.GetGlobalValueDouble( RealtimeSampleRateGlobalKeys.RealtimeSampleRateSliceUSB.ToString(), Convert.ToDouble((int)RealtimeSampleRateGlobalKeys.RealtimeSampleRateSliceUSB)); } if (DbOperations.GetConnectionDbVersion() < Constants.PTP_DOMAIN_ID_DB_VERSION) { //don't show in System Settings if DB unsupported var attrib = TypeDescriptor.GetProperties(settings)["DefaultPTPDomainID"].Attributes[typeof(BrowsableAttribute)]; attrib.GetType().GetField("browsable", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(attrib, false); } _allUserSettings = settings; return settings; } #endregion #region methods /// /// sets a specific value given a property id /// this is used when deserializing values out of the db /// /// /// /// protected override void SetValue(int id, string dv) { var property = (PropertyEnums.PropertyIds)id; try { //TODO: there's a slicker way of doing this by autodiscovering the type of value ... but I don't have time to find it #region property switch (property) { case PropertyEnums.PropertyIds.ArmChecklistRequiredIfTOM: ArmChecklistRequiredIfTOM = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.ArmTriggerDiagnosticsRunOnNextStep: ArmTriggerDiagnosticsRunOnNextStep = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultAllowMissingSensors: { if (bool.TryParse(dv, out var b)) { DefaultAllowMissingSensors = b; } else if ("1" == dv) { DefaultAllowMissingSensors = true; } else { DefaultAllowMissingSensors = false; } } break; case PropertyEnums.PropertyIds.DefaultRequireSensorIdFound: DefaultRequireSensorIdFound = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultArmCheckListStep: DefaultArmCheckListStep = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultCheckListBatteryVoltageCheck: DefaultCheckListBatteryVoltageCheck = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultUploadEnabled: DefaultUploadEnabled = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultUploadExportsOnly: DefaultUploadExportsOnly = Convert.ToBoolean(dv); break; case PropertyEnums.PropertyIds.DefaultTestSampleRate: DefaultTestSampleRate = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultPostTriggerSeconds: DefaultPostTriggerSeconds = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultNumberOfEvents: DefaultNumberOfEvents = Convert.ToInt32(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultPreTriggerSeconds: DefaultPreTriggerSeconds = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTriggerCheckStep: DefaultTriggerCheckStep = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultRealtimeGraphCount: { switch (dv) { case "1": case "One": DefaultRealtimeGraphCount = Common.Enums.TestSetups.RealtimeGraphsEnum.One; break; case "3": case "Three": DefaultRealtimeGraphCount = Common.Enums.TestSetups.RealtimeGraphsEnum.Three; break; case "6": case "Six": default: DefaultRealtimeGraphCount = Common.Enums.TestSetups.RealtimeGraphsEnum.Six; break; } } break; case PropertyEnums.PropertyIds.DefaultROIStart: DefaultROIStart = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultROIEnd: DefaultROIEnd = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultDownloadROI: DefaultDownloadROI = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultViewROI: DefaultViewROI = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUseAdvancedUDPStreamProfiles: DefaultUseAdvancedUDPStreamProfiles = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultDownloadAll: DefaultDownloadAll = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultViewAll: DefaultViewAll = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultRequireAllUnitsPassDiagnostics: DefaultRequireAllUnitsPassDiagnostics = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultRequireUserConfirmationOnErrors: DefaultRequireUserConfirmationOnErrors = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultRunPostTestDiagnostics: DefaultRunPostTestDiagnostics = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListInputVoltageCheck: DefaultCheckListInputVoltageCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListSquibResistanceCheck: DefaultCheckListSquibResistanceCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListSensorIdCheck: DefaultCheckListSensorIdCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListTriggerStartCheck: DefaultCheckListTriggerStartCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListTiltSensorCheck: DefaultCheckListTiltSensorCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListTemperatureCheck: DefaultCheckListTemperatureCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListClockSyncCheck: DefaultCheckListClockSyncCheck = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCheckListMustPass: DefaultChecklistMustPass = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultViewRealtime: DefaultViewRealtime = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultExport: DefaultExport = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.RealtimeChartWidthInSeconds: RealtimeChartWidthInSeconds = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTreeModeDiagnostics: DefaultTreeModeDiagnostics = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultSuppressMissingSensorsWarning: DefaultSuppressMissingSensorsWarning = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportCSVUnfiltered: ExportCSVUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportCSVFiltered: ExportCSVFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportISOUnFiltered: ExportISOUnFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportISOFiltered: ExportISOFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportSomatUnfiltered: ExportSomatUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportSomatFiltered: ExportSomatFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportTDMSADC: ExportTDMSADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportToyotaUnfiltered: ExportToyotaUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportToyotaFiltered: ExportToyotaFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportTSVUnfiltered: ExportTSVUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportTSVFiltered: ExportTSVFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportTDASADC: ExportTDASADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportRDFADC: ExportRDFADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportChryslerDDAS: ExportChryslerDDAS = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportHDFUnfiltered: ExportHDFUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportHDFFiltered: ExportHDFFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportHDFMV: ExportHDFMV = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportHDFADC: ExportHDFADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportXLSXUnfiltered: ExportXLSXUnfiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportXLSXFiltered: ExportXLSXFiltered = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.SupressQuitTestWarning: SupressQuitTestWarning = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.SuppressViewAllRealtime: SuppressViewAllRealtime = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.SupressViewAllViewer: SupressViewAllViewer = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultCommonStatusLine: DefaultCommonStatusLine = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultAutomaticMode: DefaultAutomaticMode = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTestSetupAutomaticProgressDelaySeconds: DefaultTestSetupAutomaticProgressDelaySeconds = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AlignUDPToPPS: AlignUDPToPPS = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultWarnOnFailedBattery: DefaultWarnOnFailedBattery = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultIgnoreShortedStart: DefaultIgnoreShortedStart = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultIgnoreShortedTrigger: DefaultIgnoreShortedTrigger = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUploadFolder: DefaultUploadFolder = dv; break; case PropertyEnums.PropertyIds.DefaultAutoArm: DefaultAutoArm = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultStreaming: DefaultStreaming = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AllowAdvancedRecordingModes: AllowAdvancedRecordingModes = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AllowActiveRamRecordingModes: AllowActiveRamRecordingModes = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AllowTSRAIRRecordingModes: AllowTSRAIRRecordingModes = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AutoExpandInfoSections: AutoExpandInfoSections = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AllowUARTRecordingModes: AllowUARTRecordingModes = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandMainInfo: ExpandMainInfo = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestInfo: ExpandTestInfo = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestDiag: ExpandTestDiag = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestRealtime: ExpandTestRealtime = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestClockSync: ExpandTestClockSync = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestArmChecklist: ExpandTestArmChecklist = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestExport: ExpandTestExport = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExpandTestUpload: ExpandTestUpload = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultRecordingMode: RecordingModes mode; if (Enum.TryParse(dv, out mode)) { DefaultRecordingMode = mode; } break; case PropertyEnums.PropertyIds.DefaultSensorCalibrationBehavior: CalibrationBehaviors behavior; if (Enum.TryParse(dv, out behavior)) { DefaultSensorCalibrationBehavior = behavior; } break; case PropertyEnums.PropertyIds.ExportDiademADC: ExportDiademADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportASC: ExportASC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTestExcitationWarmupSeconds: DefaultTestExcitationWarmupSeconds = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTestExcitationTOMWarmupDelayMS: DefaultTestExcitationTOMWarmupDelayMS = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTestExcitationIEPEWarmupDelayMS: DefaultTestExcitationIEPEWarmupDelayMS = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportCSVMV: ExportCSVMV = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.ExportCSVADC: ExportCSVADC = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultClockSyncProfileMaster: if (Enum.TryParse(dv, out ClockSyncProfile profileMaster)) { DefaultClockSyncProfileMaster = profileMaster; } break; case PropertyEnums.PropertyIds.DefaultClockSyncProfileSlave: if (Enum.TryParse(dv, out ClockSyncProfile profileSlave)) { DefaultClockSyncProfileSlave = profileSlave; } break; case PropertyEnums.PropertyIds.DefaultUARTBaudRate: DefaultUARTBaudRate = Convert.ToUInt32(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUARTDataBits: DefaultUARTDataBits = Convert.ToUInt32(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUARTStopBits: if (Enum.TryParse(dv, out StopBits stopBits)) { DefaultUARTStopBits = stopBits; } break; case PropertyEnums.PropertyIds.DefaultUARTParity: if (Enum.TryParse(dv, out Parity parity)) { DefaultUARTParity = parity; } break; case PropertyEnums.PropertyIds.DefaultUARTFlowControl: if (Enum.TryParse(dv, out Handshake flowControl)) { DefaultUARTFlowControl = flowControl; } break; case PropertyEnums.PropertyIds.DefaultUDPStreamProfile: if (Enum.TryParse(dv, out UDPStreamProfile profile)) { DefaultUDPStreamProfile = profile; } break; case PropertyEnums.PropertyIds.DefaultUDPStreamTimeChannelId: DefaultUDPStreamTimeChannelId = Convert.ToUInt16(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUDPStreamDataChannelId: DefaultUDPStreamDataChannelId = Convert.ToUInt16(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUDPStreamTmNSConfig: DefaultUDPStreamTmNSConfig = dv; break; case PropertyEnums.PropertyIds.DefaultIRIGTimeDataPacketIntervalMs: DefaultIRIGTimeDataPacketIntervalMs = Convert.ToUInt16(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultAutoArmPreserveDiagnostics: DefaultAutoArmPreserveDiagnostics = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultAutoArmRepeatEnable: DefaultAutoArmRepeatEnable = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.RealtimeSampleRateEthernetSLICE: RealtimeSampleRateEthernetSLICE = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.RealtimeSampleRateSLICE6: RealtimeSampleRateSLICE6 = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.RealtimeSampleRateTDAS: RealtimeSampleRateTDAS = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.RealtimeSampleRateUSBSLICE: RealtimeSampleRateUSBSLICE = Convert.ToDouble(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultMeasureSquibResistancesStep: DefaultMeasureSquibResistancesStep = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultWarnMissingTrigger: DefaultWarnMissingTrigger = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.AllowStreamingModes: AllowStreamingModes = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultUDPStreamMaskEUMetaData: DefaultUDPStreamMaskEUMetaData = Convert.ToBoolean(dv, CultureInfo.InvariantCulture); break; case PropertyEnums.PropertyIds.DefaultTestSetupTag: DefaultTestSetupTag = dv; break; case PropertyEnums.PropertyIds.DefaultIntervalBetweenEventStartsMinutes: DefaultIntervalBetweenEventStartsMinutes = Convert.ToInt32(dv, CultureInfo.InvariantCulture); break; default: break; //ignore unknown property, just just ignore it } #endregion property } catch (Exception ex) { APILogger.Log("failed to set, ", id.ToString(), dv, ex); } } #endregion } }