aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.Common/Events/IEventsProvider.cs8
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml63
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml.cs28
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogViewVM.cs42
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Events/DefaultEventsProvider.cs11
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj8
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModels/EventsViewVM.cs38
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml3
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Maintenance/ViewModels/MaintenanceViewVM.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/DefaultEventLogger.cs34
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/IEventLogger.cs3
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventRequest.cs20
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventResponse.cs12
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Shared/Tango.PPC.Shared.csproj2
-rw-r--r--Software/Visual_Studio/Resources/Events Revisions/Tango alarm events handling chart_Rev28.xlsxbin0 -> 70011 bytes
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/EventTypes.cs6
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/HardwareDancerTypes.cs12
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs6
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs7
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs30
-rw-r--r--Software/Visual_Studio/Tango.PMR/Common/MessageType.cs221
-rw-r--r--Software/Visual_Studio/Tango.PMR/Diagnostics/EventType.cs248
-rw-r--r--Software/Visual_Studio/Tango.PMR/Hardware/HardwareDancerType.cs15
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs138
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs110
-rw-r--r--Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Program.cs2
-rw-r--r--Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Tango.EventsTypesGenerator.csproj4
27 files changed, 656 insertions, 417 deletions
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/Events/IEventsProvider.cs b/Software/Visual_Studio/FSE/Tango.FSE.Common/Events/IEventsProvider.cs
index 799031234..a5ea88b5e 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.Common/Events/IEventsProvider.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/Events/IEventsProvider.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
+using Tango.PMR.Diagnostics;
namespace Tango.FSE.Common.Events
{
@@ -28,5 +29,12 @@ namespace Tango.FSE.Common.Events
/// Gets the current active events.
/// </summary>
ObservableCollection<MachinesEvent> ActiveEvents { get; }
+
+ /// <summary>
+ /// Emulates a hardware event that will last for the specified timeout.
+ /// </summary>
+ /// <param name="ev">Type of the event.</param>
+ /// <param name="timeout">The timeout.</param>
+ Task PushEmulatedEvent(Event ev, TimeSpan timeout);
}
}
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml
new file mode 100644
index 000000000..63d25e706
--- /dev/null
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml
@@ -0,0 +1,63 @@
+<UserControl x:Class="Tango.FSE.UI.Dialogs.EmulateMachineEventDialogView"
+ 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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:local="clr-namespace:Tango.FSE.UI.Dialogs"
+ mc:Ignorable="d"
+ Height="300" Width="700" d:DataContext="{d:DesignInstance Type=local:EmulateMachineEventDialogViewVM, IsDesignTimeCreatable=False}" Background="{StaticResource FSE_PrimaryBackgroundLightBrush}" Foreground="{StaticResource FSE_PrimaryForegroundBrush}">
+ <Grid>
+ <DockPanel Margin="10">
+ <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="0">
+ <materialDesign:PackIcon Kind="LightningBolt" Width="48" Height="48" Foreground="{StaticResource FSE_EmulatorBrush}" />
+ <TextBlock Text="Emulate Machine Event" FontWeight="SemiBold" VerticalAlignment="Center" Margin="10 0 0 0" FontSize="{StaticResource FSE_MessageBoxTitleFontSize}"></TextBlock>
+ </StackPanel>
+
+ <TextBlock DockPanel.Dock="Top" TextWrapping="Wrap" Margin="10">
+ <Run>This dialog can help you emulate a machine hardware event for demonstration or testing purposes.</Run>
+ <LineBreak/>
+ <Run>Please select the event type and a duration for the event to remain active.</Run>
+ </TextBlock>
+
+ <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10 20 10 0" Width="650">
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Right" Margin="50 0 0 0">
+ <TextBlock Foreground="{StaticResource FSE_EmulatorBrush}">Duration (seconds)</TextBlock>
+ <mahapps:NumericUpDown Height="36" HasDecimals="False" Value="{Binding DurationSeconds,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Maximum="500" Minimum="1" />
+ </StackPanel>
+
+ <StackPanel>
+ <TextBlock Foreground="{StaticResource FSE_EmulatorBrush}">Event Type</TextBlock>
+ <controls:SearchComboBox Margin="0 5 0 0" Height="31" FontSize="{StaticResource FSE_SmallFontSize}" ItemsSource="{Binding EventTypes}" SelectedItem="{Binding SelectedEventType,Mode=TwoWay}" SearchProperty="Name">
+ <controls:SearchComboBox.ItemTemplate>
+ <DataTemplate>
+ <DockPanel>
+ <materialDesign:PackIcon Opacity="0.5" Kind="LightningBolt" Width="24" Height="24" Foreground="{StaticResource FSE_EmulatorBrush}" />
+ <StackPanel Margin="10 0 0 0">
+ <TextBlock>
+ <Run FontWeight="SemiBold">#</Run><Run FontWeight="SemiBold" Text="{Binding Code}"></Run>
+ <Run></Run>
+ <Run></Run>
+ <Run Text="{Binding Name}"></Run>
+ <LineBreak/>
+ <Run Text="{Binding Title}" FontSize="{StaticResource FSE_SmallerFontSize}" Foreground="{StaticResource FSE_GrayBrush}"></Run>
+ </TextBlock>
+ </StackPanel>
+ </DockPanel>
+ </DataTemplate>
+ </controls:SearchComboBox.ItemTemplate>
+ </controls:SearchComboBox>
+ </StackPanel>
+ </DockPanel>
+
+ <StackPanel Margin="0 20 0 0">
+ <TextBlock Foreground="{StaticResource FSE_EmulatorBrush}">Message</TextBlock>
+ <TextBox Style="{StaticResource FSE_Rounded_Corners_TextBox_Multiline}" Text="{Binding Message}" Margin="0 5 0 0" Height="50" FontSize="{StaticResource FSE_SmallFontSize}"></TextBox>
+ </StackPanel>
+ </StackPanel>
+ </DockPanel>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml.cs
new file mode 100644
index 000000000..177e99a6a
--- /dev/null
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogView.xaml.cs
@@ -0,0 +1,28 @@
+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 Tango.FSE.UI.Dialogs
+{
+ /// <summary>
+ /// Interaction logic for EmulateMachineEventDialogView.xaml
+ /// </summary>
+ public partial class EmulateMachineEventDialogView : UserControl
+ {
+ public EmulateMachineEventDialogView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogViewVM.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogViewVM.cs
new file mode 100644
index 000000000..0026a47ff
--- /dev/null
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Dialogs/EmulateMachineEventDialogViewVM.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+using Tango.FSE.Common;
+
+namespace Tango.FSE.UI.Dialogs
+{
+ public class EmulateMachineEventDialogViewVM : FSEDialogViewVM
+ {
+ public List<EventType> EventTypes { get; set; }
+
+ private EventType _selectedEventType;
+ public EventType SelectedEventType
+ {
+ get { return _selectedEventType; }
+ set { _selectedEventType = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+
+ private int _durationSeconds;
+ public int DurationSeconds
+ {
+ get { return _durationSeconds; }
+ set { _durationSeconds = value; RaisePropertyChangedAuto(); }
+ }
+
+ public String Message { get; set; }
+
+ public EmulateMachineEventDialogViewVM()
+ {
+ EventTypes = new List<EventType>();
+ DurationSeconds = 5;
+ }
+
+ protected override bool CanOK()
+ {
+ return base.CanOK() && SelectedEventType != null && DurationSeconds > 0;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Events/DefaultEventsProvider.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Events/DefaultEventsProvider.cs
index b5791032d..a4ff03fc5 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Events/DefaultEventsProvider.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Events/DefaultEventsProvider.cs
@@ -17,6 +17,8 @@ using Tango.FSE.Common.Notifications;
using Tango.FSE.Common.Threading;
using Tango.FSE.UI.ViewModels;
using Tango.FSE.UI.Views;
+using Tango.PMR.Diagnostics;
+using Tango.PPC.Shared.Events;
namespace Tango.FSE.UI.Events
{
@@ -226,5 +228,14 @@ namespace Tango.FSE.UI.Events
{
RaisePropertyChanged(nameof(HasActiveEvents));
}
+
+ public async Task PushEmulatedEvent(Event ev, TimeSpan timeout)
+ {
+ await MachineProvider.MachineOperator.SendGenericRequest<PushEmulatedEventRequest, PushEmulatedEventResponse>(new PushEmulatedEventRequest()
+ {
+ Event = ev,
+ Timeout = timeout
+ });
+ }
}
}
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
index 4a1934404..667c97963 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
@@ -282,6 +282,10 @@
</Compile>
<Compile Include="Dialogs\BugReportFullViewVM.cs" />
<Compile Include="Dialogs\BugReportViewVM.cs" />
+ <Compile Include="Dialogs\EmulateMachineEventDialogView.xaml.cs">
+ <DependentUpon>EmulateMachineEventDialogView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Dialogs\EmulateMachineEventDialogViewVM.cs" />
<Compile Include="Dialogs\MachineConnectionBaseViewVM.cs" />
<Compile Include="Dialogs\MachineConnectionEmulatorView.xaml.cs">
<DependentUpon>MachineConnectionEmulatorView.xaml</DependentUpon>
@@ -446,6 +450,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Dialogs\EmulateMachineEventDialogView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Dialogs\MachineConnectionEmulatorView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModels/EventsViewVM.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModels/EventsViewVM.cs
index 9c655de78..57279f276 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModels/EventsViewVM.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/ViewModels/EventsViewVM.cs
@@ -6,9 +6,11 @@ using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.BL.Enumerations;
+using Tango.Core.Commands;
using Tango.FSE.Common;
using Tango.FSE.Common.Navigation;
using Tango.FSE.UI.Contracts;
+using Tango.FSE.UI.Dialogs;
using static Tango.FSE.UI.ViewModels.EventsViewVM;
namespace Tango.FSE.UI.ViewModels
@@ -62,9 +64,45 @@ namespace Tango.FSE.UI.ViewModels
set { _selectedEvent = value; RaisePropertyChangedAuto(); }
}
+ public RelayCommand EmulateMachineEventCommand { get; set; }
+
public EventsViewVM()
{
CanExecuteJob = true;
+ EmulateMachineEventCommand = new RelayCommand(EmulateMachineEvent);
+ }
+
+ private async void EmulateMachineEvent()
+ {
+ var events = await Services.MachineEventsService.GetAllEventTypes();
+
+ events = events.Where(x => x.Group != EventTypeGroups.Application && x.Group != EventTypeGroups.Jobs && x.Group != EventTypeGroups.Transport).OrderBy(x => x.Code).ToList();
+
+ var vm = await NotificationProvider.ShowDialog(new EmulateMachineEventDialogViewVM()
+ {
+ EventTypes = events
+ });
+
+ if (vm.DialogResult)
+ {
+ try
+ {
+ using (NotificationProvider.PushTaskItem("Pushing emulated event..."))
+ {
+ await Task.Delay(1000);
+ await EventsProvider.PushEmulatedEvent(new PMR.Diagnostics.Event()
+ {
+ Type = (PMR.Diagnostics.EventType)vm.SelectedEventType.Type,
+ Message = vm.Message.ToStringOrEmpty()
+ }, TimeSpan.FromSeconds(vm.DurationSeconds));
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error pushing emulated event.");
+ await NotificationProvider.ShowError($"Error pushing emulated event.\n{ex.FlattenMessage()}");
+ }
+ }
}
public override void OnApplicationStarted()
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml b/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
index c3715700b..58b194163 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
@@ -8,6 +8,7 @@
xmlns:controls="clr-namespace:Tango.FSE.Common.Controls;assembly=Tango.FSE.Common"
xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:resolution="clr-namespace:Tango.FSE.Common.Resolution;assembly=Tango.FSE.Common"
+ xmlns:auth="clr-namespace:Tango.FSE.Common.Authorization;assembly=Tango.FSE.Common"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:local="clr-namespace:Tango.FSE.UI.Views"
mc:Ignorable="d"
@@ -231,6 +232,8 @@
</TextBlock.Style>
</TextBlock>
</DockPanel>
+
+ <Button Margin="0 20 0 0" auth:AuthorizationHelper.Mode="Collapsed" auth:AuthorizationHelper.Permission="FSE_EmulateMachineEvents" Command="{Binding EmulateMachineEventCommand}" ToolTip="Emulate a machine hardware event (for testing purpose only)" Style="{StaticResource FSE_Button_Polygon}" Width="170" IsEnabled="{Binding MachineProvider.IsPPCAvailable}">Emulate Machine Event</Button>
</StackPanel>
</DockPanel>
</StackPanel>
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 f7269e0b1..c0dc61150 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
@@ -147,7 +147,7 @@ namespace Tango.PPC.Maintenance.ViewModels
}
else
{
- return true;
+ return MachineProvider.MachineOperator.MachineEventsStateProvider.Events.Any(x => x.Type == BL.Enumerations.EventTypes.DYEING_HEAD_COVER_IS_OPEN);
}
});
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/DefaultEventLogger.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/DefaultEventLogger.cs
index e9bcd4246..ee96a77a5 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/DefaultEventLogger.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/DefaultEventLogger.cs
@@ -17,6 +17,9 @@ using Tango.PPC.Common.Application;
using Tango.PPC.Common.Authentication;
using Tango.PPC.Common.Connection;
using Tango.Transport;
+using Tango.PPC.Common.ExternalBridge;
+using Tango.PPC.Shared.Events;
+using Tango.Core.DI;
namespace Tango.PPC.Common.EventLogging
{
@@ -52,6 +55,21 @@ namespace Tango.PPC.Common.EventLogging
#endregion
+ private IPPCExternalBridgeService _externalBridge;
+ [TangoInject(Mode = TangoInjectMode.WhenAvailable)]
+ public IPPCExternalBridgeService ExternalBridgeService
+ {
+ get { return _externalBridge; }
+ set
+ {
+ if (_externalBridge != value)
+ {
+ _externalBridge = value;
+ _externalBridge.RegisterRequestHandler(this);
+ }
+ }
+ }
+
#region Constructors
/// <summary>
@@ -396,5 +414,21 @@ namespace Tango.PPC.Common.EventLogging
}
#endregion
+
+ #region External Bridge Handler
+
+ [ExternalBridgeRequestHandlerMethod(typeof(PushEmulatedEventRequest), RequestHandlerLoggingMode.LogRequestNameAndContent)]
+ public async Task OnStartPerformanceUpdatesRequest(PushEmulatedEventRequest request, String token, ExternalBridgeReceiver receiver)
+ {
+ _machineProvider.MachineOperator.PushEmulatedEvent(request.Event, request.Timeout);
+ await receiver.SendGenericResponse(new PushEmulatedEventResponse(), token);
+ }
+
+ public void OnReceiverDisconnected(ExternalBridgeReceiver receiver)
+ {
+
+ }
+
+ #endregion
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/IEventLogger.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/IEventLogger.cs
index 10560e034..81cce927d 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/IEventLogger.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/EventLogging/IEventLogger.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.BL.Enumerations;
+using Tango.Integration.ExternalBridge;
using Tango.PMR.Diagnostics;
namespace Tango.PPC.Common.EventLogging
@@ -12,7 +13,7 @@ namespace Tango.PPC.Common.EventLogging
/// <summary>
/// Represents a database events logger.
/// </summary>
- public interface IEventLogger
+ public interface IEventLogger : IExternalBridgeRequestHandler
{
/// <summary>
/// Occurs when a new machine event has been received.
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventRequest.cs b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventRequest.cs
new file mode 100644
index 000000000..3546c285f
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventRequest.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.PMR.Diagnostics;
+
+namespace Tango.PPC.Shared.Events
+{
+ public class PushEmulatedEventRequest
+ {
+ public Event Event { get; set; }
+ public TimeSpan Timeout { get; set; }
+
+ public PushEmulatedEventRequest()
+ {
+ Timeout = TimeSpan.FromSeconds(5);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventResponse.cs b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventResponse.cs
new file mode 100644
index 000000000..2fb3a2a70
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Events/PushEmulatedEventResponse.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Shared.Events
+{
+ public class PushEmulatedEventResponse
+ {
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Tango.PPC.Shared.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Tango.PPC.Shared.csproj
index bfd4d587b..8c3908bba 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Tango.PPC.Shared.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Tango.PPC.Shared.csproj
@@ -62,6 +62,8 @@
<Compile Include="..\..\Versioning\GlobalVersionInfo.cs">
<Link>GlobalVersionInfo.cs</Link>
</Compile>
+ <Compile Include="Events\PushEmulatedEventRequest.cs" />
+ <Compile Include="Events\PushEmulatedEventResponse.cs" />
<Compile Include="Information\GetMachineInformationRequest.cs" />
<Compile Include="Information\GetMachineInformationResponse.cs" />
<Compile Include="Information\InformationPackage.cs" />
diff --git a/Software/Visual_Studio/Resources/Events Revisions/Tango alarm events handling chart_Rev28.xlsx b/Software/Visual_Studio/Resources/Events Revisions/Tango alarm events handling chart_Rev28.xlsx
new file mode 100644
index 000000000..0df827d73
--- /dev/null
+++ b/Software/Visual_Studio/Resources/Events Revisions/Tango alarm events handling chart_Rev28.xlsx
Binary files differ
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/EventTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/EventTypes.cs
index fe0009818..92096878e 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/EventTypes.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/EventTypes.cs
@@ -1292,6 +1292,12 @@ namespace Tango.BL.Enumerations
DYEING_HEAD_TUNNEL_LID_IS_OPEN = 5098,
/// <summary>
+ /// (Dyeing head cover is open. Cannot execute job)
+ /// </summary>
+ [Description("Dyeing head cover is open. Cannot execute job")]
+ DYEING_HEAD_COVER_IS_OPEN = 5099,
+
+ /// <summary>
/// (The temperature in the mixer is too high. Cannot execute job)
/// </summary>
[Description("The temperature in the mixer is too high. Cannot execute job")]
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/HardwareDancerTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/HardwareDancerTypes.cs
index 385df558b..2684f7dc4 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/HardwareDancerTypes.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/HardwareDancerTypes.cs
@@ -37,5 +37,17 @@ namespace Tango.BL.Enumerations
[Description("Right Dancer")]
RightDancer = 2,
+ /// <summary>
+ /// (Third Dancer)
+ /// </summary>
+ [Description("Third Dancer")]
+ ThirdDancer = 3,
+
+ /// <summary>
+ /// (Fourth Dancer)
+ /// </summary>
+ [Description("Fourth Dancer")]
+ FourthDancer = 4,
+
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs b/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
index 231bc4a5e..58a57cbc9 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
@@ -337,5 +337,11 @@ namespace Tango.BL.Enumerations
[Description("Allows creating and writing global data store items and collections")]
DataStoreCreateWriteGlobal = 1031,
+ /// <summary>
+ /// (Allows emulating machine events remotely)
+ /// </summary>
+ [Description("Allows emulating machine events remotely")]
+ FSE_EmulateMachineEvents = 1032,
+
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
index 232446cb6..e7d3cd0e8 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
@@ -550,5 +550,12 @@ namespace Tango.Integration.Operation
/// </summary>
/// <returns></returns>
Task AttemptThreadJogging();
+
+ /// <summary>
+ /// Emulates a hardware event that will last for the specified timeout.
+ /// </summary>
+ /// <param name="ev">Type of the event.</param>
+ /// <param name="timeout">The timeout.</param>
+ void PushEmulatedEvent(Event ev, TimeSpan timeout);
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 93320c646..bce386bfe 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -85,6 +85,7 @@ namespace Tango.Integration.Operation
private DateTime? _jobUploadingStartDate;
private DateTime? _jobHeatingStartDate;
private DateTime? _jobActualStartDate;
+ private List<Event> _emulatedEvents;
public static String EmbeddedLogsFolder { get; private set; }
public static String EmbeddedLogsTag { get; private set; }
@@ -124,6 +125,7 @@ namespace Tango.Integration.Operation
/// </summary>
public MachineOperator() : base()
{
+ _emulatedEvents = new List<Event>();
ComponentName = $"Machine Operator {_component_counter++}";
DeviceInformation = new DeviceInformation();
MachineEventsStateProvider = new DefaultMachineEventsStateProvider();
@@ -957,7 +959,17 @@ namespace Tango.Integration.Operation
{
if (MachineEventsStateProvider != null)
{
- MachineEventsStateProvider.ApplyEvents(response.Events);
+ var events = response.Events;
+
+ foreach (var emulated in _emulatedEvents)
+ {
+ if (!events.Any(x => x.Type == emulated.Type))
+ {
+ events.Add(emulated);
+ }
+ }
+
+ MachineEventsStateProvider.ApplyEvents(events);
}
EventsNotification?.Invoke(this, response);
@@ -1373,6 +1385,7 @@ namespace Tango.Integration.Operation
if (MachineEventsStateProvider != null)
{
LogManager.Log("Resetting active events...");
+ _emulatedEvents.Clear();
MachineEventsStateProvider.Reset();
}
}
@@ -4154,6 +4167,21 @@ namespace Tango.Integration.Operation
}, new TransportRequestConfig() { ShouldLog = true, Timeout = TimeSpan.FromSeconds(20) });
}
+ /// <summary>
+ /// Emulates a hardware event that will last for the specified timeout.
+ /// </summary>
+ /// <param name="ev">Type of the event.</param>
+ /// <param name="timeout">The timeout.</param>
+ public async void PushEmulatedEvent(Event ev, TimeSpan timeout)
+ {
+ if (!_emulatedEvents.Exists(x => x.Type == ev.Type))
+ {
+ _emulatedEvents.Add(ev);
+ await Task.Delay(timeout);
+ _emulatedEvents.Remove(ev);
+ }
+ }
+
#endregion
}
}
diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
index 8c8b838f0..03b9e40bf 100644
--- a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
+++ b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
@@ -22,7 +22,7 @@ namespace Tango.PMR.Common {
static MessageTypeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbirOPwoLTWVz",
+ "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqVPwoLTWVz",
"c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj",
"dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n",
"cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh",
@@ -97,114 +97,113 @@ namespace Tango.PMR.Common {
"c3QQbxIjCh9TdHViTWFpbkNhcmRFRXByb21Xcml0ZVJlc3BvbnNlEHASGQoV",
"U3R1YkhlYWRFRXByb21SZXF1ZXN0EHESGgoWU3R1YkhlYWRFRXByb21SZXNw",
"b25zZRByEhQKEFByb2NlZHVyZVJlcXVlc3QQcxIVChFQcm9jZWR1cmVSZXNw",
- "b25zZRB0EhoKFlN0dWJBbGxIYXJkd2FyZVJlcXVlc3QQdRIbChdTdHViQWxs",
- "SGFyZHdhcmVSZXNwb25zZRB2EiUKIEV4dGVybmFsQnJpZGdlVWRwRGlzY292",
- "ZXJ5UGFja2V0EOgHEh8KGkV4dGVybmFsQnJpZGdlTG9naW5SZXF1ZXN0EOkH",
- "EiAKG0V4dGVybmFsQnJpZGdlTG9naW5SZXNwb25zZRDqBxIgChtFeHRlcm5h",
- "bEJyaWRnZUxvZ291dFJlcXVlc3QQ6wcSIQocRXh0ZXJuYWxCcmlkZ2VMb2dv",
- "dXRSZXNwb25zZRDsBxIhChxEaXJlY3RTeW5jaHJvbml6YXRpb25SZXF1ZXN0",
- "EO0HEiIKHURpcmVjdFN5bmNocm9uaXphdGlvblJlc3BvbnNlEO4HEhwKF092",
- "ZXJyaWRlRGF0YUJhc2VSZXF1ZXN0EO8HEh0KGE92ZXJyaWRlRGF0YUJhc2VS",
- "ZXNwb25zZRDwBxIgChtTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3QQ8QcS",
- "IQocU3RhcnRBcHBsaWNhdGlvbkxvZ3NSZXNwb25zZRDyBxIfChpTdG9wQXBw",
- "bGljYXRpb25Mb2dzUmVxdWVzdBDzBxIgChtTdG9wQXBwbGljYXRpb25Mb2dz",
- "UmVzcG9uc2UQ9AcSGAoTQ29sb3JQcm9maWxlUmVxdWVzdBD1BxIZChRDb2xv",
- "clByb2ZpbGVSZXNwb25zZRD2BxIYChNVcGRhdGVTdGF0dXNSZXF1ZXN0EPcH",
- "EhkKFFVwZGF0ZVN0YXR1c1Jlc3BvbnNlEPgHEhMKDkdlbmVyaWNSZXF1ZXN0",
- "EPkHEhQKD0dlbmVyaWNSZXNwb25zZRD6BxIdChhDb25maWd1cmVQcm90b2Nv",
- "bFJlcXVlc3QQ+wcSHgoZQ29uZmlndXJlUHJvdG9jb2xSZXNwb25zZRD8BxIc",
- "ChdTdGFydERpYWdub3N0aWNzUmVxdWVzdBDQDxIdChhTdGFydERpYWdub3N0",
- "aWNzUmVzcG9uc2UQ0Q8SHAoXTW90b3JBYm9ydEhvbWluZ1JlcXVlc3QQ0g8S",
- "HQoYTW90b3JBYm9ydEhvbWluZ1Jlc3BvbnNlENMPEhcKEk1vdG9ySG9taW5n",
- "UmVxdWVzdBDUDxIYChNNb3RvckhvbWluZ1Jlc3BvbnNlENUPEhgKE01vdG9y",
- "Sm9nZ2luZ1JlcXVlc3QQ1g8SGQoUTW90b3JKb2dnaW5nUmVzcG9uc2UQ1w8S",
- "HQoYTW90b3JBYm9ydEpvZ2dpbmdSZXF1ZXN0ENgPEh4KGU1vdG9yQWJvcnRK",
- "b2dnaW5nUmVzcG9uc2UQ2Q8SIAobRGlzcGVuc2VyQWJvcnRIb21pbmdSZXF1",
- "ZXN0ENoPEiEKHERpc3BlbnNlckFib3J0SG9taW5nUmVzcG9uc2UQ2w8SGwoW",
- "RGlzcGVuc2VySG9taW5nUmVxdWVzdBDcDxIcChdEaXNwZW5zZXJIb21pbmdS",
- "ZXNwb25zZRDdDxIcChdEaXNwZW5zZXJKb2dnaW5nUmVxdWVzdBDeDxIdChhE",
- "aXNwZW5zZXJKb2dnaW5nUmVzcG9uc2UQ3w8SIQocRGlzcGVuc2VyQWJvcnRK",
- "b2dnaW5nUmVxdWVzdBDgDxIiCh1EaXNwZW5zZXJBYm9ydEpvZ2dpbmdSZXNw",
- "b25zZRDhDxIZChRTZXREaWdpdGFsT3V0UmVxdWVzdBDiDxIaChVTZXREaWdp",
- "dGFsT3V0UmVzcG9uc2UQ4w8SGQoUVGhyZWFkSm9nZ2luZ1JlcXVlc3QQ5A8S",
- "GgoVVGhyZWFkSm9nZ2luZ1Jlc3BvbnNlEOUPEh4KGVRocmVhZEFib3J0Sm9n",
- "Z2luZ1JlcXVlc3QQ5g8SHwoaVGhyZWFkQWJvcnRKb2dnaW5nUmVzcG9uc2UQ",
- "5w8SHQoYU2V0Q29tcG9uZW50VmFsdWVSZXF1ZXN0EOgPEh4KGVNldENvbXBv",
- "bmVudFZhbHVlUmVzcG9uc2UQ6Q8SGAoTUmVzb2x2ZUV2ZW50UmVxdWVzdBDq",
- "DxIZChRSZXNvbHZlRXZlbnRSZXNwb25zZRDrDxIbChZTdG9wRGlhZ25vc3Rp",
- "Y3NSZXF1ZXN0EOwPEhwKF1N0b3BEaWFnbm9zdGljc1Jlc3BvbnNlEO0PEiMK",
- "HlN0YXJ0RXZlbnRzTm90aWZpY2F0aW9uUmVxdWVzdBDuDxIkCh9TdGFydEV2",
- "ZW50c05vdGlmaWNhdGlvblJlc3BvbnNlEO8PEiIKHVN0b3BFdmVudHNOb3Rp",
- "ZmljYXRpb25SZXF1ZXN0EPAPEiMKHlN0b3BFdmVudHNOb3RpZmljYXRpb25S",
- "ZXNwb25zZRDxDxIaChVTZXRIZWF0ZXJTdGF0ZVJlcXVlc3QQ8g8SGwoWU2V0",
- "SGVhdGVyU3RhdGVSZXNwb25zZRDzDxIaChVTZXRCbG93ZXJTdGF0ZVJlcXVl",
- "c3QQ9A8SGwoWU2V0Qmxvd2VyU3RhdGVSZXNwb25zZRD1DxIZChRTZXRWYWx2",
- "ZVN0YXRlUmVxdWVzdBD2DxIaChVTZXRWYWx2ZVN0YXRlUmVzcG9uc2UQ9w8S",
- "HwoaQ2FydHJpZGdlVmFsaWRhdGlvblJlcXVlc3QQ/A8SIAobQ2FydHJpZGdl",
- "VmFsaWRhdGlvblJlc3BvbnNlEP0PEg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9i",
- "UmVzcG9uc2UQuRcSFAoPQWJvcnRKb2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9i",
- "UmVzcG9uc2UQuxcSIwoeVXBsb2FkUHJvY2Vzc1BhcmFtZXRlcnNSZXF1ZXN0",
- "ELwXEiQKH1VwbG9hZFByb2Nlc3NQYXJhbWV0ZXJzUmVzcG9uc2UQvRcSFgoR",
- "Q3VycmVudEpvYlJlcXVlc3QQvhcSFwoSQ3VycmVudEpvYlJlc3BvbnNlEL8X",
- "EhwKF1Jlc3VtZUN1cnJlbnRKb2JSZXF1ZXN0EMAXEh0KGFJlc3VtZUN1cnJl",
- "bnRKb2JSZXNwb25zZRDBFxIdChhTdGFydEhlYWRDbGVhbmluZ1JlcXVlc3QQ",
- "whcSHgoZU3RhcnRIZWFkQ2xlYW5pbmdSZXNwb25zZRDDFxIdChhBYm9ydEhl",
- "YWRDbGVhbmluZ1JlcXVlc3QQxBcSHgoZQWJvcnRIZWFkQ2xlYW5pbmdSZXNw",
- "b25zZRDFFxIZChRTdGFydERlYnVnTG9nUmVxdWVzdBCgHxIaChVTdGFydERl",
- "YnVnTG9nUmVzcG9uc2UQoR8SGAoTU3RvcERlYnVnTG9nUmVxdWVzdBCiHxIZ",
- "ChRTdG9wRGVidWdMb2dSZXNwb25zZRCjHxIfChpTZXREZWJ1Z0xvZ0NhdGVn",
- "b3J5UmVxdWVzdBCkHxIgChtTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVzcG9uc2UQ",
- "pR8SIQocU2V0dXBEZWJ1Z0Rpc3JpYnV0b3JzUmVxdWVzdBCmHxIiCh1TZXR1",
- "cERlYnVnRGlzcmlidXRvcnNSZXNwb25zZRCnHxInCiJVcGxvYWRIYXJkd2Fy",
- "ZUNvbmZpZ3VyYXRpb25SZXF1ZXN0EIgnEigKI1VwbG9hZEhhcmR3YXJlQ29u",
- "ZmlndXJhdGlvblJlc3BvbnNlEIknEhcKElN5c3RlbVJlc2V0UmVxdWVzdBCK",
- "JxIYChNTeXN0ZW1SZXNldFJlc3BvbnNlEIsnEhUKEEtlZXBBbGl2ZVJlcXVl",
- "c3QQ8C4SFgoRS2VlcEFsaXZlUmVzcG9uc2UQ8S4SEwoOQ29ubmVjdFJlcXVl",
- "c3QQ8i4SFAoPQ29ubmVjdFJlc3BvbnNlEPMuEhYKEURpc2Nvbm5lY3RSZXF1",
- "ZXN0EPQuEhcKEkRpc2Nvbm5lY3RSZXNwb25zZRD1LhIWChFGaWxlVXBsb2Fk",
- "UmVxdWVzdBDYNhIXChJGaWxlVXBsb2FkUmVzcG9uc2UQ2TYSGwoWRmlsZUNo",
- "dW5rVXBsb2FkUmVxdWVzdBDaNhIcChdGaWxlQ2h1bmtVcGxvYWRSZXNwb25z",
- "ZRDbNhIaChVFeGVjdXRlUHJvY2Vzc1JlcXVlc3QQ3DYSGwoWRXhlY3V0ZVBy",
- "b2Nlc3NSZXNwb25zZRDdNhIXChJLaWxsUHJvY2Vzc1JlcXVlc3QQ3jYSGAoT",
- "S2lsbFByb2Nlc3NSZXNwb25zZRDfNhISCg1DcmVhdGVSZXF1ZXN0EOA2EhMK",
- "DkNyZWF0ZVJlc3BvbnNlEOE2EhIKDURlbGV0ZVJlcXVlc3QQ4jYSEwoORGVs",
- "ZXRlUmVzcG9uc2UQ4zYSGgoVR2V0U3RvcmFnZUluZm9SZXF1ZXN0EOQ2EhsK",
- "FkdldFN0b3JhZ2VJbmZvUmVzcG9uc2UQ5TYSFAoPR2V0RmlsZXNSZXF1ZXN0",
- "EOY2EhUKEEdldEZpbGVzUmVzcG9uc2UQ5zYSGAoTRmlsZURvd25sb2FkUmVx",
- "dWVzdBDoNhIZChRGaWxlRG93bmxvYWRSZXNwb25zZRDpNhIdChhGaWxlQ2h1",
- "bmtEb3dubG9hZFJlcXVlc3QQ6jYSHgoZRmlsZUNodW5rRG93bmxvYWRSZXNw",
- "b25zZRDrNhIbChZWYWxpZGF0ZVZlcnNpb25SZXF1ZXN0EOw2EhwKF1ZhbGlk",
- "YXRlVmVyc2lvblJlc3BvbnNlEO02EhsKFkFjdGl2YXRlVmVyc2lvblJlcXVl",
- "c3QQ7jYSHAoXQWN0aXZhdGVWZXJzaW9uUmVzcG9uc2UQ7zYSGQoURGlzcGVu",
- "c2VyRGF0YVJlcXVlc3QQwD4SGgoVRGlzcGVuc2VyRGF0YVJlc3BvbnNlEME+",
- "EhwKF01pZFRhbmtEYXRhU2V0dXBSZXF1ZXN0EMI+Eh0KGE1pZFRhbmtEYXRh",
- "U2V0dXBSZXNwb25zZRDDPhIiCh1NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVx",
- "dWVzdBDEPhIjCh5NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVzcG9uc2UQxT4S",
- "HgoZTWFpbkNhcmRTdG9yZWREYXRhUmVxdWVzdBDGPhIfChpNYWluQ2FyZFN0",
- "b3JlZERhdGFSZXNwb25zZRDHPhIkCh9TdGFydE1hY2hpbmVTdGF0dXNVcGRh",
- "dGVSZXF1ZXN0EKhGEiUKIFN0YXJ0TWFjaGluZVN0YXR1c1VwZGF0ZVJlc3Bv",
- "bnNlEKlGEiMKHlN0b3BNYWNoaW5lU3RhdHVzVXBkYXRlUmVxdWVzdBCqRhIk",
- "Ch9TdG9wTWFjaGluZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKtGEhoKFVN0YXJ0",
- "UG93ZXJEb3duUmVxdWVzdBCQThIbChZTdGFydFBvd2VyRG93blJlc3BvbnNl",
- "EJFOEhoKFUFib3J0UG93ZXJEb3duUmVxdWVzdBCSThIbChZBYm9ydFBvd2Vy",
- "RG93blJlc3BvbnNlEJNOEhgKE1N0YXJ0UG93ZXJVcFJlcXVlc3QQlE4SGQoU",
- "U3RhcnRQb3dlclVwUmVzcG9uc2UQlU4SGAoTQWJvcnRQb3dlclVwUmVxdWVz",
- "dBCWThIZChRBYm9ydFBvd2VyVXBSZXNwb25zZRCXThITCg5TdGFuZEJ5UmVx",
- "dWVzdBCYThIUCg9TdGFuZEJ5UmVzcG9uc2UQmU4SHgoZU3RhcnRUaHJlYWRM",
- "b2FkaW5nUmVxdWVzdBD4VRIfChpTdGFydFRocmVhZExvYWRpbmdSZXNwb25z",
- "ZRD5VRIhChxDb250aW51ZVRocmVhZExvYWRpbmdSZXF1ZXN0EPpVEiIKHUNv",
- "bnRpbnVlVGhyZWFkTG9hZGluZ1Jlc3BvbnNlEPtVEh0KGFN0b3BUaHJlYWRM",
- "b2FkaW5nUmVxdWVzdBD8VRIeChlTdG9wVGhyZWFkTG9hZGluZ1Jlc3BvbnNl",
- "EP1VEhwKF1RyeVRocmVhZExvYWRpbmdSZXF1ZXN0EP5VEh0KGFRyeVRocmVh",
- "ZExvYWRpbmdSZXNwb25zZRD/VRIgChtBdHRlbXB0VGhyZWFkSm9nZ2luZ1Jl",
- "cXVlc3QQgFYSIQocQXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXNwb25zZRCBVhIh",
- "ChxTdGFydElua0ZpbGxpbmdTdGF0dXNSZXF1ZXN0EOBdEiIKHVN0YXJ0SW5r",
- "RmlsbGluZ1N0YXR1c1Jlc3BvbnNlEOFdEhwKF1B1dERhdGFTdG9yZUl0ZW1S",
- "ZXF1ZXN0EMhlEh0KGFB1dERhdGFTdG9yZUl0ZW1SZXNwb25zZRDJZRIcChdH",
- "ZXREYXRhU3RvcmVJdGVtUmVxdWVzdBDKZRIdChhHZXREYXRhU3RvcmVJdGVt",
- "UmVzcG9uc2UQy2USIQocRGF0YVN0b3JlSXRlbU1vZGlmaWVkUmVxdWVzdBDM",
- "ZRIiCh1EYXRhU3RvcmVJdGVtTW9kaWZpZWRSZXNwb25zZRDNZUIcChpjb20u",
- "dHdpbmUudGFuZ28ucG1yLmNvbW1vbmIGcHJvdG8z"));
+ "b25zZRB0EiUKIEV4dGVybmFsQnJpZGdlVWRwRGlzY292ZXJ5UGFja2V0EOgH",
+ "Eh8KGkV4dGVybmFsQnJpZGdlTG9naW5SZXF1ZXN0EOkHEiAKG0V4dGVybmFs",
+ "QnJpZGdlTG9naW5SZXNwb25zZRDqBxIgChtFeHRlcm5hbEJyaWRnZUxvZ291",
+ "dFJlcXVlc3QQ6wcSIQocRXh0ZXJuYWxCcmlkZ2VMb2dvdXRSZXNwb25zZRDs",
+ "BxIhChxEaXJlY3RTeW5jaHJvbml6YXRpb25SZXF1ZXN0EO0HEiIKHURpcmVj",
+ "dFN5bmNocm9uaXphdGlvblJlc3BvbnNlEO4HEhwKF092ZXJyaWRlRGF0YUJh",
+ "c2VSZXF1ZXN0EO8HEh0KGE92ZXJyaWRlRGF0YUJhc2VSZXNwb25zZRDwBxIg",
+ "ChtTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3QQ8QcSIQocU3RhcnRBcHBs",
+ "aWNhdGlvbkxvZ3NSZXNwb25zZRDyBxIfChpTdG9wQXBwbGljYXRpb25Mb2dz",
+ "UmVxdWVzdBDzBxIgChtTdG9wQXBwbGljYXRpb25Mb2dzUmVzcG9uc2UQ9AcS",
+ "GAoTQ29sb3JQcm9maWxlUmVxdWVzdBD1BxIZChRDb2xvclByb2ZpbGVSZXNw",
+ "b25zZRD2BxIYChNVcGRhdGVTdGF0dXNSZXF1ZXN0EPcHEhkKFFVwZGF0ZVN0",
+ "YXR1c1Jlc3BvbnNlEPgHEhMKDkdlbmVyaWNSZXF1ZXN0EPkHEhQKD0dlbmVy",
+ "aWNSZXNwb25zZRD6BxIdChhDb25maWd1cmVQcm90b2NvbFJlcXVlc3QQ+wcS",
+ "HgoZQ29uZmlndXJlUHJvdG9jb2xSZXNwb25zZRD8BxIcChdTdGFydERpYWdu",
+ "b3N0aWNzUmVxdWVzdBDQDxIdChhTdGFydERpYWdub3N0aWNzUmVzcG9uc2UQ",
+ "0Q8SHAoXTW90b3JBYm9ydEhvbWluZ1JlcXVlc3QQ0g8SHQoYTW90b3JBYm9y",
+ "dEhvbWluZ1Jlc3BvbnNlENMPEhcKEk1vdG9ySG9taW5nUmVxdWVzdBDUDxIY",
+ "ChNNb3RvckhvbWluZ1Jlc3BvbnNlENUPEhgKE01vdG9ySm9nZ2luZ1JlcXVl",
+ "c3QQ1g8SGQoUTW90b3JKb2dnaW5nUmVzcG9uc2UQ1w8SHQoYTW90b3JBYm9y",
+ "dEpvZ2dpbmdSZXF1ZXN0ENgPEh4KGU1vdG9yQWJvcnRKb2dnaW5nUmVzcG9u",
+ "c2UQ2Q8SIAobRGlzcGVuc2VyQWJvcnRIb21pbmdSZXF1ZXN0ENoPEiEKHERp",
+ "c3BlbnNlckFib3J0SG9taW5nUmVzcG9uc2UQ2w8SGwoWRGlzcGVuc2VySG9t",
+ "aW5nUmVxdWVzdBDcDxIcChdEaXNwZW5zZXJIb21pbmdSZXNwb25zZRDdDxIc",
+ "ChdEaXNwZW5zZXJKb2dnaW5nUmVxdWVzdBDeDxIdChhEaXNwZW5zZXJKb2dn",
+ "aW5nUmVzcG9uc2UQ3w8SIQocRGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVxdWVz",
+ "dBDgDxIiCh1EaXNwZW5zZXJBYm9ydEpvZ2dpbmdSZXNwb25zZRDhDxIZChRT",
+ "ZXREaWdpdGFsT3V0UmVxdWVzdBDiDxIaChVTZXREaWdpdGFsT3V0UmVzcG9u",
+ "c2UQ4w8SGQoUVGhyZWFkSm9nZ2luZ1JlcXVlc3QQ5A8SGgoVVGhyZWFkSm9n",
+ "Z2luZ1Jlc3BvbnNlEOUPEh4KGVRocmVhZEFib3J0Sm9nZ2luZ1JlcXVlc3QQ",
+ "5g8SHwoaVGhyZWFkQWJvcnRKb2dnaW5nUmVzcG9uc2UQ5w8SHQoYU2V0Q29t",
+ "cG9uZW50VmFsdWVSZXF1ZXN0EOgPEh4KGVNldENvbXBvbmVudFZhbHVlUmVz",
+ "cG9uc2UQ6Q8SGAoTUmVzb2x2ZUV2ZW50UmVxdWVzdBDqDxIZChRSZXNvbHZl",
+ "RXZlbnRSZXNwb25zZRDrDxIbChZTdG9wRGlhZ25vc3RpY3NSZXF1ZXN0EOwP",
+ "EhwKF1N0b3BEaWFnbm9zdGljc1Jlc3BvbnNlEO0PEiMKHlN0YXJ0RXZlbnRz",
+ "Tm90aWZpY2F0aW9uUmVxdWVzdBDuDxIkCh9TdGFydEV2ZW50c05vdGlmaWNh",
+ "dGlvblJlc3BvbnNlEO8PEiIKHVN0b3BFdmVudHNOb3RpZmljYXRpb25SZXF1",
+ "ZXN0EPAPEiMKHlN0b3BFdmVudHNOb3RpZmljYXRpb25SZXNwb25zZRDxDxIa",
+ "ChVTZXRIZWF0ZXJTdGF0ZVJlcXVlc3QQ8g8SGwoWU2V0SGVhdGVyU3RhdGVS",
+ "ZXNwb25zZRDzDxIaChVTZXRCbG93ZXJTdGF0ZVJlcXVlc3QQ9A8SGwoWU2V0",
+ "Qmxvd2VyU3RhdGVSZXNwb25zZRD1DxIZChRTZXRWYWx2ZVN0YXRlUmVxdWVz",
+ "dBD2DxIaChVTZXRWYWx2ZVN0YXRlUmVzcG9uc2UQ9w8SHwoaQ2FydHJpZGdl",
+ "VmFsaWRhdGlvblJlcXVlc3QQ/A8SIAobQ2FydHJpZGdlVmFsaWRhdGlvblJl",
+ "c3BvbnNlEP0PEg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9iUmVzcG9uc2UQuRcS",
+ "FAoPQWJvcnRKb2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9iUmVzcG9uc2UQuxcS",
+ "IwoeVXBsb2FkUHJvY2Vzc1BhcmFtZXRlcnNSZXF1ZXN0ELwXEiQKH1VwbG9h",
+ "ZFByb2Nlc3NQYXJhbWV0ZXJzUmVzcG9uc2UQvRcSFgoRQ3VycmVudEpvYlJl",
+ "cXVlc3QQvhcSFwoSQ3VycmVudEpvYlJlc3BvbnNlEL8XEhwKF1Jlc3VtZUN1",
+ "cnJlbnRKb2JSZXF1ZXN0EMAXEh0KGFJlc3VtZUN1cnJlbnRKb2JSZXNwb25z",
+ "ZRDBFxIdChhTdGFydEhlYWRDbGVhbmluZ1JlcXVlc3QQwhcSHgoZU3RhcnRI",
+ "ZWFkQ2xlYW5pbmdSZXNwb25zZRDDFxIdChhBYm9ydEhlYWRDbGVhbmluZ1Jl",
+ "cXVlc3QQxBcSHgoZQWJvcnRIZWFkQ2xlYW5pbmdSZXNwb25zZRDFFxIZChRT",
+ "dGFydERlYnVnTG9nUmVxdWVzdBCgHxIaChVTdGFydERlYnVnTG9nUmVzcG9u",
+ "c2UQoR8SGAoTU3RvcERlYnVnTG9nUmVxdWVzdBCiHxIZChRTdG9wRGVidWdM",
+ "b2dSZXNwb25zZRCjHxIfChpTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVxdWVzdBCk",
+ "HxIgChtTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVzcG9uc2UQpR8SIQocU2V0dXBE",
+ "ZWJ1Z0Rpc3JpYnV0b3JzUmVxdWVzdBCmHxIiCh1TZXR1cERlYnVnRGlzcmli",
+ "dXRvcnNSZXNwb25zZRCnHxInCiJVcGxvYWRIYXJkd2FyZUNvbmZpZ3VyYXRp",
+ "b25SZXF1ZXN0EIgnEigKI1VwbG9hZEhhcmR3YXJlQ29uZmlndXJhdGlvblJl",
+ "c3BvbnNlEIknEhcKElN5c3RlbVJlc2V0UmVxdWVzdBCKJxIYChNTeXN0ZW1S",
+ "ZXNldFJlc3BvbnNlEIsnEhUKEEtlZXBBbGl2ZVJlcXVlc3QQ8C4SFgoRS2Vl",
+ "cEFsaXZlUmVzcG9uc2UQ8S4SEwoOQ29ubmVjdFJlcXVlc3QQ8i4SFAoPQ29u",
+ "bmVjdFJlc3BvbnNlEPMuEhYKEURpc2Nvbm5lY3RSZXF1ZXN0EPQuEhcKEkRp",
+ "c2Nvbm5lY3RSZXNwb25zZRD1LhIWChFGaWxlVXBsb2FkUmVxdWVzdBDYNhIX",
+ "ChJGaWxlVXBsb2FkUmVzcG9uc2UQ2TYSGwoWRmlsZUNodW5rVXBsb2FkUmVx",
+ "dWVzdBDaNhIcChdGaWxlQ2h1bmtVcGxvYWRSZXNwb25zZRDbNhIaChVFeGVj",
+ "dXRlUHJvY2Vzc1JlcXVlc3QQ3DYSGwoWRXhlY3V0ZVByb2Nlc3NSZXNwb25z",
+ "ZRDdNhIXChJLaWxsUHJvY2Vzc1JlcXVlc3QQ3jYSGAoTS2lsbFByb2Nlc3NS",
+ "ZXNwb25zZRDfNhISCg1DcmVhdGVSZXF1ZXN0EOA2EhMKDkNyZWF0ZVJlc3Bv",
+ "bnNlEOE2EhIKDURlbGV0ZVJlcXVlc3QQ4jYSEwoORGVsZXRlUmVzcG9uc2UQ",
+ "4zYSGgoVR2V0U3RvcmFnZUluZm9SZXF1ZXN0EOQ2EhsKFkdldFN0b3JhZ2VJ",
+ "bmZvUmVzcG9uc2UQ5TYSFAoPR2V0RmlsZXNSZXF1ZXN0EOY2EhUKEEdldEZp",
+ "bGVzUmVzcG9uc2UQ5zYSGAoTRmlsZURvd25sb2FkUmVxdWVzdBDoNhIZChRG",
+ "aWxlRG93bmxvYWRSZXNwb25zZRDpNhIdChhGaWxlQ2h1bmtEb3dubG9hZFJl",
+ "cXVlc3QQ6jYSHgoZRmlsZUNodW5rRG93bmxvYWRSZXNwb25zZRDrNhIbChZW",
+ "YWxpZGF0ZVZlcnNpb25SZXF1ZXN0EOw2EhwKF1ZhbGlkYXRlVmVyc2lvblJl",
+ "c3BvbnNlEO02EhsKFkFjdGl2YXRlVmVyc2lvblJlcXVlc3QQ7jYSHAoXQWN0",
+ "aXZhdGVWZXJzaW9uUmVzcG9uc2UQ7zYSGQoURGlzcGVuc2VyRGF0YVJlcXVl",
+ "c3QQwD4SGgoVRGlzcGVuc2VyRGF0YVJlc3BvbnNlEME+EhwKF01pZFRhbmtE",
+ "YXRhU2V0dXBSZXF1ZXN0EMI+Eh0KGE1pZFRhbmtEYXRhU2V0dXBSZXNwb25z",
+ "ZRDDPhIiCh1NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVxdWVzdBDEPhIjCh5N",
+ "YWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVzcG9uc2UQxT4SHgoZTWFpbkNhcmRT",
+ "dG9yZWREYXRhUmVxdWVzdBDGPhIfChpNYWluQ2FyZFN0b3JlZERhdGFSZXNw",
+ "b25zZRDHPhIkCh9TdGFydE1hY2hpbmVTdGF0dXNVcGRhdGVSZXF1ZXN0EKhG",
+ "EiUKIFN0YXJ0TWFjaGluZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKlGEiMKHlN0",
+ "b3BNYWNoaW5lU3RhdHVzVXBkYXRlUmVxdWVzdBCqRhIkCh9TdG9wTWFjaGlu",
+ "ZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKtGEhoKFVN0YXJ0UG93ZXJEb3duUmVx",
+ "dWVzdBCQThIbChZTdGFydFBvd2VyRG93blJlc3BvbnNlEJFOEhoKFUFib3J0",
+ "UG93ZXJEb3duUmVxdWVzdBCSThIbChZBYm9ydFBvd2VyRG93blJlc3BvbnNl",
+ "EJNOEhgKE1N0YXJ0UG93ZXJVcFJlcXVlc3QQlE4SGQoUU3RhcnRQb3dlclVw",
+ "UmVzcG9uc2UQlU4SGAoTQWJvcnRQb3dlclVwUmVxdWVzdBCWThIZChRBYm9y",
+ "dFBvd2VyVXBSZXNwb25zZRCXThITCg5TdGFuZEJ5UmVxdWVzdBCYThIUCg9T",
+ "dGFuZEJ5UmVzcG9uc2UQmU4SHgoZU3RhcnRUaHJlYWRMb2FkaW5nUmVxdWVz",
+ "dBD4VRIfChpTdGFydFRocmVhZExvYWRpbmdSZXNwb25zZRD5VRIhChxDb250",
+ "aW51ZVRocmVhZExvYWRpbmdSZXF1ZXN0EPpVEiIKHUNvbnRpbnVlVGhyZWFk",
+ "TG9hZGluZ1Jlc3BvbnNlEPtVEh0KGFN0b3BUaHJlYWRMb2FkaW5nUmVxdWVz",
+ "dBD8VRIeChlTdG9wVGhyZWFkTG9hZGluZ1Jlc3BvbnNlEP1VEhwKF1RyeVRo",
+ "cmVhZExvYWRpbmdSZXF1ZXN0EP5VEh0KGFRyeVRocmVhZExvYWRpbmdSZXNw",
+ "b25zZRD/VRIgChtBdHRlbXB0VGhyZWFkSm9nZ2luZ1JlcXVlc3QQgFYSIQoc",
+ "QXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXNwb25zZRCBVhIhChxTdGFydElua0Zp",
+ "bGxpbmdTdGF0dXNSZXF1ZXN0EOBdEiIKHVN0YXJ0SW5rRmlsbGluZ1N0YXR1",
+ "c1Jlc3BvbnNlEOFdEhwKF1B1dERhdGFTdG9yZUl0ZW1SZXF1ZXN0EMhlEh0K",
+ "GFB1dERhdGFTdG9yZUl0ZW1SZXNwb25zZRDJZRIcChdHZXREYXRhU3RvcmVJ",
+ "dGVtUmVxdWVzdBDKZRIdChhHZXREYXRhU3RvcmVJdGVtUmVzcG9uc2UQy2US",
+ "IQocRGF0YVN0b3JlSXRlbU1vZGlmaWVkUmVxdWVzdBDMZRIiCh1EYXRhU3Rv",
+ "cmVJdGVtTW9kaWZpZWRSZXNwb25zZRDNZUIcChpjb20udHdpbmUudGFuZ28u",
+ "cG1yLmNvbW1vbmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null));
@@ -338,12 +337,10 @@ namespace Tango.PMR.Common {
[pbr::OriginalName("StubHeadEEpromRequest")] StubHeadEepromRequest = 113,
[pbr::OriginalName("StubHeadEEpromResponse")] StubHeadEepromResponse = 114,
[pbr::OriginalName("ProcedureRequest")] ProcedureRequest = 115,
- [pbr::OriginalName("ProcedureResponse")] ProcedureResponse = 116,
- [pbr::OriginalName("StubAllHardwareRequest")] StubAllHardwareRequest = 117,
/// <summary>
///------------------------------------
/// </summary>
- [pbr::OriginalName("StubAllHardwareResponse")] StubAllHardwareResponse = 118,
+ [pbr::OriginalName("ProcedureResponse")] ProcedureResponse = 116,
/// <summary>
///Integration
/// </summary>
diff --git a/Software/Visual_Studio/Tango.PMR/Diagnostics/EventType.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/EventType.cs
index 59a807634..800780c32 100644
--- a/Software/Visual_Studio/Tango.PMR/Diagnostics/EventType.cs
+++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/EventType.cs
@@ -22,7 +22,7 @@ namespace Tango.PMR.Diagnostics {
static EventTypeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "Cg9FdmVudFR5cGUucHJvdG8SFVRhbmdvLlBNUi5EaWFnbm9zdGljcyq+aAoJ",
+ "Cg9FdmVudFR5cGUucHJvdG8SFVRhbmdvLlBNUi5EaWFnbm9zdGljcyreaAoJ",
"RXZlbnRUeXBlEggKBE5vbmUQABIRCgxSRVFVRVNUX1NFTlQQ6AcSFgoRUkVT",
"UE9OU0VfUkVDRUlWRUQQ6QcSEwoOUkVRVUVTVF9GQUlMRUQQ6gcSGgoVQVBQ",
"TElDQVRJT05fRVhDRVBUSU9OEOsHEhwKF0FQUExJQ0FUSU9OX0lORk9STUFU",
@@ -201,127 +201,127 @@ namespace Tango.PMR.Diagnostics {
"X0JMT1dFUl8yX0ZMT1dfVE9PX0hJR0gQ5icSJgohRFlFSU5HX0hFQURfQkxP",
"V0VSXzFfRkxPV19UT09fTE9XEOcnEiYKIURZRUlOR19IRUFEX0JMT1dFUl8y",
"X0ZMT1dfVE9PX0xPVxDoJxIgChtEWUVJTkdfSEVBRF9BUkNfTElEX0lTX09Q",
- "RU4Q6ScSIwoeRFlFSU5HX0hFQURfVFVOTkVMX0xJRF9JU19PUEVOEOonEhoK",
- "FU1JWEVSX09WRVJURU1QRVJBVFVSRRDwLhIdChhNSVhFUl9VTkRFUlRFTVBF",
- "UkFUVVJFX0EQ8S4SHQoYTUlYRVJfVU5ERVJURU1QRVJBVFVSRV9CEPIuEhkK",
- "FE1JWEVSX1RIRVJNQUxfQ1VUT0ZGEPMuEh8KGk1JWEVSX0NVUlJFTlRfT1VU",
- "X09GX1JBTkdFEPQuEh0KGE1JWEVSX0NVUlJFTlRfTE9PUF9CUkVBSxD1LhId",
- "ChhESVNQRU5TRVJfMV9PVkVSUFJFU1NVUkUQ2DYSHQoYRElTUEVOU0VSXzJf",
- "T1ZFUlBSRVNTVVJFENk2Eh0KGERJU1BFTlNFUl8zX09WRVJQUkVTU1VSRRDa",
- "NhIdChhESVNQRU5TRVJfNF9PVkVSUFJFU1NVUkUQ2zYSHQoYRElTUEVOU0VS",
- "XzVfT1ZFUlBSRVNTVVJFENw2Eh0KGERJU1BFTlNFUl82X09WRVJQUkVTU1VS",
- "RRDdNhIdChhESVNQRU5TRVJfN19PVkVSUFJFU1NVUkUQ3jYSHQoYRElTUEVO",
- "U0VSXzhfT1ZFUlBSRVNTVVJFEN82Eh4KGURJU1BFTlNFUl8xX1VOREVSUFJF",
- "U1NVUkUQ4DYSHgoZRElTUEVOU0VSXzJfVU5ERVJQUkVTU1VSRRDhNhIeChlE",
- "SVNQRU5TRVJfM19VTkRFUlBSRVNTVVJFEOI2Eh4KGURJU1BFTlNFUl80X1VO",
- "REVSUFJFU1NVUkUQ4zYSHgoZRElTUEVOU0VSXzVfVU5ERVJQUkVTU1VSRRDk",
- "NhIeChlESVNQRU5TRVJfNl9VTkRFUlBSRVNTVVJFEOU2Eh4KGURJU1BFTlNF",
- "Ul83X1VOREVSUFJFU1NVUkUQ5jYSHgoZRElTUEVOU0VSXzhfVU5ERVJQUkVT",
- "U1VSRRDnNhIWChFESVNQRU5TRVJfMV9FTVBUWRDoNhIWChFESVNQRU5TRVJf",
- "Ml9FTVBUWRDpNhIWChFESVNQRU5TRVJfM19FTVBUWRDqNhIWChFESVNQRU5T",
- "RVJfNF9FTVBUWRDrNhIWChFESVNQRU5TRVJfNV9FTVBUWRDsNhIWChFESVNQ",
- "RU5TRVJfNl9FTVBUWRDtNhIWChFESVNQRU5TRVJfN19FTVBUWRDuNhIWChFE",
- "SVNQRU5TRVJfOF9FTVBUWRDvNhIfChpESVNQRU5TRVJfMV9SRUZJTExfRkFJ",
- "TFVSRRDwNhIfChpESVNQRU5TRVJfMl9SRUZJTExfRkFJTFVSRRDxNhIfChpE",
- "SVNQRU5TRVJfM19SRUZJTExfRkFJTFVSRRDyNhIfChpESVNQRU5TRVJfNF9S",
- "RUZJTExfRkFJTFVSRRDzNhIfChpESVNQRU5TRVJfNV9SRUZJTExfRkFJTFVS",
- "RRD0NhIfChpESVNQRU5TRVJfNl9SRUZJTExfRkFJTFVSRRD1NhIfChpESVNQ",
- "RU5TRVJfN19SRUZJTExfRkFJTFVSRRD2NhIfChpESVNQRU5TRVJfOF9SRUZJ",
- "TExfRkFJTFVSRRD3NhIiCh1ESVNQRU5TRVJfMV9NT1RPUl9PVkVSQ1VSUkVO",
- "VBD4NhIiCh1ESVNQRU5TRVJfMl9NT1RPUl9PVkVSQ1VSUkVOVBD5NhIiCh1E",
- "SVNQRU5TRVJfM19NT1RPUl9PVkVSQ1VSUkVOVBD6NhIiCh1ESVNQRU5TRVJf",
- "NF9NT1RPUl9PVkVSQ1VSUkVOVBD7NhIiCh1ESVNQRU5TRVJfNV9NT1RPUl9P",
- "VkVSQ1VSUkVOVBD8NhIiCh1ESVNQRU5TRVJfNl9NT1RPUl9PVkVSQ1VSUkVO",
- "VBD9NhIiCh1ESVNQRU5TRVJfN19NT1RPUl9PVkVSQ1VSUkVOVBD+NhIiCh1E",
- "SVNQRU5TRVJfOF9NT1RPUl9PVkVSQ1VSUkVOVBD/NhImCiFESVNQRU5TRVJf",
- "MV9NT1RPUl9PVkVSVEVNUEVSQVRVUkUQgDcSJgohRElTUEVOU0VSXzJfTU9U",
- "T1JfT1ZFUlRFTVBFUkFUVVJFEIE3EiYKIURJU1BFTlNFUl8zX01PVE9SX09W",
- "RVJURU1QRVJBVFVSRRCCNxImCiFESVNQRU5TRVJfNF9NT1RPUl9PVkVSVEVN",
- "UEVSQVRVUkUQgzcSJgohRElTUEVOU0VSXzVfTU9UT1JfT1ZFUlRFTVBFUkFU",
- "VVJFEIQ3EiYKIURJU1BFTlNFUl82X01PVE9SX09WRVJURU1QRVJBVFVSRRCF",
- "NxImCiFESVNQRU5TRVJfN19NT1RPUl9PVkVSVEVNUEVSQVRVUkUQhjcSJgoh",
- "RElTUEVOU0VSXzhfTU9UT1JfT1ZFUlRFTVBFUkFUVVJFEIc3EhwKF0RJU1BF",
- "TlNFUl8xX01PVE9SX1NUQUxMEIg3EhwKF0RJU1BFTlNFUl8yX01PVE9SX1NU",
- "QUxMEIk3EhwKF0RJU1BFTlNFUl8zX01PVE9SX1NUQUxMEIo3EhwKF0RJU1BF",
- "TlNFUl80X01PVE9SX1NUQUxMEIs3EhwKF0RJU1BFTlNFUl81X01PVE9SX1NU",
- "QUxMEIw3EhwKF0RJU1BFTlNFUl82X01PVE9SX1NUQUxMEI03EhwKF0RJU1BF",
- "TlNFUl83X01PVE9SX1NUQUxMEI43EhwKF0RJU1BFTlNFUl84X01PVE9SX1NU",
- "QUxMEI83EiMKHkRJU1BFTlNFUl8xX01PVE9SX1VOREVSVk9MVEFHRRCQNxIj",
- "Ch5ESVNQRU5TRVJfMl9NT1RPUl9VTkRFUlZPTFRBR0UQkTcSIwoeRElTUEVO",
- "U0VSXzNfTU9UT1JfVU5ERVJWT0xUQUdFEJI3EiMKHkRJU1BFTlNFUl80X01P",
- "VE9SX1VOREVSVk9MVEFHRRCTNxIjCh5ESVNQRU5TRVJfNV9NT1RPUl9VTkRF",
- "UlZPTFRBR0UQlDcSIwoeRElTUEVOU0VSXzZfTU9UT1JfVU5ERVJWT0xUQUdF",
- "EJU3EiMKHkRJU1BFTlNFUl83X01PVE9SX1VOREVSVk9MVEFHRRCWNxIjCh5E",
- "SVNQRU5TRVJfOF9NT1RPUl9VTkRFUlZPTFRBR0UQlzcSIQocRElTUEVOU0VS",
- "XzFfVVBQRVJfSEFSRF9MSU1JVBCYNxIhChxESVNQRU5TRVJfMl9VUFBFUl9I",
- "QVJEX0xJTUlUEJk3EiEKHERJU1BFTlNFUl8zX1VQUEVSX0hBUkRfTElNSVQQ",
- "mjcSIQocRElTUEVOU0VSXzRfVVBQRVJfSEFSRF9MSU1JVBCbNxIhChxESVNQ",
- "RU5TRVJfNV9VUFBFUl9IQVJEX0xJTUlUEJw3EiEKHERJU1BFTlNFUl82X1VQ",
- "UEVSX0hBUkRfTElNSVQQnTcSIQocRElTUEVOU0VSXzdfVVBQRVJfSEFSRF9M",
- "SU1JVBCeNxIhChxESVNQRU5TRVJfOF9VUFBFUl9IQVJEX0xJTUlUEJ83EiEK",
- "HERJU1BFTlNFUl8xX0xPV0VSX0hBUkRfTElNSVQQoDcSIQocRElTUEVOU0VS",
- "XzJfTE9XRVJfSEFSRF9MSU1JVBChNxIhChxESVNQRU5TRVJfM19MT1dFUl9I",
- "QVJEX0xJTUlUEKI3EiEKHERJU1BFTlNFUl80X0xPV0VSX0hBUkRfTElNSVQQ",
- "ozcSIQocRElTUEVOU0VSXzVfTE9XRVJfSEFSRF9MSU1JVBCkNxIhChxESVNQ",
- "RU5TRVJfNl9MT1dFUl9IQVJEX0xJTUlUEKU3EiEKHERJU1BFTlNFUl83X0xP",
- "V0VSX0hBUkRfTElNSVQQpjcSIQocRElTUEVOU0VSXzhfTE9XRVJfSEFSRF9M",
- "SU1JVBCnNxIeChlESVNQRU5TRVJfMV9ISUdIX1BSRVNTVVJFEKg3Eh4KGURJ",
- "U1BFTlNFUl8yX0hJR0hfUFJFU1NVUkUQqTcSHgoZRElTUEVOU0VSXzNfSElH",
- "SF9QUkVTU1VSRRCqNxIeChlESVNQRU5TRVJfNF9ISUdIX1BSRVNTVVJFEKs3",
- "Eh4KGURJU1BFTlNFUl81X0hJR0hfUFJFU1NVUkUQrDcSHgoZRElTUEVOU0VS",
- "XzZfSElHSF9QUkVTU1VSRRCtNxIeChlESVNQRU5TRVJfN19ISUdIX1BSRVNT",
- "VVJFEK43Eh4KGURJU1BFTlNFUl84X0hJR0hfUFJFU1NVUkUQrzcSGQoUTUlE",
- "X1RBTktfMV9MT1dfTEVWRUwQwD4SGQoUTUlEX1RBTktfMl9MT1dfTEVWRUwQ",
- "wT4SGQoUTUlEX1RBTktfM19MT1dfTEVWRUwQwj4SGQoUTUlEX1RBTktfNF9M",
- "T1dfTEVWRUwQwz4SGQoUTUlEX1RBTktfNV9MT1dfTEVWRUwQxD4SGQoUTUlE",
- "X1RBTktfNl9MT1dfTEVWRUwQxT4SGQoUTUlEX1RBTktfN19MT1dfTEVWRUwQ",
- "xj4SGQoUTUlEX1RBTktfOF9MT1dfTEVWRUwQxz4SFQoQTUlEX1RBTktfMV9F",
- "TVBUWRDIPhIVChBNSURfVEFOS18yX0VNUFRZEMk+EhUKEE1JRF9UQU5LXzNf",
- "RU1QVFkQyj4SFQoQTUlEX1RBTktfNF9FTVBUWRDLPhIVChBNSURfVEFOS181",
- "X0VNUFRZEMw+EhUKEE1JRF9UQU5LXzZfRU1QVFkQzT4SFQoQTUlEX1RBTktf",
- "N19FTVBUWRDOPhIVChBNSURfVEFOS184X0VNUFRZEM8+EhgKE01JRF9UQU5L",
- "XzFfT1ZFUkZMT1cQ0D4SGAoTTUlEX1RBTktfMl9PVkVSRkxPVxDRPhIYChNN",
- "SURfVEFOS18zX09WRVJGTE9XENI+EhgKE01JRF9UQU5LXzRfT1ZFUkZMT1cQ",
- "0z4SGAoTTUlEX1RBTktfNV9PVkVSRkxPVxDUPhIYChNNSURfVEFOS182X09W",
- "RVJGTE9XENU+EhgKE01JRF9UQU5LXzdfT1ZFUkZMT1cQ1j4SGAoTTUlEX1RB",
- "TktfOF9PVkVSRkxPVxDXPhIcChdNSURfVEFOS18xX0ZJTExfVElNRU9VVBDY",
- "PhIcChdNSURfVEFOS18yX0ZJTExfVElNRU9VVBDZPhIcChdNSURfVEFOS18z",
- "X0ZJTExfVElNRU9VVBDaPhIcChdNSURfVEFOS180X0ZJTExfVElNRU9VVBDb",
- "PhIcChdNSURfVEFOS181X0ZJTExfVElNRU9VVBDcPhIcChdNSURfVEFOS182",
- "X0ZJTExfVElNRU9VVBDdPhIcChdNSURfVEFOS183X0ZJTExfVElNRU9VVBDe",
- "PhIcChdNSURfVEFOS184X0ZJTExfVElNRU9VVBDfPhIdChhBSVJfRklMVEVS",
- "X05PVF9JTlNUQUxMRUQQqEYSFwoSQUlSX0ZJTFRFUl9DTE9HR0VEEKlGEiUK",
- "IFdBU1RFX0NPTlRBSU5FUl9FTVBUWUlOR19USU1FT1VUEKpGEhQKD05PX0FJ",
- "Ul9QUkVTU1VSRRCrRhIdChhXQVNURV9DT05UQUlORVJfT1ZFUkZMT1cQrEYS",
- "GgoVVk9DX1NFTlNPUl9BTEFSTV9USU1FEK1GEhgKE0NISUxMRVJfRFJZX0NP",
- "TlRBQ1QQrkYSGgoVSU5TVUZGSUNJRU5UX0FJUl9GTE9XEK9GEhsKFlZPQ19T",
- "RU5TT1JfQUxBUk1fU0xPUEUQsEYSHQoYUFJFX0NPT0xFUl9GQU5fMV9TVE9Q",
- "UEVEELFGEh0KGFBSRV9DT09MRVJfRkFOXzJfU1RPUFBFRBCyRhIZChRDT09M",
- "RVJfRkFOXzFfU1RPUFBFRBCzRhIZChRDT09MRVJfRkFOXzJfU1RPUFBFRBC0",
- "RhIZChRDT09MRVJfRkFOXzNfU1RPUFBFRBC1RhIZChRDT09MRVJfRkFOXzRf",
- "U1RPUFBFRBC2RhIhChxQUkVfQ09PTEVSX0ZBTl8xX1JQTV9UT09fTE9XELdG",
- "EiEKHFBSRV9DT09MRVJfRkFOXzJfUlBNX1RPT19MT1cQuEYSHQoYQ09PTEVS",
- "X0ZBTl8xX1JQTV9UT09fTE9XELlGEh0KGENPT0xFUl9GQU5fMl9SUE1fVE9P",
- "X0xPVxC6RhIdChhDT09MRVJfRkFOXzNfUlBNX1RPT19MT1cQu0YSHQoYQ09P",
- "TEVSX0ZBTl80X1JQTV9UT09fTE9XELxGEiAKG0NPT0xFUl9URU1QRVJBVFVS",
- "RV9UT09fSElHSBC9RhIfChpDT09MRVJfVEVNUEVSQVRVUkVfVE9PX0xPVxC+",
- "RhIqCiVJTktfQ0FSVFJJREdFX1BSRVNFTkNFX1NFTlNPUl9USU1FT1VUEJBO",
- "Eh8KGklOS19DQVJUUklER0VfUkZJRF9USU1FT1VUEJFOEiEKHE5PX1dBU1RF",
- "X0NBUlRSSURHRV9BVkFJTEFCTEUQkk4SHgoZQUxMX1dBU1RFX0NBUlRSSURH",
- "RVNfRlVMTBCTThIsCidXQVNURV9DQVJUUklER0VfUFJFU0VOQ0VfU0VOU09S",
- "X1RJTUVPVVQQlE4SIQocV0FTVEVfQ0FSVFJJREdFX1JGSURfVElNRU9VVBCV",
- "ThIqCiVJTktfQ0FSVFJJREdFX1JGSURfVEFHX0NBTk5PVF9CRV9SRUFEEJZO",
- "EiwKJ1dBU1RFX0NBUlRSSURHRV9SRklEX1RBR19DQU5OT1RfQkVfUkVBRBCX",
- "ThIoCiNJTktfQ0FSVFJJREdFX1JGSURfVEFHX0lTX05PVF9WQUxJRBCYThIq",
- "CiVXQVNURV9DQVJUUklER0VfUkZJRF9UQUdfSVNfTk9UX1ZBTElEEJlOEigK",
- "I0lOS19DQVJUUklER0VfQVVUSEVOVElDQVRJT05fRkFJTEVEEJpOEioKJVdB",
- "U1RFX0NBUlRSSURHRV9BVVRIRU5USUNBVElPTl9GQUlMRUQQm04SHQoYSU5L",
- "X0NBUlRSSURHRV9JU19CTE9DS0VEEJxOEh8KGldBU1RFX0NBUlRSSURHRV9J",
- "U19CTE9DS0VEEJ1OEi0KKElOS19DQVJUUklER0VfUkZJRF9UQUdfQ0FOTk9U",
- "X0JFX1VQREFURUQQnk4SLwoqV0FTVEVfQ0FSVFJJREdFX1JGSURfVEFHX0NB",
- "Tk5PVF9CRV9VUERBVEVEEJ9OEiAKG0lOS19JTl9DQVJUUklER0VfSVNfRVhQ",
- "SVJFRBCgTkIhCh9jb20udHdpbmUudGFuZ28ucG1yLmRpYWdub3N0aWNzYgZw",
- "cm90bzM="));
+ "RU4Q6ScSIwoeRFlFSU5HX0hFQURfVFVOTkVMX0xJRF9JU19PUEVOEOonEh4K",
+ "GURZRUlOR19IRUFEX0NPVkVSX0lTX09QRU4Q6ycSGgoVTUlYRVJfT1ZFUlRF",
+ "TVBFUkFUVVJFEPAuEh0KGE1JWEVSX1VOREVSVEVNUEVSQVRVUkVfQRDxLhId",
+ "ChhNSVhFUl9VTkRFUlRFTVBFUkFUVVJFX0IQ8i4SGQoUTUlYRVJfVEhFUk1B",
+ "TF9DVVRPRkYQ8y4SHwoaTUlYRVJfQ1VSUkVOVF9PVVRfT0ZfUkFOR0UQ9C4S",
+ "HQoYTUlYRVJfQ1VSUkVOVF9MT09QX0JSRUFLEPUuEh0KGERJU1BFTlNFUl8x",
+ "X09WRVJQUkVTU1VSRRDYNhIdChhESVNQRU5TRVJfMl9PVkVSUFJFU1NVUkUQ",
+ "2TYSHQoYRElTUEVOU0VSXzNfT1ZFUlBSRVNTVVJFENo2Eh0KGERJU1BFTlNF",
+ "Ul80X09WRVJQUkVTU1VSRRDbNhIdChhESVNQRU5TRVJfNV9PVkVSUFJFU1NV",
+ "UkUQ3DYSHQoYRElTUEVOU0VSXzZfT1ZFUlBSRVNTVVJFEN02Eh0KGERJU1BF",
+ "TlNFUl83X09WRVJQUkVTU1VSRRDeNhIdChhESVNQRU5TRVJfOF9PVkVSUFJF",
+ "U1NVUkUQ3zYSHgoZRElTUEVOU0VSXzFfVU5ERVJQUkVTU1VSRRDgNhIeChlE",
+ "SVNQRU5TRVJfMl9VTkRFUlBSRVNTVVJFEOE2Eh4KGURJU1BFTlNFUl8zX1VO",
+ "REVSUFJFU1NVUkUQ4jYSHgoZRElTUEVOU0VSXzRfVU5ERVJQUkVTU1VSRRDj",
+ "NhIeChlESVNQRU5TRVJfNV9VTkRFUlBSRVNTVVJFEOQ2Eh4KGURJU1BFTlNF",
+ "Ul82X1VOREVSUFJFU1NVUkUQ5TYSHgoZRElTUEVOU0VSXzdfVU5ERVJQUkVT",
+ "U1VSRRDmNhIeChlESVNQRU5TRVJfOF9VTkRFUlBSRVNTVVJFEOc2EhYKEURJ",
+ "U1BFTlNFUl8xX0VNUFRZEOg2EhYKEURJU1BFTlNFUl8yX0VNUFRZEOk2EhYK",
+ "EURJU1BFTlNFUl8zX0VNUFRZEOo2EhYKEURJU1BFTlNFUl80X0VNUFRZEOs2",
+ "EhYKEURJU1BFTlNFUl81X0VNUFRZEOw2EhYKEURJU1BFTlNFUl82X0VNUFRZ",
+ "EO02EhYKEURJU1BFTlNFUl83X0VNUFRZEO42EhYKEURJU1BFTlNFUl84X0VN",
+ "UFRZEO82Eh8KGkRJU1BFTlNFUl8xX1JFRklMTF9GQUlMVVJFEPA2Eh8KGkRJ",
+ "U1BFTlNFUl8yX1JFRklMTF9GQUlMVVJFEPE2Eh8KGkRJU1BFTlNFUl8zX1JF",
+ "RklMTF9GQUlMVVJFEPI2Eh8KGkRJU1BFTlNFUl80X1JFRklMTF9GQUlMVVJF",
+ "EPM2Eh8KGkRJU1BFTlNFUl81X1JFRklMTF9GQUlMVVJFEPQ2Eh8KGkRJU1BF",
+ "TlNFUl82X1JFRklMTF9GQUlMVVJFEPU2Eh8KGkRJU1BFTlNFUl83X1JFRklM",
+ "TF9GQUlMVVJFEPY2Eh8KGkRJU1BFTlNFUl84X1JFRklMTF9GQUlMVVJFEPc2",
+ "EiIKHURJU1BFTlNFUl8xX01PVE9SX09WRVJDVVJSRU5UEPg2EiIKHURJU1BF",
+ "TlNFUl8yX01PVE9SX09WRVJDVVJSRU5UEPk2EiIKHURJU1BFTlNFUl8zX01P",
+ "VE9SX09WRVJDVVJSRU5UEPo2EiIKHURJU1BFTlNFUl80X01PVE9SX09WRVJD",
+ "VVJSRU5UEPs2EiIKHURJU1BFTlNFUl81X01PVE9SX09WRVJDVVJSRU5UEPw2",
+ "EiIKHURJU1BFTlNFUl82X01PVE9SX09WRVJDVVJSRU5UEP02EiIKHURJU1BF",
+ "TlNFUl83X01PVE9SX09WRVJDVVJSRU5UEP42EiIKHURJU1BFTlNFUl84X01P",
+ "VE9SX09WRVJDVVJSRU5UEP82EiYKIURJU1BFTlNFUl8xX01PVE9SX09WRVJU",
+ "RU1QRVJBVFVSRRCANxImCiFESVNQRU5TRVJfMl9NT1RPUl9PVkVSVEVNUEVS",
+ "QVRVUkUQgTcSJgohRElTUEVOU0VSXzNfTU9UT1JfT1ZFUlRFTVBFUkFUVVJF",
+ "EII3EiYKIURJU1BFTlNFUl80X01PVE9SX09WRVJURU1QRVJBVFVSRRCDNxIm",
+ "CiFESVNQRU5TRVJfNV9NT1RPUl9PVkVSVEVNUEVSQVRVUkUQhDcSJgohRElT",
+ "UEVOU0VSXzZfTU9UT1JfT1ZFUlRFTVBFUkFUVVJFEIU3EiYKIURJU1BFTlNF",
+ "Ul83X01PVE9SX09WRVJURU1QRVJBVFVSRRCGNxImCiFESVNQRU5TRVJfOF9N",
+ "T1RPUl9PVkVSVEVNUEVSQVRVUkUQhzcSHAoXRElTUEVOU0VSXzFfTU9UT1Jf",
+ "U1RBTEwQiDcSHAoXRElTUEVOU0VSXzJfTU9UT1JfU1RBTEwQiTcSHAoXRElT",
+ "UEVOU0VSXzNfTU9UT1JfU1RBTEwQijcSHAoXRElTUEVOU0VSXzRfTU9UT1Jf",
+ "U1RBTEwQizcSHAoXRElTUEVOU0VSXzVfTU9UT1JfU1RBTEwQjDcSHAoXRElT",
+ "UEVOU0VSXzZfTU9UT1JfU1RBTEwQjTcSHAoXRElTUEVOU0VSXzdfTU9UT1Jf",
+ "U1RBTEwQjjcSHAoXRElTUEVOU0VSXzhfTU9UT1JfU1RBTEwQjzcSIwoeRElT",
+ "UEVOU0VSXzFfTU9UT1JfVU5ERVJWT0xUQUdFEJA3EiMKHkRJU1BFTlNFUl8y",
+ "X01PVE9SX1VOREVSVk9MVEFHRRCRNxIjCh5ESVNQRU5TRVJfM19NT1RPUl9V",
+ "TkRFUlZPTFRBR0UQkjcSIwoeRElTUEVOU0VSXzRfTU9UT1JfVU5ERVJWT0xU",
+ "QUdFEJM3EiMKHkRJU1BFTlNFUl81X01PVE9SX1VOREVSVk9MVEFHRRCUNxIj",
+ "Ch5ESVNQRU5TRVJfNl9NT1RPUl9VTkRFUlZPTFRBR0UQlTcSIwoeRElTUEVO",
+ "U0VSXzdfTU9UT1JfVU5ERVJWT0xUQUdFEJY3EiMKHkRJU1BFTlNFUl84X01P",
+ "VE9SX1VOREVSVk9MVEFHRRCXNxIhChxESVNQRU5TRVJfMV9VUFBFUl9IQVJE",
+ "X0xJTUlUEJg3EiEKHERJU1BFTlNFUl8yX1VQUEVSX0hBUkRfTElNSVQQmTcS",
+ "IQocRElTUEVOU0VSXzNfVVBQRVJfSEFSRF9MSU1JVBCaNxIhChxESVNQRU5T",
+ "RVJfNF9VUFBFUl9IQVJEX0xJTUlUEJs3EiEKHERJU1BFTlNFUl81X1VQUEVS",
+ "X0hBUkRfTElNSVQQnDcSIQocRElTUEVOU0VSXzZfVVBQRVJfSEFSRF9MSU1J",
+ "VBCdNxIhChxESVNQRU5TRVJfN19VUFBFUl9IQVJEX0xJTUlUEJ43EiEKHERJ",
+ "U1BFTlNFUl84X1VQUEVSX0hBUkRfTElNSVQQnzcSIQocRElTUEVOU0VSXzFf",
+ "TE9XRVJfSEFSRF9MSU1JVBCgNxIhChxESVNQRU5TRVJfMl9MT1dFUl9IQVJE",
+ "X0xJTUlUEKE3EiEKHERJU1BFTlNFUl8zX0xPV0VSX0hBUkRfTElNSVQQojcS",
+ "IQocRElTUEVOU0VSXzRfTE9XRVJfSEFSRF9MSU1JVBCjNxIhChxESVNQRU5T",
+ "RVJfNV9MT1dFUl9IQVJEX0xJTUlUEKQ3EiEKHERJU1BFTlNFUl82X0xPV0VS",
+ "X0hBUkRfTElNSVQQpTcSIQocRElTUEVOU0VSXzdfTE9XRVJfSEFSRF9MSU1J",
+ "VBCmNxIhChxESVNQRU5TRVJfOF9MT1dFUl9IQVJEX0xJTUlUEKc3Eh4KGURJ",
+ "U1BFTlNFUl8xX0hJR0hfUFJFU1NVUkUQqDcSHgoZRElTUEVOU0VSXzJfSElH",
+ "SF9QUkVTU1VSRRCpNxIeChlESVNQRU5TRVJfM19ISUdIX1BSRVNTVVJFEKo3",
+ "Eh4KGURJU1BFTlNFUl80X0hJR0hfUFJFU1NVUkUQqzcSHgoZRElTUEVOU0VS",
+ "XzVfSElHSF9QUkVTU1VSRRCsNxIeChlESVNQRU5TRVJfNl9ISUdIX1BSRVNT",
+ "VVJFEK03Eh4KGURJU1BFTlNFUl83X0hJR0hfUFJFU1NVUkUQrjcSHgoZRElT",
+ "UEVOU0VSXzhfSElHSF9QUkVTU1VSRRCvNxIZChRNSURfVEFOS18xX0xPV19M",
+ "RVZFTBDAPhIZChRNSURfVEFOS18yX0xPV19MRVZFTBDBPhIZChRNSURfVEFO",
+ "S18zX0xPV19MRVZFTBDCPhIZChRNSURfVEFOS180X0xPV19MRVZFTBDDPhIZ",
+ "ChRNSURfVEFOS181X0xPV19MRVZFTBDEPhIZChRNSURfVEFOS182X0xPV19M",
+ "RVZFTBDFPhIZChRNSURfVEFOS183X0xPV19MRVZFTBDGPhIZChRNSURfVEFO",
+ "S184X0xPV19MRVZFTBDHPhIVChBNSURfVEFOS18xX0VNUFRZEMg+EhUKEE1J",
+ "RF9UQU5LXzJfRU1QVFkQyT4SFQoQTUlEX1RBTktfM19FTVBUWRDKPhIVChBN",
+ "SURfVEFOS180X0VNUFRZEMs+EhUKEE1JRF9UQU5LXzVfRU1QVFkQzD4SFQoQ",
+ "TUlEX1RBTktfNl9FTVBUWRDNPhIVChBNSURfVEFOS183X0VNUFRZEM4+EhUK",
+ "EE1JRF9UQU5LXzhfRU1QVFkQzz4SGAoTTUlEX1RBTktfMV9PVkVSRkxPVxDQ",
+ "PhIYChNNSURfVEFOS18yX09WRVJGTE9XENE+EhgKE01JRF9UQU5LXzNfT1ZF",
+ "UkZMT1cQ0j4SGAoTTUlEX1RBTktfNF9PVkVSRkxPVxDTPhIYChNNSURfVEFO",
+ "S181X09WRVJGTE9XENQ+EhgKE01JRF9UQU5LXzZfT1ZFUkZMT1cQ1T4SGAoT",
+ "TUlEX1RBTktfN19PVkVSRkxPVxDWPhIYChNNSURfVEFOS184X09WRVJGTE9X",
+ "ENc+EhwKF01JRF9UQU5LXzFfRklMTF9USU1FT1VUENg+EhwKF01JRF9UQU5L",
+ "XzJfRklMTF9USU1FT1VUENk+EhwKF01JRF9UQU5LXzNfRklMTF9USU1FT1VU",
+ "ENo+EhwKF01JRF9UQU5LXzRfRklMTF9USU1FT1VUENs+EhwKF01JRF9UQU5L",
+ "XzVfRklMTF9USU1FT1VUENw+EhwKF01JRF9UQU5LXzZfRklMTF9USU1FT1VU",
+ "EN0+EhwKF01JRF9UQU5LXzdfRklMTF9USU1FT1VUEN4+EhwKF01JRF9UQU5L",
+ "XzhfRklMTF9USU1FT1VUEN8+Eh0KGEFJUl9GSUxURVJfTk9UX0lOU1RBTExF",
+ "RBCoRhIXChJBSVJfRklMVEVSX0NMT0dHRUQQqUYSJQogV0FTVEVfQ09OVEFJ",
+ "TkVSX0VNUFRZSU5HX1RJTUVPVVQQqkYSFAoPTk9fQUlSX1BSRVNTVVJFEKtG",
+ "Eh0KGFdBU1RFX0NPTlRBSU5FUl9PVkVSRkxPVxCsRhIaChVWT0NfU0VOU09S",
+ "X0FMQVJNX1RJTUUQrUYSGAoTQ0hJTExFUl9EUllfQ09OVEFDVBCuRhIaChVJ",
+ "TlNVRkZJQ0lFTlRfQUlSX0ZMT1cQr0YSGwoWVk9DX1NFTlNPUl9BTEFSTV9T",
+ "TE9QRRCwRhIdChhQUkVfQ09PTEVSX0ZBTl8xX1NUT1BQRUQQsUYSHQoYUFJF",
+ "X0NPT0xFUl9GQU5fMl9TVE9QUEVEELJGEhkKFENPT0xFUl9GQU5fMV9TVE9Q",
+ "UEVEELNGEhkKFENPT0xFUl9GQU5fMl9TVE9QUEVEELRGEhkKFENPT0xFUl9G",
+ "QU5fM19TVE9QUEVEELVGEhkKFENPT0xFUl9GQU5fNF9TVE9QUEVEELZGEiEK",
+ "HFBSRV9DT09MRVJfRkFOXzFfUlBNX1RPT19MT1cQt0YSIQocUFJFX0NPT0xF",
+ "Ul9GQU5fMl9SUE1fVE9PX0xPVxC4RhIdChhDT09MRVJfRkFOXzFfUlBNX1RP",
+ "T19MT1cQuUYSHQoYQ09PTEVSX0ZBTl8yX1JQTV9UT09fTE9XELpGEh0KGENP",
+ "T0xFUl9GQU5fM19SUE1fVE9PX0xPVxC7RhIdChhDT09MRVJfRkFOXzRfUlBN",
+ "X1RPT19MT1cQvEYSIAobQ09PTEVSX1RFTVBFUkFUVVJFX1RPT19ISUdIEL1G",
+ "Eh8KGkNPT0xFUl9URU1QRVJBVFVSRV9UT09fTE9XEL5GEioKJUlOS19DQVJU",
+ "UklER0VfUFJFU0VOQ0VfU0VOU09SX1RJTUVPVVQQkE4SHwoaSU5LX0NBUlRS",
+ "SURHRV9SRklEX1RJTUVPVVQQkU4SIQocTk9fV0FTVEVfQ0FSVFJJREdFX0FW",
+ "QUlMQUJMRRCSThIeChlBTExfV0FTVEVfQ0FSVFJJREdFU19GVUxMEJNOEiwK",
+ "J1dBU1RFX0NBUlRSSURHRV9QUkVTRU5DRV9TRU5TT1JfVElNRU9VVBCUThIh",
+ "ChxXQVNURV9DQVJUUklER0VfUkZJRF9USU1FT1VUEJVOEioKJUlOS19DQVJU",
+ "UklER0VfUkZJRF9UQUdfQ0FOTk9UX0JFX1JFQUQQlk4SLAonV0FTVEVfQ0FS",
+ "VFJJREdFX1JGSURfVEFHX0NBTk5PVF9CRV9SRUFEEJdOEigKI0lOS19DQVJU",
+ "UklER0VfUkZJRF9UQUdfSVNfTk9UX1ZBTElEEJhOEioKJVdBU1RFX0NBUlRS",
+ "SURHRV9SRklEX1RBR19JU19OT1RfVkFMSUQQmU4SKAojSU5LX0NBUlRSSURH",
+ "RV9BVVRIRU5USUNBVElPTl9GQUlMRUQQmk4SKgolV0FTVEVfQ0FSVFJJREdF",
+ "X0FVVEhFTlRJQ0FUSU9OX0ZBSUxFRBCbThIdChhJTktfQ0FSVFJJREdFX0lT",
+ "X0JMT0NLRUQQnE4SHwoaV0FTVEVfQ0FSVFJJREdFX0lTX0JMT0NLRUQQnU4S",
+ "LQooSU5LX0NBUlRSSURHRV9SRklEX1RBR19DQU5OT1RfQkVfVVBEQVRFRBCe",
+ "ThIvCipXQVNURV9DQVJUUklER0VfUkZJRF9UQUdfQ0FOTk9UX0JFX1VQREFU",
+ "RUQQn04SIAobSU5LX0lOX0NBUlRSSURHRV9JU19FWFBJUkVEEKBOQiEKH2Nv",
+ "bS50d2luZS50YW5nby5wbXIuZGlhZ25vc3RpY3NiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Diagnostics.EventType), }, null));
@@ -1184,6 +1184,10 @@ namespace Tango.PMR.Diagnostics {
/// </summary>
[pbr::OriginalName("DYEING_HEAD_TUNNEL_LID_IS_OPEN")] DyeingHeadTunnelLidIsOpen = 5098,
/// <summary>
+ ///Dyeing head cover is open. Cannot execute job (Group = DyeingHead, Category = Warning)
+ /// </summary>
+ [pbr::OriginalName("DYEING_HEAD_COVER_IS_OPEN")] DyeingHeadCoverIsOpen = 5099,
+ /// <summary>
///The temperature in the mixer is too high. Cannot execute job (Group = Mixer, Category = Error)
/// </summary>
[pbr::OriginalName("MIXER_OVERTEMPERATURE")] MixerOvertemperature = 6000,
diff --git a/Software/Visual_Studio/Tango.PMR/Hardware/HardwareDancerType.cs b/Software/Visual_Studio/Tango.PMR/Hardware/HardwareDancerType.cs
index f9273789e..7d2bdd014 100644
--- a/Software/Visual_Studio/Tango.PMR/Hardware/HardwareDancerType.cs
+++ b/Software/Visual_Studio/Tango.PMR/Hardware/HardwareDancerType.cs
@@ -23,9 +23,10 @@ namespace Tango.PMR.Hardware {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChhIYXJkd2FyZURhbmNlclR5cGUucHJvdG8SElRhbmdvLlBNUi5IYXJkd2Fy",
- "ZSpHChJIYXJkd2FyZURhbmNlclR5cGUSDgoKTGVmdERhbmNlchAAEhAKDE1p",
- "ZGRsZURhbmNlchABEg8KC1JpZ2h0RGFuY2VyEAJCHgocY29tLnR3aW5lLnRh",
- "bmdvLnBtci5oYXJkd2FyZWIGcHJvdG8z"));
+ "ZSpqChJIYXJkd2FyZURhbmNlclR5cGUSDgoKTGVmdERhbmNlchAAEhAKDE1p",
+ "ZGRsZURhbmNlchABEg8KC1JpZ2h0RGFuY2VyEAISDwoLVGhpcmREYW5jZXIQ",
+ "AxIQCgxGb3VydGhEYW5jZXIQBEIeChxjb20udHdpbmUudGFuZ28ucG1yLmhh",
+ "cmR3YXJlYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Hardware.HardwareDancerType), }, null));
@@ -47,6 +48,14 @@ namespace Tango.PMR.Hardware {
///Right Dancer
/// </summary>
[pbr::OriginalName("RightDancer")] RightDancer = 2,
+ /// <summary>
+ ///Third Dancer
+ /// </summary>
+ [pbr::OriginalName("ThirdDancer")] ThirdDancer = 3,
+ /// <summary>
+ ///Fourth Dancer
+ /// </summary>
+ [pbr::OriginalName("FourthDancer")] FourthDancer = 4,
}
#endregion
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs
index 771aaf4f0..0070fbe33 100644
--- a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs
@@ -22,15 +22,14 @@ namespace Tango.PMR.Stubs {
static ProcedureRequestReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "ChZQcm9jZWR1cmVSZXF1ZXN0LnByb3RvEg9UYW5nby5QTVIuU3R1YnMicQoQ",
+ "ChZQcm9jZWR1cmVSZXF1ZXN0LnByb3RvEg9UYW5nby5QTVIuU3R1YnMiUgoQ",
"UHJvY2VkdXJlUmVxdWVzdBIMCgRUeXBlGAEgASgFEg8KB1RpbWVvdXQYAiAB",
- "KAUSDgoGUGFyYW0xGAMgASgCEg4KBlBhcmFtMhgEIAEoAhIOCgZQYXJhbTMY",
- "BSABKAISDgoGUGFyYW00GAYgASgCQhsKGWNvbS50d2luZS50YW5nby5wbXIu",
- "c3R1YnNiBnByb3RvMw=="));
+ "KAUSEAoIVGVzdE5hbWUYAyABKAkSDQoFUGFyYW0YBCADKAJCGwoZY29tLnR3",
+ "aW5lLnRhbmdvLnBtci5zdHVic2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureRequest), global::Tango.PMR.Stubs.ProcedureRequest.Parser, new[]{ "Type", "Timeout", "Param1", "Param2", "Param3", "Param4" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureRequest), global::Tango.PMR.Stubs.ProcedureRequest.Parser, new[]{ "Type", "Timeout", "TestName", "Param" }, null, null, null)
}));
}
#endregion
@@ -63,10 +62,8 @@ namespace Tango.PMR.Stubs {
public ProcedureRequest(ProcedureRequest other) : this() {
type_ = other.type_;
timeout_ = other.timeout_;
- param1_ = other.param1_;
- param2_ = other.param2_;
- param3_ = other.param3_;
- param4_ = other.param4_;
+ testName_ = other.testName_;
+ param_ = other.param_.Clone();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -96,48 +93,25 @@ namespace Tango.PMR.Stubs {
}
}
- /// <summary>Field number for the "Param1" field.</summary>
- public const int Param1FieldNumber = 3;
- private float param1_;
+ /// <summary>Field number for the "TestName" field.</summary>
+ public const int TestNameFieldNumber = 3;
+ private string testName_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float Param1 {
- get { return param1_; }
+ public string TestName {
+ get { return testName_; }
set {
- param1_ = value;
+ testName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
- /// <summary>Field number for the "Param2" field.</summary>
- public const int Param2FieldNumber = 4;
- private float param2_;
+ /// <summary>Field number for the "Param" field.</summary>
+ public const int ParamFieldNumber = 4;
+ private static readonly pb::FieldCodec<float> _repeated_param_codec
+ = pb::FieldCodec.ForFloat(34);
+ private readonly pbc::RepeatedField<float> param_ = new pbc::RepeatedField<float>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float Param2 {
- get { return param2_; }
- set {
- param2_ = value;
- }
- }
-
- /// <summary>Field number for the "Param3" field.</summary>
- public const int Param3FieldNumber = 5;
- private float param3_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float Param3 {
- get { return param3_; }
- set {
- param3_ = value;
- }
- }
-
- /// <summary>Field number for the "Param4" field.</summary>
- public const int Param4FieldNumber = 6;
- private float param4_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float Param4 {
- get { return param4_; }
- set {
- param4_ = value;
- }
+ public pbc::RepeatedField<float> Param {
+ get { return param_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -155,10 +129,8 @@ namespace Tango.PMR.Stubs {
}
if (Type != other.Type) return false;
if (Timeout != other.Timeout) return false;
- if (Param1 != other.Param1) return false;
- if (Param2 != other.Param2) return false;
- if (Param3 != other.Param3) return false;
- if (Param4 != other.Param4) return false;
+ if (TestName != other.TestName) return false;
+ if(!param_.Equals(other.param_)) return false;
return true;
}
@@ -167,10 +139,8 @@ namespace Tango.PMR.Stubs {
int hash = 1;
if (Type != 0) hash ^= Type.GetHashCode();
if (Timeout != 0) hash ^= Timeout.GetHashCode();
- if (Param1 != 0F) hash ^= Param1.GetHashCode();
- if (Param2 != 0F) hash ^= Param2.GetHashCode();
- if (Param3 != 0F) hash ^= Param3.GetHashCode();
- if (Param4 != 0F) hash ^= Param4.GetHashCode();
+ if (TestName.Length != 0) hash ^= TestName.GetHashCode();
+ hash ^= param_.GetHashCode();
return hash;
}
@@ -189,22 +159,11 @@ namespace Tango.PMR.Stubs {
output.WriteRawTag(16);
output.WriteInt32(Timeout);
}
- if (Param1 != 0F) {
- output.WriteRawTag(29);
- output.WriteFloat(Param1);
- }
- if (Param2 != 0F) {
- output.WriteRawTag(37);
- output.WriteFloat(Param2);
- }
- if (Param3 != 0F) {
- output.WriteRawTag(45);
- output.WriteFloat(Param3);
- }
- if (Param4 != 0F) {
- output.WriteRawTag(53);
- output.WriteFloat(Param4);
+ if (TestName.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(TestName);
}
+ param_.WriteTo(output, _repeated_param_codec);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -216,18 +175,10 @@ namespace Tango.PMR.Stubs {
if (Timeout != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Timeout);
}
- if (Param1 != 0F) {
- size += 1 + 4;
- }
- if (Param2 != 0F) {
- size += 1 + 4;
- }
- if (Param3 != 0F) {
- size += 1 + 4;
- }
- if (Param4 != 0F) {
- size += 1 + 4;
+ if (TestName.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(TestName);
}
+ size += param_.CalculateSize(_repeated_param_codec);
return size;
}
@@ -242,18 +193,10 @@ namespace Tango.PMR.Stubs {
if (other.Timeout != 0) {
Timeout = other.Timeout;
}
- if (other.Param1 != 0F) {
- Param1 = other.Param1;
- }
- if (other.Param2 != 0F) {
- Param2 = other.Param2;
- }
- if (other.Param3 != 0F) {
- Param3 = other.Param3;
- }
- if (other.Param4 != 0F) {
- Param4 = other.Param4;
+ if (other.TestName.Length != 0) {
+ TestName = other.TestName;
}
+ param_.Add(other.param_);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -272,20 +215,13 @@ namespace Tango.PMR.Stubs {
Timeout = input.ReadInt32();
break;
}
- case 29: {
- Param1 = input.ReadFloat();
+ case 26: {
+ TestName = input.ReadString();
break;
}
+ case 34:
case 37: {
- Param2 = input.ReadFloat();
- break;
- }
- case 45: {
- Param3 = input.ReadFloat();
- break;
- }
- case 53: {
- Param4 = input.ReadFloat();
+ param_.AddEntriesFrom(input, _repeated_param_codec);
break;
}
}
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs
index afbad9a4d..85c14a6a1 100644
--- a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs
@@ -22,15 +22,14 @@ namespace Tango.PMR.Stubs {
static ProcedureResponseReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "ChdQcm9jZWR1cmVSZXNwb25zZS5wcm90bxIPVGFuZ28uUE1SLlN0dWJzIm4K",
+ "ChdQcm9jZWR1cmVSZXNwb25zZS5wcm90bxIPVGFuZ28uUE1SLlN0dWJzIlkK",
"EVByb2NlZHVyZVJlc3BvbnNlEgwKBFR5cGUYASABKAUSDAoEVGltZRgCIAEo",
- "BRITCgtSZXBseVZhbHVlMRgDIAEoAhITCgtSZXBseVZhbHVlMhgEIAEoAhIT",
- "CgtSZXBseVZhbHVlMxgFIAEoAkIbChljb20udHdpbmUudGFuZ28ucG1yLnN0",
- "dWJzYgZwcm90bzM="));
+ "BRIUCgxSZXBseU1lc3NhZ2UYAyABKAkSEgoKUmVwbHlWYWx1ZRgEIAMoAkIb",
+ "Chljb20udHdpbmUudGFuZ28ucG1yLnN0dWJzYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureResponse), global::Tango.PMR.Stubs.ProcedureResponse.Parser, new[]{ "Type", "Time", "ReplyValue1", "ReplyValue2", "ReplyValue3" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureResponse), global::Tango.PMR.Stubs.ProcedureResponse.Parser, new[]{ "Type", "Time", "ReplyMessage", "ReplyValue" }, null, null, null)
}));
}
#endregion
@@ -63,9 +62,8 @@ namespace Tango.PMR.Stubs {
public ProcedureResponse(ProcedureResponse other) : this() {
type_ = other.type_;
time_ = other.time_;
- replyValue1_ = other.replyValue1_;
- replyValue2_ = other.replyValue2_;
- replyValue3_ = other.replyValue3_;
+ replyMessage_ = other.replyMessage_;
+ replyValue_ = other.replyValue_.Clone();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -95,37 +93,25 @@ namespace Tango.PMR.Stubs {
}
}
- /// <summary>Field number for the "ReplyValue1" field.</summary>
- public const int ReplyValue1FieldNumber = 3;
- private float replyValue1_;
+ /// <summary>Field number for the "ReplyMessage" field.</summary>
+ public const int ReplyMessageFieldNumber = 3;
+ private string replyMessage_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float ReplyValue1 {
- get { return replyValue1_; }
+ public string ReplyMessage {
+ get { return replyMessage_; }
set {
- replyValue1_ = value;
+ replyMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
- /// <summary>Field number for the "ReplyValue2" field.</summary>
- public const int ReplyValue2FieldNumber = 4;
- private float replyValue2_;
+ /// <summary>Field number for the "ReplyValue" field.</summary>
+ public const int ReplyValueFieldNumber = 4;
+ private static readonly pb::FieldCodec<float> _repeated_replyValue_codec
+ = pb::FieldCodec.ForFloat(34);
+ private readonly pbc::RepeatedField<float> replyValue_ = new pbc::RepeatedField<float>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float ReplyValue2 {
- get { return replyValue2_; }
- set {
- replyValue2_ = value;
- }
- }
-
- /// <summary>Field number for the "ReplyValue3" field.</summary>
- public const int ReplyValue3FieldNumber = 5;
- private float replyValue3_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public float ReplyValue3 {
- get { return replyValue3_; }
- set {
- replyValue3_ = value;
- }
+ public pbc::RepeatedField<float> ReplyValue {
+ get { return replyValue_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -143,9 +129,8 @@ namespace Tango.PMR.Stubs {
}
if (Type != other.Type) return false;
if (Time != other.Time) return false;
- if (ReplyValue1 != other.ReplyValue1) return false;
- if (ReplyValue2 != other.ReplyValue2) return false;
- if (ReplyValue3 != other.ReplyValue3) return false;
+ if (ReplyMessage != other.ReplyMessage) return false;
+ if(!replyValue_.Equals(other.replyValue_)) return false;
return true;
}
@@ -154,9 +139,8 @@ namespace Tango.PMR.Stubs {
int hash = 1;
if (Type != 0) hash ^= Type.GetHashCode();
if (Time != 0) hash ^= Time.GetHashCode();
- if (ReplyValue1 != 0F) hash ^= ReplyValue1.GetHashCode();
- if (ReplyValue2 != 0F) hash ^= ReplyValue2.GetHashCode();
- if (ReplyValue3 != 0F) hash ^= ReplyValue3.GetHashCode();
+ if (ReplyMessage.Length != 0) hash ^= ReplyMessage.GetHashCode();
+ hash ^= replyValue_.GetHashCode();
return hash;
}
@@ -175,18 +159,11 @@ namespace Tango.PMR.Stubs {
output.WriteRawTag(16);
output.WriteInt32(Time);
}
- if (ReplyValue1 != 0F) {
- output.WriteRawTag(29);
- output.WriteFloat(ReplyValue1);
- }
- if (ReplyValue2 != 0F) {
- output.WriteRawTag(37);
- output.WriteFloat(ReplyValue2);
- }
- if (ReplyValue3 != 0F) {
- output.WriteRawTag(45);
- output.WriteFloat(ReplyValue3);
+ if (ReplyMessage.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(ReplyMessage);
}
+ replyValue_.WriteTo(output, _repeated_replyValue_codec);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -198,15 +175,10 @@ namespace Tango.PMR.Stubs {
if (Time != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Time);
}
- if (ReplyValue1 != 0F) {
- size += 1 + 4;
- }
- if (ReplyValue2 != 0F) {
- size += 1 + 4;
- }
- if (ReplyValue3 != 0F) {
- size += 1 + 4;
+ if (ReplyMessage.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(ReplyMessage);
}
+ size += replyValue_.CalculateSize(_repeated_replyValue_codec);
return size;
}
@@ -221,15 +193,10 @@ namespace Tango.PMR.Stubs {
if (other.Time != 0) {
Time = other.Time;
}
- if (other.ReplyValue1 != 0F) {
- ReplyValue1 = other.ReplyValue1;
- }
- if (other.ReplyValue2 != 0F) {
- ReplyValue2 = other.ReplyValue2;
- }
- if (other.ReplyValue3 != 0F) {
- ReplyValue3 = other.ReplyValue3;
+ if (other.ReplyMessage.Length != 0) {
+ ReplyMessage = other.ReplyMessage;
}
+ replyValue_.Add(other.replyValue_);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -248,16 +215,13 @@ namespace Tango.PMR.Stubs {
Time = input.ReadInt32();
break;
}
- case 29: {
- ReplyValue1 = input.ReadFloat();
+ case 26: {
+ ReplyMessage = input.ReadString();
break;
}
+ case 34:
case 37: {
- ReplyValue2 = input.ReadFloat();
- break;
- }
- case 45: {
- ReplyValue3 = input.ReadFloat();
+ replyValue_.AddEntriesFrom(input, _repeated_replyValue_codec);
break;
}
}
diff --git a/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Program.cs b/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Program.cs
index af1e6cfeb..ae7bae072 100644
--- a/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Program.cs
+++ b/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Program.cs
@@ -16,7 +16,7 @@ namespace Tango.EventsTypesGenerator
{
class Program
{
- private static string EVENTS_FILE = "Tango alarm events handling chart_Rev27.xlsx";
+ private static string EVENTS_FILE = "Tango alarm events handling chart_Rev28.xlsx";
private class ExcelEventType
{
diff --git a/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Tango.EventsTypesGenerator.csproj b/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Tango.EventsTypesGenerator.csproj
index 240ba67f5..ea00f8746 100644
--- a/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Tango.EventsTypesGenerator.csproj
+++ b/Software/Visual_Studio/Utilities/Tango.EventsTypesGenerator/Tango.EventsTypesGenerator.csproj
@@ -56,8 +56,8 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
- <None Include="..\..\Resources\Events Revisions\Tango alarm events handling chart_Rev27.xlsx">
- <Link>Tango alarm events handling chart_Rev27.xlsx</Link>
+ <None Include="..\..\Resources\Events Revisions\Tango alarm events handling chart_Rev28.xlsx">
+ <Link>Tango alarm events handling chart_Rev28.xlsx</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="App.config" />