diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2025-01-19 19:47:50 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2025-01-19 19:47:50 +0200 |
| commit | 97904f88f3949339c713286b592ad156baa8d41f (patch) | |
| tree | 28437b18fba7572ba0b390c668c48c28594d2c97 /Software/Visual_Studio | |
| parent | dc01eecbfd2f47f739e4ffd8a2a56f3047c66322 (diff) | |
| download | Tango-97904f88f3949339c713286b592ad156baa8d41f.tar.gz Tango-97904f88f3949339c713286b592ad156baa8d41f.zip | |
Buzzer.
White Skip.
Thread Loading Abort.
Diffstat (limited to 'Software/Visual_Studio')
13 files changed, 766 insertions, 32 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs index 7f145c1e3..8a29b2f8b 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs @@ -307,7 +307,7 @@ namespace Tango.PPC.MachineSettings.ViewModels get { return _selectedIdleTime; } set { _selectedIdleTime = value; RaisePropertyChangedAuto(); RaisePropertyChanged(nameof(PowerOffTimeVisible)); } } - + public bool PowerOffTimeVisible { get { return SelectedIdleTime.Minutes != Common.PowerSavingModes.Never; } @@ -413,6 +413,16 @@ namespace Tango.PPC.MachineSettings.ViewModels catch { } } + if (MachineProvider.IsConnected) + { + try + { + await MachineProvider.MachineOperator.SetBuzzerSettings(Settings.EnableBuzzer, Settings.BuzzerDuration); + await MachineProvider.MachineOperator.SetWhiteThreadSkip(Settings.EnableWhiteThreadSkip); + } + catch { } + } + if (_previousTimeZone.ToStringSafe() != SelectedTimeZone.ToStringSafe()) { if (await NotificationProvider.ShowQuestion("Changing the time zone requires the application to restart. Do you wish to restart the application?")) diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml index 537d354fd..e6a21d826 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml @@ -183,6 +183,15 @@ <TextBlock Visibility="{Binding BuildProvider.IsEureka,Converter={StaticResource BooleanToVisibilityConverter}}" VerticalAlignment="Bottom">Display Jerrycan popup when inserted</TextBlock> <touch:TouchToggleSlider Visibility="{Binding BuildProvider.IsEureka,Converter={StaticResource BooleanToVisibilityConverter}}" Style="{StaticResource TangoToggleButtonGrayAccent}" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="90" IsChecked="{Binding Settings.EnableJerricanChangePopup}" KeyboardNavigation.TabNavigation ="None" IsTabStop="False"></touch:TouchToggleSlider> + + <TextBlock VerticalAlignment="Bottom">Enable Machine Buzzer</TextBlock> + <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="90" IsChecked="{Binding Settings.EnableBuzzer}" KeyboardNavigation.TabNavigation ="None" IsTabStop="False"></touch:TouchToggleSlider> + + <TextBlock VerticalAlignment="Bottom">Machine Buzzer Duration</TextBlock> + <touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="10" Maximum="180" Value="{Binding Settings.BuzzerDuration}" HasDecimalPoint="False" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox> + + <TextBlock VerticalAlignment="Bottom">Enable White Thread Trimming Feature</TextBlock> + <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="90" IsChecked="{Binding Settings.EnableWhiteThreadSkip}" KeyboardNavigation.TabNavigation ="None" IsTabStop="False"></touch:TouchToggleSlider> </controls:TableGrid> <DockPanel Margin="10 -50 0 0"> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs index 3446fe55d..bc96e4eba 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs @@ -448,15 +448,19 @@ namespace Tango.PPC.Common.Connection MachineConnected?.Invoke(this, new EventArgs()); + var settings = SettingsManager.Default.GetOrCreate<PPCSettings>(); + if (Machine.Type.IsXMachine()) { try { - var settings = SettingsManager.Default.GetOrCreate<PPCSettings>(); await MachineOperator.SetPowerSavingMode((int)settings.PowerSavingModeIdle, (int)settings.PowerSavingModePowerOff); } catch { } } + + await MachineOperator.SetBuzzerSettings(settings.EnableBuzzer, settings.BuzzerDuration); + await MachineOperator.SetWhiteThreadSkip(settings.EnableWhiteThreadSkip); } /// <summary> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs index da39b40ec..55a8be975 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs @@ -419,10 +419,27 @@ namespace Tango.PPC.Common public SMSNotificationSettings SMSNotificationSettings { get; set; } /// <summary> + /// Gets or sets a value indicating whether to enable the machine buzzer. + /// </summary> + public bool EnableBuzzer { get; set; } + + /// <summary> + /// Gets or sets the duration of the machine buzzer. + /// </summary> + public int BuzzerDuration { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether enable white thread skip. + /// </summary> + public bool EnableWhiteThreadSkip { get; set; } + + /// <summary> /// Initializes a new instance of the <see cref="PPCSettings"/> class. /// </summary> public PPCSettings() { + EnableWhiteThreadSkip = false; + BuzzerDuration = 30; EnableJerricanChangePopup = true; PowerSavingModeIdle = PowerSavingModes.Default; PowerSavingModePowerOff = PowerSavingModes.Maximum; diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ThreadLoading/DefaultThreadLoadingService.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ThreadLoading/DefaultThreadLoadingService.cs index cc8f867cc..aea423c12 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ThreadLoading/DefaultThreadLoadingService.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ThreadLoading/DefaultThreadLoadingService.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tango.Core.DI; using Tango.Integration.Operation; +using Tango.Logging; using Tango.PPC.Common.Build; using Tango.PPC.Common.Connection; using Tango.PPC.Common.Notifications; @@ -37,8 +38,24 @@ namespace Tango.PPC.UI.ThreadLoading _dialogShown = true; _dispatcher.Invoke(async () => { - await _notificationsProvider.ShowDialog<ThreadLoadingViewVM>(new ThreadLoadingViewVM()); + var vm = await _notificationsProvider.ShowDialog<ThreadLoadingViewVM>(new ThreadLoadingViewVM()); _dialogShown = false; + if (!vm.DialogResult && vm.Stage != ThreadLoadingViewVM.ThreadLoadingStage.Completed) + { + if (_machineProvider.IsConnected) + { + try + { + await _machineProvider.MachineOperator.AbortThreadLoading(); + } + catch (Exception ex) + { + LogManager.Default.Log(ex, "Error aborting thread loading."); + } + + await _notificationsProvider.ShowInfo("Thread loading aborted."); + } + } }); } } @@ -46,8 +63,24 @@ namespace Tango.PPC.UI.ThreadLoading public async void StartThreadLoadingWizard() { _dialogShown = true; - await _notificationsProvider.ShowDialog<ThreadLoadingViewVM>(new ThreadLoadingViewVM(true)); + var vm = await _notificationsProvider.ShowDialog<ThreadLoadingViewVM>(new ThreadLoadingViewVM(true)); _dialogShown = false; + if (!vm.DialogResult && vm.Stage != ThreadLoadingViewVM.ThreadLoadingStage.Completed) + { + if (_machineProvider.IsConnected) + { + try + { + await _machineProvider.MachineOperator.AbortThreadLoading(); + } + catch (Exception ex) + { + LogManager.Default.Log(ex, "Error aborting thread loading."); + } + + await _notificationsProvider.ShowInfo("Thread loading aborted."); + } + } } public async void StartThreadBreakWizard() diff --git a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs index 74ae6e5cb..c99e83558 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs @@ -628,5 +628,15 @@ namespace Tango.Integration.Operation /// <param name="insertedLiters">The inserted liters.</param> /// <returns></returns> Task SetJerricanInsertedLiters(int idsPackIndex, double insertedLiters); + + /// <summary> + /// Sets the machine buzzer settings. + /// </summary> + Task SetBuzzerSettings(bool enable, int duration); + + /// <summary> + /// Sets the machine white thread skip settings. + /// </summary> + Task SetWhiteThreadSkip(bool enable); } } diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 2dbb4cdde..5a10f643a 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -4765,6 +4765,36 @@ namespace Tango.Integration.Operation } } + /// <summary> + /// Sets the machine buzzer settings. + /// </summary> + public async Task SetBuzzerSettings(bool enable, int duration) + { + if (duration < 10) duration = 10; + try + { + await SendRequest<SetBuzzerSettingsRequest, SetBuzzerSettingsResponse>(new SetBuzzerSettingsRequest() { Enabled = enable, Duration = duration }); + LogManager.Log($"Machine buzzer set to {(enable ? "Active" : "Inactive")}, Duration: {duration}."); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error setting machine buzzer settings."); + } + } + + public async Task SetWhiteThreadSkip(bool enable) + { + try + { + await SendRequest<SetWhiteThreadSkipRequest, SetWhiteThreadSkipResponse>(new SetWhiteThreadSkipRequest() { Enabled = enable}); + LogManager.Log($"Machine white thread skip is now {(enable ? "Enabled" : "Disabled")}."); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error setting machine white thread skip settings."); + } + } + #endregion } } diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs index ce5cdc202..b561ccc15 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( - "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqiRAoLTWVz", + "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqiRQoLTWVz", "c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj", "dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n", "cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh", @@ -192,32 +192,35 @@ namespace Tango.PMR.Common { "c3QQrEYSIgodU2V0SW5rQXV0b0ZpbGxpbmdNb2RlUmVzcG9uc2UQrUYSHAoX", "U3Bvb2xUeXBlQ2hhbmdlZFJlcXVlc3QQrkYSHQoYU3Bvb2xUeXBlQ2hhbmdl", "ZFJlc3BvbnNlEK9GEhwKF1NldFBvd2VyRG93blRpbWVSZXF1ZXN0ELBGEh0K", - "GFNldFBvd2VyRG93blRpbWVSZXNwb25zZRCxRhIaChVTdGFydFBvd2VyRG93", - "blJlcXVlc3QQkE4SGwoWU3RhcnRQb3dlckRvd25SZXNwb25zZRCRThIaChVB", - "Ym9ydFBvd2VyRG93blJlcXVlc3QQkk4SGwoWQWJvcnRQb3dlckRvd25SZXNw", - "b25zZRCTThIYChNTdGFydFBvd2VyVXBSZXF1ZXN0EJROEhkKFFN0YXJ0UG93", - "ZXJVcFJlc3BvbnNlEJVOEhgKE0Fib3J0UG93ZXJVcFJlcXVlc3QQlk4SGQoU", - "QWJvcnRQb3dlclVwUmVzcG9uc2UQl04SEwoOU3RhbmRCeVJlcXVlc3QQmE4S", - "FAoPU3RhbmRCeVJlc3BvbnNlEJlOEh4KGVN0YXJ0VGhyZWFkTG9hZGluZ1Jl", - "cXVlc3QQ+FUSHwoaU3RhcnRUaHJlYWRMb2FkaW5nUmVzcG9uc2UQ+VUSIQoc", - "Q29udGludWVUaHJlYWRMb2FkaW5nUmVxdWVzdBD6VRIiCh1Db250aW51ZVRo", - "cmVhZExvYWRpbmdSZXNwb25zZRD7VRIdChhTdG9wVGhyZWFkTG9hZGluZ1Jl", - "cXVlc3QQ/FUSHgoZU3RvcFRocmVhZExvYWRpbmdSZXNwb25zZRD9VRIcChdU", - "cnlUaHJlYWRMb2FkaW5nUmVxdWVzdBD+VRIdChhUcnlUaHJlYWRMb2FkaW5n", - "UmVzcG9uc2UQ/1USIAobQXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXF1ZXN0EIBW", - "EiEKHEF0dGVtcHRUaHJlYWRKb2dnaW5nUmVzcG9uc2UQgVYSHgoZQWJvcnRU", - "aHJlYWRMb2FkaW5nUmVxdWVzdBCCVhIfChpBYm9ydFRocmVhZExvYWRpbmdS", - "ZXNwb25zZRCDVhIhChxTdGFydElua0ZpbGxpbmdTdGF0dXNSZXF1ZXN0EOBd", - "EiIKHVN0YXJ0SW5rRmlsbGluZ1N0YXR1c1Jlc3BvbnNlEOFdEh4KGUluaXRp", - "YXRlSW5rRmlsbGluZ1JlcXVlc3QQ4l0SHwoaSW5pdGlhdGVJbmtGaWxsaW5n", - "UmVzcG9uc2UQ410SGAoTV2FzdGVSZXBsYWNlUmVxdWVzdBDkXRIZChRXYXN0", - "ZVJlcGxhY2VSZXNwb25zZRDlXRIcChdTZXRKZXJyaWNhbkxldmVsUmVxdWVz", - "dBDmXRIdChhTZXRKZXJyaWNhbkxldmVsUmVzcG9uc2UQ510SHAoXUHV0RGF0", - "YVN0b3JlSXRlbVJlcXVlc3QQyGUSHQoYUHV0RGF0YVN0b3JlSXRlbVJlc3Bv", - "bnNlEMllEhwKF0dldERhdGFTdG9yZUl0ZW1SZXF1ZXN0EMplEh0KGEdldERh", - "dGFTdG9yZUl0ZW1SZXNwb25zZRDLZRIhChxEYXRhU3RvcmVJdGVtTW9kaWZp", - "ZWRSZXF1ZXN0EMxlEiIKHURhdGFTdG9yZUl0ZW1Nb2RpZmllZFJlc3BvbnNl", - "EM1lQhwKGmNvbS50d2luZS50YW5nby5wbXIuY29tbW9uYgZwcm90bzM=")); + "GFNldFBvd2VyRG93blRpbWVSZXNwb25zZRCxRhIdChhTZXRCdXp6ZXJTZXR0", + "aW5nc1JlcXVlc3QQskYSHgoZU2V0QnV6emVyU2V0dGluZ3NSZXNwb25zZRCz", + "RhIeChlTZXRXaGl0ZVRocmVhZFNraXBSZXF1ZXN0ELRGEh8KGlNldFdoaXRl", + "VGhyZWFkU2tpcFJlc3BvbnNlELVGEhoKFVN0YXJ0UG93ZXJEb3duUmVxdWVz", + "dBCQThIbChZTdGFydFBvd2VyRG93blJlc3BvbnNlEJFOEhoKFUFib3J0UG93", + "ZXJEb3duUmVxdWVzdBCSThIbChZBYm9ydFBvd2VyRG93blJlc3BvbnNlEJNO", + "EhgKE1N0YXJ0UG93ZXJVcFJlcXVlc3QQlE4SGQoUU3RhcnRQb3dlclVwUmVz", + "cG9uc2UQlU4SGAoTQWJvcnRQb3dlclVwUmVxdWVzdBCWThIZChRBYm9ydFBv", + "d2VyVXBSZXNwb25zZRCXThITCg5TdGFuZEJ5UmVxdWVzdBCYThIUCg9TdGFu", + "ZEJ5UmVzcG9uc2UQmU4SHgoZU3RhcnRUaHJlYWRMb2FkaW5nUmVxdWVzdBD4", + "VRIfChpTdGFydFRocmVhZExvYWRpbmdSZXNwb25zZRD5VRIhChxDb250aW51", + "ZVRocmVhZExvYWRpbmdSZXF1ZXN0EPpVEiIKHUNvbnRpbnVlVGhyZWFkTG9h", + "ZGluZ1Jlc3BvbnNlEPtVEh0KGFN0b3BUaHJlYWRMb2FkaW5nUmVxdWVzdBD8", + "VRIeChlTdG9wVGhyZWFkTG9hZGluZ1Jlc3BvbnNlEP1VEhwKF1RyeVRocmVh", + "ZExvYWRpbmdSZXF1ZXN0EP5VEh0KGFRyeVRocmVhZExvYWRpbmdSZXNwb25z", + "ZRD/VRIgChtBdHRlbXB0VGhyZWFkSm9nZ2luZ1JlcXVlc3QQgFYSIQocQXR0", + "ZW1wdFRocmVhZEpvZ2dpbmdSZXNwb25zZRCBVhIeChlBYm9ydFRocmVhZExv", + "YWRpbmdSZXF1ZXN0EIJWEh8KGkFib3J0VGhyZWFkTG9hZGluZ1Jlc3BvbnNl", + "EINWEiEKHFN0YXJ0SW5rRmlsbGluZ1N0YXR1c1JlcXVlc3QQ4F0SIgodU3Rh", + "cnRJbmtGaWxsaW5nU3RhdHVzUmVzcG9uc2UQ4V0SHgoZSW5pdGlhdGVJbmtG", + "aWxsaW5nUmVxdWVzdBDiXRIfChpJbml0aWF0ZUlua0ZpbGxpbmdSZXNwb25z", + "ZRDjXRIYChNXYXN0ZVJlcGxhY2VSZXF1ZXN0EORdEhkKFFdhc3RlUmVwbGFj", + "ZVJlc3BvbnNlEOVdEhwKF1NldEplcnJpY2FuTGV2ZWxSZXF1ZXN0EOZdEh0K", + "GFNldEplcnJpY2FuTGV2ZWxSZXNwb25zZRDnXRIcChdQdXREYXRhU3RvcmVJ", + "dGVtUmVxdWVzdBDIZRIdChhQdXREYXRhU3RvcmVJdGVtUmVzcG9uc2UQyWUS", + "HAoXR2V0RGF0YVN0b3JlSXRlbVJlcXVlc3QQymUSHQoYR2V0RGF0YVN0b3Jl", + "SXRlbVJlc3BvbnNlEMtlEiEKHERhdGFTdG9yZUl0ZW1Nb2RpZmllZFJlcXVl", + "c3QQzGUSIgodRGF0YVN0b3JlSXRlbU1vZGlmaWVkUmVzcG9uc2UQzWVCHAoa", + "Y29tLnR3aW5lLnRhbmdvLnBtci5jb21tb25iBnByb3RvMw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null)); @@ -527,6 +530,10 @@ namespace Tango.PMR.Common { [pbr::OriginalName("SpoolTypeChangedResponse")] SpoolTypeChangedResponse = 9007, [pbr::OriginalName("SetPowerDownTimeRequest")] SetPowerDownTimeRequest = 9008, [pbr::OriginalName("SetPowerDownTimeResponse")] SetPowerDownTimeResponse = 9009, + [pbr::OriginalName("SetBuzzerSettingsRequest")] SetBuzzerSettingsRequest = 9010, + [pbr::OriginalName("SetBuzzerSettingsResponse")] SetBuzzerSettingsResponse = 9011, + [pbr::OriginalName("SetWhiteThreadSkipRequest")] SetWhiteThreadSkipRequest = 9012, + [pbr::OriginalName("SetWhiteThreadSkipResponse")] SetWhiteThreadSkipResponse = 9013, /// <summary> ///Power /// </summary> diff --git a/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsRequest.cs b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsRequest.cs new file mode 100644 index 000000000..bb993bc5a --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsRequest.cs @@ -0,0 +1,188 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: SetBuzzerSettingsRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.MachineStatus { + + /// <summary>Holder for reflection information generated from SetBuzzerSettingsRequest.proto</summary> + public static partial class SetBuzzerSettingsRequestReflection { + + #region Descriptor + /// <summary>File descriptor for SetBuzzerSettingsRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static SetBuzzerSettingsRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch5TZXRCdXp6ZXJTZXR0aW5nc1JlcXVlc3QucHJvdG8SF1RhbmdvLlBNUi5N", + "YWNoaW5lU3RhdHVzIj0KGFNldEJ1enplclNldHRpbmdzUmVxdWVzdBIPCgdF", + "bmFibGVkGAEgASgIEhAKCER1cmF0aW9uGAIgASgFQiMKIWNvbS50d2luZS50", + "YW5nby5wbXIubWFjaGluZXN0YXR1c2IGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.MachineStatus.SetBuzzerSettingsRequest), global::Tango.PMR.MachineStatus.SetBuzzerSettingsRequest.Parser, new[]{ "Enabled", "Duration" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class SetBuzzerSettingsRequest : pb::IMessage<SetBuzzerSettingsRequest> { + private static readonly pb::MessageParser<SetBuzzerSettingsRequest> _parser = new pb::MessageParser<SetBuzzerSettingsRequest>(() => new SetBuzzerSettingsRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<SetBuzzerSettingsRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.MachineStatus.SetBuzzerSettingsRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsRequest(SetBuzzerSettingsRequest other) : this() { + enabled_ = other.enabled_; + duration_ = other.duration_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsRequest Clone() { + return new SetBuzzerSettingsRequest(this); + } + + /// <summary>Field number for the "Enabled" field.</summary> + public const int EnabledFieldNumber = 1; + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Enabled { + get { return enabled_; } + set { + enabled_ = value; + } + } + + /// <summary>Field number for the "Duration" field.</summary> + public const int DurationFieldNumber = 2; + private int duration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int Duration { + get { return duration_; } + set { + duration_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as SetBuzzerSettingsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(SetBuzzerSettingsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Enabled != other.Enabled) return false; + if (Duration != other.Duration) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (Enabled != false) hash ^= Enabled.GetHashCode(); + if (Duration != 0) hash ^= Duration.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (Enabled != false) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + if (Duration != 0) { + output.WriteRawTag(16); + output.WriteInt32(Duration); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (Enabled != false) { + size += 1 + 1; + } + if (Duration != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Duration); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(SetBuzzerSettingsRequest other) { + if (other == null) { + return; + } + if (other.Enabled != false) { + Enabled = other.Enabled; + } + if (other.Duration != 0) { + Duration = other.Duration; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + case 16: { + Duration = input.ReadInt32(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsResponse.cs b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsResponse.cs new file mode 100644 index 000000000..c8d3f5136 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetBuzzerSettingsResponse.cs @@ -0,0 +1,131 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: SetBuzzerSettingsResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.MachineStatus { + + /// <summary>Holder for reflection information generated from SetBuzzerSettingsResponse.proto</summary> + public static partial class SetBuzzerSettingsResponseReflection { + + #region Descriptor + /// <summary>File descriptor for SetBuzzerSettingsResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static SetBuzzerSettingsResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch9TZXRCdXp6ZXJTZXR0aW5nc1Jlc3BvbnNlLnByb3RvEhdUYW5nby5QTVIu", + "TWFjaGluZVN0YXR1cyIbChlTZXRCdXp6ZXJTZXR0aW5nc1Jlc3BvbnNlQiMK", + "IWNvbS50d2luZS50YW5nby5wbXIubWFjaGluZXN0YXR1c2IGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.MachineStatus.SetBuzzerSettingsResponse), global::Tango.PMR.MachineStatus.SetBuzzerSettingsResponse.Parser, null, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class SetBuzzerSettingsResponse : pb::IMessage<SetBuzzerSettingsResponse> { + private static readonly pb::MessageParser<SetBuzzerSettingsResponse> _parser = new pb::MessageParser<SetBuzzerSettingsResponse>(() => new SetBuzzerSettingsResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<SetBuzzerSettingsResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.MachineStatus.SetBuzzerSettingsResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsResponse(SetBuzzerSettingsResponse other) : this() { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetBuzzerSettingsResponse Clone() { + return new SetBuzzerSettingsResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as SetBuzzerSettingsResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(SetBuzzerSettingsResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(SetBuzzerSettingsResponse other) { + if (other == null) { + return; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipRequest.cs b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipRequest.cs new file mode 100644 index 000000000..c3ab19423 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipRequest.cs @@ -0,0 +1,160 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: SetWhiteThreadSkipRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.MachineStatus { + + /// <summary>Holder for reflection information generated from SetWhiteThreadSkipRequest.proto</summary> + public static partial class SetWhiteThreadSkipRequestReflection { + + #region Descriptor + /// <summary>File descriptor for SetWhiteThreadSkipRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static SetWhiteThreadSkipRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch9TZXRXaGl0ZVRocmVhZFNraXBSZXF1ZXN0LnByb3RvEhdUYW5nby5QTVIu", + "TWFjaGluZVN0YXR1cyIsChlTZXRXaGl0ZVRocmVhZFNraXBSZXF1ZXN0Eg8K", + "B0VuYWJsZWQYASABKAhCIwohY29tLnR3aW5lLnRhbmdvLnBtci5tYWNoaW5l", + "c3RhdHVzYgZwcm90bzM=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.MachineStatus.SetWhiteThreadSkipRequest), global::Tango.PMR.MachineStatus.SetWhiteThreadSkipRequest.Parser, new[]{ "Enabled" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class SetWhiteThreadSkipRequest : pb::IMessage<SetWhiteThreadSkipRequest> { + private static readonly pb::MessageParser<SetWhiteThreadSkipRequest> _parser = new pb::MessageParser<SetWhiteThreadSkipRequest>(() => new SetWhiteThreadSkipRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<SetWhiteThreadSkipRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.MachineStatus.SetWhiteThreadSkipRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipRequest(SetWhiteThreadSkipRequest other) : this() { + enabled_ = other.enabled_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipRequest Clone() { + return new SetWhiteThreadSkipRequest(this); + } + + /// <summary>Field number for the "Enabled" field.</summary> + public const int EnabledFieldNumber = 1; + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Enabled { + get { return enabled_; } + set { + enabled_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as SetWhiteThreadSkipRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(SetWhiteThreadSkipRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Enabled != other.Enabled) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (Enabled != false) hash ^= Enabled.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (Enabled != false) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (Enabled != false) { + size += 1 + 1; + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(SetWhiteThreadSkipRequest other) { + if (other == null) { + return; + } + if (other.Enabled != false) { + Enabled = other.Enabled; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipResponse.cs b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipResponse.cs new file mode 100644 index 000000000..0ffff24a7 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/MachineStatus/SetWhiteThreadSkipResponse.cs @@ -0,0 +1,131 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: SetWhiteThreadSkipResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.MachineStatus { + + /// <summary>Holder for reflection information generated from SetWhiteThreadSkipResponse.proto</summary> + public static partial class SetWhiteThreadSkipResponseReflection { + + #region Descriptor + /// <summary>File descriptor for SetWhiteThreadSkipResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static SetWhiteThreadSkipResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiBTZXRXaGl0ZVRocmVhZFNraXBSZXNwb25zZS5wcm90bxIXVGFuZ28uUE1S", + "Lk1hY2hpbmVTdGF0dXMiHAoaU2V0V2hpdGVUaHJlYWRTa2lwUmVzcG9uc2VC", + "IwohY29tLnR3aW5lLnRhbmdvLnBtci5tYWNoaW5lc3RhdHVzYgZwcm90bzM=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.MachineStatus.SetWhiteThreadSkipResponse), global::Tango.PMR.MachineStatus.SetWhiteThreadSkipResponse.Parser, null, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class SetWhiteThreadSkipResponse : pb::IMessage<SetWhiteThreadSkipResponse> { + private static readonly pb::MessageParser<SetWhiteThreadSkipResponse> _parser = new pb::MessageParser<SetWhiteThreadSkipResponse>(() => new SetWhiteThreadSkipResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<SetWhiteThreadSkipResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.MachineStatus.SetWhiteThreadSkipResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipResponse(SetWhiteThreadSkipResponse other) : this() { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public SetWhiteThreadSkipResponse Clone() { + return new SetWhiteThreadSkipResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as SetWhiteThreadSkipResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(SetWhiteThreadSkipResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(SetWhiteThreadSkipResponse other) { + if (other == null) { + return; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj index b5ea1877c..b96cd5d12 100644 --- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj +++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj @@ -305,10 +305,14 @@ <Compile Include="MachineStatus\IDSPackLevel.cs" /> <Compile Include="MachineStatus\MachineState.cs" /> <Compile Include="MachineStatus\MachineStatus.cs" /> + <Compile Include="MachineStatus\SetBuzzerSettingsRequest.cs" /> + <Compile Include="MachineStatus\SetBuzzerSettingsResponse.cs" /> <Compile Include="MachineStatus\SetInkAutoFillingModeRequest.cs" /> <Compile Include="MachineStatus\SetInkAutoFillingModeResponse.cs" /> <Compile Include="MachineStatus\SetPowerDownTimeRequest.cs" /> <Compile Include="MachineStatus\SetPowerDownTimeResponse.cs" /> + <Compile Include="MachineStatus\SetWhiteThreadSkipRequest.cs" /> + <Compile Include="MachineStatus\SetWhiteThreadSkipResponse.cs" /> <Compile Include="MachineStatus\SpoolState.cs" /> <Compile Include="MachineStatus\SpoolTypeChangedRequest.cs" /> <Compile Include="MachineStatus\SpoolTypeChangedResponse.cs" /> @@ -527,7 +531,7 @@ </PropertyGroup> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> + <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file |
