Sfoglia il codice sorgente

Merge branch 'master' of http://unque781.synology.me:3000/GSI/OHV

DESKTOP-Kang 6 anni fa
parent
commit
e45d08ee9c

+ 15 - 14
Dev/OHV/OHV.Module.Interactivity/PopUp/InOutView.xaml

@@ -10,7 +10,7 @@
              xmlns:prism="http://prismlibrary.com/"
              prism:ViewModelLocator.AutoWireViewModel="True"
              Width="1000" Height="800"
-             Background="#455a64">
+             Background="#37474f">
 
     <prism:Dialog.WindowStyle>
         <Style TargetType="Window">
@@ -32,7 +32,8 @@
         </Style>
     </prism:Dialog.WindowStyle>
 
-    <Grid>
+    <Border BorderBrush="Gray" BorderThickness="1">
+        <Grid>
         <Grid.ColumnDefinitions>
             <ColumnDefinition/>
             <ColumnDefinition Width="130"/>
@@ -42,17 +43,17 @@
             <ContentControl Grid.Column="0" prism:RegionManager.RegionName="IOView"/>
         </DockPanel>
 
-        <Grid Grid.Column="1" HorizontalAlignment="Stretch" Background="#263238">
-            <Border Margin="1" BorderBrush="#FF00FFD3" BorderThickness="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
-            <StackPanel VerticalAlignment="Bottom">
-                <Button Margin="10,0,10,10" HorizontalAlignment="Stretch" Height="90" BorderBrush="Gray" BorderThickness="2" Command="{Binding CloseDialogCommand}" CommandParameter="true">
-                    <StackPanel>
-                        <materialDesign:PackIcon Kind="ExitToApp" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="42" Width="auto"/>
-                        <TextBlock Text="Close" VerticalAlignment="Stretch" HorizontalAlignment="Center" />
-                    </StackPanel>
-                </Button>
-            </StackPanel>
+            <Grid Grid.Column="1" HorizontalAlignment="Stretch" Background="#263238">
+                <Border Margin="1" BorderBrush="#FF00FFD3" BorderThickness="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
+                <StackPanel VerticalAlignment="Bottom">
+                    <Button Margin="10,0,10,10" HorizontalAlignment="Stretch" Height="90" BorderBrush="Gray" BorderThickness="2" Command="{Binding CloseDialogCommand}" CommandParameter="true">
+                        <StackPanel>
+                            <materialDesign:PackIcon Kind="ExitToApp" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="42" Width="auto"/>
+                            <TextBlock Text="Close" VerticalAlignment="Stretch" HorizontalAlignment="Center" />
+                        </StackPanel>
+                    </Button>
+                </StackPanel>
+            </Grid>
         </Grid>
-
-    </Grid>
+    </Border>
 </UserControl>

+ 2 - 2
Dev/OHV/OHV.Module.MainViews/MainViewModules.cs

@@ -19,14 +19,14 @@ namespace OHV.Module.MainViews
             /* view model assign*/
             ViewModelLocationProvider.Register<AutoView , AutoViewModel>();
             ViewModelLocationProvider.Register<TeachView , TeachViewModel>();
-            ViewModelLocationProvider.Register<EditView , EditViewModel>();
+            ViewModelLocationProvider.Register<SettingsView , SettingsViewModel>();
             ViewModelLocationProvider.Register<ControlView , ControlViewModel>();
             ViewModelLocationProvider.Register<HistoryView , HistoryViewModel>();
 
             var regionManager = containerProvider.Resolve<IRegionManager>();
             regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( AutoView ) );
             regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( TeachView ) );
-            regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( EditView ) );
+            regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( SettingsView ) );
             regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( ControlView ) );
             regionManager.RegisterViewWithRegion( RegionNames.MainView , typeof( HistoryView ) );
         }

+ 6 - 6
Dev/OHV/OHV.Module.MainViews/OHV.Module.MainViews.csproj

@@ -97,9 +97,6 @@
     <Compile Include="Views\ControlViewModel.cs">
       <DependentUpon>ControlView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="Views\EditViewModel.cs">
-      <DependentUpon>EditView.xaml</DependentUpon>
-    </Compile>
     <Compile Include="Views\HistoryView.xaml.cs">
       <DependentUpon>HistoryView.xaml</DependentUpon>
     </Compile>
@@ -109,6 +106,9 @@
     <Compile Include="Views\ControlView.xaml.cs">
       <DependentUpon>ControlView.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\SettingsViewModel.cs">
+      <DependentUpon>SettingsView.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\TeachView.xaml.cs">
       <DependentUpon>TeachView.xaml</DependentUpon>
     </Compile>
@@ -118,8 +118,8 @@
     <Compile Include="Views\TeachViewModel.cs">
       <DependentUpon>TeachView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="Views\EditView.xaml.cs">
-      <DependentUpon>EditView.xaml</DependentUpon>
+    <Compile Include="Views\SettingsView.xaml.cs">
+      <DependentUpon>SettingsView.xaml</DependentUpon>
     </Compile>
   </ItemGroup>
   <ItemGroup>
@@ -139,7 +139,7 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
-    <Page Include="Views\EditView.xaml">
+    <Page Include="Views\SettingsView.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>

+ 3 - 3
Dev/OHV/OHV.Module.MainViews/Views/AutoView.xaml

@@ -18,9 +18,9 @@
 
         <Grid Margin="15" Background="#263238">
             <Grid.RowDefinitions>
-                <RowDefinition Height="1*" />
-                <RowDefinition Height="1*" />
-                <RowDefinition Height="1*" />
+                <RowDefinition />
+                <RowDefinition />
+                <RowDefinition />
             </Grid.RowDefinitions>
 
             <ContentControl Grid.Row="0" prism:RegionManager.RegionName="{x:Static OHVCommonShareds:RegionNames.VehicleCommandList}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="auto" Height="auto"/>

+ 12 - 50
Dev/OHV/OHV.Module.MainViews/Views/EditView.xaml

@@ -1,4 +1,4 @@
-<UserControl x:Class="OHV.Module.MainViews.Views.EditView"
+<UserControl x:Class="OHV.Module.MainViews.Views.SettingsView"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
@@ -30,18 +30,6 @@
                     <StackPanel Orientation="Horizontal"
                                 VerticalAlignment="Center"
                                 HorizontalAlignment="Center" Margin="20">
-                        
-                        <!--<Button HorizontalAlignment="Stretch"
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            Margin="20"
-                            materialDesign:ButtonAssist.CornerRadius="20"
-                            Command="{Binding InoutPupup}"
-                            Height="150" Width="220">
-                            <StackPanel>
-                                <materialDesign:PackIcon Kind="LedOn" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
-                                <TextBlock FontSize="30" Text="InOut" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
-                            </StackPanel>
-                        </Button>-->
 
                         <Button HorizontalAlignment="Stretch"
                              Style="{StaticResource MaterialDesignRaisedButton}"
@@ -56,28 +44,28 @@
                         </Button>
 
                         <Button HorizontalAlignment="Stretch"
-                             Style="{StaticResource MaterialDesignRaisedButton}"
+                            Style="{StaticResource MaterialDesignRaisedButton}"
                             Margin="20"
-                            materialDesign:ButtonAssist.CornerRadius="20"
-                            Command="{Binding ServoConfigCommand}"
+                            materialDesign:ButtonAssist.CornerRadius="10"
+                            Command="{Binding DriveTeachPopup}"
                             Height="150" Width="220">
                             <StackPanel>
-                                <materialDesign:PackIcon Kind="RobotMowerOutline" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
+                                <materialDesign:PackIcon Kind="CarTractionControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
                                 <TextBlock FontSize="30" Text="Drive" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
                             </StackPanel>
                         </Button>
 
-                        <!--<Button HorizontalAlignment="Stretch"
+                        <Button HorizontalAlignment="Stretch"
                             Style="{StaticResource MaterialDesignRaisedButton}"
                             Margin="20"
-                            materialDesign:ButtonAssist.CornerRadius="20"
-                            Command="{Binding BatteryPopup}"
-                            Height="150" Width="220">
+                            materialDesign:ButtonAssist.CornerRadius="10"
+                            Command="{Binding LockPopup}"
+                             Height="150" Width="220">
                             <StackPanel>
-                                <materialDesign:PackIcon Kind="BatteryCharging" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
-                                <TextBlock FontSize="30" Text="Battery" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
+                                <materialDesign:PackIcon Kind="PackageUp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
+                                <TextBlock FontSize="30" Text="Clamp" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
                             </StackPanel>
-                        </Button>-->
+                        </Button>
                     </StackPanel>
                 </Grid>
 
@@ -86,32 +74,6 @@
                                 VerticalAlignment="Top"
                                 HorizontalAlignment="Center"
                                 Margin="20">
-
-                        
-
-                        <!--<Button HorizontalAlignment="Stretch"
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            Margin="20"
-                            materialDesign:ButtonAssist.CornerRadius="20"
-                            Command="{Binding OpticalReaderPopup}"
-                            Height="150" Width="220">
-                            <StackPanel>
-                                <materialDesign:PackIcon Kind="Altimeter" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="auto" Height="100"/>
-                                <TextBlock FontSize="30" Text="Detect" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
-                            </StackPanel>
-                        </Button>-->
-
-                        <!--<Button HorizontalAlignment="Stretch"
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            Margin="20"
-                            materialDesign:ButtonAssist.CornerRadius="20"
-                            Command="{Binding ConveyorPopup}"
-                            Height="150" Width="220">
-                            <StackPanel>
-                                <materialDesign:PackIcon Kind="ElevatorUp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="auto" Height="100"/>
-                                <TextBlock FontSize="30" Text="Conveyor" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
-                            </StackPanel>
-                        </Button>-->
                     </StackPanel>
                 </Grid>
             </Grid>

+ 5 - 5
Dev/OHV/OHV.Module.MainViews/Views/EditView.xaml.cs

@@ -18,17 +18,17 @@ namespace OHV.Module.MainViews.Views
     /// <summary>
     /// UnitModule.xaml에 대한 상호 작용 논리
     /// </summary>
-    public partial class EditView : UserControl
+    public partial class SettingsView : UserControl
     {
-        public EditViewModel ViewModel { get => this.DataContext as EditViewModel; }
-        public EditView()
+        public SettingsViewModel ViewModel { get => this.DataContext as SettingsViewModel; }
+        public SettingsView( )
         { 
             InitializeComponent();
 
-            this.Loaded += EditView_Loaded;
+            this.Loaded += SettingsView_Loaded;
         }
 
-        private void EditView_Loaded( object sender , RoutedEventArgs e )
+        private void SettingsView_Loaded( object sender , RoutedEventArgs e )
         {
             this.ViewModel.Init();
         }

+ 16 - 2
Dev/OHV/OHV.Module.MainViews/Views/EditViewModel.cs

@@ -12,7 +12,7 @@ using VehicleControlSystem;
 
 namespace OHV.Module.MainViews.Views
 {
-    public class EditViewModel : BindableBase
+    public class SettingsViewModel : BindableBase
     {
         IEventAggregator eventAggregator = null;
         VCSystem vcSystem = null;
@@ -24,8 +24,10 @@ namespace OHV.Module.MainViews.Views
         public ICommand OpticalReaderPopup { get; set; }
         public ICommand ConfigCommand { get; set; }
         public ICommand ConveyorPopup { get; set; }
+        public ICommand LockPopup { get; set; }
+        public ICommand DriveTeachPopup { get; set; }
 
-        public EditViewModel( IEventAggregator _ea , VCSystem _vcSystem , MessageController _msgController )
+        public SettingsViewModel( IEventAggregator _ea , VCSystem _vcSystem , MessageController _msgController )
         {
             this.eventAggregator = _ea;
             this.vcSystem = _vcSystem;
@@ -37,6 +39,18 @@ namespace OHV.Module.MainViews.Views
             this.OpticalReaderPopup = new DelegateCommand( ExecuteOpticalReadCommand );
             this.ConfigCommand = new DelegateCommand(ExecuteConfigCommand);
             this.ConveyorPopup = new DelegateCommand( ExecuteConveyorCommand );
+            this.LockPopup = new DelegateCommand( ExecuteLockPopupCommand );
+            this.DriveTeachPopup = new DelegateCommand( ExecuteDriveTeachPopupCommand );
+        }
+
+        private void ExecuteLockPopupCommand( )
+        {
+            this.msgController.ShowLockPopupView();
+        }
+
+        private void ExecuteDriveTeachPopupCommand( )
+        {
+            this.msgController.ShowDrivePopupView();
         }
 
         private void ExecuteConveyorCommand( )

+ 231 - 0
Dev/OHV/OHV.Module.Status/DriveStateView.xaml

@@ -0,0 +1,231 @@
+<UserControl x:Class="OHV.Module.Status.DriveStateView"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:OHV.Module.Status"
+             xmlns:prism="http://prismlibrary.com/"
+             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800">
+    <Grid Background="#263238">
+        <Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="31"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+
+            <Grid Grid.Row="0">
+                <TextBlock Margin="10,0,0,0" Text="Drive Monitor" VerticalAlignment="Stretch" HorizontalAlignment="Left" FontSize="20" Foreground="White"/>
+            </Grid>
+
+            <Grid Grid.Row="1">
+                <StackPanel>
+                    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                        </Grid.ColumnDefinitions>
+
+                        <Grid Grid.Row="0">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="1">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="2">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="3">
+                            <TextBlock Text="Front" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="4">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="5">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="6">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="7">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="8">
+                            <TextBlock />
+                        </Grid>
+
+                        <Grid Grid.Row="2" Grid.Column="0">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
+                                    <Button
+                                    Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}" Background="#FF349FDA" Foreground="White" BorderBrush="Transparent"
+                                    materialDesign:ButtonProgressAssist.IsIndicatorVisible="False"
+                                    materialDesign:ButtonProgressAssist.Value="50"
+                                    materialDesign:ButtonProgressAssist.IsIndeterminate="True"
+                                    materialDesign:ButtonProgressAssist.IndicatorForeground="Gray"
+                                    Content="{materialDesign:PackIcon CarInsurance, Size=35}"
+                                    />
+                                </StackPanel>
+                            </Border>
+                        </Grid>
+
+                        <Grid Grid.Row="2" Grid.Column="1">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Speed" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="2">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Rpm" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="3">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Torque" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="4">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="LoadFactor" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+
+                        <Grid Grid.Row="3" Grid.Column="1">
+                            <TextBlock Text="{Binding FrontSpeed, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="3" Grid.Column="2">
+                            <TextBlock Text="{Binding FrontRpm, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="3" Grid.Column="3">
+                            <TextBlock Text="{Binding FrontTorque, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="3" Grid.Column="4">
+                            <TextBlock Text="{Binding FrontLoadFactor, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                    </Grid>
+                </StackPanel>
+            </Grid>
+
+            <Grid Grid.Row="2">
+                <StackPanel>
+                    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                        </Grid.ColumnDefinitions>
+
+                        <Grid Grid.Row="0">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="1">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="2">
+                            <TextBlock Text="Back" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="3">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="4">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="5">
+                            <TextBlock/>
+                        </Grid>
+                        <Grid Grid.Row="6">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="7">
+                            <TextBlock />
+                        </Grid>
+                        <Grid Grid.Row="8">
+                            <TextBlock />
+                        </Grid>
+
+                        <Grid Grid.Row="1" Grid.Column="0">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
+                                    <Button
+                                    Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}" Background="#FF349FDA" Foreground="White" BorderBrush="Transparent"
+                                    materialDesign:ButtonProgressAssist.IsIndicatorVisible="False"
+                                    materialDesign:ButtonProgressAssist.Value="50"
+                                    materialDesign:ButtonProgressAssist.IsIndeterminate="True"
+                                    materialDesign:ButtonProgressAssist.IndicatorForeground="Gray"
+                                    Content="{materialDesign:PackIcon CarInsurance, Size=35}"
+                                    />
+                                </StackPanel>
+                            </Border>
+                        </Grid>
+
+                        <Grid Grid.Row="1" Grid.Column="1">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Speed" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="1" Grid.Column="2">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Rpm" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="1" Grid.Column="3">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="Torque" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+                        <Grid Grid.Row="1" Grid.Column="4">
+                            <Border BorderBrush="{x:Null}" BorderThickness="1">
+                                <TextBlock Text="LoadFactor" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="Gray" FontSize="20"/>
+                            </Border>
+                        </Grid>
+
+                        <Grid Grid.Row="2" Grid.Column="1">
+                            <TextBlock Text="{Binding BackSpeed, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="2">
+                            <TextBlock Text="{Binding BackRpm, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="3">
+                            <TextBlock Text="{Binding BackTorque, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                        <Grid Grid.Row="2" Grid.Column="4">
+                            <TextBlock Text="{Binding BackLoadFactor, FallbackValue=0.0}" VerticalAlignment="Stretch" HorizontalAlignment="Center" FontSize="20" Foreground="Orange"/>
+                        </Grid>
+                    </Grid>
+                </StackPanel>
+            </Grid>
+        </Grid>
+    </Grid>
+</UserControl>

+ 36 - 0
Dev/OHV/OHV.Module.Status/DriveStateView.xaml.cs

@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace OHV.Module.Status
+{
+    /// <summary>
+    /// DriveStateView.xaml에 대한 상호 작용 논리
+    /// </summary>
+    public partial class DriveStateView : UserControl
+    {
+        public DriveStateViewModel ViewModel { get => this.DataContext as DriveStateViewModel; }
+        public DriveStateView( )
+        {
+            InitializeComponent();
+
+            this.Loaded += DriveStateView_Loaded;
+        }
+
+        private void DriveStateView_Loaded( object sender , RoutedEventArgs e )
+        {
+            this.ViewModel.Init();
+        }
+    }
+}

+ 101 - 0
Dev/OHV/OHV.Module.Status/DriveStateViewModel.cs

@@ -0,0 +1,101 @@
+using OHV.Common.Events;
+using Prism.Events;
+using Prism.Mvvm;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OHV.Module.Status
+{
+    public class DriveStateViewModel : BindableBase
+    {
+        #region Front Drive
+        private double frontSpeed;
+
+        public double FrontSpeed
+        {
+            get { return frontSpeed; }
+            set { this.SetProperty( ref this.frontSpeed , value ); }
+        }
+
+        private double frontTorque;
+
+        public double FrontTorque
+        {
+            get { return frontTorque; }
+            set { this.SetProperty( ref this.frontTorque , value ); }
+        }
+
+        private double frontRpm;
+
+        public double FrontRpm
+        {
+            get { return frontRpm; }
+            set { this.SetProperty( ref this.frontRpm , value ); }
+        }
+
+        private double frontLoadFactor;
+
+        public double FrontLoadFactor
+        {
+            get { return frontLoadFactor; }
+            set { this.SetProperty( ref this.frontLoadFactor , value ); }
+        }
+        #endregion
+
+        #region Back Drive
+        private double backSpeed;
+
+        public double BackSpeed
+        {
+            get { return backSpeed; }
+            set { this.SetProperty( ref this.backSpeed , value ); }
+        }
+
+        private double backTorque;
+
+        public double BackTorque
+        {
+            get { return backTorque; }
+            set { this.SetProperty( ref this.backTorque , value ); }
+        }
+
+        private double backRpm;
+
+        public double BackRpm
+        {
+            get { return backRpm; }
+            set { this.SetProperty( ref this.backRpm , value ); }
+        }
+
+        private double backLoadFactor;
+
+        public double BackLoadFactor
+        {
+            get { return backLoadFactor; }
+            set { this.SetProperty( ref this.backLoadFactor , value ); }
+        }
+        #endregion
+
+        IEventAggregator eventAggregator;
+        public DriveStateViewModel( IEventAggregator _ea )
+        {
+            this.eventAggregator = _ea;
+
+            eventAggregator = _ea;
+            eventAggregator.GetEvent<GUIMessagePubSubEvent>().Unsubscribe( UICallbackCommunication );
+            eventAggregator.GetEvent<GUIMessagePubSubEvent>().Subscribe( UICallbackCommunication , ThreadOption.UIThread );
+
+            //this.eventAggregator.GetEvent<VCSMessagePubSubEvent>().Publish( new VCSMessageEventArgs { Kind = VCSMessageEventArgs.eVCSMessageKind.ReqBatteryState } );
+        }
+         
+        private void UICallbackCommunication( GUIMessageEventArgs obj )
+        {
+            var drive = new OHV.Common.Model.DriveState();
+        }
+
+        public void Init( ) { }
+    }
+}

+ 10 - 0
Dev/OHV/OHV.Module.Status/OHV.Module.Status.csproj

@@ -96,9 +96,19 @@
     <Reference Include="PresentationFramework" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="DriveStateView.xaml.cs">
+      <DependentUpon>DriveStateView.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="DriveStateViewModel.cs">
+      <DependentUpon>DriveStateView.xaml</DependentUpon>
+    </Compile>
     <Compile Include="VehicleStatusViewModel.cs">
       <DependentUpon>VehicleStatusView.xaml</DependentUpon>
     </Compile>
+    <Page Include="DriveStateView.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="VehicleStatusView.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>

+ 4 - 2
Dev/OHV/OHV.Module.Status/StatusViewModules.cs

@@ -15,10 +15,12 @@ namespace OHV.Module.Status
     {
         public void OnInitialized( IContainerProvider containerProvider )
         {
-            ViewModelLocationProvider.Register<VehicleStatusView , VehicleStatusViewModel>();
+            //ViewModelLocationProvider.Register<VehicleStatusView , VehicleStatusViewModel>();
+            ViewModelLocationProvider.Register<DriveStateView , DriveStateViewModel>();
 
             var regionManager = containerProvider.Resolve<IRegionManager>();
-            regionManager.RegisterViewWithRegion( RegionNames.VehicleStatus , typeof( VehicleStatusView ) );
+            //regionManager.RegisterViewWithRegion( RegionNames.VehicleStatus , typeof( VehicleStatusView ) );
+            regionManager.RegisterViewWithRegion( RegionNames.VehicleStatus , typeof( DriveStateView ) );
         }
 
         public void RegisterTypes( IContainerRegistry containerRegistry )

+ 7 - 56
Dev/OHV/OHV.Module.Status/VehicleStatusView.xaml

@@ -12,6 +12,10 @@
              >
 
     <Grid Background="#263238">
+        <Border BorderBrush="{x:Null}" BorderThickness="1">
+        </Border>
+
+        <!--#region Status Rev 0.01 -> vehicle mode, clamp state, Cv state -->
         <Grid Margin="5">
             <Grid.ColumnDefinitions>
                 <ColumnDefinition Width="*"/>
@@ -70,62 +74,9 @@
                 <TextBlock Margin="5" HorizontalAlignment="Center" 
                            Text="{Binding VehicleState, FallbackValue=IDLE}" Foreground="Orange" FontSize="30"/>
             </StackPanel>
-
-            <!--<StackPanel Orientation="Vertical"
-                        VerticalAlignment="Center"
-                        HorizontalAlignment="Left" 
-                        Grid.Column="0"
-                        Grid.Row="2">
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,16,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV SPD-H"/>
-                    </StackPanel>
-                </Button>
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,19,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV SPD-L"/>
-                    </StackPanel>
-                </Button>
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,10,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV EntryIN"/>
-                    </StackPanel>
-                </Button>
-            </StackPanel>-->
-
-            <!--<StackPanel Orientation="Vertical"
-                        VerticalAlignment="Center"
-                        HorizontalAlignment="Left" 
-                        Grid.Column="1"
-                        Grid.Row="2">
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,10,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV Slow-S"/>
-                    </StackPanel>
-                </Button>
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,10,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV Stop-S"/>
-                    </StackPanel>
-                </Button>
-
-                <Button Background="{x:Null}">
-                    <StackPanel Orientation="Horizontal">
-                        <Ellipse Margin="0,0,10,0" Width="20" Height="20" Fill="Red"/>
-                        <TextBlock Text="CV-ERROR"/>
-                    </StackPanel>
-                </Button>
-            </StackPanel>-->
         </Grid>
+        <!--#endregion-->
+
+   
     </Grid>
 </UserControl>

+ 10 - 10
Dev/OHV/OHV.Vehicle/Concept/D_MainWindow.xaml

@@ -31,7 +31,7 @@
                     <GradientStop Color="#FF004D55"/>
                 </LinearGradientBrush>
             </Grid.Background>
-
+            <TextBlock Text="{Binding SwVersion, FallbackValue=VCS.1.001}" Margin="10,0,0,0" Background="{x:Null}" FontSize="15" Foreground="Gray" VerticalAlignment="Top" HorizontalAlignment="Left"/>
             <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
                 <TextBlock Style="{StaticResource MaterialDesignHeadline3TextBlock}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="60" FontWeight="Bold">
                 Vehicle Control System
@@ -84,7 +84,7 @@
                 <StackPanel Orientation="Horizontal">
                     <materialDesign:PackIcon HorizontalContentAlignment="Left" Kind="FileDocumentBoxOutline" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="30" Width="auto" Foreground="White"/>
                     <TextBlock TextAlignment="Left" VerticalAlignment="Center" Foreground="White" FontSize="20" Margin="10,0,0,0">ID : </TextBlock>
-                    <TextBlock Text="{Binding VehicleID, FallbackValue=VehicleControlSystem 1.0.0.1}" TextAlignment="Left" VerticalAlignment="Center" Foreground="White" FontSize="20" Margin="10,0,0,0"/>
+                    <TextBlock Text="{Binding VehicleID, FallbackValue=OHV001}" TextAlignment="Left" VerticalAlignment="Center" Foreground="White" FontSize="20" Margin="10,0,0,0"/>
                 </StackPanel>
                 <StackPanel Orientation="Horizontal">
                     <materialDesign:PackIcon HorizontalContentAlignment="Left" Kind="Timetable" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="30" Width="auto" Foreground="White" Margin="1,0,0,0"/>                
@@ -102,10 +102,10 @@
                     </StackPanel>
                 </Button>
 
-                <Button Margin="10,0" Background="{x:Null}" Height="Auto" BorderThickness="0" Command="{Binding NavigateCommand}" CommandParameter="EditView" IsEnabled="{Binding IsManualMode}">
+                <Button Margin="10,0" Background="{x:Null}" Height="Auto" BorderThickness="0" Command="{Binding NavigateCommand}" CommandParameter="SettingsView" IsEnabled="{Binding IsManualMode}">
                     <StackPanel Orientation="Horizontal">
                         <materialDesign:PackIcon Kind="SettingsTransferOutline" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,10,0" Height="30" Width="auto"/>
-                        <TextBlock Text="EDIT" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="25"/>
+                        <TextBlock Text="SETTINGS" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="25"/>
                     </StackPanel>
                 </Button>
 
@@ -116,12 +116,12 @@
                     </StackPanel>
                 </Button>
 
-                <Button Margin="10,0" Background="{x:Null}" Height="Auto" BorderThickness="0" Command="{Binding NavigateCommand}" CommandParameter="TeachView" IsEnabled="{Binding IsManualMode}">
+                <!--<Button Margin="10,0" Background="{x:Null}" Height="Auto" BorderThickness="0" Command="{Binding NavigateCommand}" CommandParameter="TeachView" IsEnabled="{Binding IsManualMode}">
                     <StackPanel Orientation="Horizontal">
                         <materialDesign:PackIcon Kind="AxisArrow" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,10,0" Height="30" Width="auto"/>
                         <TextBlock Text="{DynamicResource MainView_Teach}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="25"/>
                     </StackPanel>
-                </Button>
+                </Button>-->
 
                 <Button Margin="10,0" Background="{x:Null}" Height="Auto" BorderThickness="0" Command="{Binding NavigateCommand}" CommandParameter="HistoryView" IsEnabled="{Binding IsManualMode}">
                     <StackPanel Orientation="Horizontal">
@@ -193,8 +193,8 @@
                             <!--<Button Content="Vehicle ID" Margin="3" Background="{x:Null}"/>
                             <Button Content="Vehicle IP" Margin="3" Background="{x:Null}"/>
                             <Button Content="OCS IP" Margin="3" Background="{x:Null}"/>-->
-                            <Button Content="Version" Margin="3" Background="{x:Null}"/>
-                            <Button Content="CPU" Margin="3" Background="{x:Null}"/>
+                            <!--<Button Content="Version" Margin="3" Background="{x:Null}"/>
+                            <Button Content="CPU" Margin="3" Background="{x:Null}"/>-->
                             <!--<Button Margin="3" Height="50" Background="{x:Null}">
                                 <StackPanel>
                                     <TextBlock HorizontalAlignment="Center"><Run>Last Builded</Run></TextBlock>
@@ -207,10 +207,10 @@
                             <!--<Button Content="{Binding VehicleID, FallbackValue=VM00001}" Margin="3" Background="{x:Null}"/>
                             <Button Content="{Binding VehicleIP, FallbackValue=127.0.0.1}" Margin="3" Background="{x:Null}"/>
                             <Button Content="{Binding OcsIP, FallbackValue=192.168.0.10}" Margin="3" Background="{x:Null}"/>-->
-                            <Button Content="{Binding SwVersion, FallbackValue=OHV.1.0.0.1}" Margin="3" Background="{x:Null}"/>
+                            <!--<Button Content="{Binding SwVersion, FallbackValue=OHV.1.0.0.1}" Margin="3" Background="{x:Null}"/>
                             <Button Margin="0,4,0,0" Height="30" Width="auto" Background="{x:Null}">
                                 <TextBlock HorizontalAlignment="Center"><Run Text="{Binding CPU, StringFormat={}{0:0.0} %, FallbackValue=0%}"/></TextBlock>
-                            </Button>
+                            </Button>-->
                             <!--<Button Height="50" Margin="3" Background="{x:Null}">
                                 <TextBlock Text="{Binding LastBuildedTime, FallbackValue=2020-03-09 14:53:06, StringFormat=' \{0:yyyy-MM-dd HH:mm:ss\}'}"/>
                             </Button>-->