|
@@ -0,0 +1,655 @@
|
|
|
+<UserControl
|
|
|
+ x:Class="Dynamicloadsimulationdevice.Views.ShakerChannelView"
|
|
|
+ xmlns="https://github.com/avaloniaui"
|
|
|
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
+ xmlns:convert="using:IViewModel.Convert"
|
|
|
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
|
+ xmlns:ivm="using:IViewModel"
|
|
|
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
|
+ xmlns:shakermodel="using:Shaker.Model"
|
|
|
+ xmlns:suki="https://github.com/kikipoulet/SukiUI"
|
|
|
+ xmlns:vm="using:Dynamicloadsimulationdevice.ViewModels"
|
|
|
+ d:DesignHeight="450"
|
|
|
+ d:DesignWidth="800"
|
|
|
+ x:DataType="vm:ShakerChannelViewModel"
|
|
|
+ DataContext="{Binding Source={x:Static vm:ShakerChannelViewModel.Instance}}"
|
|
|
+ mc:Ignorable="d">
|
|
|
+ <TabControl>
|
|
|
+ <TabItem Header="{DynamicResource AI}">
|
|
|
+ <ScrollViewer>
|
|
|
+
|
|
|
+ <UniformGrid Columns="2">
|
|
|
+ <suki:GlassCard Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource Displacement}">
|
|
|
+ <StackPanel
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Sensitivity}" />
|
|
|
+ <Run Text="{Binding Displacement[0].Value.Unit, StringFormat='{}(mV/{0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="3"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Bias}" />
|
|
|
+ <Run Text="{Binding Displacement[0].Value.Unit, StringFormat='{}({0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Displacement}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AIs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="2"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxSensitivity}"
|
|
|
+ Minimum="{Binding Value.MinSensitivity}"
|
|
|
+ Value="{Binding Value.Sensitivity}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="3"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxBias}"
|
|
|
+ Minimum="{Binding Value.MinBias}"
|
|
|
+ Value="{Binding Value.Bias}" />
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+
|
|
|
+ <StackPanel>
|
|
|
+
|
|
|
+ <suki:GlassCard Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource Acceleration}">
|
|
|
+ <StackPanel
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="460"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Sensitivity}" />
|
|
|
+ <Run Text="{Binding Acceleration[0].Value.Unit, StringFormat='{}(mV/{0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Acceleration}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="460"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AIs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="2"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxSensitivity}"
|
|
|
+ Minimum="{Binding Value.MinSensitivity}"
|
|
|
+ Value="{Binding Value.Sensitivity}" />
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <suki:GlassCard Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource OutInputSignal}">
|
|
|
+ <StackPanel
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="460"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource OutSignalGain}" />
|
|
|
+ <Run Text="{Binding OutSignal[0].Value.Unit, StringFormat='{}({0}/mV)', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding OutSignal}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="460"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AIs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="2"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxSensitivity}"
|
|
|
+ Minimum="{Binding Value.MinSensitivity}"
|
|
|
+ Value="{Binding Value.Sensitivity}" />
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+ </StackPanel>
|
|
|
+
|
|
|
+ <suki:GlassCard Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource ValvePressure}">
|
|
|
+ <StackPanel
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Sensitivity}" />
|
|
|
+ <Run Text="{Binding Pressure[0].Value.Unit, StringFormat='{}(mV/{0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="3"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Bias}" />
|
|
|
+ <Run Text="{Binding Pressure[0].Value.Unit, StringFormat='{}({0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Pressure}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AIs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="2"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxSensitivity}"
|
|
|
+ Minimum="{Binding Value.MinSensitivity}"
|
|
|
+ Value="{Binding Value.Sensitivity}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="3"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxBias}"
|
|
|
+ Minimum="{Binding Value.MinBias}"
|
|
|
+ Value="{Binding Value.Bias}" />
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <suki:GlassCard Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource DifferentialPressure}">
|
|
|
+ <StackPanel
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Sensitivity}" />
|
|
|
+ <Run Text="{Binding DifferentialPressure[0].Value.Unit, StringFormat='{}(mV/{0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="3"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Bias}" />
|
|
|
+ <Run Text="{Binding DifferentialPressure[0].Value.Unit, StringFormat='{}(mV/{0})', Mode=OneWay}" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding DifferentialPressure}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="560"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,*,0.8*,0.8*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AIs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="2"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxSensitivity}"
|
|
|
+ Minimum="{Binding Value.MinSensitivity}"
|
|
|
+ Value="{Binding Value.Sensitivity}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="3"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxBias}"
|
|
|
+ Minimum="{Binding Value.MinBias}"
|
|
|
+ Value="{Binding Value.Bias}" />
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+ </UniformGrid>
|
|
|
+ </ScrollViewer>
|
|
|
+ </TabItem>
|
|
|
+ <TabItem Header="{DynamicResource AO}">
|
|
|
+ <ScrollViewer>
|
|
|
+ <Grid ColumnDefinitions="*,auto" RowDefinitions="*,*">
|
|
|
+
|
|
|
+ <suki:GlassCard
|
|
|
+ Grid.Row="0"
|
|
|
+ Grid.Column="0"
|
|
|
+ Margin="10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource Vertical}">
|
|
|
+ <StackPanel
|
|
|
+ Width="620"
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,140,120,0.5*,0.3*,0.5*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource ServoValvePolarity}" />
|
|
|
+ </TextBlock>
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="3"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Bias}" />
|
|
|
+ <Run Text="(V)" />
|
|
|
+ </TextBlock>
|
|
|
+
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="4"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveOpenLoop}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="5"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource OpenLoopVoltage}" />
|
|
|
+ <Run Text="(V)" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Vertical}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,140,120,0.5*,0.3*,0.5*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AOs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="2"
|
|
|
+ ItemsSource="{Binding Source={x:Static shakermodel:Polarity.Positive}, Converter={x:Static convert:EnumToCollectionConverter.Instance}, Mode=OneTime}"
|
|
|
+ SelectedValue="{Binding Path=Value.Polarity}"
|
|
|
+ SelectedValueBinding="{Binding Value}">
|
|
|
+ <ComboBox.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <TextBlock Text="{ivm:ResourceBinding Key}" />
|
|
|
+ </DataTemplate>
|
|
|
+ </ComboBox.ItemTemplate>
|
|
|
+ </ComboBox>
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="3"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxBias}"
|
|
|
+ Minimum="{Binding Value.MinBias}"
|
|
|
+ Value="{Binding Value.Bias}" />
|
|
|
+ <ToggleSwitch
|
|
|
+ Grid.Column="4"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ IsChecked="{Binding Value.OpenLoop}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="5"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ IsEnabled="{Binding Value.OpenLoop}"
|
|
|
+ Maximum="{Binding Value.MaxOpenLoopDriver}"
|
|
|
+ Minimum="{Binding Value.MinOpenLoopDriver}"
|
|
|
+ Value="{Binding Value.OpenLoopDriver}" />
|
|
|
+
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+
|
|
|
+ <suki:GlassCard
|
|
|
+ Grid.Row="1"
|
|
|
+ Grid.Column="0"
|
|
|
+ Margin="10,0,10,10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource Horizontal}">
|
|
|
+ <StackPanel
|
|
|
+ Width="620"
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,140,120,0.5*,0.3*,0.5*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="2"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource ServoValvePolarity}" />
|
|
|
+ </TextBlock>
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="3"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource Bias}" />
|
|
|
+ <Run Text="(V)" />
|
|
|
+ </TextBlock>
|
|
|
+
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="4"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveOpenLoop}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="5"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center">
|
|
|
+ <Run Text="{DynamicResource OpenLoopVoltage}" />
|
|
|
+ <Run Text="(V)" />
|
|
|
+ </TextBlock>
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Horizontal}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="62,140,120,0.5*,0.3*,0.5*">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AOs}"
|
|
|
+ SelectedValue="{Binding Value.Channel}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="2"
|
|
|
+ ItemsSource="{Binding Source={x:Static shakermodel:Polarity.Positive}, Converter={x:Static convert:EnumToCollectionConverter.Instance}, Mode=OneTime}"
|
|
|
+ SelectedValue="{Binding Path=Value.Polarity}"
|
|
|
+ SelectedValueBinding="{Binding Value}">
|
|
|
+ <ComboBox.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <TextBlock Text="{ivm:ResourceBinding Key}" />
|
|
|
+ </DataTemplate>
|
|
|
+ </ComboBox.ItemTemplate>
|
|
|
+ </ComboBox>
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="3"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ Maximum="{Binding Value.MaxBias}"
|
|
|
+ Minimum="{Binding Value.MinBias}"
|
|
|
+ Value="{Binding Value.Bias}" />
|
|
|
+ <ToggleSwitch
|
|
|
+ Grid.Column="4"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ IsChecked="{Binding Value.OpenLoop}" />
|
|
|
+ <NumericUpDown
|
|
|
+ Grid.Column="5"
|
|
|
+ Margin="4,0,4,0"
|
|
|
+ Increment="0.001"
|
|
|
+ IsEnabled="{Binding Value.OpenLoop}"
|
|
|
+ Maximum="{Binding Value.MaxOpenLoopDriver}"
|
|
|
+ Minimum="{Binding Value.MinOpenLoopDriver}"
|
|
|
+ Value="{Binding Value.OpenLoopDriver}" />
|
|
|
+
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <suki:GlassCard
|
|
|
+ Grid.Row="0"
|
|
|
+ Grid.Column="1"
|
|
|
+ Margin="0,10,10,10">
|
|
|
+ <suki:GroupBox Header="{DynamicResource Balancing}">
|
|
|
+ <StackPanel
|
|
|
+ Width="200"
|
|
|
+ HorizontalAlignment="Left"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ Orientation="Vertical">
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="60,140">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource ServoValveIndex}" />
|
|
|
+ <TextBlock
|
|
|
+ Grid.Column="1"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{DynamicResource Channel}" />
|
|
|
+ </Grid>
|
|
|
+ <ScrollViewer>
|
|
|
+ <ItemsControl ItemsSource="{Binding Balancing}">
|
|
|
+ <ItemsControl.ItemTemplate>
|
|
|
+ <DataTemplate>
|
|
|
+ <Grid
|
|
|
+ Width="{Binding $parent[StackPanel].Width}"
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Top"
|
|
|
+ ColumnDefinitions="60,140">
|
|
|
+ <TextBlock
|
|
|
+ HorizontalAlignment="Center"
|
|
|
+ VerticalAlignment="Center"
|
|
|
+ Text="{Binding Index}" />
|
|
|
+ <ComboBox
|
|
|
+ Grid.Column="1"
|
|
|
+ ItemsSource="{Binding Source={x:Static vm:ShakerConfigViewModel.Instance}, Path=AOs}"
|
|
|
+ SelectedValue="{Binding Value}" />
|
|
|
+
|
|
|
+ </Grid>
|
|
|
+ </DataTemplate>
|
|
|
+ </ItemsControl.ItemTemplate>
|
|
|
+ </ItemsControl>
|
|
|
+ </ScrollViewer>
|
|
|
+ </StackPanel>
|
|
|
+ </suki:GroupBox>
|
|
|
+ </suki:GlassCard>
|
|
|
+ </Grid>
|
|
|
+ </ScrollViewer>
|
|
|
+ </TabItem>
|
|
|
+ </TabControl>
|
|
|
+</UserControl>
|