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

View File

@@ -0,0 +1,341 @@
<base:BaseView x:Class="SensorSettingsModule.SensorSettingsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
xmlns:converters="clr-namespace:DTS.Common.Converters;assembly=DTS.Common"
xmlns:strings="clr-namespace:SensorSettingsModule"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1366"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit">
<base:BaseView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Controls/combobox.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Constant/XamlConstants.xaml"/>
</ResourceDictionary.MergedDictionaries>
<sys:Double x:Key="_24VPOWER_LOW_MAX">24</sys:Double>
<sys:Double x:Key="_24VPOWER_LOW_MIN">0</sys:Double>
<sys:Double x:Key="_24VPOWER_HIGH_MAX">30</sys:Double>
<sys:Double x:Key="_24VPOWER_HIGH_MIN">0</sys:Double>
<sys:Double x:Key="IEPE_RANGE_LOW_MIN">.1</sys:Double>
<sys:Double x:Key="IEPE_RANGE_LOW_MAX">10</sys:Double>
<sys:Double x:Key="IEPE_RANGE_HIGH_MIN">1</sys:Double>
<sys:Double x:Key="IEPE_RANGE_HIGH_MAX">1000</sys:Double>
<!-- most of the styles down to the converter were either already here or copied in when I was trying to fix a few style issues
none of them are native to here so it's probably ok to wipe out down to the converters if the DTS.Common commonstyles has the
right styles present
-->
<Style TargetType="xctk:DoubleUpDown" BasedOn="{StaticResource PageContentXCDoubleUpDown}">
<Setter Property="Width" Value="150"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="FormatString" Value="N2"/>
<Setter Property="Increment" Value="0.1"/>
</Style>
<Style TargetType="ListView">
<Setter Property="ItemContainerStyle" Value="{StaticResource TTS_ListViewItemStyle}"/>
</Style>
<Style TargetType="CheckBox" BasedOn="{StaticResource PageContentCheckBoxStyle}" />
<Style TargetType="ComboBox" BasedOn="{StaticResource FlatComboBoxStyle}">
<Setter Property="Width" Value="450"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
<Style TargetType="Button" BasedOn="{StaticResource TTS_ButtonStyle}"/>
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource Gray_GridViewColumnHeaderStyle}"/>
<Style TargetType="Expander" BasedOn="{StaticResource SimpleExpanderTemp}">
<Setter Property="Width" Value="Auto"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Top"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
</Style>
<!-- these are used for error decoration of Squib high/low tolerances -->
<converters:BooleanToBorderThicknessConverter x:Key="BooleanToBorderThickness" />
<converters:BooleanToColorConverter x:Key="BooleanToColor" />
<!--<converters:BooleanToColorConverter x:Key="BooleanToWarningColor" WarningBrush="True" />-->
<converters:BooleanToVisibilityConverter x:Key="BoolToVisConverter" /> <!-- used for Current Visability depending on squib fire mode-->
</ResourceDictionary>
</base:BaseView.Resources>
<!-- I originally tried DynamicGrid here, but it had weird column sizing, I believe it was missing some stuff from CommonStyles -->
<StackPanel Background="{DynamicResource Brush_ApplicationContentBackground}" Orientation="Vertical">
<Expander Header="{strings:TranslateExtension SquibDefaults}" DataContext="{Binding SquibSettings}" AutomationProperties.AutomationId="SQUIBDefaultsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension Delay}" Grid.Row="0" AutomationProperties.AutomationId="SQUIBDelayLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="0" Minimum="{StaticResource SQUIB_DELAY_MIN}"
Maximum="{StaticResource SQUIB_DELAY_MAX}" ClipValueToMinMax="True" Value="{Binding FireDelayMS}"
AutomationProperties.AutomationId="SQUIBDelay"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension LimitDuration}" Grid.Row="1" AutomationProperties.AutomationId="SQUIBLimitDurationLabel"/>
<CheckBox Grid.Column="1" Grid.Row="1" Margin="0" IsChecked="{Binding LimitDurationDefault}" AutomationProperties.AutomationId="SQUIBLimitDuration" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension Duration}" Grid.Row="2"
Visibility="{Binding LimitDurationDefault, Converter={StaticResource BoolToVisConverter}}" AutomationProperties.AutomationId="SQUIBDurationLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="2" FormatString="N1" Minimum="{StaticResource SQUIB_DURATION_MIN}" Maximum="{StaticResource SQUIB_DURATION_MAX}"
ClipValueToMinMax="True" Value="{Binding FireDurationMS}"
Visibility="{Binding LimitDurationDefault, Converter={StaticResource BoolToVisConverter}}"
AutomationProperties.AutomationId="SQUIBDuration"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension LowTolerance}" Grid.Row="3" AutomationProperties.AutomationId="SQUIBLowToleranceLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="3" FormatString="N1" Minimum="{StaticResource SQUIB_TOLERANCE_LOW}"
Maximum="{StaticResource SQUIB_TOLERANCE_HIGH}" Value="{Binding ToleranceLowDefault}"
BorderBrush="{Binding ToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding ToleranceValid, Converter={StaticResource BooleanToBorderThickness}}" AutomationProperties.AutomationId="SQUIBLowTolerance"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension HighTolerance}" Grid.Row="4" AutomationProperties.AutomationId="SQUIBHighToleranceLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="4" FormatString="N1" Minimum="{StaticResource SQUIB_TOLERANCE_LOW}"
Maximum="{StaticResource SQUIB_TOLERANCE_HIGH}" Value="{Binding ToleranceHighDefault}"
BorderBrush="{Binding ToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding ToleranceValid, Converter={StaticResource BooleanToBorderThickness}}" AutomationProperties.AutomationId="SQUIBHighTolerance"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension FiringMode}" Grid.Row="5" AutomationProperties.AutomationId="SQUIBFiringModeLabel"/>
<ComboBox Grid.Column="1" Grid.Row="5" SelectedItem="{Binding FireModeDefault}" ItemsSource="{Binding AvailableModes}" AutomationProperties.AutomationId="SQUIBFiringMode" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension Current}" Grid.Row="6" Visibility="{Binding IsConstantCurrent, Converter={StaticResource BoolToVisConverter}}" AutomationProperties.AutomationId="SQUIBConstantCurrentabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="6" Minimum="{StaticResource SQUIB_CURRENT_LOW}" Maximum="{StaticResource SQUIB_CURRENT_HIGH}"
Value="{Binding OutputCurrentDefault}" Visibility="{Binding IsConstantCurrent, Converter={StaticResource BoolToVisConverter}}"
AutomationProperties.AutomationId="SQUIBConstantCurrent" />
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension DigitalOutDefaults}" DataContext="{Binding DigitalOutSettings}" AutomationProperties.AutomationId="DigitalOutExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{strings:TranslateExtension DigitalOutputMode}" AutomationProperties.AutomationId="DOUTModeLabel"/>
<ComboBox Grid.Column="1" Grid.Row="0" SelectedItem="{Binding OutputMode}" ItemsSource="{Binding AvailableModes}" AutomationProperties.AutomationId="DOUTMode" HorizontalAlignment="Left" />
<TextBlock Grid.Column="0" Grid.Row="1" Text="{strings:TranslateExtension DigitalOutputDelayMS}" AutomationProperties.AutomationId="DOUTDelayLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="1" Minimum="0" ClipValueToMinMax="True"
Increment=".1" Value="{Binding DelayMS}" AutomationProperties.AutomationId="DOUTDelay"/>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{strings:TranslateExtension DigitalOutputLimitDuration}" AutomationProperties.AutomationId="DOUTLimitDurationLabel"/>
<CheckBox Grid.Column="1" Grid.Row="2" IsChecked="{Binding LimitDuration}" AutomationProperties.AutomationId="DOUTLimitDuration" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{strings:TranslateExtension DigitalOutputDuration}"
Visibility="{Binding LimitDuration, Converter={StaticResource BoolToVisConverter}}" AutomationProperties.AutomationId="DOUTDurationLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="3" Minimum="0" ClipValueToMinMax="True"
Increment=".1" Value="{Binding DurationMS}" Visibility="{Binding LimitDuration, Converter={StaticResource BoolToVisConverter}}"
AutomationProperties.AutomationId="DOUTDuration"/>
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension DigitalInputSettings}" DataContext="{Binding DigitalInputDefaults}" AutomationProperties.AutomationId="DigitalInputsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{strings:TranslateExtension ConstantCurrentBreakPoint}" />
<!-- 16 bit signed -->
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="0" Minimum="-32768" Maximum="32767" ClipValueToMinMax="True"
Increment="1" Value="{Binding ConstantCurrentBreakpointADC}" AutomationProperties.AutomationId="DIConstantCurrentBreakpoint"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{strings:TranslateExtension VoltageInputBreakpoint}" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="1" Minimum="-32768" Maximum="32767" ClipValueToMinMax="True"
Increment="1" Value="{Binding VoltageBreakpointADC}" AutomationProperties.AutomationId="DIVoltageBreakpoint"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension DisplaySPDADC}" Grid.Row="2" />
<CheckBox Grid.Column="1" Grid.Row="2" IsChecked="{Binding DisplaySPDADC}" />
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension IEPEDefaults}" DataContext="{Binding IEPESensorDefaults}" AutomationProperties.AutomationId="IEPEDefaultsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <!-- Disable AutoSense -->
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension _24VPowerLow}" Grid.Row="0" AutomationProperties.AutomationId="_24VPowerLowLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="0" Minimum="{StaticResource _24VPOWER_LOW_MIN}" FormatString="N1"
Maximum="{StaticResource _24VPOWER_LOW_MAX}" ClipValueToMinMax="True" Value="{Binding _24VPowerLow}"
AutomationProperties.AutomationId="_24VPowerLowDoubleUpDown"
BorderBrush="{Binding ToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding ToleranceValid, Converter={StaticResource BooleanToBorderThickness}}" />
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension _24VPowerHigh}" Grid.Row="1"
AutomationProperties.AutomationId="_24VPowerHighLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="1" FormatString="N1" Minimum="{StaticResource _24VPOWER_HIGH_MIN}" Maximum="{StaticResource _24VPOWER_HIGH_MAX}"
ClipValueToMinMax="True" Value="{Binding _24VPowerHigh}"
AutomationProperties.AutomationId="_24VPowerHighDoubleUpDown"
BorderBrush="{Binding ToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding ToleranceValid, Converter={StaticResource BooleanToBorderThickness}}"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension IEPERangeLowLimit}" Grid.Row="2" AutomationProperties.AutomationId="RangeLowLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="2" Minimum="{StaticResource IEPE_RANGE_LOW_MIN}" FormatString="N1"
Maximum="{StaticResource IEPE_RANGE_LOW_MAX}" ClipValueToMinMax="True" Value="{Binding RangeLowLimitScalar}"
AutomationProperties.AutomationId="IEPELowDoubleUpDown"
BorderBrush="{Binding RangeToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding RangeToleranceValid, Converter={StaticResource BooleanToBorderThickness}}" />
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension IEPERangeHighLimit}" Grid.Row="3"
AutomationProperties.AutomationId="RangeHighLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="3" FormatString="N1" Minimum="{StaticResource IEPE_RANGE_HIGH_MIN}" Maximum="{StaticResource IEPE_RANGE_HIGH_MAX}"
ClipValueToMinMax="True" Value="{Binding RangeHighLimitScalar}"
AutomationProperties.AutomationId="IEPEHighDoubleUpDown"
BorderBrush="{Binding RangeToleranceValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding RangeToleranceValid, Converter={StaticResource BooleanToBorderThickness}}"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension DisableAutoSense}" Grid.Row="4" AutomationProperties.AutomationId="AutoSenseLabel" />
<CheckBox Grid.Column="1" IsChecked="{Binding DisableAutoSense}" Grid.Row="4" AutomationProperties.AutomationId="DisableAutoSenseCheckBox" />
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension SensorCalibrationPolicies}" DataContext="{Binding SensorCalibrationDefaults}" AutomationProperties.AutomationId="SensorCalibrationsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension UseSensorFirstUseDate}" AutomationProperties.AutomationId="SensorFirstUseLabel" />
<CheckBox Grid.Column="1" IsChecked="{Binding UseSensorFirstUseDate}" AutomationProperties.AutomationId="SensorFirstUseCheckBox" />
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension Policy}" Grid.Row="1 "/>
<ComboBox Grid.Column="1" ItemsSource="{Binding AvailableSensorCalPolicies, Mode=OneWay}" SelectedItem="{Binding SelectedCalPolicy}"
AutomationProperties.AutomationId="SensorCalPolicyComboBox" Grid.Row="1"/>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension WarningPeriod}" Grid.Row="2" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="2" FormatString="N0" Minimum="1" Maximum="36500" ClipValueToMinMax="True" Value="{Binding WarningPeriod}"
AutomationProperties.AutomationId="WarningPeriodDoubleUpDown" Increment="1"/>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{strings:TranslateExtension SensorSettings_DontAllowDataCollectionIfOverused}" AutomationProperties.AutomationId="SensorOveruseLabel" />
<CheckBox Grid.Column="1" Grid.Row="3" IsChecked="{Binding DontAllowDataCollectionIfOverused}" IsEnabled="{Binding SensorAssemblyEnabled}" AutomationProperties.AutomationId="SensorOveruseCheckBox" />
<TextBlock Grid.Column="0" Grid.Row="4" Visibility ="{Binding DontAllowDataCollectionIfOverused, Converter={StaticResource BoolToVisConverter}}" Text="{strings:TranslateExtension SensorSettings_UsageRemainingForWarning}" AutomationProperties.AutomationId="UsageRemainingTxtBlock"/>
<TextBox Grid.Column="1" Grid.Row="4" Visibility ="{Binding DontAllowDataCollectionIfOverused, Converter={StaticResource BoolToVisConverter}}" Text="{Binding UsageRemainingForWarning}" MinWidth="50" MaxWidth="50" HorizontalAlignment="Left" AutomationProperties.AutomationId="UsageRemainingTxtBx"/>
<TextBlock Grid.Column="0" Grid.Row="5" Visibility ="{Binding DontAllowDataCollectionIfOverused, Converter={StaticResource BoolToVisConverter}}" Text="{strings:TranslateExtension SensorSettings_DefaultMaxUsageAllowed}" AutomationProperties.AutomationId="MaxUsageAllowedTxtBlock"/>
<TextBox Grid.Column="1" Grid.Row="5" Visibility ="{Binding DontAllowDataCollectionIfOverused, Converter={StaticResource BoolToVisConverter}}" Text="{Binding DefaultMaxUsageAllowed}" MinWidth="50" MaxWidth="50" HorizontalAlignment="Left" AutomationProperties.AutomationId="MaxUsageAllowedTxtBx"/>
<TextBlock Grid.Column="0" Grid.Row="6" Text="{strings:TranslateExtension SensorSettings_AllowInspectBeforeUse}" />
<CheckBox Grid.Column="1" Grid.Row="6" IsChecked="{Binding AllowInspectBeforeUse}" IsEnabled="{Binding AllowInspectBeforeUseEnabled}" AutomationProperties.AutomationId="chk_AllowInspectBeforeUse" />
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension AnalogSettings}" DataContext="{Binding AnalogDefaults}" AutomationProperties.AutomationId="AnalogSettingsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="{strings:TranslateExtension DefineDefaultFilter}" />
<ComboBox Grid.Column="1" DisplayMemberPath="FilterName" LostFocus="CbFilterOption_LostFocus" x:Name="cbFilterOption" ItemsSource="{Binding FilterOptions}" SelectedItem="{Binding SelectedFilterOption, Mode=TwoWay}"
AutomationProperties.AutomationId="SensorCalPolicyComboBox" IsEditable="True" IsReadOnly="False" />
<TextBlock Grid.Column="0" Grid.Row="1" Text="{strings:TranslateExtension UseMeasuredExcitation}" />
<CheckBox Grid.Column="1" Grid.Row="1" IsChecked="{Binding UseMeasuredExcitation}" AutomationProperties.AutomationId="chk_UseMeasuredExcitationFlag"/>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{strings:TranslateExtension TrackDiagnostics}" />
<CheckBox Grid.Column="1" Grid.Row="2" IsChecked="{Binding TrackAnalogDiagnostics}" AutomationProperties.AutomationId="chk_TrackAnalogDiagnostics"
IsEnabled="{Binding TrackAnalogDiagnosticsEnabled}"/>
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension UartSettings}" DataContext="{Binding UartIODefaults}" AutomationProperties.AutomationId="UartSettingsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{strings:TranslateExtension BaudRate}" AutomationProperties.AutomationId="UARTBaudRateLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="0" FormatString="N0" Increment="1" Minimum="110" Maximum="3000000"
ClipValueToMinMax="True" Value="{Binding BaudRate}"
AutomationProperties.AutomationId="UARTDataBits"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{strings:TranslateExtension DataBits}" AutomationProperties.AutomationId="UARTDataBitsLabel" />
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="1" FormatString="N0" Increment="1" Minimum="{StaticResource UART_DATA_BITS_MIN}" Maximum="{StaticResource UART_DATA_BITS_MAX}"
ClipValueToMinMax="True" Value="{Binding DataBits}"
AutomationProperties.AutomationId="UARTDataBits"/>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{strings:TranslateExtension StopBits}" AutomationProperties.AutomationId="UARTStopBitsLabel"/>
<ComboBox Grid.Column="1" Grid.Row="2" SelectedItem="{Binding StopBits}" ItemsSource="{Binding AvailableStopBits}" AutomationProperties.AutomationId="UARTStopBits" HorizontalAlignment="Left" />
<TextBlock Grid.Column="0" Grid.Row="3" Text="{strings:TranslateExtension Parity}" AutomationProperties.AutomationId="UARTParityLabel"/>
<ComboBox Grid.Column="1" Grid.Row="3" SelectedItem="{Binding Parity}" ItemsSource="{Binding AvailableParities}" AutomationProperties.AutomationId="UARTParity" HorizontalAlignment="Left" />
<TextBlock Grid.Column="0" Grid.Row="4" Text="{strings:TranslateExtension DataFormat}" AutomationProperties.AutomationId="UARTDataFormatLabel"/>
<ComboBox Grid.Column="1" Grid.Row="4" SelectedItem="{Binding DataFormat}" ItemsSource="{Binding AvailableDataFormats}" AutomationProperties.AutomationId="UARTDataFormat" HorizontalAlignment="Left" />
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension StreamOutputSettings}" DataContext="{Binding StreamOutputSettings}" AutomationProperties.AutomationId="StreamOutputSettingsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{strings:TranslateExtension UDPProfile}" AutomationProperties.AutomationId="UDPProfileLabel" />
<ComboBox Grid.Column="1" Grid.Row="1" SelectedItem="{Binding Profile}" ItemsSource="{Binding AvailableStreamOutUDPProfiles}" AutomationProperties.AutomationId="StreamOutProfile" HorizontalAlignment="Left" />
<TextBlock Grid.Column="0" Grid.Row="2" Text="{strings:TranslateExtension UDPAddress}" AutomationProperties.AutomationId="UDPAddressLabel" />
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding UDPAddress}" AutomationProperties.AutomationId="StreamOutUDPAddress"/>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{strings:TranslateExtension TimeChannelId}" AutomationProperties.AutomationId="TimeChannelIdLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="3" FormatString="N0" Increment="1" Minimum="0" Maximum="100"
ClipValueToMinMax="True" Value="{Binding TimeChannelId}"
AutomationProperties.AutomationId="StreamOutTimeChannelId"/>
<TextBlock Grid.Column="0" Grid.Row="4" Text="{strings:TranslateExtension DataChannelId}" AutomationProperties.AutomationId="DataChannelIdLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="4" FormatString="N0" Increment="1" Minimum="0" Maximum="100"
ClipValueToMinMax="True" Value="{Binding DataChannelId}"
AutomationProperties.AutomationId="StreamOutDataChannelId"/>
<TextBlock Grid.Column="0" Grid.Row="5" Text="{strings:TranslateExtension TmNSConfig}" AutomationProperties.AutomationId="TmNSConfigLabel" />
<TextBox Grid.Column="1" Grid.Row="5" Text="{Binding TmNSConfig}" AutomationProperties.AutomationId="StreamOutTmNSConfig"/>
<TextBlock Grid.Column="0" Grid.Row="6" Text="{strings:TranslateExtension IRIGTimeDataPacketIntervalMs}" AutomationProperties.AutomationId="IRIGTimeDataPacketIntervalMsLabel"/>
<xctk:DoubleUpDown Grid.Column="1" Grid.Row="6" FormatString="N0" Increment="1" Minimum="0" Maximum="100"
ClipValueToMinMax="True" Value="{Binding IRIGTimeDataPacketIntervalMs}"
AutomationProperties.AutomationId="StreamOutIRIGTimeDataPacketIntervalMs"/>
</Grid>
</Expander>
<Expander Header="{strings:TranslateExtension CanSettings}" DataContext="{Binding CanIODefaults}" AutomationProperties.AutomationId="CanSettingsExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{strings:TranslateExtension ArbBaseBitrate}" AutomationProperties.AutomationId="CANArbBaseBitrateLabel" />
<ComboBox Grid.Column="1" Grid.Row="0" SelectedItem="{Binding ArbBaseBitrate}" ItemsSource="{Binding AvailableArbBaseBitrates}" AutomationProperties.AutomationId="CANArbBaseBitrateItems" HorizontalAlignment="Left" />
</Grid>
</Expander>
</StackPanel>
</base:BaseView>

View File

@@ -0,0 +1,31 @@
using DTS.Common.Events.Sensors.SensorsList;
using DTS.Common.Interface.Sensors.SensorSettingsModule;
using Prism.Ioc;
using Prism.Events;
using System.Windows;
// ReSharper disable CheckNamespace
namespace SensorSettingsModule
{
public partial class SensorSettingsView : ISensorSettingsView
{
private IEventAggregator _eventAggregator;
public SensorSettingsView()
{
InitializeComponent();
_eventAggregator = ContainerLocator.Container.Resolve<IEventAggregator>();
}
//FB 13120 Identify the AdHoc filter to get saved later on if it's not already saved to db
private double freq;
private void CbFilterOption_LostFocus(object sender, RoutedEventArgs e)
{
var filter = cbFilterOption.Text;
if (double.TryParse(filter, out freq))
{
_eventAggregator.GetEvent<SensorSavedEvent>().Publish(freq);
}
}
}
}