Explorar o código

1version,Complete

Sonjiwon %!s(int64=3) %!d(string=hai) anos
pai
achega
90a049be3e

+ 9 - 0
InkjetScale/InkjetScale.BusinessLogic.Scale/InkjetScale.BusinessLogic.Scale.csproj

@@ -30,6 +30,15 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Remote_Lab|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Remote_Lab\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="Prism, Version=8.1.97.5141, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
       <HintPath>..\packages\Prism.Core.8.1.97\lib\net47\Prism.dll</HintPath>

+ 47 - 27
InkjetScale/InkjetScale.BusinessLogic.Scale/ScaleManager.cs

@@ -15,17 +15,20 @@ namespace InkjetScale.BusinessLogic.Scale
     public class ScaleManager
     {
         public SerialPort Scale = null;
-        
+
+        eSerialRunMode RunMode;         
         eCommand command;
-        bool isThreadUse = false;
         IEventAggregator ea = null;
         Thread readThread = null;
 
         public ScaleManager(IEventAggregator eventAggregator)
         {
             readThread = new Thread(GetCurrentValue);
+            readThread.IsBackground = true;
             this.ea = eventAggregator;
             this.Scale = new SerialPort();
+
+            this.ea.GetEvent<ModeChangeEvent>().Subscribe(ModeChangeSubEvent);
         }
 
 
@@ -38,11 +41,11 @@ namespace InkjetScale.BusinessLogic.Scale
             Scale.Parity = Parity.None;
         }
 
-        public void Open()
+        public bool Open()
         {
             var ports = SerialPort.GetPortNames();
             if (ports == null || !ports.Contains("COM2"))
-                return;
+                return false;
 
             if (!Scale.IsOpen)
             {
@@ -51,40 +54,50 @@ namespace InkjetScale.BusinessLogic.Scale
                 Scale.DataReceived += new SerialDataReceivedEventHandler(SerialDataReceived);
 
                 readThread.Start();
+                RunMode = eSerialRunMode.AUTO;
+
+                return true;
             }
+            else
+                return false;
         }
 
         public void Dispose()
         {
             if (Scale.IsOpen)
             {
-                isThreadUse = false;
-                readThread.Join();
+                RunMode = eSerialRunMode.MANUAL;
                 Scale.Close();
+                readThread.Interrupt();
+                readThread.Join(50);
             }
         }
 
+        private void ModeChangeSubEvent(eSerialRunMode mode)
+        {
+            RunMode = mode;
+        }
+
         private void SerialDataReceived(object sender, SerialDataReceivedEventArgs e)
         {
-            Thread.Sleep(50);
 
-            byte[] ReceiveByte = new byte[28];
-            int count = this.Scale.Read(ReceiveByte, 0, 28);
-            // S S      12.3 mg\r\n
-            if (!isThreadUse)
-                isThreadUse = true;
+            if (!Scale.IsOpen)
+                return;
+
+            //count = this.Scale.Read(ReceiveByte, 0, 28);
+            string readLine = this.Scale.ReadLine();
 
-            ScaleMessagePubEvent(ReceiveByte , count);
+            ScaleMessagePubEvent(readLine, readLine.Length);
         }
 
-        private void ScaleMessagePubEvent(byte[] receiveByte, int count)
+        private void ScaleMessagePubEvent(string receiveMsg, int length)
         {
             var d = new ReceiveMessageEventArgs()
             {
                 Command = this.command,
-                ReceiveByte = receiveByte,
-                ReceiveCount = count,
-                IsThreadUse = this.isThreadUse,
+                ReceiveMessage = receiveMsg,
+                ReceiveLength = length,
+                RunMode = this.RunMode,
             };
             this.ea.GetEvent<ReceiveMessageEvent>().Publish(d);
         }
@@ -94,10 +107,8 @@ namespace InkjetScale.BusinessLogic.Scale
             if (!Scale.IsOpen)
                 return;
 
-            if (com != null)
+            if(com != null)
             {
-                Thread.Sleep(50);
-                isThreadUse = false;
                 Enum.TryParse(com, out this.command);
                 Scale.Write(command.ToString() + Environment.NewLine);
             }
@@ -105,17 +116,26 @@ namespace InkjetScale.BusinessLogic.Scale
 
         private void GetCurrentValue()
         {
-            while (Scale.IsOpen)
+            try
             {
-                Thread.Sleep(500);
-                if (!isThreadUse)
-                    continue;
-                else
+                while (Scale.IsOpen)
                 {
-                    command = eCommand.S;
-                    Scale.Write(command.ToString() + Environment.NewLine);
+                    Thread.Sleep(500);
+                    if (RunMode == eSerialRunMode.MANUAL)
+                        continue;
+                    else
+                    {
+                        command = eCommand.S;
+                        if (Scale.IsOpen)
+                            Scale.Write(command.ToString() + Environment.NewLine);
+                    }
                 }
             }
+            catch(ThreadInterruptedException ex)
+            {
+                Console.WriteLine(ex.ToString());
+            }
+            
         }
 
     }

+ 23 - 0
InkjetScale/InkjetScale.Common/Converter/BooleanToEnableConverter.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Data;
+
+namespace InkjetScale.Common.Converter
+{
+    public class BooleanToEnableConverter : IMultiValueConverter
+    {
+        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+        {
+            return values.Equals(true) ? true : false;
+        }
+
+        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+        {
+            return null;
+        }
+    }
+}

+ 7 - 0
InkjetScale/InkjetScale.Common/Enums.cs

@@ -31,4 +31,11 @@ namespace InkjetScale.Common
         HeadPack3Head4,
     }
 
+    public enum eSerialRunMode
+    {
+        AUTO,
+        MANUAL,
+    }
+
+
 }

+ 1 - 0
InkjetScale/InkjetScale.Common/Events/PubSubEvents.cs

@@ -10,4 +10,5 @@ namespace InkjetScale.Common.Events
     public class SerialConnectEvent : PubSubEvent<SerialEventArgs> { };
     public class ReceiveMessageEvent : PubSubEvent<ReceiveMessageEventArgs> { };
     public class ViewLogEvent : PubSubEvent<ViewLogArgs> { };
+    public class ModeChangeEvent : PubSubEvent<eSerialRunMode> { };
 }

+ 4 - 3
InkjetScale/InkjetScale.Common/Events/PubSubModel.cs

@@ -16,6 +16,7 @@ namespace InkjetScale.Common.Events
     {
         public DateTime Time { get; set; }
         public bool IsRegister { get; set; }
+        public eSerialRunMode RunMode { get; set; }
         public eHeadList Head { get; set; }
         public double Weight { get; set; }
         public double pl { get; set; }
@@ -23,10 +24,10 @@ namespace InkjetScale.Common.Events
 
     public class ReceiveMessageEventArgs : EventArgs
     {
-        public bool IsThreadUse { get; set; }
+        public eSerialRunMode RunMode { get; set; }
         public eCommand Command { get; set; }
-        public byte[] ReceiveByte { get; set; }
-        public int ReceiveCount { get; set; }
+        public string ReceiveMessage { get; set; }
+        public int ReceiveLength { get; set; }
     }
 
 

+ 1 - 0
InkjetScale/InkjetScale.Common/InkjetScale.Common.csproj

@@ -79,6 +79,7 @@
     <Reference Include="WindowsBase" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Converter\BooleanToEnableConverter.cs" />
     <Compile Include="Converter\BooleanToVisibilityConverter.cs" />
     <Compile Include="Enums.cs" />
     <Compile Include="Events\PubSubEvents.cs" />

+ 16 - 16
InkjetScale/InkjetScale.GUI.LogViews/Views/RegisteredWeightView.xaml

@@ -8,7 +8,7 @@
                  xmlns:prism="http://prismlibrary.com/"
                  prism:ViewModelLocator.AutoWireViewModel="True"
                  xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
-                 d:DesignHeight="952.94" d:DesignWidth="500">
+                 d:DesignHeight="952.94" d:DesignWidth="700">
 
     <Grid>
 
@@ -44,13 +44,13 @@
                                   CanUserAddRows="False" AutoGenerateColumns="False" materialDesign:DataGridAssist.CellPadding="13 8 8 8" 
                                   materialDesign:DataGridAssist.ColumnHeaderPadding="8" IsReadOnly="True" Background="LightBlue">
                             <DataGrid.Columns>
-                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.2*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.5*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="13"
-                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="1.2*" />
-                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="18"
+                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="*" />
+                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
                             </DataGrid.Columns>
                         </DataGrid>
@@ -86,13 +86,13 @@
                                   CanUserAddRows="False" AutoGenerateColumns="False" materialDesign:DataGridAssist.CellPadding="13 8 8 8" 
                                   materialDesign:DataGridAssist.ColumnHeaderPadding="8" IsReadOnly="True" Background="LightBlue">
                             <DataGrid.Columns>
-                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.2*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.5*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="13"
-                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="1.2*" />
-                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="18"
+                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="*" />
+                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
                             </DataGrid.Columns>
                         </DataGrid>
@@ -129,13 +129,13 @@
                                   CanUserAddRows="False" AutoGenerateColumns="False" materialDesign:DataGridAssist.CellPadding="13 8 8 8" 
                                   materialDesign:DataGridAssist.ColumnHeaderPadding="8" IsReadOnly="True" Background="LightBlue">
                             <DataGrid.Columns>
-                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.2*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.5*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="13"
-                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="1.2*" />
-                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="13"
+                                <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="18"
+                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="*" />
+                                <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
                             </DataGrid.Columns>
                         </DataGrid>

+ 5 - 5
InkjetScale/InkjetScale.GUI.LogViews/Views/ScaleLogView.xaml

@@ -43,13 +43,13 @@
                 <DataGrid Margin="0 8 0 0" ItemsSource="{Binding MeasurementList}" SelectedItem="{Binding SelectedValues}" CanUserSortColumns="True" CanUserAddRows="False" AutoGenerateColumns="False" 
                                       materialDesign:DataGridAssist.CellPadding="13 8 8 8" materialDesign:DataGridAssist.ColumnHeaderPadding="8" IsReadOnly="True" Background="LightBlue" Grid.ColumnSpan="2">
                     <DataGrid.Columns>
-                        <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="13"
+                        <DataGridTextColumn Binding="{Binding Time ,StringFormat='{}{0:HH:mm:ss}'}" Header="  Time" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                        <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.2*" FontSize="13"
+                        <DataGridTextColumn Binding="{Binding Head}" Header="  Head" Width="1.5*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
-                        <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="13"
-                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="1.2*" />
-                        <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="13"
+                        <DataGridTextColumn Binding="{Binding Weight}" Header="  Weight(mg)" FontSize="18"
+                                        EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" Width="*" />
+                        <DataGridTextColumn Binding="{Binding pl}" Header="  pl" Width="*" FontSize="18"
                                             EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
                     </DataGrid.Columns>
                 </DataGrid>

+ 3 - 2
InkjetScale/InkjetScale.GUI.LogViews/Views/ScaleLogViewModel.cs

@@ -34,6 +34,7 @@ namespace InkjetScale.GUI.LogViews.Views
             this.MeasurementList = new ObservableCollection<ViewLogArgs>();
             this.eventAggregator.GetEvent<ViewLogEvent>().Subscribe(ViewLogSubEvent, ThreadOption.UIThread);
         }
+
         internal void Init()
         {
             for (eHeadList head = eHeadList.HeadPack1Head1; head <= eHeadList.HeadPack3Head4; head++)
@@ -44,7 +45,7 @@ namespace InkjetScale.GUI.LogViews.Views
 
         private void ExecuteRegister()
         {
-            if(SelectedValues != null)
+            if (SelectedValues != null)
             {
                 var d = new ViewLogArgs()
                 {
@@ -65,7 +66,7 @@ namespace InkjetScale.GUI.LogViews.Views
 
         private void ViewLogSubEvent(ViewLogArgs args)
         {
-            if (args.IsRegister)
+            if (args.IsRegister || args.RunMode == eSerialRunMode.AUTO)
                 return;
             else
                  MeasurementList.Add(args);

+ 1 - 1
InkjetScale/InkjetScale.GUI.MainViews/InkjetScale.GUI.MainViews.csproj

@@ -117,7 +117,7 @@
       <Name>InkjetScale.BusinessLogic.Calculation</Name>
     </ProjectReference>
     <ProjectReference Include="..\InkjetScale.BusinessLogic.Scale\InkjetScale.BusinessLogic.Scale.csproj">
-      <Project>{577C09AA-94AB-4F4F-9398-A93586049D1D}</Project>
+      <Project>{577c09aa-94ab-4f4f-9398-a93586049d1d}</Project>
       <Name>InkjetScale.BusinessLogic.Scale</Name>
     </ProjectReference>
     <ProjectReference Include="..\InkjetScale.Common\InkjetScale.Common.csproj">

+ 179 - 163
InkjetScale/InkjetScale.GUI.MainViews/Views/ScaleMainView.xaml

@@ -9,261 +9,277 @@
              prism:ViewModelLocator.AutoWireViewModel="True"
              xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
              xmlns:Converter ="clr-namespace:InkjetScale.Common.Converter;assembly=InkjetScale.Common"
+             xmlns:BoolConverter ="clr-namespace:InkjetScale.Common.Converter;assembly=InkjetScale.Common"
              xmlns:c ="clr-namespace:CalcBinding;assembly=CalcBinding"
              d:DesignHeight="952.94" d:DesignWidth="1450" Background="{x:Null}">
     
     <UserControl.Resources>
         <Converter:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
+        <BoolConverter:BooleanToEnableConverter x:Key="BooleanToEnableConverter"/>
     </UserControl.Resources>
     
     <Grid>
-
+        
         <Grid.ColumnDefinitions>
             <ColumnDefinition/>
-            <ColumnDefinition Width="1.2*"/>
+            <ColumnDefinition Width="0.7*"/>
             <ColumnDefinition/>
         </Grid.ColumnDefinitions>
 
         <Grid Grid.Column="0">
-
-            <Grid Grid.Row="0">
-                <!--<ContentControl Content="{Binding ControlView}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"/>-->
-                <ContentControl Content="{Binding RegisterView}" Width="500" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"/>
-            </Grid>
-
+            <!--<ContentControl Content="{Binding ControlView}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"/>-->
+            <ContentControl Content="{Binding RegisterView}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
         </Grid>
 
         <Grid Grid.Column="1">
 
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition/>
-                <ColumnDefinition Width="3.5*"/>
-                <ColumnDefinition/>
-            </Grid.ColumnDefinitions>
-            
-            <Grid Grid.Column="1">
-
-                <Grid.RowDefinitions>
-                    <RowDefinition Height="0.25*"/>
-                    <RowDefinition Height="*"/>
-                    <RowDefinition Height="0.5*"/>
-                    <RowDefinition Height="0.7*"/>
-                    <RowDefinition Height="*"/>
-                    <RowDefinition Height="*"/>
-                    <RowDefinition Height="0.55*"/>
-                </Grid.RowDefinitions>
-
-                <Grid Grid.Row="1">
-                    <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5"  >
-                        <Grid>
-
-                            <Grid.RowDefinitions>
-                                <RowDefinition Height="*"/>
-                                <RowDefinition Height="6"/>
-                                <RowDefinition Height="*"/>
-                            </Grid.RowDefinitions>
-
-                            <Grid Grid.Row="0">
-                                <TextBlock Text="Head" FontSize="25" Foreground="Black" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
-                            </Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="0.5*"/>
+                <RowDefinition Height="0.7*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="0.8*"/>
+            </Grid.RowDefinitions>
 
-                            <Separator Grid.Row="1"/>
+            <Grid Grid.Row="0">
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5"  >
+                    <Grid>
 
-                            <Grid Grid.Row="2">
-                                <ComboBox ItemsSource="{Binding HeadList}" SelectedItem="{Binding SelectedHead}" FontSize="25" Width="auto" 
-                                          HorizontalAlignment="Center" Foreground="Black"/>
-                            </Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="6"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+
+                        <Grid Grid.Row="0">
+                            <TextBlock Text="Head" FontSize="25" Foreground="Black" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                        </Grid>
+
+                        <Separator Grid.Row="1"/>
 
+                        <Grid Grid.Row="2">
+                            <ComboBox ItemsSource="{Binding HeadList}" SelectedItem="{Binding SelectedHead}" FontSize="25" Width="auto" 
+                                          HorizontalAlignment="Center" Foreground="Black"/>
                         </Grid>
-                    </Border>
-                </Grid>
 
-                <Grid Grid.Row="2">
+                    </Grid>
+                </Border>
+            </Grid>
 
-                    <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
+            <Grid Grid.Row="1">
 
-                        <Grid>
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
 
-                            <Grid.ColumnDefinitions>
-                                <ColumnDefinition/>
-                                <ColumnDefinition/>
-                            </Grid.ColumnDefinitions>
+                    <Grid>
 
-                            <Grid Grid.Row="0" Grid.Column="0">
-                                <TextBlock Text="Drop Count" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition/>
+                            <ColumnDefinition/>
+                        </Grid.ColumnDefinitions>
 
-                            <Grid Grid.Row="0" Grid.Column="1">
-                                <TextBox Text="{Binding DropCount, FallbackValue=2000}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                        <Grid Grid.Row="0" Grid.Column="0">
+                            <TextBlock Text="Drop Count" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
+                        <Grid Grid.Row="0" Grid.Column="1">
+                            <TextBox Text="{Binding DropCount, FallbackValue=2000}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
                         </Grid>
 
-                    </Border>
+                    </Grid>
+
+                </Border>
 
-                </Grid>
+            </Grid>
 
-                <Grid Grid.Row="3" >
+            <Grid Grid.Row="2" >
 
-                    <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
 
-                        <Grid>
+                    <Grid>
 
-                            <Grid.RowDefinitions>
-                                <RowDefinition Height="*"/>
-                                <RowDefinition Height="*"/>
-                            </Grid.RowDefinitions>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
 
-                            <Grid Grid.Row="0">
+                        <Grid Grid.Row="0">
 
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition/>
-                                    <ColumnDefinition/>
-                                    <ColumnDefinition/>
-                                </Grid.ColumnDefinitions>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition/>
+                                <ColumnDefinition/>
+                                <ColumnDefinition/>
+                            </Grid.ColumnDefinitions>
 
 
-                                <Grid Grid.Column="0" Grid.Row ="0">
-                                    <!--<Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Zero" Command="{Binding RunCommand}" CommandParameter="Z"
+                            <Grid Grid.Column="0" Grid.Row ="0">
+                                <!--<Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Zero" Command="{Binding RunCommand}" CommandParameter="Z"
                                             HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"/>-->
-                                    <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Reset" Command="{Binding RunCommand}" CommandParameter="C"   
-                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"/>
-                                </Grid>
-
-                                <Grid Grid.Column="1" Grid.Row ="0">
-                                    <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Measure" Command="{Binding RunCommand}" CommandParameter="S"   
-                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"/>
-                                </Grid>
+                                <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Reset" Command="{Binding RunCommand}" CommandParameter="Z"   
+                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"
+                                            IsEnabled="{c:Binding !IsAuto , Converter={StaticResource BooleanToEnableConverter}}"/>
+                            </Grid>
 
-                                <Grid Grid.Column="2" Grid.Row ="0">
-                                    <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Zero(T)" Command="{Binding RunCommand}" CommandParameter="T"   
-                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"/>
-                                </Grid>
+                            <Grid Grid.Column="1" Grid.Row ="0">
+                                <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Measure" Command="{Binding RunCommand}" CommandParameter="S"   
+                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"
+                                            IsEnabled="{c:Binding !IsAuto , Converter={StaticResource BooleanToEnableConverter}}"/>
+                            </Grid>
 
-                                <Grid Grid.Column="2" Grid.Row ="1">
-                                </Grid>
+                            <Grid Grid.Column="2" Grid.Row ="0">
+                                <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="Zero(T)" Command="{Binding RunCommand}" CommandParameter="T"   
+                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"
+                                            IsEnabled="{c:Binding !IsAuto , Converter={StaticResource BooleanToEnableConverter}}"/>
+                            </Grid>
 
+                            <Grid Grid.Column="2" Grid.Row ="1">
                             </Grid>
 
-                            <Grid Grid.Row="1">
+                        </Grid>
 
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition/>
-                                    <ColumnDefinition/>
-                                </Grid.ColumnDefinitions>
+                        <Grid Grid.Row="1">
 
-                                <TextBlock Grid.Column="0" Text="Receive" Foreground="Black" FontSize="20" Width="auto"
-                                   HorizontalAlignment="Center" VerticalAlignment="Center" />
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition/>
+                                <ColumnDefinition/>
+                            </Grid.ColumnDefinitions>
 
-                                <TextBlock Grid.Column="1" Text="{Binding ReceiveMsg}" Foreground="Black" FontSize="20" Width="auto"
+                            <TextBlock Grid.Column="0" Text="Receive" Foreground="Black" FontSize="20" Width="auto"
                                    HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
 
+                            <TextBlock Grid.Column="1" Text="{Binding ReceiveMsg}" Foreground="Black" FontSize="20" Width="auto"
+                                   HorizontalAlignment="Center" VerticalAlignment="Center" />
                         </Grid>
 
-                    </Border>
+                    </Grid>
 
-                </Grid>
+                </Border>
 
-                <Grid Grid.Row="4" >
+            </Grid>
 
-                    <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
+            <Grid Grid.Row="3" >
 
-                        <Grid>
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
 
-                            <Grid.ColumnDefinitions>
-                                <ColumnDefinition/>
-                                <ColumnDefinition/>
-                            </Grid.ColumnDefinitions>
+                    <Grid>
 
-                            <Grid.RowDefinitions>
-                                <RowDefinition Height="*"/>
-                                <RowDefinition Height="*"/>
-                            </Grid.RowDefinitions>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition/>
+                            <ColumnDefinition/>
+                        </Grid.ColumnDefinitions>
 
-                            <Grid Grid.Row="0" Grid.Column="0">
-                                <TextBlock Text="Weight(mg)" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+
+                        <Grid Grid.Row="0" Grid.Column="0">
+                            <TextBlock Text="Weight(mg)" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
-                            <Grid Grid.Row="0" Grid.Column="1">
-                                <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
-                                    <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="LimeGreen"  
+                        <Grid Grid.Row="0" Grid.Column="1">
+                            <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
+                                <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="LimeGreen"  
                                                  Visibility="{c:Binding IsStable , Converter={StaticResource BooleanToVisibilityConverter}}" />
-                                    <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="Red"
+                                <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="Red"
                                                  Visibility="{c:Binding !IsStable , Converter={StaticResource BooleanToVisibilityConverter}}"/>
-                                </StackPanel>
-                                <TextBlock Text="{Binding WeightValue, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
-
-                            <Grid Grid.Row="1" Grid.Column="0">
-                                <TextBlock Text="pl" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
-
-                            <Grid Grid.Row="1" Grid.Column="1">
-                                <TextBlock Text="{Binding PlValue, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                            </StackPanel>
+                            <TextBlock Text="{Binding WeightValue, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
+                        <Grid Grid.Row="1" Grid.Column="0">
+                            <TextBlock Text="pl" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
                         </Grid>
 
-                    </Border>
+                        <Grid Grid.Row="1" Grid.Column="1">
+                            <TextBlock Text="{Binding PlValue, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
+                    </Grid>
 
+                </Border>
 
-                </Grid>
+            </Grid>
 
-                <Grid Grid.Row="5">
+            <Grid Grid.Row="4">
 
-                    <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
 
-                        <Grid>
+                    <Grid>
 
-                            <Grid.ColumnDefinitions>
-                                <ColumnDefinition/>
-                                <ColumnDefinition/>
-                            </Grid.ColumnDefinitions>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition/>
+                            <ColumnDefinition/>
+                        </Grid.ColumnDefinitions>
 
-                            <Grid.RowDefinitions>
-                                <RowDefinition Height="*"/>
-                                <RowDefinition Height="*"/>
-                            </Grid.RowDefinitions>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="*"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
 
-                            <Grid Grid.Row="0" Grid.Column="0">
-                                <TextBlock Text="Tare(mg)" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                        <Grid Grid.Row="0" Grid.Column="0">
+                            <TextBlock Text="Tare(mg)" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
-                            <Grid Grid.Row="0" Grid.Column="1">
-                                <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
-                                    <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="LimeGreen"  
+                        <Grid Grid.Row="0" Grid.Column="1">
+                            <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
+                                <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="LimeGreen"  
                                                  Visibility="{c:Binding IsTareStable , Converter={StaticResource BooleanToVisibilityConverter}}" />
-                                    <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="Red"
+                                <materialDesign:PackIcon Kind="Brightness1" Width="25" Height="35" Foreground="Red"
                                                  Visibility="{c:Binding !IsTareStable , Converter={StaticResource BooleanToVisibilityConverter}}"/>
-                                </StackPanel>
-                                <TextBlock Text="{Binding TareWeight, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
+                            </StackPanel>
+                            <TextBlock Text="{Binding TareWeight, FallbackValue=0.00}" Foreground="Black" FontSize="25" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        </Grid>
 
-                            <Grid Grid.Row="1" Grid.Column="0">
+                        <Grid Grid.Row="1" Grid.Column="0">
 
-                                <TextBlock Grid.Column="0" Text="Receive" Foreground="Black" FontSize="20" Width="auto"
+                            <TextBlock Grid.Column="0" Text="Receive" Foreground="Black" FontSize="20" Width="auto"
                                    HorizontalAlignment="Center" VerticalAlignment="Center" />
 
-                            </Grid>
+                        </Grid>
 
-                            <Grid Grid.Row="1" Grid.Column="1">
-                                <TextBlock Grid.Column="1" Text="{Binding TareReceiveMsg}" Foreground="Black" FontSize="20" Width="auto"
+                        <Grid Grid.Row="1" Grid.Column="1">
+                            <TextBlock Grid.Column="1" Text="{Binding TareReceiveMsg}" Foreground="Black" FontSize="20" Width="auto"
                                    HorizontalAlignment="Center" VerticalAlignment="Center" />
-                            </Grid>
-
                         </Grid>
 
-                    </Border>
+                    </Grid>
 
-                </Grid>
+                </Border>
+
+            </Grid>
 
+            <Grid Grid.Row="5">
+                <Border CornerRadius="10" Background="LightBlue" BorderBrush="#0075ce" Padding="5" BorderThickness="2" Margin="5">
 
+                    <Grid>
+
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition/>
+                            <ColumnDefinition/>
+                        </Grid.ColumnDefinitions>
+
+                        <Grid Grid.Column="0">
+                            <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="LIVE" Command="{Binding RunModeChangeCommand}" CommandParameter="AUTO"   
+                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="150" MinHeight="50" FontSize="30"
+                                        IsEnabled="{c:Binding !IsAuto , Converter={StaticResource BooleanToEnableConverter}}"/>
+                        </Grid>
+
+                        <Grid Grid.Column="1">
+                            <Button Style="{StaticResource MaterialDesignRaisedButton}" Content="MANUAL" Command="{Binding RunModeChangeCommand}" CommandParameter="MANUAL"   
+                                            HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="150" MinHeight="50" FontSize="30"
+                                        IsEnabled="{c:Binding IsAuto , Converter={StaticResource BooleanToEnableConverter}}"/>
+                        </Grid>
+
+                    </Grid>
+
+                </Border>
             </Grid>
+
+
         </Grid>
 
-        <Grid Grid.Column="2" Margin="5">
+        <Grid Grid.Column="2" >
             <ContentControl Content="{Binding LogView}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
         </Grid>
 

+ 69 - 33
InkjetScale/InkjetScale.GUI.MainViews/Views/ScaleMainViewModel.cs

@@ -28,7 +28,10 @@ namespace InkjetScale.GUI.MainViews.Views
         #region Property
         private eHeadList selectedHead;
         public eHeadList SelectedHead { get => this.selectedHead; set => SetProperty(ref this.selectedHead, value); }
-        
+
+        private bool isAuto;
+        public bool IsAuto { get => this.isAuto; set => SetProperty(ref this.isAuto, value); }
+
         private bool isStable;
         public bool IsStable { get => this.isStable; set => SetProperty(ref this.isStable, value); }
 
@@ -66,6 +69,7 @@ namespace InkjetScale.GUI.MainViews.Views
         public List<eHeadList> HeadList { get => this.headList; set => SetProperty(ref this.headList, value); }
         #endregion
 
+        public ICommand RunModeChangeCommand { get; set; }
         public ICommand RunCommand { get; set; }
         IEventAggregator ea = null;
         IContainerProvider provider = null;
@@ -78,13 +82,52 @@ namespace InkjetScale.GUI.MainViews.Views
             this.provider = proVider;
             this.HeadList = new List<eHeadList>();
 
+            this.RunModeChangeCommand = new DelegateCommand<string>(ExecuteRunModeChange);
             this.RunCommand = new DelegateCommand<string>(ExecuteRun);
 
             this.ea.GetEvent<ReceiveMessageEvent>().Subscribe(ScaleMessageSubEvent);
         }
 
+        bool isInit = false;
+        internal void Init()
+        {
+            if (!isInit)
+            {
+                DropCount = "2000";
+                //this.ControlView = this.provider.Resolve<ScaleControlView>();
+                this.RegisterView = this.provider.Resolve<RegisteredWeightView>();
+                this.LogView = this.provider.Resolve<ScaleLogView>();
+
+                for (eHeadList head = eHeadList.HeadPack1Head1; head <= eHeadList.HeadPack3Head4; head++)
+                {
+                    this.HeadList.Add(head);
+                }
+
+                this.SelectedHead = this.HeadList[(int)eHeadList.HeadPack1Head1 - 1];
+                if(this.scaleManager.Open())
+                    IsAuto = true;
+            }
+        }
+
+        private void ExecuteRunModeChange(string obj)
+        {
+            var mode = eSerialRunMode.AUTO;
+            if (obj != null)
+                Enum.TryParse(obj, out mode);
+
+            if (mode == eSerialRunMode.AUTO)
+                IsAuto = true;
+            else
+                IsAuto = false;
+
+            this.ea.GetEvent<ModeChangeEvent>().Publish(mode);
+        }
+
         private void ScaleMessageSubEvent(ReceiveMessageEventArgs obj)
         {
+            var runMode = eSerialRunMode.AUTO;
+            runMode = obj.RunMode;
+
             try
             {
                 char c;
@@ -95,13 +138,19 @@ namespace InkjetScale.GUI.MainViews.Views
                 {
                     case eCommand.S: //-> S S      3.14 mg \r\n 
                         {
-
                             ReceiveMsg = String.Empty;
                             WeightValue = String.Empty;
+                            PlValue = String.Empty;
 
-                            for (int index = 0; index < obj.ReceiveCount; index++)
+                            for (int index = 0; index < obj.ReceiveLength; index++)
                             {
-                                c = Convert.ToChar((object)obj.ReceiveByte[index]); // Char 변환
+                                c = obj.ReceiveMessage[index]; // Char 변환                                
+                                if(index == 0 && c != 'S')
+                                {
+                                    ReceiveMsg = c.ToString();
+                                    return;
+                                }
+                                    
                                 ReceiveMsg += c;
 
                                 isNum = int.TryParse(c.ToString(), out val); //숫자인지 문자인지 확인 할 변수
@@ -111,7 +160,6 @@ namespace InkjetScale.GUI.MainViews.Views
                                     WeightValue += c;
                                 else
                                     continue;
-
                             }
 
                             var splitMsg = ReceiveMsg.Split(' ');
@@ -124,10 +172,10 @@ namespace InkjetScale.GUI.MainViews.Views
                             var mgValue = double.Parse(WeightValue);
                             var nozzle = 1024;
                             var drops = int.Parse(DropCount);
-                            PlValue = $"{ScaleMath.GetPl(mgValue, nozzle, drops)}";
+                            PlValue = ScaleMath.GetPl(mgValue, nozzle, drops).ToString("0.000");
 
-                            if (!obj.IsThreadUse)
-                                ViewLogPubEvent(SelectedHead, mgValue, double.Parse(PlValue));
+                            if (runMode == eSerialRunMode.MANUAL)
+                                ViewLogPubEvent(runMode, SelectedHead, mgValue, double.Parse(PlValue));
 
                             break;
                         }
@@ -135,9 +183,9 @@ namespace InkjetScale.GUI.MainViews.Views
                     case eCommand.Z: //-> Z A \r\n
                         {
                             ReceiveMsg = String.Empty;
-                            for (int index = 0; index < obj.ReceiveCount; index++)
+                            for (int index = 0; index < obj.ReceiveLength; index++)
                             {
-                                c = Convert.ToChar((object)obj.ReceiveByte[index]); // Char 변환
+                                c = Convert.ToChar((object)obj.ReceiveMessage[index]); // Char 변환
 
                                 if (c == 'Z' || c == 'A')
                                     ReceiveMsg += c;
@@ -158,9 +206,15 @@ namespace InkjetScale.GUI.MainViews.Views
                             TareReceiveMsg = String.Empty;
                             TareWeight = String.Empty;
 
-                            for (int index = 0; index < obj.ReceiveCount; index++)
+                            for (int index = 0; index < obj.ReceiveLength; index++)
                             {
-                                c = Convert.ToChar((object)obj.ReceiveByte[index]); // Char 변환
+                                c = Convert.ToChar((object)obj.ReceiveMessage[index]); // Char 변환
+
+                                if (index == 0 && c != 'T')
+                                {
+                                    TareReceiveMsg = "Fail!";
+                                    return;
+                                }
                                 TareReceiveMsg += c;
 
                                 isNum = int.TryParse(c.ToString(), out val); //숫자인지 문자인지 확인 할 변수
@@ -210,29 +264,11 @@ namespace InkjetScale.GUI.MainViews.Views
         }
         #endregion
 
-        bool isInit = false;
-        internal void Init()
-        {
-            if(!isInit)
-            {
-                DropCount = "2000";
-                //this.ControlView = this.provider.Resolve<ScaleControlView>();
-                this.RegisterView = this.provider.Resolve<RegisteredWeightView>();
-                this.LogView = this.provider.Resolve<ScaleLogView>();
-
-                for (eHeadList head = eHeadList.HeadPack1Head1; head <= eHeadList.HeadPack3Head4; head++)
-                {
-                    this.HeadList.Add(head);
-                }
-
-                this.SelectedHead = this.HeadList[(int)eHeadList.HeadPack1Head1 -1];
-                this.scaleManager.Open();
-            }
-        }
+        
 
-        private void ViewLogPubEvent(eHeadList head, double weight, double pl)
+        private void ViewLogPubEvent(eSerialRunMode mode, eHeadList head, double weight, double pl)
         {
-            var c = new ViewLogArgs() {IsRegister = false, Time = DateTime.Now, Head = head , Weight = weight, pl = pl};
+            var c = new ViewLogArgs() {RunMode = mode, IsRegister = false, Time = DateTime.Now, Head = head , Weight = weight, pl = pl};
             ea.GetEvent<ViewLogEvent>().Publish(c);
         }
     }

+ 2 - 2
InkjetScale/InkjetScale.sln

@@ -80,8 +80,8 @@ Global
 		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Remote_LAB|Any CPU.ActiveCfg = Release|Any CPU
-		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Remote_LAB|Any CPU.Build.0 = Release|Any CPU
+		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Remote_LAB|Any CPU.ActiveCfg = Remote_Lab|Any CPU
+		{577C09AA-94AB-4F4F-9398-A93586049D1D}.Remote_LAB|Any CPU.Build.0 = Remote_Lab|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 2 - 1
InkjetScale/InkjetScale/App.xaml.cs

@@ -1,4 +1,5 @@
-using InkjetScale.BusinessLogic.Scale;
+
+using InkjetScale.BusinessLogic.Scale;
 using InkjetScale.GUI.LogViews;
 using InkjetScale.GUI.MainViews;
 using InkjetScale.GUI.ScaleControlViews;

+ 1 - 1
InkjetScale/InkjetScale/InkjetScale.csproj

@@ -153,7 +153,7 @@
       <Name>InkjetScale.BusinessLogic.Admin</Name>
     </ProjectReference>
     <ProjectReference Include="..\InkjetScale.BusinessLogic.Scale\InkjetScale.BusinessLogic.Scale.csproj">
-      <Project>{577C09AA-94AB-4F4F-9398-A93586049D1D}</Project>
+      <Project>{577c09aa-94ab-4f4f-9398-a93586049d1d}</Project>
       <Name>InkjetScale.BusinessLogic.Scale</Name>
     </ProjectReference>
     <ProjectReference Include="..\InkjetScale.Common\InkjetScale.Common.csproj">

+ 1 - 1
InkjetScale/InkjetScale/Shell.xaml

@@ -74,7 +74,7 @@
                     </Grid.ColumnDefinitions>
 
                     <Grid Grid.Column="0">
-                        <TextBlock Text="SON.220609" Margin="10,5,0,0" Background="{x:Null}" FontSize="15" Foreground="White" VerticalAlignment="Top" HorizontalAlignment="Left"/>
+                        <TextBlock Text="SON.220617" Margin="10,5,0,0" Background="{x:Null}" FontSize="15" Foreground="White" VerticalAlignment="Top" HorizontalAlignment="Left"/>
                     </Grid>
 
                     <Grid Grid.Column="1">

+ 0 - 2
InkjetScale/InkjetScale/ShellViewModel.cs

@@ -114,7 +114,6 @@ namespace InkjetScale
         
         #region Execute
         
-
         private void ExecuteMin()
         {
             View.WindowState = System.Windows.WindowState.Minimized;
@@ -126,7 +125,6 @@ namespace InkjetScale
             App.Current.Shutdown();
         }
 
-
         private void ExecuteNavigate(string view)
         {
             if (!string.IsNullOrEmpty(view))