diff options
21 files changed, 112 insertions, 7 deletions
diff --git a/Software/Graphics/Mobile/temperature-green.png b/Software/Graphics/Mobile/temperature-green.png Binary files differindex cdea8ff8b..f67323dde 100644 --- a/Software/Graphics/Mobile/temperature-green.png +++ b/Software/Graphics/Mobile/temperature-green.png diff --git a/Software/Graphics/Mobile/temperature-green@2x.png b/Software/Graphics/Mobile/temperature-green@2x.png Binary files differindex f7e7143eb..3d0c1724a 100644 --- a/Software/Graphics/Mobile/temperature-green@2x.png +++ b/Software/Graphics/Mobile/temperature-green@2x.png diff --git a/Software/Graphics/Mobile/temperature-green@3x.png b/Software/Graphics/Mobile/temperature-green@3x.png Binary files differindex be95be97e..d91cabfc8 100644 --- a/Software/Graphics/Mobile/temperature-green@3x.png +++ b/Software/Graphics/Mobile/temperature-green@3x.png diff --git a/Software/Graphics/Mobile/temperature-red.png b/Software/Graphics/Mobile/temperature-red.png Binary files differnew file mode 100644 index 000000000..5e6b505a3 --- /dev/null +++ b/Software/Graphics/Mobile/temperature-red.png diff --git a/Software/Graphics/Mobile/temperature-red@2x.png b/Software/Graphics/Mobile/temperature-red@2x.png Binary files differnew file mode 100644 index 000000000..265f02527 --- /dev/null +++ b/Software/Graphics/Mobile/temperature-red@2x.png diff --git a/Software/Graphics/Mobile/temperature-red@3x.png b/Software/Graphics/Mobile/temperature-red@3x.png Binary files differnew file mode 100644 index 000000000..4c19dbc70 --- /dev/null +++ b/Software/Graphics/Mobile/temperature-red@3x.png diff --git a/Software/Graphics/Mobile/temperature-yellow.png b/Software/Graphics/Mobile/temperature-yellow.png Binary files differnew file mode 100644 index 000000000..359e93d6d --- /dev/null +++ b/Software/Graphics/Mobile/temperature-yellow.png diff --git a/Software/Graphics/Mobile/temperature-yellow@2x.png b/Software/Graphics/Mobile/temperature-yellow@2x.png Binary files differnew file mode 100644 index 000000000..eaabb1c81 --- /dev/null +++ b/Software/Graphics/Mobile/temperature-yellow@2x.png diff --git a/Software/Graphics/Mobile/temperature-yellow@3x.png b/Software/Graphics/Mobile/temperature-yellow@3x.png Binary files differnew file mode 100644 index 000000000..0f58a63d5 --- /dev/null +++ b/Software/Graphics/Mobile/temperature-yellow@3x.png diff --git a/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto b/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto index 82d8d3192..9a988beb8 100644 --- a/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto +++ b/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto @@ -213,4 +213,7 @@ message DiagnosticsMonitors //Mid Tanks Ink Level (Min = 0, Max = 2, PPF = 1) Channel Count = 8 repeated DoubleArray MidTanksInkLevel = 65; + //Overall Temperature (Min = 0, Max = 100, PPF = 1) + repeated double OverallTemperature = 66; + } diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png Binary files differindex cdea8ff8b..f67323dde 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-green.png diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-red.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-red.png Binary files differnew file mode 100644 index 000000000..5e6b505a3 --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-red.png diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-yellow.png b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-yellow.png Binary files differnew file mode 100644 index 000000000..359e93d6d --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Images/temperature-yellow.png diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Models/OverallTemperatureModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Models/OverallTemperatureModel.cs new file mode 100644 index 000000000..694071d0d --- /dev/null +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Models/OverallTemperatureModel.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; +using Tango.Integration.Operation; + +namespace Tango.PPC.Maintenance.Models +{ + public class OverallTemperatureModel : ExtendedObject + { + private double _temperature; + public double Temperature + { + get { return _temperature; } + set { _temperature = value; RaisePropertyChangedAuto(); RaisePropertyChanged(nameof(IsWarning)); RaisePropertyChanged(nameof(IsError)); } + } + + public bool IsWarning + { + get { return Temperature > MachineOperator.OVERALL_TEMPERATURE_WARNING; } + } + + public bool IsError + { + get { return Temperature >= MachineOperator.OVERALL_TEMPERATURE_ERROR; } + } + } +} diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj index d774649ea..4a6957722 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Tango.PPC.Maintenance.csproj @@ -102,6 +102,7 @@ <Compile Include="Helpers\GuideHelper.cs" /> <Compile Include="MaintenanceModule.cs" /> <Compile Include="Models\MidTankLevelModel.cs" /> + <Compile Include="Models\OverallTemperatureModel.cs" /> <Compile Include="Properties\AssemblyInfo.cs"> <SubType>Code</SubType> </Compile> @@ -228,6 +229,10 @@ <Resource Include="Images\Guides\Loading-New-Thread.gif" /> <Resource Include="Images\Guides\Replacing-the-Thread.gif" /> </ItemGroup> + <ItemGroup> + <Resource Include="Images\temperature-red.png" /> + <Resource Include="Images\temperature-yellow.png" /> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <ProjectExtensions> <VisualStudio> diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs index 39932888e..014443eeb 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs @@ -27,9 +27,18 @@ namespace Tango.PPC.Maintenance.ViewModels set { _midTankLevels = value; RaisePropertyChangedAuto(); } } + private OverallTemperatureModel _overallTemperature; + public OverallTemperatureModel OverallTemperature + { + get { return _overallTemperature; } + set { _overallTemperature = value; RaisePropertyChangedAuto(); } + } + + public MaintenanceViewVM() { Guides = new ObservableCollection<GuideBase>(GuideHelper.CreateAllGuides()); + OverallTemperature = new OverallTemperatureModel(); OpenGuideCommand = new RelayCommand<GuideBase>(OpenGuide); } @@ -55,6 +64,7 @@ namespace Tango.PPC.Maintenance.ViewModels private void MachineOperator_MachineStatusChanged(object sender, MachineStatus status) { UpdateMidTankLevels(status); + OverallTemperature.Temperature = status.OverallTemperature; } public async void OpenGuide(GuideBase guide) diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml index 658d0502c..43a74a1a7 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/Views/MaintenanceView.xaml @@ -66,8 +66,25 @@ </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> - <Image Source="../Images/temperature-green.png" Stretch="None"></Image> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" Text="86 º"></TextBlock> + <Image Stretch="None"> + <Image.Style> + <Style TargetType="Image"> + <Setter Property="Source" Value="../Images/temperature-green.png"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding OverallTemperature.IsWarning}" Value="True"> + <Setter Property="Source" Value="../Images/temperature-yellow.png"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding OverallTemperature.IsError}" Value="True"> + <Setter Property="Source" Value="../Images/temperature-red.png"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </Image.Style> + </Image> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}"> + <Run Text="{Binding OverallTemperature.Temperature,StringFormat='0',Mode=OneWay}"></Run> + <Run>º</Run> + </TextBlock> </StackPanel> <Grid Grid.Column="1" Margin="0 0 0 10"> diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/TechMonitors.cs b/Software/Visual_Studio/Tango.BL/Enumerations/TechMonitors.cs index a017c18d1..ad77d945c 100644 --- a/Software/Visual_Studio/Tango.BL/Enumerations/TechMonitors.cs +++ b/Software/Visual_Studio/Tango.BL/Enumerations/TechMonitors.cs @@ -374,6 +374,12 @@ namespace Tango.BL.Enumerations MixerTemperature = 9, /// <summary> + /// (Overall Temperature) + /// </summary> + [Description("Overall Temperature")] + OverallTemperature = 102, + + /// <summary> /// (Poller Motor) /// </summary> [Description("Poller Motor")] diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 98d3248c5..85ee66756 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -54,10 +54,14 @@ namespace Tango.Integration.Operation public const String FIRMWARE_UPGRADE_FOLDER_NAME = "UpgradePackage"; public const String FIRMWARE_UPGRADE_CONFIG_FILE_NAME = "package.cfg"; public const String JOB_DESCRIPTION_FILE_NAME = "job_segments.jdf"; + public const int MAX_DISPENSER_NANOLITER = 130000000; public const double MAX_MIDTANK_LITERS = 1.8; public const double EMPTY_MIDTANK_LITERS = 0.2; public const double LOW_MIDTANK_LITERS = 0.3; + public const double OVERALL_TEMPERATURE_OK = 30; + public const double OVERALL_TEMPERATURE_WARNING = 30; + public const double OVERALL_TEMPERATURE_ERROR = 40; private bool _diagnosticsSent; private bool _eventsSent; diff --git a/Software/Visual_Studio/Tango.PMR/Diagnostics/DiagnosticsMonitors.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/DiagnosticsMonitors.cs index 2e7191370..ea6dfb0cb 100644 --- a/Software/Visual_Studio/Tango.PMR/Diagnostics/DiagnosticsMonitors.cs +++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/DiagnosticsMonitors.cs @@ -23,7 +23,7 @@ namespace Tango.PMR.Diagnostics { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "ChlEaWFnbm9zdGljc01vbml0b3JzLnByb3RvEhVUYW5nby5QTVIuRGlhZ25v", - "c3RpY3MaEURvdWJsZUFycmF5LnByb3RvIoMQChNEaWFnbm9zdGljc01vbml0", + "c3RpY3MaEURvdWJsZUFycmF5LnByb3RvIp8QChNEaWFnbm9zdGljc01vbml0", "b3JzEhQKDERhbmNlcjFBbmdsZRgBIAMoARIUCgxEYW5jZXIyQW5nbGUYAiAD", "KAESFAoMRGFuY2VyM0FuZ2xlGAMgAygBEhwKFEZlZWRlck1vdG9yRnJlcXVl", "bmN5GAQgAygBEhIKCkRyeWVyTW90b3IYBSADKAESEwoLUG9sbGVyTW90b3IY", @@ -69,12 +69,12 @@ namespace Tango.PMR.Diagnostics { "YXRlckN1cnJlbnQYPyADKAESPgoSRGlzcGVuc2Vyc0lua0xldmVsGEAgAygL", "MiIuVGFuZ28uUE1SLkRpYWdub3N0aWNzLkRvdWJsZUFycmF5EjwKEE1pZFRh", "bmtzSW5rTGV2ZWwYQSADKAsyIi5UYW5nby5QTVIuRGlhZ25vc3RpY3MuRG91", - "YmxlQXJyYXlCIQofY29tLnR3aW5lLnRhbmdvLnBtci5kaWFnbm9zdGljc2IG", - "cHJvdG8z")); + "YmxlQXJyYXkSGgoST3ZlcmFsbFRlbXBlcmF0dXJlGEIgAygBQiEKH2NvbS50", + "d2luZS50YW5nby5wbXIuZGlhZ25vc3RpY3NiBnByb3RvMw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Tango.PMR.Diagnostics.DoubleArrayReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Diagnostics.DiagnosticsMonitors), global::Tango.PMR.Diagnostics.DiagnosticsMonitors.Parser, new[]{ "Dancer1Angle", "Dancer2Angle", "Dancer3Angle", "FeederMotorFrequency", "DryerMotor", "PollerMotor", "WinderMotor", "ScrewMotor", "ThreadSpeed", "MixerTemperature", "HeadZone1Temperature", "HeadZone2Temperature", "HeadZone3Temperature", "HeadAirFlow", "FeederTension", "PullerTension", "DryerZone1Temperature", "DryerZone2Temperature", "DryerZone3Temperature", "DryerAirFlow", "WinderTension", "DispensersMotorsFrequency", "DispensersAngularEncoders", "DispensersLinearPositions", "DispensersPressure", "FilterDeltaPressure", "ChillerTemperature", "Dispenser1MotorFrequency", "Dispenser2MotorFrequency", "Dispenser3MotorFrequency", "Dispenser4MotorFrequency", "Dispenser5MotorFrequency", "Dispenser6MotorFrequency", "Dispenser7MotorFrequency", "Dispenser8MotorFrequency", "HeadZone4Temperature", "HeadZone5Temperature", "HeadZone6Temperature", "BlowerVoltage", "Dispenser1Pressure", "Dispenser2Pressure", "Dispenser3Pressure", "Dispenser4Pressure", "Dispenser5Pressure", "Dispenser6Pressure", "Dispenser7Pressure", "Dispenser8Pressure", "MidTank1Level", "MidTank2Level", "MidTank3Level", "MidTank4Level", "MidTank5Level", "MidTank6Level", "MidTank7Level", "MidTank8Level", "DrierZone1HeaterCurrent", "DrierZone2HeaterCurrent", "HeadZone1HeaterCurrent", "HeadZone2HeaterCurrent", "HeadZone3HeaterCurrent", "HeadZone4HeaterCurrent", "HeadZone56HeaterCurrent", "Mixer1HeaterCurrent", "DispensersInkLevel", "MidTanksInkLevel" }, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Diagnostics.DiagnosticsMonitors), global::Tango.PMR.Diagnostics.DiagnosticsMonitors.Parser, new[]{ "Dancer1Angle", "Dancer2Angle", "Dancer3Angle", "FeederMotorFrequency", "DryerMotor", "PollerMotor", "WinderMotor", "ScrewMotor", "ThreadSpeed", "MixerTemperature", "HeadZone1Temperature", "HeadZone2Temperature", "HeadZone3Temperature", "HeadAirFlow", "FeederTension", "PullerTension", "DryerZone1Temperature", "DryerZone2Temperature", "DryerZone3Temperature", "DryerAirFlow", "WinderTension", "DispensersMotorsFrequency", "DispensersAngularEncoders", "DispensersLinearPositions", "DispensersPressure", "FilterDeltaPressure", "ChillerTemperature", "Dispenser1MotorFrequency", "Dispenser2MotorFrequency", "Dispenser3MotorFrequency", "Dispenser4MotorFrequency", "Dispenser5MotorFrequency", "Dispenser6MotorFrequency", "Dispenser7MotorFrequency", "Dispenser8MotorFrequency", "HeadZone4Temperature", "HeadZone5Temperature", "HeadZone6Temperature", "BlowerVoltage", "Dispenser1Pressure", "Dispenser2Pressure", "Dispenser3Pressure", "Dispenser4Pressure", "Dispenser5Pressure", "Dispenser6Pressure", "Dispenser7Pressure", "Dispenser8Pressure", "MidTank1Level", "MidTank2Level", "MidTank3Level", "MidTank4Level", "MidTank5Level", "MidTank6Level", "MidTank7Level", "MidTank8Level", "DrierZone1HeaterCurrent", "DrierZone2HeaterCurrent", "HeadZone1HeaterCurrent", "HeadZone2HeaterCurrent", "HeadZone3HeaterCurrent", "HeadZone4HeaterCurrent", "HeadZone56HeaterCurrent", "Mixer1HeaterCurrent", "DispensersInkLevel", "MidTanksInkLevel", "OverallTemperature" }, null, null, null) })); } #endregion @@ -170,6 +170,7 @@ namespace Tango.PMR.Diagnostics { mixer1HeaterCurrent_ = other.mixer1HeaterCurrent_.Clone(); dispensersInkLevel_ = other.dispensersInkLevel_.Clone(); midTanksInkLevel_ = other.midTanksInkLevel_.Clone(); + overallTemperature_ = other.overallTemperature_.Clone(); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1022,6 +1023,19 @@ namespace Tango.PMR.Diagnostics { get { return midTanksInkLevel_; } } + /// <summary>Field number for the "OverallTemperature" field.</summary> + public const int OverallTemperatureFieldNumber = 66; + private static readonly pb::FieldCodec<double> _repeated_overallTemperature_codec + = pb::FieldCodec.ForDouble(530); + private readonly pbc::RepeatedField<double> overallTemperature_ = new pbc::RepeatedField<double>(); + /// <summary> + ///Overall Temperature (Min = 0, Max = 100, PPF = 1) + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pbc::RepeatedField<double> OverallTemperature { + get { return overallTemperature_; } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) { return Equals(other as DiagnosticsMonitors); @@ -1100,6 +1114,7 @@ namespace Tango.PMR.Diagnostics { if(!mixer1HeaterCurrent_.Equals(other.mixer1HeaterCurrent_)) return false; if(!dispensersInkLevel_.Equals(other.dispensersInkLevel_)) return false; if(!midTanksInkLevel_.Equals(other.midTanksInkLevel_)) return false; + if(!overallTemperature_.Equals(other.overallTemperature_)) return false; return true; } @@ -1171,6 +1186,7 @@ namespace Tango.PMR.Diagnostics { hash ^= mixer1HeaterCurrent_.GetHashCode(); hash ^= dispensersInkLevel_.GetHashCode(); hash ^= midTanksInkLevel_.GetHashCode(); + hash ^= overallTemperature_.GetHashCode(); return hash; } @@ -1246,6 +1262,7 @@ namespace Tango.PMR.Diagnostics { mixer1HeaterCurrent_.WriteTo(output, _repeated_mixer1HeaterCurrent_codec); dispensersInkLevel_.WriteTo(output, _repeated_dispensersInkLevel_codec); midTanksInkLevel_.WriteTo(output, _repeated_midTanksInkLevel_codec); + overallTemperature_.WriteTo(output, _repeated_overallTemperature_codec); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1316,6 +1333,7 @@ namespace Tango.PMR.Diagnostics { size += mixer1HeaterCurrent_.CalculateSize(_repeated_mixer1HeaterCurrent_codec); size += dispensersInkLevel_.CalculateSize(_repeated_dispensersInkLevel_codec); size += midTanksInkLevel_.CalculateSize(_repeated_midTanksInkLevel_codec); + size += overallTemperature_.CalculateSize(_repeated_overallTemperature_codec); return size; } @@ -1389,6 +1407,7 @@ namespace Tango.PMR.Diagnostics { mixer1HeaterCurrent_.Add(other.mixer1HeaterCurrent_); dispensersInkLevel_.Add(other.dispensersInkLevel_); midTanksInkLevel_.Add(other.midTanksInkLevel_); + overallTemperature_.Add(other.overallTemperature_); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1718,6 +1737,11 @@ namespace Tango.PMR.Diagnostics { midTanksInkLevel_.AddEntriesFrom(input, _repeated_midTanksInkLevel_codec); break; } + case 530: + case 529: { + overallTemperature_.AddEntriesFrom(input, _repeated_overallTemperature_codec); + break; + } } } } diff --git a/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml b/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml index 15cbf9dc4..58fbfef4c 100644 --- a/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml +++ b/Software/Visual_Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml @@ -198,7 +198,7 @@ <StackPanel Orientation="Horizontal"> <StackPanel HorizontalAlignment="Left"> <TextBlock Foreground="Red">IDS Packs Levels</TextBlock> - <ScrollViewer Height="400" HorizontalScrollBarVisibility="Disabled"> + <ScrollViewer Height="400" HorizontalScrollBarVisibility="Disabled" Width="300"> <ItemsControl Margin="0 5 0 0" ItemsSource="{Binding Emulator.MachineStatus.IDSPacksLevels}"> <ItemsControl.ItemTemplate> <DataTemplate> @@ -230,6 +230,12 @@ <StackPanel Margin="10 0 0 0"> <TextBlock Foreground="Red">MACHINE STATE</TextBlock> <ComboBox Margin="0 5 0 0" Width="150" ItemsSource="{Binding Source={x:Type pmr:MachineState},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding Emulator.MachineStatus.State,Mode=TwoWay}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox> + + <TextBlock Margin="0 20 0 0" Foreground="Red" Width="160"> + <Run>OVERALL TEMPERATURE</Run> + <Run Text="{Binding ElementName=sliderTemperature,Path=Value,StringFormat='0.0',Mode=OneWay}"></Run> + </TextBlock> + <Slider x:Name="sliderTemperature" Margin="0 5 0 0" Minimum="0" Maximum="60" Value="{Binding Emulator.MachineStatus.OverallTemperature,Mode=TwoWay}"></Slider> </StackPanel> </StackPanel> </Border> |
