123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410 |
- <UserControl
- x:Class="ShakerApp.Views.DebugView"
- xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="using:ShakerApp"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:suki="https://github.com/kikipoulet/SukiUI"
- xmlns:vm="using:ShakerApp.ViewModels"
- d:DesignHeight="450"
- d:DesignWidth="800"
- x:DataType="vm:ShakerControlViewModel"
- DataContext="{Binding Source={x:Static vm:ShakerControlViewModel.Instance}}"
- mc:Ignorable="d">
- <TabControl>
- <TabItem Header="{DynamicResource Displacement}">
- <suki:GlassCard
- Margin="10"
- HorizontalAlignment="Left"
- VerticalAlignment="Top">
- <suki:GroupBox Header="{DynamicResource DisplacementPI}">
- <Grid Width="420" Height="140">
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition />
- <RowDefinition />
- </Grid.RowDefinitions>
- <StackPanel
- Grid.Row="0"
- Grid.Column="0"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Orientation="Vertical">
- <TextBlock VerticalAlignment="Center" Text="{DynamicResource DisplacementP}" />
- <NumericUpDown
- Width="120"
- Margin="0,0,0,0"
- Value="{Binding DisplacementP}" />
- </StackPanel>
- <StackPanel
- Grid.Row="0"
- Grid.Column="1"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Orientation="Vertical">
- <TextBlock VerticalAlignment="Center" Text="{DynamicResource DisplacementI}" />
- <NumericUpDown
- Width="120"
- Margin="0,0,0,0"
- Value="{Binding DisplacementI}" />
- </StackPanel>
- <StackPanel
- Grid.Row="1"
- Grid.Column="0"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Orientation="Vertical">
- <TextBlock VerticalAlignment="Center" Text="{DynamicResource MaxDisplacementIntegral}" />
- <NumericUpDown
- Width="120"
- Margin="0,0,0,0"
- Value="{Binding MaxDisplacementIntegral}" />
- </StackPanel>
- </Grid>
- </suki:GroupBox>
- </suki:GlassCard>
- </TabItem>
- <TabItem Header="{DynamicResource ServoValveConfig}">
- <suki:GlassCard
- Margin="10"
- HorizontalAlignment="Left"
- VerticalAlignment="Top">
- <suki:GroupBox Header="{DynamicResource ServoValveConfig}">
- <Grid Width="520" Height="320">
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="66" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <StackPanel
- Grid.Column="1"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Orientation="Vertical">
- <TextBlock VerticalAlignment="Center" Text="{DynamicResource DisOpenLoop}" />
- <ToggleSwitch IsChecked="{Binding DisplacementOpenLoop}" />
- </StackPanel>
- <StackPanel Grid.Column="0">
- <TextBlock Text="{DynamicResource ServoValvePolarity}" />
- <ComboBox
- Width="120"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- ItemsSource="{Binding ValvePolarity, Converter={StaticResource EnumToCollectionConverter}, Mode=OneTime}"
- SelectedValue="{Binding Path=ValvePolarity}"
- SelectedValueBinding="{Binding Value}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <TextBlock Text="{local:ResourceBinding Key}" />
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- </StackPanel>
- <StackPanel
- Grid.Row="1"
- Grid.ColumnSpan="2"
- Margin="0,0,10,0"
- Orientation="Vertical">
- <Grid Height="{StaticResource ItemHeight}" Background="LightGray">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="66" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource ServoValveIndex}" />
- <TextBlock
- Grid.Column="1"
- HorizontalAlignment="Center"
- VerticalAlignment="Center">
- <Run Text="{DynamicResource ServoValveOffset}" />
- <Run Text="(V)" />
- </TextBlock>
- <TextBlock
- Grid.Column="2"
- HorizontalAlignment="Center"
- VerticalAlignment="Center">
- <Run Text="{DynamicResource OpenLoopVoltage}" />
- <Run Text="(V)" />
- </TextBlock>
- </Grid>
- <ItemsControl ItemsSource="{Binding ValveConfig}">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Grid Height="{StaticResource ItemHeight}" Margin="0,4,0,4">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="66" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Index}" />
- <NumericUpDown
- Grid.Column="1"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Value="{Binding Value.Bias}" />
- <NumericUpDown
- Grid.Column="2"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- IsEnabled="{Binding $parent[ItemsControl].DataContext.DisplacementOpenLoop}"
- Value="{Binding Value.OpenLoopDrive}" />
- </Grid>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </StackPanel>
- </Grid>
- </suki:GroupBox>
- </suki:GlassCard>
- </TabItem>
- <TabItem Header="{DynamicResource Other}">
- <Grid Margin="10">
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition />
- <RowDefinition />
- </Grid.RowDefinitions>
- <suki:GlassCard
- Grid.Column="1"
- Width="280"
- Height="160"
- VerticalAlignment="Top">
- <suki:GroupBox Header="{DynamicResource DebugConfig}">
- <StackPanel Orientation="Vertical">
- <StackPanel VerticalAlignment="Top" Orientation="Horizontal">
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource SelfCloseLoop}" />
- <ToggleSwitch IsChecked="{Binding SelfLoop}" />
- </StackPanel>
- <StackPanel
- Margin="0,10,0,0"
- VerticalAlignment="Top"
- Orientation="Horizontal">
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="Debug" />
- <ToggleSwitch IsChecked="{Binding Debug}" />
- </StackPanel>
- </StackPanel>
- </suki:GroupBox>
- </suki:GlassCard>
- <suki:GlassCard
- Grid.Row="0"
- Width="280"
- Height="180"
- VerticalAlignment="Top">
- <suki:GroupBox Header="{DynamicResource FlutterConfig}">
- <StackPanel>
- <StackPanel VerticalAlignment="Top" Orientation="Horizontal">
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource FlutterFrequency}" />
- <NumericUpDown
- Width="120"
- Margin="4,0,0,0"
- Increment="0.01"
- Maximum="500"
- Minimum="10"
- Value="{Binding FlutterFrequency}" />
- <TextBlock
- Margin="4,0,0,0"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="Hz" />
- </StackPanel>
- <StackPanel
- Margin="0,10,0,0"
- VerticalAlignment="Top"
- Orientation="Horizontal">
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource FlutterAmpt}" />
- <NumericUpDown
- Width="120"
- Margin="4,0,0,0"
- Increment="0.01"
- Minimum="0.01"
- Value="{Binding FlutterAmpt}" />
- <TextBlock
- Margin="4,0,0,0"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="V" />
- </StackPanel>
- </StackPanel>
- </suki:GroupBox>
- </suki:GlassCard>
- </Grid>
- </TabItem>
- <TabItem Header="{DynamicResource SweepControl}">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="56" />
- </Grid.RowDefinitions>
- <suki:GlassCard Width="900">
- <StackPanel Width="820" Orientation="Vertical">
- <Grid Height="{StaticResource ItemHeight}" Background="LightGray">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="36" />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource ServoValveIndex}" />
- <TextBlock
- Grid.Column="1"
- HorizontalAlignment="Center"
- VerticalAlignment="Center">
- <Run Text="{DynamicResource Frequency}" />
- <Run Text="(Hz)" />
- </TextBlock>
- <TextBlock
- Grid.Column="2"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource UpDateInvert}" />
- <TextBlock
- Grid.Column="3"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource ExponentialCoefficients}" />
- <TextBlock
- Grid.Column="4"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource CompressionRate}" />
- <TextBlock
- Grid.Column="5"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{DynamicResource AdjustMagnitude}" />
- </Grid>
- <ScrollViewer Height="320">
- <ItemsControl ItemsSource="{Binding ControlItems}">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Grid Height="{StaticResource ItemHeight}" Margin="0,4,0,4">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="36" />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <TextBlock
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Text="{Binding Index}" />
- <NumericUpDown
- Grid.Column="1"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Value="{Binding Value.Frequency}" />
- <NumericUpDown
- Grid.Column="2"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Increment="1"
- Minimum="1"
- Value="{Binding Value.UpDateInvert}" />
- <NumericUpDown
- Grid.Column="3"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Increment="0.01"
- Maximum="2"
- Minimum="0.01"
- Value="{Binding Value.ExponentialCoefficients}" />
- <NumericUpDown
- Grid.Column="4"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Increment="1"
- Minimum="1"
- Value="{Binding Value.CompressionRate}" />
- <NumericUpDown
- Grid.Column="5"
- Width="120"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Increment="0.001"
- Maximum="2"
- Minimum="0.001"
- Value="{Binding Value.AdjustMagnitude}" />
- </Grid>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </ScrollViewer>
- </StackPanel>
- </suki:GlassCard>
- <StackPanel
- Grid.Row="1"
- Height="{StaticResource TabItemHeight}"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Orientation="Horizontal">
- <Button
- Width="120"
- Command="{Binding AddCommand}"
- Content="{DynamicResource SweepControlAdd}"
- IsEnabled="{Binding AddEnabled}" />
- <Button
- Width="120"
- Margin="40,0,0,0"
- Command="{Binding DeleteLastCommand}"
- Content="{DynamicResource SweepControlDelete}"
- IsEnabled="{Binding RemoveEnabled}" />
- <Button
- Width="120"
- Margin="40,0,0,0"
- Command="{Binding RefreshCommand}"
- Content="{DynamicResource SweepControlRefresh}"
- IsEnabled="{Binding RemoveEnabled}" />
- </StackPanel>
- </Grid>
- </TabItem>
- </TabControl>
- </UserControl>
|