aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2021-03-09 18:42:17 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2021-03-09 18:42:17 +0200
commitdff40538d054551a74034b473f9f0e0c3590bcd0 (patch)
tree9952c19885d3fadfd075b262b9757610ffe1771c /Software/Visual_Studio
parentda4accf92a46df56b0c2fa0e08d76aa278a72083 (diff)
downloadTango-dff40538d054551a74034b473f9f0e0c3590bcd0.tar.gz
Tango-dff40538d054551a74034b473f9f0e0c3590bcd0.zip
BIT DB, BL, PMR, OverrideData.xml, Emulator Handling, BitTypeGenerator.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/Resources/BIT/BuiltInTest.xlsxbin0 -> 16309 bytes
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/BitTypeDTO.cs14
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/BitTypeDTOBase.cs65
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/BitType.cs30
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/BitTypeBase.cs227
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/BitTypes.cs1127
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesContext.cs8
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs38
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs38
-rw-r--r--Software/Visual_Studio/Tango.BL/Tango.BL.csproj7
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/BIT_TYPES.cs26
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx42
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram175
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj5
-rw-r--r--Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs26
-rw-r--r--Software/Visual_Studio/Tango.PMR/Common/MessageType.cs139
-rw-r--r--Software/Visual_Studio/Tango.PMR/Diagnostics/BitResult.cs217
-rw-r--r--Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsRequest.cs131
-rw-r--r--Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsResponse.cs153
-rw-r--r--Software/Visual_Studio/Tango.PMR/Diagnostics/BitType.cs883
-rw-r--r--Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj6
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xmlbin89956 -> 91216 bytes
-rw-r--r--Software/Visual_Studio/Tango.sln35
-rw-r--r--Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/App.config24
-rw-r--r--Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/BitTypesGenerator.CLI.csproj79
-rw-r--r--Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Program.cs105
-rw-r--r--Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Properties/AssemblyInfo.cs36
-rw-r--r--Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/packages.config4
-rw-r--r--Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs31
30 files changed, 3508 insertions, 164 deletions
diff --git a/Software/Visual_Studio/Resources/BIT/BuiltInTest.xlsx b/Software/Visual_Studio/Resources/BIT/BuiltInTest.xlsx
new file mode 100644
index 000000000..961247f99
--- /dev/null
+++ b/Software/Visual_Studio/Resources/BIT/BuiltInTest.xlsx
Binary files differ
diff --git a/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTO.cs b/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTO.cs
new file mode 100644
index 000000000..c0e6972c7
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTO.cs
@@ -0,0 +1,14 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.BL.DTO
+{
+ public class BitTypeDTO : BitTypeDTOBase
+ {
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTOBase.cs
new file mode 100644
index 000000000..983641c8f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/DTO/BitTypeDTOBase.cs
@@ -0,0 +1,65 @@
+
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango Observables Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+
+namespace Tango.BL.DTO
+{
+ public abstract class BitTypeDTOBase : ObservableEntityDTO<BitTypeDTO, BitType>
+ {
+
+ /// <summary>
+ /// code
+ /// </summary>
+ public Int32 Code
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// name
+ /// </summary>
+ public String Name
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// subject
+ /// </summary>
+ public String Subject
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// component index
+ /// </summary>
+ public Int32 ComponentIndex
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// test type
+ /// </summary>
+ public Int32 TestType
+ {
+ get; set;
+ }
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/BitType.cs b/Software/Visual_Studio/Tango.BL/Entities/BitType.cs
new file mode 100644
index 000000000..f91cf8751
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Entities/BitType.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango Observables Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+using System.Linq;
+using Tango.DAL.Remote.DB;
+using Tango.Core;
+using System.ComponentModel;
+using Tango.Core.CustomAttributes;
+
+namespace Tango.BL.Entities
+{
+ public class BitType : BitTypeBase
+ {
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/BitTypeBase.cs b/Software/Visual_Studio/Tango.BL/Entities/BitTypeBase.cs
new file mode 100644
index 000000000..a87f71725
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Entities/BitTypeBase.cs
@@ -0,0 +1,227 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango Observables Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+using System.Linq;
+using Tango.DAL.Remote.DB;
+using Tango.Core;
+using System.ComponentModel;
+using Tango.Core.CustomAttributes;
+
+namespace Tango.BL.Entities
+{
+ [Table("BIT_TYPES")]
+ public abstract class BitTypeBase : ObservableEntity<BitType>
+ {
+
+ public event EventHandler<Int32> CodeChanged;
+
+ public event EventHandler<String> NameChanged;
+
+ public event EventHandler<String> SubjectChanged;
+
+ public event EventHandler<Int32> ComponentIndexChanged;
+
+ public event EventHandler<Int32> TestTypeChanged;
+
+ protected Int32 _code;
+
+ /// <summary>
+ /// Gets or sets the bittypebase code.
+ /// </summary>
+
+ [Column("CODE")]
+
+ public Int32 Code
+ {
+ get
+ {
+ return _code;
+ }
+
+ set
+ {
+ if (_code != value)
+ {
+ _code = value;
+
+ OnCodeChanged(value);
+
+ }
+ }
+ }
+
+ protected String _name;
+
+ /// <summary>
+ /// Gets or sets the bittypebase name.
+ /// </summary>
+
+ [Column("NAME")]
+
+ public String Name
+ {
+ get
+ {
+ return _name;
+ }
+
+ set
+ {
+ if (_name != value)
+ {
+ _name = value;
+
+ OnNameChanged(value);
+
+ }
+ }
+ }
+
+ protected String _subject;
+
+ /// <summary>
+ /// Gets or sets the bittypebase subject.
+ /// </summary>
+
+ [Column("SUBJECT")]
+
+ public String Subject
+ {
+ get
+ {
+ return _subject;
+ }
+
+ set
+ {
+ if (_subject != value)
+ {
+ _subject = value;
+
+ OnSubjectChanged(value);
+
+ }
+ }
+ }
+
+ protected Int32 _componentindex;
+
+ /// <summary>
+ /// Gets or sets the bittypebase component index.
+ /// </summary>
+
+ [Column("COMPONENT_INDEX")]
+
+ public Int32 ComponentIndex
+ {
+ get
+ {
+ return _componentindex;
+ }
+
+ set
+ {
+ if (_componentindex != value)
+ {
+ _componentindex = value;
+
+ OnComponentIndexChanged(value);
+
+ }
+ }
+ }
+
+ protected Int32 _testtype;
+
+ /// <summary>
+ /// Gets or sets the bittypebase test type.
+ /// </summary>
+
+ [Column("TEST_TYPE")]
+
+ public Int32 TestType
+ {
+ get
+ {
+ return _testtype;
+ }
+
+ set
+ {
+ if (_testtype != value)
+ {
+ _testtype = value;
+
+ OnTestTypeChanged(value);
+
+ }
+ }
+ }
+
+ /// <summary>
+ /// Called when the Code has changed.
+ /// </summary>
+ protected virtual void OnCodeChanged(Int32 code)
+ {
+ CodeChanged?.Invoke(this, code);
+ RaisePropertyChanged(nameof(Code));
+ }
+
+ /// <summary>
+ /// Called when the Name has changed.
+ /// </summary>
+ protected virtual void OnNameChanged(String name)
+ {
+ NameChanged?.Invoke(this, name);
+ RaisePropertyChanged(nameof(Name));
+ }
+
+ /// <summary>
+ /// Called when the Subject has changed.
+ /// </summary>
+ protected virtual void OnSubjectChanged(String subject)
+ {
+ SubjectChanged?.Invoke(this, subject);
+ RaisePropertyChanged(nameof(Subject));
+ }
+
+ /// <summary>
+ /// Called when the ComponentIndex has changed.
+ /// </summary>
+ protected virtual void OnComponentIndexChanged(Int32 componentindex)
+ {
+ ComponentIndexChanged?.Invoke(this, componentindex);
+ RaisePropertyChanged(nameof(ComponentIndex));
+ }
+
+ /// <summary>
+ /// Called when the TestType has changed.
+ /// </summary>
+ protected virtual void OnTestTypeChanged(Int32 testtype)
+ {
+ TestTypeChanged?.Invoke(this, testtype);
+ RaisePropertyChanged(nameof(TestType));
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="BitTypeBase" /> class.
+ /// </summary>
+ public BitTypeBase() : base()
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/BitTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/BitTypes.cs
new file mode 100644
index 000000000..68325667d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/BitTypes.cs
@@ -0,0 +1,1127 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango Observables Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.ComponentModel;
+
+namespace Tango.BL.Enumerations
+{
+ public enum BitTypes
+ {
+
+ /// <summary>
+ /// (Incoming voltage too high)
+ /// </summary>
+ [Description("Incoming voltage too high")]
+ Incomingvoltagetoohigh = 1000,
+
+ /// <summary>
+ /// (Incoming voltage too low)
+ /// </summary>
+ [Description("Incoming voltage too low")]
+ Incomingvoltagetoolow = 1001,
+
+ /// <summary>
+ /// (RFID Reader 1)
+ /// </summary>
+ [Description("RFID Reader 1")]
+ RFIDReader1 = 2000,
+
+ /// <summary>
+ /// (RFID Reader 2)
+ /// </summary>
+ [Description("RFID Reader 2")]
+ RFIDReader2 = 2001,
+
+ /// <summary>
+ /// (RFID Reader 3)
+ /// </summary>
+ [Description("RFID Reader 3")]
+ RFIDReader3 = 2002,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 1)
+ /// </summary>
+ [Description("Dispenser I2C Comm 1")]
+ DispenserI2CComm1 = 3000,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 2)
+ /// </summary>
+ [Description("Dispenser I2C Comm 2")]
+ DispenserI2CComm2 = 3001,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 3)
+ /// </summary>
+ [Description("Dispenser I2C Comm 3")]
+ DispenserI2CComm3 = 3002,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 4)
+ /// </summary>
+ [Description("Dispenser I2C Comm 4")]
+ DispenserI2CComm4 = 3003,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 5)
+ /// </summary>
+ [Description("Dispenser I2C Comm 5")]
+ DispenserI2CComm5 = 3004,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 6)
+ /// </summary>
+ [Description("Dispenser I2C Comm 6")]
+ DispenserI2CComm6 = 3005,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 7)
+ /// </summary>
+ [Description("Dispenser I2C Comm 7")]
+ DispenserI2CComm7 = 3006,
+
+ /// <summary>
+ /// (Dispenser I2C Comm 8)
+ /// </summary>
+ [Description("Dispenser I2C Comm 8")]
+ DispenserI2CComm8 = 3007,
+
+ /// <summary>
+ /// (Head Type Identified)
+ /// </summary>
+ [Description("Head Type Identified")]
+ HeadTypeIdentified = 3008,
+
+ /// <summary>
+ /// (WHS Type Identified)
+ /// </summary>
+ [Description("WHS Type Identified")]
+ WHSTypeIdentified = 3009,
+
+ /// <summary>
+ /// (Communication with Shinko)
+ /// </summary>
+ [Description("Communication with Shinko")]
+ CommunicationwithShinko = 4000,
+
+ /// <summary>
+ /// (Communication with BTSR)
+ /// </summary>
+ [Description("Communication with BTSR")]
+ CommunicationwithBTSR = 4001,
+
+ /// <summary>
+ /// (USB Communication)
+ /// </summary>
+ [Description("USB Communication")]
+ USBCommunication = 5000,
+
+ /// <summary>
+ /// (Drawer BIG fan )
+ /// </summary>
+ [Description("Drawer BIG fan ")]
+ DrawerBIGfan = 6000,
+
+ /// <summary>
+ /// (Drawer small 1 fan)
+ /// </summary>
+ [Description("Drawer small 1 fan")]
+ Drawersmall1fan = 6001,
+
+ /// <summary>
+ /// (Drawer small 2 fan)
+ /// </summary>
+ [Description("Drawer small 2 fan")]
+ Drawersmall2fan = 6002,
+
+ /// <summary>
+ /// (Drawer small 3 fan)
+ /// </summary>
+ [Description("Drawer small 3 fan")]
+ Drawersmall3fan = 6003,
+
+ /// <summary>
+ /// (Drawer small 4 fan)
+ /// </summary>
+ [Description("Drawer small 4 fan")]
+ Drawersmall4fan = 6004,
+
+ /// <summary>
+ /// (System fan 1)
+ /// </summary>
+ [Description("System fan 1")]
+ Systemfan1 = 6005,
+
+ /// <summary>
+ /// (System fan 2)
+ /// </summary>
+ [Description("System fan 2")]
+ Systemfan2 = 6006,
+
+ /// <summary>
+ /// (System fan 3)
+ /// </summary>
+ [Description("System fan 3")]
+ Systemfan3 = 6007,
+
+ /// <summary>
+ /// (Dancer status read 1)
+ /// </summary>
+ [Description("Dancer status read 1")]
+ Dancerstatusread1 = 7000,
+
+ /// <summary>
+ /// (Dancer status read 2)
+ /// </summary>
+ [Description("Dancer status read 2")]
+ Dancerstatusread2 = 7001,
+
+ /// <summary>
+ /// (Dancer status read 3)
+ /// </summary>
+ [Description("Dancer status read 3")]
+ Dancerstatusread3 = 7002,
+
+ /// <summary>
+ /// (Dryer Encoder status read)
+ /// </summary>
+ [Description("Dryer Encoder status read")]
+ DryerEncoderstatusread = 7003,
+
+ /// <summary>
+ /// (PT100 read Head 1)
+ /// </summary>
+ [Description("PT100 read Head 1")]
+ PT100readHead1 = 8000,
+
+ /// <summary>
+ /// (PT100 read Head 2)
+ /// </summary>
+ [Description("PT100 read Head 2")]
+ PT100readHead2 = 8001,
+
+ /// <summary>
+ /// (PT100 read Head 3)
+ /// </summary>
+ [Description("PT100 read Head 3")]
+ PT100readHead3 = 8002,
+
+ /// <summary>
+ /// (PT100 read Head 4)
+ /// </summary>
+ [Description("PT100 read Head 4")]
+ PT100readHead4 = 8003,
+
+ /// <summary>
+ /// (PT100 read Head 5)
+ /// </summary>
+ [Description("PT100 read Head 5")]
+ PT100readHead5 = 8004,
+
+ /// <summary>
+ /// (PT100 read Head 6)
+ /// </summary>
+ [Description("PT100 read Head 6")]
+ PT100readHead6 = 8005,
+
+ /// <summary>
+ /// (PT100 read Head 7)
+ /// </summary>
+ [Description("PT100 read Head 7")]
+ PT100readHead7 = 8006,
+
+ /// <summary>
+ /// (PT100 read Head 8)
+ /// </summary>
+ [Description("PT100 read Head 8")]
+ PT100readHead8 = 8007,
+
+ /// <summary>
+ /// (PT100 read Head 9)
+ /// </summary>
+ [Description("PT100 read Head 9")]
+ PT100readHead9 = 8008,
+
+ /// <summary>
+ /// (PT100 read Head 10)
+ /// </summary>
+ [Description("PT100 read Head 10")]
+ PT100readHead10 = 8009,
+
+ /// <summary>
+ /// (PT100 read Head 11)
+ /// </summary>
+ [Description("PT100 read Head 11")]
+ PT100readHead11 = 8010,
+
+ /// <summary>
+ /// (PT100 read Head 12)
+ /// </summary>
+ [Description("PT100 read Head 12")]
+ PT100readHead12 = 8011,
+
+ /// <summary>
+ /// (PT100 read Dryer 1)
+ /// </summary>
+ [Description("PT100 read Dryer 1")]
+ PT100readDryer1 = 8012,
+
+ /// <summary>
+ /// (PT100 read Dryer 2)
+ /// </summary>
+ [Description("PT100 read Dryer 2")]
+ PT100readDryer2 = 8013,
+
+ /// <summary>
+ /// (PT100 read Head Blower In)
+ /// </summary>
+ [Description("PT100 read Head Blower In")]
+ PT100readHeadBlowerIn = 8014,
+
+ /// <summary>
+ /// (PT100 read Head Blower Out)
+ /// </summary>
+ [Description("PT100 read Head Blower Out")]
+ PT100readHeadBlowerOut = 8015,
+
+ /// <summary>
+ /// (PT100 read Dryer Air)
+ /// </summary>
+ [Description("PT100 read Dryer Air")]
+ PT100readDryerAir = 8016,
+
+ /// <summary>
+ /// (PT100 read WHS)
+ /// </summary>
+ [Description("PT100 read WHS")]
+ PT100readWHS = 8017,
+
+ /// <summary>
+ /// (PT100 read EC)
+ /// </summary>
+ [Description("PT100 read EC")]
+ PT100readEC = 8018,
+
+ /// <summary>
+ /// (PT100 read Machine)
+ /// </summary>
+ [Description("PT100 read Machine")]
+ PT100readMachine = 8019,
+
+ /// <summary>
+ /// (Current break Head 1)
+ /// </summary>
+ [Description("Current break Head 1")]
+ CurrentbreakHead1 = 8020,
+
+ /// <summary>
+ /// (Current break Head 2)
+ /// </summary>
+ [Description("Current break Head 2")]
+ CurrentbreakHead2 = 8021,
+
+ /// <summary>
+ /// (Current break Head 3)
+ /// </summary>
+ [Description("Current break Head 3")]
+ CurrentbreakHead3 = 8022,
+
+ /// <summary>
+ /// (Current break Head 4)
+ /// </summary>
+ [Description("Current break Head 4")]
+ CurrentbreakHead4 = 8023,
+
+ /// <summary>
+ /// (Current break Head 5)
+ /// </summary>
+ [Description("Current break Head 5")]
+ CurrentbreakHead5 = 8024,
+
+ /// <summary>
+ /// (Current break Head 6)
+ /// </summary>
+ [Description("Current break Head 6")]
+ CurrentbreakHead6 = 8025,
+
+ /// <summary>
+ /// (Current break Head 7)
+ /// </summary>
+ [Description("Current break Head 7")]
+ CurrentbreakHead7 = 8026,
+
+ /// <summary>
+ /// (Current break Head 8)
+ /// </summary>
+ [Description("Current break Head 8")]
+ CurrentbreakHead8 = 8027,
+
+ /// <summary>
+ /// (Current break Head 9)
+ /// </summary>
+ [Description("Current break Head 9")]
+ CurrentbreakHead9 = 8028,
+
+ /// <summary>
+ /// (Current break Head 10)
+ /// </summary>
+ [Description("Current break Head 10")]
+ CurrentbreakHead10 = 8029,
+
+ /// <summary>
+ /// (Current break Head 11)
+ /// </summary>
+ [Description("Current break Head 11")]
+ CurrentbreakHead11 = 8030,
+
+ /// <summary>
+ /// (Current break Head 12)
+ /// </summary>
+ [Description("Current break Head 12")]
+ CurrentbreakHead12 = 8031,
+
+ /// <summary>
+ /// (Current break Dryer 1)
+ /// </summary>
+ [Description("Current break Dryer 1")]
+ CurrentbreakDryer1 = 8032,
+
+ /// <summary>
+ /// (Current break Dryer 2)
+ /// </summary>
+ [Description("Current break Dryer 2")]
+ CurrentbreakDryer2 = 8033,
+
+ /// <summary>
+ /// (Current break Head Blower In)
+ /// </summary>
+ [Description("Current break Head Blower In")]
+ CurrentbreakHeadBlowerIn = 8034,
+
+ /// <summary>
+ /// (Current break Head Blower Out)
+ /// </summary>
+ [Description("Current break Head Blower Out")]
+ CurrentbreakHeadBlowerOut = 8035,
+
+ /// <summary>
+ /// (Current Head 1)
+ /// </summary>
+ [Description("Current Head 1")]
+ CurrentHead1 = 8036,
+
+ /// <summary>
+ /// (Current Head 2)
+ /// </summary>
+ [Description("Current Head 2")]
+ CurrentHead2 = 8037,
+
+ /// <summary>
+ /// (Current Head 3)
+ /// </summary>
+ [Description("Current Head 3")]
+ CurrentHead3 = 8038,
+
+ /// <summary>
+ /// (Current Head 4)
+ /// </summary>
+ [Description("Current Head 4")]
+ CurrentHead4 = 8039,
+
+ /// <summary>
+ /// (Current Head 5)
+ /// </summary>
+ [Description("Current Head 5")]
+ CurrentHead5 = 8040,
+
+ /// <summary>
+ /// (Current Head 6)
+ /// </summary>
+ [Description("Current Head 6")]
+ CurrentHead6 = 8041,
+
+ /// <summary>
+ /// (Current Head 7)
+ /// </summary>
+ [Description("Current Head 7")]
+ CurrentHead7 = 8042,
+
+ /// <summary>
+ /// (Current Head 8)
+ /// </summary>
+ [Description("Current Head 8")]
+ CurrentHead8 = 8043,
+
+ /// <summary>
+ /// (Current Head 9)
+ /// </summary>
+ [Description("Current Head 9")]
+ CurrentHead9 = 8044,
+
+ /// <summary>
+ /// (Current Head 10)
+ /// </summary>
+ [Description("Current Head 10")]
+ CurrentHead10 = 8045,
+
+ /// <summary>
+ /// (Current Head 11)
+ /// </summary>
+ [Description("Current Head 11")]
+ CurrentHead11 = 8046,
+
+ /// <summary>
+ /// (Current Head 12)
+ /// </summary>
+ [Description("Current Head 12")]
+ CurrentHead12 = 8047,
+
+ /// <summary>
+ /// (Current Dryer 1)
+ /// </summary>
+ [Description("Current Dryer 1")]
+ CurrentDryer1 = 8048,
+
+ /// <summary>
+ /// (Current Dryer 2)
+ /// </summary>
+ [Description("Current Dryer 2")]
+ CurrentDryer2 = 8049,
+
+ /// <summary>
+ /// (Current Head Blower In)
+ /// </summary>
+ [Description("Current Head Blower In")]
+ CurrentHeadBlowerIn = 8050,
+
+ /// <summary>
+ /// (Current Head Blower Out)
+ /// </summary>
+ [Description("Current Head Blower Out")]
+ CurrentHeadBlowerOut = 8051,
+
+ /// <summary>
+ /// (Heater Head 1)
+ /// </summary>
+ [Description("Heater Head 1")]
+ HeaterHead1 = 8052,
+
+ /// <summary>
+ /// (Heater Head 2)
+ /// </summary>
+ [Description("Heater Head 2")]
+ HeaterHead2 = 8053,
+
+ /// <summary>
+ /// (Heater Head 3)
+ /// </summary>
+ [Description("Heater Head 3")]
+ HeaterHead3 = 8054,
+
+ /// <summary>
+ /// (Heater Head 4)
+ /// </summary>
+ [Description("Heater Head 4")]
+ HeaterHead4 = 8055,
+
+ /// <summary>
+ /// (Heater Head 5)
+ /// </summary>
+ [Description("Heater Head 5")]
+ HeaterHead5 = 8056,
+
+ /// <summary>
+ /// (Heater Head 6)
+ /// </summary>
+ [Description("Heater Head 6")]
+ HeaterHead6 = 8057,
+
+ /// <summary>
+ /// (Heater Head 7)
+ /// </summary>
+ [Description("Heater Head 7")]
+ HeaterHead7 = 8058,
+
+ /// <summary>
+ /// (Heater Head 8)
+ /// </summary>
+ [Description("Heater Head 8")]
+ HeaterHead8 = 8059,
+
+ /// <summary>
+ /// (Heater Head 9)
+ /// </summary>
+ [Description("Heater Head 9")]
+ HeaterHead9 = 8060,
+
+ /// <summary>
+ /// (Heater Head 10)
+ /// </summary>
+ [Description("Heater Head 10")]
+ HeaterHead10 = 8061,
+
+ /// <summary>
+ /// (Heater Head 11)
+ /// </summary>
+ [Description("Heater Head 11")]
+ HeaterHead11 = 8062,
+
+ /// <summary>
+ /// (Heater Head 12)
+ /// </summary>
+ [Description("Heater Head 12")]
+ HeaterHead12 = 8063,
+
+ /// <summary>
+ /// (Heater Dryer 1)
+ /// </summary>
+ [Description("Heater Dryer 1")]
+ HeaterDryer1 = 8064,
+
+ /// <summary>
+ /// (Heater Dryer 2)
+ /// </summary>
+ [Description("Heater Dryer 2")]
+ HeaterDryer2 = 8065,
+
+ /// <summary>
+ /// (Heater Head Blower In)
+ /// </summary>
+ [Description("Heater Head Blower In")]
+ HeaterHeadBlowerIn = 8066,
+
+ /// <summary>
+ /// (Heater Head Blower Out)
+ /// </summary>
+ [Description("Heater Head Blower Out")]
+ HeaterHeadBlowerOut = 8067,
+
+ /// <summary>
+ /// (PowerStep DH Clean Head)
+ /// </summary>
+ [Description("PowerStep DH Clean Head")]
+ PowerStepDHCleanHead = 9000,
+
+ /// <summary>
+ /// (PowerStep DH Clean Mech)
+ /// </summary>
+ [Description("PowerStep DH Clean Mech")]
+ PowerStepDHCleanMech = 9001,
+
+ /// <summary>
+ /// (PowerStep Dyeing Head Lid )
+ /// </summary>
+ [Description("PowerStep Dyeing Head Lid ")]
+ PowerStepDyeingHeadLid = 9002,
+
+ /// <summary>
+ /// (PowerStep Dryer Driving)
+ /// </summary>
+ [Description("PowerStep Dryer Driving")]
+ PowerStepDryerDriving = 9003,
+
+ /// <summary>
+ /// (PowerStep Dryer Lid )
+ /// </summary>
+ [Description("PowerStep Dryer Lid ")]
+ PowerStepDryerLid = 9004,
+
+ /// <summary>
+ /// (PowerStep Dryer Loadarm)
+ /// </summary>
+ [Description("PowerStep Dryer Loadarm")]
+ PowerStepDryerLoadarm = 9005,
+
+ /// <summary>
+ /// (PowerStep Dispenser 1)
+ /// </summary>
+ [Description("PowerStep Dispenser 1")]
+ PowerStepDispenser1 = 9006,
+
+ /// <summary>
+ /// (PowerStep Dispenser 2)
+ /// </summary>
+ [Description("PowerStep Dispenser 2")]
+ PowerStepDispenser2 = 9007,
+
+ /// <summary>
+ /// (PowerStep Dispenser 3)
+ /// </summary>
+ [Description("PowerStep Dispenser 3")]
+ PowerStepDispenser3 = 9008,
+
+ /// <summary>
+ /// (PowerStep Dispenser 4)
+ /// </summary>
+ [Description("PowerStep Dispenser 4")]
+ PowerStepDispenser4 = 9009,
+
+ /// <summary>
+ /// (PowerStep Dispenser 5)
+ /// </summary>
+ [Description("PowerStep Dispenser 5")]
+ PowerStepDispenser5 = 9010,
+
+ /// <summary>
+ /// (PowerStep Dispenser 6)
+ /// </summary>
+ [Description("PowerStep Dispenser 6")]
+ PowerStepDispenser6 = 9011,
+
+ /// <summary>
+ /// (PowerStep Dispenser 7)
+ /// </summary>
+ [Description("PowerStep Dispenser 7")]
+ PowerStepDispenser7 = 9012,
+
+ /// <summary>
+ /// (PowerStep Dispenser 8)
+ /// </summary>
+ [Description("PowerStep Dispenser 8")]
+ PowerStepDispenser8 = 9013,
+
+ /// <summary>
+ /// (PowerStep Screw )
+ /// </summary>
+ [Description("PowerStep Screw ")]
+ PowerStepScrew = 9014,
+
+ /// <summary>
+ /// (PowerStep Winder )
+ /// </summary>
+ [Description("PowerStep Winder ")]
+ PowerStepWinder = 9015,
+
+ /// <summary>
+ /// (PowerStep Left Dancer )
+ /// </summary>
+ [Description("PowerStep Left Dancer ")]
+ PowerStepLeftDancer = 9016,
+
+ /// <summary>
+ /// (PowerStep Middle Dancer)
+ /// </summary>
+ [Description("PowerStep Middle Dancer")]
+ PowerStepMiddleDancer = 9017,
+
+ /// <summary>
+ /// (PowerStep Left Driving )
+ /// </summary>
+ [Description("PowerStep Left Driving ")]
+ PowerStepLeftDriving = 9018,
+
+ /// <summary>
+ /// (PowerStep Left Rockers )
+ /// </summary>
+ [Description("PowerStep Left Rockers ")]
+ PowerStepLeftRockers = 9019,
+
+ /// <summary>
+ /// (PowerStep Left pivot )
+ /// </summary>
+ [Description("PowerStep Left pivot ")]
+ PowerStepLeftpivot = 9020,
+
+ /// <summary>
+ /// (PowerStep Right Dancer )
+ /// </summary>
+ [Description("PowerStep Right Dancer ")]
+ PowerStepRightDancer = 9021,
+
+ /// <summary>
+ /// (PowerStep Right Driving)
+ /// </summary>
+ [Description("PowerStep Right Driving")]
+ PowerStepRightDriving = 9022,
+
+ /// <summary>
+ /// (PowerStep Right Loadarm)
+ /// </summary>
+ [Description("PowerStep Right Loadarm")]
+ PowerStepRightLoadarm = 9023,
+
+ /// <summary>
+ /// (PowerStep Right Rockers)
+ /// </summary>
+ [Description("PowerStep Right Rockers")]
+ PowerStepRightRockers = 9024,
+
+ /// <summary>
+ /// (PowerStep Spare1_1)
+ /// </summary>
+ [Description("PowerStep Spare1_1")]
+ PowerStepSpare1_1 = 9025,
+
+ /// <summary>
+ /// (PowerStep Spare1_2)
+ /// </summary>
+ [Description("PowerStep Spare1_2")]
+ PowerStepSpare1_2 = 9026,
+
+ /// <summary>
+ /// (PowerStep Spare2_1)
+ /// </summary>
+ [Description("PowerStep Spare2_1")]
+ PowerStepSpare2_1 = 9027,
+
+ /// <summary>
+ /// (PowerStep Spare2_2)
+ /// </summary>
+ [Description("PowerStep Spare2_2")]
+ PowerStepSpare2_2 = 9028,
+
+ /// <summary>
+ /// (PowerStep Spare3_1)
+ /// </summary>
+ [Description("PowerStep Spare3_1")]
+ PowerStepSpare3_1 = 9029,
+
+ /// <summary>
+ /// (Motor Wire read DH Clean Head)
+ /// </summary>
+ [Description("Motor Wire read DH Clean Head")]
+ MotorWirereadDHCleanHead = 9030,
+
+ /// <summary>
+ /// (Motor Wire read DH Clean Mech)
+ /// </summary>
+ [Description("Motor Wire read DH Clean Mech")]
+ MotorWirereadDHCleanMech = 9031,
+
+ /// <summary>
+ /// (Motor Wire read Dyeing Head Lid )
+ /// </summary>
+ [Description("Motor Wire read Dyeing Head Lid ")]
+ MotorWirereadDyeingHeadLid = 9032,
+
+ /// <summary>
+ /// (Motor Wire read Dryer Driving)
+ /// </summary>
+ [Description("Motor Wire read Dryer Driving")]
+ MotorWirereadDryerDriving = 9033,
+
+ /// <summary>
+ /// (Motor Wire read Dryer Lid )
+ /// </summary>
+ [Description("Motor Wire read Dryer Lid ")]
+ MotorWirereadDryerLid = 9034,
+
+ /// <summary>
+ /// (Motor Wire read Dryer Loadarm)
+ /// </summary>
+ [Description("Motor Wire read Dryer Loadarm")]
+ MotorWirereadDryerLoadarm = 9035,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 1)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 1")]
+ MotorWirereadDispenser1 = 9036,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 2)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 2")]
+ MotorWirereadDispenser2 = 9037,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 3)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 3")]
+ MotorWirereadDispenser3 = 9038,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 4)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 4")]
+ MotorWirereadDispenser4 = 9039,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 5)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 5")]
+ MotorWirereadDispenser5 = 9040,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 6)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 6")]
+ MotorWirereadDispenser6 = 9041,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 7)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 7")]
+ MotorWirereadDispenser7 = 9042,
+
+ /// <summary>
+ /// (Motor Wire read Dispenser 8)
+ /// </summary>
+ [Description("Motor Wire read Dispenser 8")]
+ MotorWirereadDispenser8 = 9043,
+
+ /// <summary>
+ /// (Motor Wire read Screw )
+ /// </summary>
+ [Description("Motor Wire read Screw ")]
+ MotorWirereadScrew = 9044,
+
+ /// <summary>
+ /// (Motor Wire read Winder )
+ /// </summary>
+ [Description("Motor Wire read Winder ")]
+ MotorWirereadWinder = 9045,
+
+ /// <summary>
+ /// (Motor Wire read Left Dancer )
+ /// </summary>
+ [Description("Motor Wire read Left Dancer ")]
+ MotorWirereadLeftDancer = 9046,
+
+ /// <summary>
+ /// (Motor Wire read Middle Dancer)
+ /// </summary>
+ [Description("Motor Wire read Middle Dancer")]
+ MotorWirereadMiddleDancer = 9047,
+
+ /// <summary>
+ /// (Motor Wire read Left Driving )
+ /// </summary>
+ [Description("Motor Wire read Left Driving ")]
+ MotorWirereadLeftDriving = 9048,
+
+ /// <summary>
+ /// (Motor Wire read Left Rockers )
+ /// </summary>
+ [Description("Motor Wire read Left Rockers ")]
+ MotorWirereadLeftRockers = 9049,
+
+ /// <summary>
+ /// (Motor Wire read Left pivot )
+ /// </summary>
+ [Description("Motor Wire read Left pivot ")]
+ MotorWirereadLeftpivot = 9050,
+
+ /// <summary>
+ /// (Motor Wire read Right Dancer )
+ /// </summary>
+ [Description("Motor Wire read Right Dancer ")]
+ MotorWirereadRightDancer = 9051,
+
+ /// <summary>
+ /// (Motor Wire read Right Driving)
+ /// </summary>
+ [Description("Motor Wire read Right Driving")]
+ MotorWirereadRightDriving = 9052,
+
+ /// <summary>
+ /// (Motor Wire read Right Loadarm)
+ /// </summary>
+ [Description("Motor Wire read Right Loadarm")]
+ MotorWirereadRightLoadarm = 9053,
+
+ /// <summary>
+ /// (Motor Wire read Right Rockers)
+ /// </summary>
+ [Description("Motor Wire read Right Rockers")]
+ MotorWirereadRightRockers = 9054,
+
+ /// <summary>
+ /// (Motor Wire read Spare1_1)
+ /// </summary>
+ [Description("Motor Wire read Spare1_1")]
+ MotorWirereadSpare1_1 = 9055,
+
+ /// <summary>
+ /// (Motor Wire read Spare1_2)
+ /// </summary>
+ [Description("Motor Wire read Spare1_2")]
+ MotorWirereadSpare1_2 = 9056,
+
+ /// <summary>
+ /// (Motor Wire read Spare2_1)
+ /// </summary>
+ [Description("Motor Wire read Spare2_1")]
+ MotorWirereadSpare2_1 = 9057,
+
+ /// <summary>
+ /// (Motor Wire read Spare2_2)
+ /// </summary>
+ [Description("Motor Wire read Spare2_2")]
+ MotorWirereadSpare2_2 = 9058,
+
+ /// <summary>
+ /// (Motor Wire read Spare3_1)
+ /// </summary>
+ [Description("Motor Wire read Spare3_1")]
+ MotorWirereadSpare3_1 = 9059,
+
+ /// <summary>
+ /// (In Blower turn Off)
+ /// </summary>
+ [Description("In Blower turn Off")]
+ InBlowerturnOff = 10000,
+
+ /// <summary>
+ /// (Out Blower turn Off)
+ /// </summary>
+ [Description("Out Blower turn Off")]
+ OutBlowerturnOff = 10001,
+
+ /// <summary>
+ /// (In Blower turn On)
+ /// </summary>
+ [Description("In Blower turn On")]
+ InBlowerturnOn = 10002,
+
+ /// <summary>
+ /// (Out Blower turn On)
+ /// </summary>
+ [Description("Out Blower turn On")]
+ OutBlowerturnOn = 10003,
+
+ /// <summary>
+ /// (In Blower Pressure)
+ /// </summary>
+ [Description("In Blower Pressure")]
+ InBlowerPressure = 10004,
+
+ /// <summary>
+ /// (Out Blower Pressure)
+ /// </summary>
+ [Description("Out Blower Pressure")]
+ OutBlowerPressure = 10005,
+
+ /// <summary>
+ /// (WHS Blower does not build pressure)
+ /// </summary>
+ [Description("WHS Blower does not build pressure")]
+ WHSBlowerdoesnotbuildpressure = 10006,
+
+ /// <summary>
+ /// (WHS Dryer sensor failure)
+ /// </summary>
+ [Description("WHS Dryer sensor failure")]
+ WHSDryersensorfailure = 10007,
+
+ /// <summary>
+ /// (WHS Head sensor failure)
+ /// </summary>
+ [Description("WHS Head sensor failure")]
+ WHSHeadsensorfailure = 10008,
+
+ /// <summary>
+ /// (WHS Other sensor failure)
+ /// </summary>
+ [Description("WHS Other sensor failure")]
+ WHSOthersensorfailure = 10009,
+
+ /// <summary>
+ /// (Pressure building up 1)
+ /// </summary>
+ [Description("Pressure building up 1")]
+ Pressurebuildingup1 = 11000,
+
+ /// <summary>
+ /// (Pressure building up 2)
+ /// </summary>
+ [Description("Pressure building up 2")]
+ Pressurebuildingup2 = 11001,
+
+ /// <summary>
+ /// (Pressure building up 3)
+ /// </summary>
+ [Description("Pressure building up 3")]
+ Pressurebuildingup3 = 11002,
+
+ /// <summary>
+ /// (Pressure building up 4)
+ /// </summary>
+ [Description("Pressure building up 4")]
+ Pressurebuildingup4 = 11003,
+
+ /// <summary>
+ /// (Pressure building up 5)
+ /// </summary>
+ [Description("Pressure building up 5")]
+ Pressurebuildingup5 = 11004,
+
+ /// <summary>
+ /// (Pressure building up 6)
+ /// </summary>
+ [Description("Pressure building up 6")]
+ Pressurebuildingup6 = 11005,
+
+ /// <summary>
+ /// (Pressure building up 7)
+ /// </summary>
+ [Description("Pressure building up 7")]
+ Pressurebuildingup7 = 11006,
+
+ /// <summary>
+ /// (Pressure building up 8)
+ /// </summary>
+ [Description("Pressure building up 8")]
+ Pressurebuildingup8 = 11007,
+
+ /// <summary>
+ /// (Pressure released 1)
+ /// </summary>
+ [Description("Pressure released 1")]
+ Pressurereleased1 = 11008,
+
+ /// <summary>
+ /// (Pressure released 2)
+ /// </summary>
+ [Description("Pressure released 2")]
+ Pressurereleased2 = 11009,
+
+ /// <summary>
+ /// (Pressure released 3)
+ /// </summary>
+ [Description("Pressure released 3")]
+ Pressurereleased3 = 11010,
+
+ /// <summary>
+ /// (Pressure released 4)
+ /// </summary>
+ [Description("Pressure released 4")]
+ Pressurereleased4 = 11011,
+
+ /// <summary>
+ /// (Pressure released 5)
+ /// </summary>
+ [Description("Pressure released 5")]
+ Pressurereleased5 = 11012,
+
+ /// <summary>
+ /// (Pressure released 6)
+ /// </summary>
+ [Description("Pressure released 6")]
+ Pressurereleased6 = 11013,
+
+ /// <summary>
+ /// (Pressure released 7)
+ /// </summary>
+ [Description("Pressure released 7")]
+ Pressurereleased7 = 11014,
+
+ /// <summary>
+ /// (Pressure released 8)
+ /// </summary>
+ [Description("Pressure released 8")]
+ Pressurereleased8 = 11015,
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
index 73d51e4d4..ae1efff3a 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
@@ -71,6 +71,14 @@ namespace Tango.BL
}
/// <summary>
+ /// Gets or sets the BitTypes.
+ /// </summary>
+ public DbSet<BitType> BitTypes
+ {
+ get; set;
+ }
+
+ /// <summary>
/// Gets or sets the BrushStops.
/// </summary>
public DbSet<BrushStop> BrushStops
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
index 075760170..4eead6b54 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
@@ -233,6 +233,42 @@ namespace Tango.BL
}
+ private ObservableCollection<BitType> _bittypes;
+ /// <summary>
+ /// Gets or sets the BitTypes.
+ /// </summary>
+ public ObservableCollection<BitType> BitTypes
+ {
+ get
+ {
+ return _bittypes;
+ }
+
+ set
+ {
+ _bittypes = value; RaisePropertyChanged(nameof(BitTypes));
+ }
+
+ }
+
+ private ICollectionView _bittypesViewSource;
+ /// <summary>
+ /// Gets or sets the BitTypes View Source.
+ ///</summary>
+ public ICollectionView BitTypesViewSource
+ {
+ get
+ {
+ return _bittypesViewSource;
+ }
+
+ set
+ {
+ _bittypesViewSource = value; RaisePropertyChanged(nameof(BitTypesViewSource));
+ }
+
+ }
+
private ObservableCollection<BrushStop> _brushstops;
/// <summary>
/// Gets or sets the BrushStops.
@@ -3203,6 +3239,8 @@ namespace Tango.BL
ApplicationOsVersionsViewSource = CreateCollectionView(ApplicationOsVersions);
+ BitTypesViewSource = CreateCollectionView(BitTypes);
+
BrushStopsViewSource = CreateCollectionView(BrushStops);
BtsrApplicationTypesViewSource = CreateCollectionView(BtsrApplicationTypes);
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs
index 49679267e..f94f87478 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs
@@ -233,6 +233,42 @@ namespace Tango.BL
}
+ private ObservableCollection<BitType> _bittypes;
+ /// <summary>
+ /// Gets or sets the BitTypes.
+ /// </summary>
+ public ObservableCollection<BitType> BitTypes
+ {
+ get
+ {
+ return _bittypes;
+ }
+
+ set
+ {
+ _bittypes = value; RaisePropertyChanged(nameof(BitTypes));
+ }
+
+ }
+
+ private ICollectionView _bittypesViewSource;
+ /// <summary>
+ /// Gets or sets the BitTypes View Source.
+ ///</summary>
+ public ICollectionView BitTypesViewSource
+ {
+ get
+ {
+ return _bittypesViewSource;
+ }
+
+ set
+ {
+ _bittypesViewSource = value; RaisePropertyChanged(nameof(BitTypesViewSource));
+ }
+
+ }
+
private ObservableCollection<BrushStop> _brushstops;
/// <summary>
/// Gets or sets the BrushStops.
@@ -3203,6 +3239,8 @@ namespace Tango.BL
ApplicationOsVersionsViewSource = CreateCollectionView(ApplicationOsVersions);
+ BitTypesViewSource = CreateCollectionView(BitTypes);
+
BrushStopsViewSource = CreateCollectionView(BrushStops);
BtsrApplicationTypesViewSource = CreateCollectionView(BtsrApplicationTypes);
diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
index a911c30f7..b036df6dd 100644
--- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
+++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
@@ -151,6 +151,8 @@
<Compile Include="DTO\ApplicationFirmwareVersionDTOBase.cs" />
<Compile Include="DTO\ApplicationOsVersionDTO.cs" />
<Compile Include="DTO\ApplicationOsVersionDTOBase.cs" />
+ <Compile Include="DTO\BitTypeDTO.cs" />
+ <Compile Include="DTO\BitTypeDTOBase.cs" />
<Compile Include="DTO\BrushStopDTO.cs" />
<Compile Include="DTO\BrushStopDTOBase.cs" />
<Compile Include="DTO\BtsrApplicationTypeDTO.cs" />
@@ -321,6 +323,8 @@
<Compile Include="Entities\ApplicationDisplayPanelVersionBase.cs" />
<Compile Include="Entities\ApplicationFirmwareVersionBase.cs" />
<Compile Include="Entities\ApplicationOsVersionBase.cs" />
+ <Compile Include="Entities\BitType.cs" />
+ <Compile Include="Entities\BitTypeBase.cs" />
<Compile Include="Entities\BrushStopBase.cs" />
<Compile Include="Entities\BtsrApplicationType.cs" />
<Compile Include="Entities\BtsrApplicationTypeBase.cs" />
@@ -435,6 +439,7 @@
<Compile Include="Entities\UsersRoleBase.cs" />
<Compile Include="Entities\WindingMethodBase.cs" />
<Compile Include="Enumerations\ActionLogType.cs" />
+ <Compile Include="Enumerations\BitTypes.cs" />
<Compile Include="Enumerations\BtsrApplicationTypes.cs" />
<Compile Include="Enumerations\BtsrYarnTypes.cs" />
<Compile Include="Enumerations\CatalogDesignType.cs" />
@@ -669,7 +674,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/BIT_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/BIT_TYPES.cs
new file mode 100644
index 000000000..fc68d84d1
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/BIT_TYPES.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.DAL.Remote.DB
+{
+ using System;
+ using System.Collections.Generic;
+
+ public partial class BIT_TYPES
+ {
+ public int ID { get; set; }
+ public string GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public int CODE { get; set; }
+ public string NAME { get; set; }
+ public string SUBJECT { get; set; }
+ public int COMPONENT_INDEX { get; set; }
+ public int TEST_TYPE { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
index c92b72726..0de057ee0 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
@@ -31,6 +31,7 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<APPLICATION_DISPLAY_PANEL_VERSIONS> APPLICATION_DISPLAY_PANEL_VERSIONS { get; set; }
public virtual DbSet<APPLICATION_FIRMWARE_VERSIONS> APPLICATION_FIRMWARE_VERSIONS { get; set; }
public virtual DbSet<APPLICATION_OS_VERSIONS> APPLICATION_OS_VERSIONS { get; set; }
+ public virtual DbSet<BIT_TYPES> BIT_TYPES { get; set; }
public virtual DbSet<BRUSH_STOPS> BRUSH_STOPS { get; set; }
public virtual DbSet<BTSR_APPLICATION_TYPES> BTSR_APPLICATION_TYPES { get; set; }
public virtual DbSet<BTSR_YARN_TYPES> BTSR_YARN_TYPES { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
index 32cd7cf20..af087d2b9 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -64,6 +64,19 @@
<Property Name="VERSION" Type="float" Nullable="false" />
<Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
</EntityType>
+ <EntityType Name="BIT_TYPES">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ <Property Name="NAME" Type="varchar" MaxLength="100" Nullable="false" />
+ <Property Name="SUBJECT" Type="varchar" MaxLength="100" Nullable="false" />
+ <Property Name="COMPONENT_INDEX" Type="int" Nullable="false" />
+ <Property Name="TEST_TYPE" Type="int" Nullable="false" />
+ </EntityType>
<EntityType Name="BRUSH_STOPS">
<Key>
<PropertyRef Name="GUID" />
@@ -2560,6 +2573,7 @@
<EntitySet Name="APPLICATION_DISPLAY_PANEL_VERSIONS" EntityType="Self.APPLICATION_DISPLAY_PANEL_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="APPLICATION_FIRMWARE_VERSIONS" EntityType="Self.APPLICATION_FIRMWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="APPLICATION_OS_VERSIONS" EntityType="Self.APPLICATION_OS_VERSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="BIT_TYPES" EntityType="Self.BIT_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="BRUSH_STOPS" EntityType="Self.BRUSH_STOPS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="BTSR_APPLICATION_TYPES" EntityType="Self.BTSR_APPLICATION_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="BTSR_YARN_TYPES" EntityType="Self.BTSR_YARN_TYPES" Schema="dbo" store:Type="Tables" />
@@ -3019,6 +3033,7 @@
<EntitySet Name="APPLICATION_DISPLAY_PANEL_VERSIONS" EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" />
<EntitySet Name="APPLICATION_FIRMWARE_VERSIONS" EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" />
<EntitySet Name="APPLICATION_OS_VERSIONS" EntityType="RemoteModel.APPLICATION_OS_VERSIONS" />
+ <EntitySet Name="BIT_TYPES" EntityType="RemoteModel.BIT_TYPES" />
<EntitySet Name="BRUSH_STOPS" EntityType="RemoteModel.BRUSH_STOPS" />
<EntitySet Name="BTSR_APPLICATION_TYPES" EntityType="RemoteModel.BTSR_APPLICATION_TYPES" />
<EntitySet Name="BTSR_YARN_TYPES" EntityType="RemoteModel.BTSR_YARN_TYPES" />
@@ -3539,6 +3554,19 @@
<Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
<NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" FromRole="APPLICATION_OS_VERSIONS" ToRole="CONFIGURATION" />
</EntityType>
+ <EntityType Name="BIT_TYPES">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <Property Name="NAME" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
+ <Property Name="SUBJECT" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
+ <Property Name="COMPONENT_INDEX" Type="Int32" Nullable="false" />
+ <Property Name="TEST_TYPE" Type="Int32" Nullable="false" />
+ </EntityType>
<EntityType Name="BRUSH_STOPS">
<Key>
<PropertyRef Name="GUID" />
@@ -6276,6 +6304,20 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
+ <EntitySetMapping Name="BIT_TYPES">
+ <EntityTypeMapping TypeName="RemoteModel.BIT_TYPES">
+ <MappingFragment StoreEntitySet="BIT_TYPES">
+ <ScalarProperty Name="TEST_TYPE" ColumnName="TEST_TYPE" />
+ <ScalarProperty Name="COMPONENT_INDEX" ColumnName="COMPONENT_INDEX" />
+ <ScalarProperty Name="SUBJECT" ColumnName="SUBJECT" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
<EntitySetMapping Name="BRUSH_STOPS">
<EntityTypeMapping TypeName="RemoteModel.BRUSH_STOPS">
<MappingFragment StoreEntitySet="BRUSH_STOPS">
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
index 04ba3ab4a..89b29d0c4 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,93 +5,94 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="87">
- <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="11" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="2" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="4.5" PointY="62.375" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="65.25" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="4.5" PointY="75.375" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15.75" PointY="18.75" />
- <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="28.875" />
- <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="12" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="7.75" PointY="83.875" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="26" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="22.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="41.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="42.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="41" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="21.875" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="26.375" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6.75" PointY="67.875" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="6.125" />
- <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="12.25" />
- <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="11.25" PointY="75.125" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="5.5" PointY="87.375" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="7.75" PointY="86.875" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="68.25" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="40.625" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="15.125" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="32" />
- <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="7.5" />
- <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="5.75" PointY="8.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="11.5" PointY="83.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="13.75" PointY="75.25" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="9.5" PointY="79.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="11.75" PointY="71.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="78.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="73.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="9.5" PointY="59.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="11.75" PointY="61.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="12.5" PointY="79.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="14.75" PointY="67.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="82.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="6.75" PointY="79.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="71.125" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="58.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="63.5" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="7.75" PointY="37.25" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10" PointY="49.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="16.75" PointY="2.5" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="18.5" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="35" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="31.625" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="22.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="5.75" PointY="12.5" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="4" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6.75" PointY="59" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="9" PointY="63.5" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="35" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="26" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="18" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="37.875" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="7.75" PointY="33.625" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3.75" PointY="3.5" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="15.125" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="48.625" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="51.625" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="14.75" PointY="11.625" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="17" PointY="11.875" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="16.5" />
- <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="17.875" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="0.875" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="13.5" PointY="22.125" />
- <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="6" PointY="4.125" />
- <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="11.25" PointY="29.5" />
- <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="8.25" PointY="18.375" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="10.25" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="40" />
- <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="13.75" PointY="4.5" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="17.75" PointY="15.5" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="32.25" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="18.75" PointY="2.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="14.75" PointY="15.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="18.75" PointY="6.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="17.75" PointY="20.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="19.75" PointY="9.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="19.75" PointY="14.5" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="6.5" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="7.875" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="29.875" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="48.75" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="62.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="83.5" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="77.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="66.75" />
+ <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="5.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15.75" PointY="17" />
+ <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="30.25" />
+ <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="20.625" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="3" PointY="32.875" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="16.25" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="13.125" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="92" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="92.5" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="91.25" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="16.125" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="24" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="72.375" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="58.75" />
+ <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="27.5" />
+ <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="5.25" PointY="59.875" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="0.75" PointY="97.625" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="3" PointY="97.125" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="80.625" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="41.625" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="27.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="24.375" />
+ <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="28.375" />
+ <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="7.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="7.5" PointY="98" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="9.75" PointY="86.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="6.75" PointY="82.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="6.5" PointY="106" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="8.75" PointY="91" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="1.5" PointY="106" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="3.75" PointY="82.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="7.5" PointY="79" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="9.75" PointY="79.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="1.5" PointY="102" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="3.75" PointY="78.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="86.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="102" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="86.875" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="3" PointY="43.375" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="5.25" PointY="37.25" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="10.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="16.75" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="10.25" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="2.375" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="20.5" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="5.75" PointY="8.75" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="36.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="54.75" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="48.25" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="44.125" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="36.25" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="33.375" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="16.5" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="3" PointY="35.75" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="41.75" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="57.125" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="46.875" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="49.875" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="5.75" PointY="1" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="8" PointY="1.125" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="14.75" />
+ <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="24.125" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="53" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="53.125" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="13.5" PointY="20.5" />
+ <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="10.5" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="5.25" PointY="53.875" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="20.625" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="32.625" />
+ <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="5.75" PointY="11.75" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="11.75" PointY="9.75" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="43.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="12.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="12.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="13.75" PointY="7.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="13.75" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="14.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="15.75" PointY="5.75" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="33.75" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="35.125" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="30.625" />
<AssociationConnector Association="RemoteModel.FK_ACTION_LOGS_USERS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
index 6cf0f995c..70f72946a 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
@@ -81,6 +81,9 @@
<Compile Include="DB\APPLICATION_OS_VERSIONS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
+ <Compile Include="DB\BIT_TYPES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
<Compile Include="DB\BRUSH_STOPS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
@@ -395,7 +398,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
index b5b51e8e6..1c64933b2 100644
--- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
+++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
@@ -485,6 +485,9 @@ namespace Tango.Emulations.Emulators
case MessageType.SetInkAutoFillingModeRequest:
HandleSetInkAutoFillingModeRequest(MessageFactory.ParseTangoMessageFromContainer<SetInkAutoFillingModeRequest>(container));
break;
+ case MessageType.BitResultsRequest:
+ HandleBitResultsRequest(MessageFactory.ParseTangoMessageFromContainer<BitResultsRequest>(container));
+ break;
}
}
@@ -1790,6 +1793,29 @@ namespace Tango.Emulations.Emulators
await Transporter.SendResponse<SetInkAutoFillingModeResponse>(new SetInkAutoFillingModeResponse(), request.Container.Token);
}
+ private async void HandleBitResultsRequest(TangoMessage<BitResultsRequest> request)
+ {
+ await Task.Delay(10000);
+
+ BitResultsResponse response = new BitResultsResponse();
+
+ foreach (var bitType in Enum.GetValues(typeof(PMR.Diagnostics.BitType)).Cast<PMR.Diagnostics.BitType>().ToList())
+ {
+ BitResult result = new BitResult();
+ result.BitType = bitType;
+ result.Passed = _rnd.Next(0, 100) > 50;
+
+ if (!result.Passed)
+ {
+ result.Description = "Emulator error message";
+ }
+
+ response.Results.Add(result);
+ }
+
+ await Transporter.SendResponse<BitResultsResponse>(response, request.Container.Token);
+ }
+
#endregion
#region Public Methods
diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
index fb2e44740..d6cc473a8 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(
- "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqNQAoLTWVz",
+ "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiq+QAoLTWVz",
"c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj",
"dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n",
"cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh",
@@ -140,73 +140,74 @@ namespace Tango.PMR.Common {
"Qmxvd2VyU3RhdGVSZXNwb25zZRD1DxIZChRTZXRWYWx2ZVN0YXRlUmVxdWVz",
"dBD2DxIaChVTZXRWYWx2ZVN0YXRlUmVzcG9uc2UQ9w8SHwoaQ2FydHJpZGdl",
"VmFsaWRhdGlvblJlcXVlc3QQ/A8SIAobQ2FydHJpZGdlVmFsaWRhdGlvblJl",
- "c3BvbnNlEP0PEg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9iUmVzcG9uc2UQuRcS",
- "FAoPQWJvcnRKb2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9iUmVzcG9uc2UQuxcS",
- "IwoeVXBsb2FkUHJvY2Vzc1BhcmFtZXRlcnNSZXF1ZXN0ELwXEiQKH1VwbG9h",
- "ZFByb2Nlc3NQYXJhbWV0ZXJzUmVzcG9uc2UQvRcSFgoRQ3VycmVudEpvYlJl",
- "cXVlc3QQvhcSFwoSQ3VycmVudEpvYlJlc3BvbnNlEL8XEhwKF1Jlc3VtZUN1",
- "cnJlbnRKb2JSZXF1ZXN0EMAXEh0KGFJlc3VtZUN1cnJlbnRKb2JSZXNwb25z",
- "ZRDBFxIdChhTdGFydEhlYWRDbGVhbmluZ1JlcXVlc3QQwhcSHgoZU3RhcnRI",
- "ZWFkQ2xlYW5pbmdSZXNwb25zZRDDFxIdChhBYm9ydEhlYWRDbGVhbmluZ1Jl",
- "cXVlc3QQxBcSHgoZQWJvcnRIZWFkQ2xlYW5pbmdSZXNwb25zZRDFFxIWChFK",
- "b2JQcmVwYXJlUmVxdWVzdBDGFxIXChJKb2JQcmVwYXJlUmVzcG9uc2UQxxcS",
- "GQoUU3RhcnREZWJ1Z0xvZ1JlcXVlc3QQoB8SGgoVU3RhcnREZWJ1Z0xvZ1Jl",
- "c3BvbnNlEKEfEhgKE1N0b3BEZWJ1Z0xvZ1JlcXVlc3QQoh8SGQoUU3RvcERl",
- "YnVnTG9nUmVzcG9uc2UQox8SHwoaU2V0RGVidWdMb2dDYXRlZ29yeVJlcXVl",
- "c3QQpB8SIAobU2V0RGVidWdMb2dDYXRlZ29yeVJlc3BvbnNlEKUfEiEKHFNl",
- "dHVwRGVidWdEaXNyaWJ1dG9yc1JlcXVlc3QQph8SIgodU2V0dXBEZWJ1Z0Rp",
- "c3JpYnV0b3JzUmVzcG9uc2UQpx8SJwoiVXBsb2FkSGFyZHdhcmVDb25maWd1",
- "cmF0aW9uUmVxdWVzdBCIJxIoCiNVcGxvYWRIYXJkd2FyZUNvbmZpZ3VyYXRp",
- "b25SZXNwb25zZRCJJxIXChJTeXN0ZW1SZXNldFJlcXVlc3QQiicSGAoTU3lz",
- "dGVtUmVzZXRSZXNwb25zZRCLJxIVChBLZWVwQWxpdmVSZXF1ZXN0EPAuEhYK",
- "EUtlZXBBbGl2ZVJlc3BvbnNlEPEuEhMKDkNvbm5lY3RSZXF1ZXN0EPIuEhQK",
- "D0Nvbm5lY3RSZXNwb25zZRDzLhIWChFEaXNjb25uZWN0UmVxdWVzdBD0LhIX",
- "ChJEaXNjb25uZWN0UmVzcG9uc2UQ9S4SFgoRRmlsZVVwbG9hZFJlcXVlc3QQ",
- "2DYSFwoSRmlsZVVwbG9hZFJlc3BvbnNlENk2EhsKFkZpbGVDaHVua1VwbG9h",
- "ZFJlcXVlc3QQ2jYSHAoXRmlsZUNodW5rVXBsb2FkUmVzcG9uc2UQ2zYSGgoV",
- "RXhlY3V0ZVByb2Nlc3NSZXF1ZXN0ENw2EhsKFkV4ZWN1dGVQcm9jZXNzUmVz",
- "cG9uc2UQ3TYSFwoSS2lsbFByb2Nlc3NSZXF1ZXN0EN42EhgKE0tpbGxQcm9j",
- "ZXNzUmVzcG9uc2UQ3zYSEgoNQ3JlYXRlUmVxdWVzdBDgNhITCg5DcmVhdGVS",
- "ZXNwb25zZRDhNhISCg1EZWxldGVSZXF1ZXN0EOI2EhMKDkRlbGV0ZVJlc3Bv",
- "bnNlEOM2EhoKFUdldFN0b3JhZ2VJbmZvUmVxdWVzdBDkNhIbChZHZXRTdG9y",
- "YWdlSW5mb1Jlc3BvbnNlEOU2EhQKD0dldEZpbGVzUmVxdWVzdBDmNhIVChBH",
- "ZXRGaWxlc1Jlc3BvbnNlEOc2EhgKE0ZpbGVEb3dubG9hZFJlcXVlc3QQ6DYS",
- "GQoURmlsZURvd25sb2FkUmVzcG9uc2UQ6TYSHQoYRmlsZUNodW5rRG93bmxv",
- "YWRSZXF1ZXN0EOo2Eh4KGUZpbGVDaHVua0Rvd25sb2FkUmVzcG9uc2UQ6zYS",
- "GwoWVmFsaWRhdGVWZXJzaW9uUmVxdWVzdBDsNhIcChdWYWxpZGF0ZVZlcnNp",
- "b25SZXNwb25zZRDtNhIbChZBY3RpdmF0ZVZlcnNpb25SZXF1ZXN0EO42EhwK",
- "F0FjdGl2YXRlVmVyc2lvblJlc3BvbnNlEO82EhkKFERpc3BlbnNlckRhdGFS",
- "ZXF1ZXN0EMA+EhoKFURpc3BlbnNlckRhdGFSZXNwb25zZRDBPhIcChdNaWRU",
- "YW5rRGF0YVNldHVwUmVxdWVzdBDCPhIdChhNaWRUYW5rRGF0YVNldHVwUmVz",
- "cG9uc2UQwz4SIgodTWFjaGluZUNhbGlicmF0aW9uRGF0YVJlcXVlc3QQxD4S",
- "IwoeTWFjaGluZUNhbGlicmF0aW9uRGF0YVJlc3BvbnNlEMU+Eh4KGU1haW5D",
- "YXJkU3RvcmVkRGF0YVJlcXVlc3QQxj4SHwoaTWFpbkNhcmRTdG9yZWREYXRh",
- "UmVzcG9uc2UQxz4SJAofU3RhcnRNYWNoaW5lU3RhdHVzVXBkYXRlUmVxdWVz",
- "dBCoRhIlCiBTdGFydE1hY2hpbmVTdGF0dXNVcGRhdGVSZXNwb25zZRCpRhIj",
- "Ch5TdG9wTWFjaGluZVN0YXR1c1VwZGF0ZVJlcXVlc3QQqkYSJAofU3RvcE1h",
- "Y2hpbmVTdGF0dXNVcGRhdGVSZXNwb25zZRCrRhIhChxTZXRJbmtBdXRvRmls",
- "bGluZ01vZGVSZXF1ZXN0EKxGEiIKHVNldElua0F1dG9GaWxsaW5nTW9kZVJl",
- "c3BvbnNlEK1GEhoKFVN0YXJ0UG93ZXJEb3duUmVxdWVzdBCQThIbChZTdGFy",
- "dFBvd2VyRG93blJlc3BvbnNlEJFOEhoKFUFib3J0UG93ZXJEb3duUmVxdWVz",
- "dBCSThIbChZBYm9ydFBvd2VyRG93blJlc3BvbnNlEJNOEhgKE1N0YXJ0UG93",
- "ZXJVcFJlcXVlc3QQlE4SGQoUU3RhcnRQb3dlclVwUmVzcG9uc2UQlU4SGAoT",
- "QWJvcnRQb3dlclVwUmVxdWVzdBCWThIZChRBYm9ydFBvd2VyVXBSZXNwb25z",
- "ZRCXThITCg5TdGFuZEJ5UmVxdWVzdBCYThIUCg9TdGFuZEJ5UmVzcG9uc2UQ",
- "mU4SHgoZU3RhcnRUaHJlYWRMb2FkaW5nUmVxdWVzdBD4VRIfChpTdGFydFRo",
- "cmVhZExvYWRpbmdSZXNwb25zZRD5VRIhChxDb250aW51ZVRocmVhZExvYWRp",
- "bmdSZXF1ZXN0EPpVEiIKHUNvbnRpbnVlVGhyZWFkTG9hZGluZ1Jlc3BvbnNl",
- "EPtVEh0KGFN0b3BUaHJlYWRMb2FkaW5nUmVxdWVzdBD8VRIeChlTdG9wVGhy",
- "ZWFkTG9hZGluZ1Jlc3BvbnNlEP1VEhwKF1RyeVRocmVhZExvYWRpbmdSZXF1",
- "ZXN0EP5VEh0KGFRyeVRocmVhZExvYWRpbmdSZXNwb25zZRD/VRIgChtBdHRl",
- "bXB0VGhyZWFkSm9nZ2luZ1JlcXVlc3QQgFYSIQocQXR0ZW1wdFRocmVhZEpv",
- "Z2dpbmdSZXNwb25zZRCBVhIhChxTdGFydElua0ZpbGxpbmdTdGF0dXNSZXF1",
- "ZXN0EOBdEiIKHVN0YXJ0SW5rRmlsbGluZ1N0YXR1c1Jlc3BvbnNlEOFdEhwK",
- "F1B1dERhdGFTdG9yZUl0ZW1SZXF1ZXN0EMhlEh0KGFB1dERhdGFTdG9yZUl0",
- "ZW1SZXNwb25zZRDJZRIcChdHZXREYXRhU3RvcmVJdGVtUmVxdWVzdBDKZRId",
- "ChhHZXREYXRhU3RvcmVJdGVtUmVzcG9uc2UQy2USIQocRGF0YVN0b3JlSXRl",
- "bU1vZGlmaWVkUmVxdWVzdBDMZRIiCh1EYXRhU3RvcmVJdGVtTW9kaWZpZWRS",
- "ZXNwb25zZRDNZUIcChpjb20udHdpbmUudGFuZ28ucG1yLmNvbW1vbmIGcHJv",
- "dG8z"));
+ "c3BvbnNlEP0PEhYKEUJpdFJlc3VsdHNSZXF1ZXN0EP4PEhcKEkJpdFJlc3Vs",
+ "dHNSZXNwb25zZRD/DxIPCgpKb2JSZXF1ZXN0ELgXEhAKC0pvYlJlc3BvbnNl",
+ "ELkXEhQKD0Fib3J0Sm9iUmVxdWVzdBC6FxIVChBBYm9ydEpvYlJlc3BvbnNl",
+ "ELsXEiMKHlVwbG9hZFByb2Nlc3NQYXJhbWV0ZXJzUmVxdWVzdBC8FxIkCh9V",
+ "cGxvYWRQcm9jZXNzUGFyYW1ldGVyc1Jlc3BvbnNlEL0XEhYKEUN1cnJlbnRK",
+ "b2JSZXF1ZXN0EL4XEhcKEkN1cnJlbnRKb2JSZXNwb25zZRC/FxIcChdSZXN1",
+ "bWVDdXJyZW50Sm9iUmVxdWVzdBDAFxIdChhSZXN1bWVDdXJyZW50Sm9iUmVz",
+ "cG9uc2UQwRcSHQoYU3RhcnRIZWFkQ2xlYW5pbmdSZXF1ZXN0EMIXEh4KGVN0",
+ "YXJ0SGVhZENsZWFuaW5nUmVzcG9uc2UQwxcSHQoYQWJvcnRIZWFkQ2xlYW5p",
+ "bmdSZXF1ZXN0EMQXEh4KGUFib3J0SGVhZENsZWFuaW5nUmVzcG9uc2UQxRcS",
+ "FgoRSm9iUHJlcGFyZVJlcXVlc3QQxhcSFwoSSm9iUHJlcGFyZVJlc3BvbnNl",
+ "EMcXEhkKFFN0YXJ0RGVidWdMb2dSZXF1ZXN0EKAfEhoKFVN0YXJ0RGVidWdM",
+ "b2dSZXNwb25zZRChHxIYChNTdG9wRGVidWdMb2dSZXF1ZXN0EKIfEhkKFFN0",
+ "b3BEZWJ1Z0xvZ1Jlc3BvbnNlEKMfEh8KGlNldERlYnVnTG9nQ2F0ZWdvcnlS",
+ "ZXF1ZXN0EKQfEiAKG1NldERlYnVnTG9nQ2F0ZWdvcnlSZXNwb25zZRClHxIh",
+ "ChxTZXR1cERlYnVnRGlzcmlidXRvcnNSZXF1ZXN0EKYfEiIKHVNldHVwRGVi",
+ "dWdEaXNyaWJ1dG9yc1Jlc3BvbnNlEKcfEicKIlVwbG9hZEhhcmR3YXJlQ29u",
+ "ZmlndXJhdGlvblJlcXVlc3QQiCcSKAojVXBsb2FkSGFyZHdhcmVDb25maWd1",
+ "cmF0aW9uUmVzcG9uc2UQiScSFwoSU3lzdGVtUmVzZXRSZXF1ZXN0EIonEhgK",
+ "E1N5c3RlbVJlc2V0UmVzcG9uc2UQiycSFQoQS2VlcEFsaXZlUmVxdWVzdBDw",
+ "LhIWChFLZWVwQWxpdmVSZXNwb25zZRDxLhITCg5Db25uZWN0UmVxdWVzdBDy",
+ "LhIUCg9Db25uZWN0UmVzcG9uc2UQ8y4SFgoRRGlzY29ubmVjdFJlcXVlc3QQ",
+ "9C4SFwoSRGlzY29ubmVjdFJlc3BvbnNlEPUuEhYKEUZpbGVVcGxvYWRSZXF1",
+ "ZXN0ENg2EhcKEkZpbGVVcGxvYWRSZXNwb25zZRDZNhIbChZGaWxlQ2h1bmtV",
+ "cGxvYWRSZXF1ZXN0ENo2EhwKF0ZpbGVDaHVua1VwbG9hZFJlc3BvbnNlENs2",
+ "EhoKFUV4ZWN1dGVQcm9jZXNzUmVxdWVzdBDcNhIbChZFeGVjdXRlUHJvY2Vz",
+ "c1Jlc3BvbnNlEN02EhcKEktpbGxQcm9jZXNzUmVxdWVzdBDeNhIYChNLaWxs",
+ "UHJvY2Vzc1Jlc3BvbnNlEN82EhIKDUNyZWF0ZVJlcXVlc3QQ4DYSEwoOQ3Jl",
+ "YXRlUmVzcG9uc2UQ4TYSEgoNRGVsZXRlUmVxdWVzdBDiNhITCg5EZWxldGVS",
+ "ZXNwb25zZRDjNhIaChVHZXRTdG9yYWdlSW5mb1JlcXVlc3QQ5DYSGwoWR2V0",
+ "U3RvcmFnZUluZm9SZXNwb25zZRDlNhIUCg9HZXRGaWxlc1JlcXVlc3QQ5jYS",
+ "FQoQR2V0RmlsZXNSZXNwb25zZRDnNhIYChNGaWxlRG93bmxvYWRSZXF1ZXN0",
+ "EOg2EhkKFEZpbGVEb3dubG9hZFJlc3BvbnNlEOk2Eh0KGEZpbGVDaHVua0Rv",
+ "d25sb2FkUmVxdWVzdBDqNhIeChlGaWxlQ2h1bmtEb3dubG9hZFJlc3BvbnNl",
+ "EOs2EhsKFlZhbGlkYXRlVmVyc2lvblJlcXVlc3QQ7DYSHAoXVmFsaWRhdGVW",
+ "ZXJzaW9uUmVzcG9uc2UQ7TYSGwoWQWN0aXZhdGVWZXJzaW9uUmVxdWVzdBDu",
+ "NhIcChdBY3RpdmF0ZVZlcnNpb25SZXNwb25zZRDvNhIZChREaXNwZW5zZXJE",
+ "YXRhUmVxdWVzdBDAPhIaChVEaXNwZW5zZXJEYXRhUmVzcG9uc2UQwT4SHAoX",
+ "TWlkVGFua0RhdGFTZXR1cFJlcXVlc3QQwj4SHQoYTWlkVGFua0RhdGFTZXR1",
+ "cFJlc3BvbnNlEMM+EiIKHU1hY2hpbmVDYWxpYnJhdGlvbkRhdGFSZXF1ZXN0",
+ "EMQ+EiMKHk1hY2hpbmVDYWxpYnJhdGlvbkRhdGFSZXNwb25zZRDFPhIeChlN",
+ "YWluQ2FyZFN0b3JlZERhdGFSZXF1ZXN0EMY+Eh8KGk1haW5DYXJkU3RvcmVk",
+ "RGF0YVJlc3BvbnNlEMc+EiQKH1N0YXJ0TWFjaGluZVN0YXR1c1VwZGF0ZVJl",
+ "cXVlc3QQqEYSJQogU3RhcnRNYWNoaW5lU3RhdHVzVXBkYXRlUmVzcG9uc2UQ",
+ "qUYSIwoeU3RvcE1hY2hpbmVTdGF0dXNVcGRhdGVSZXF1ZXN0EKpGEiQKH1N0",
+ "b3BNYWNoaW5lU3RhdHVzVXBkYXRlUmVzcG9uc2UQq0YSIQocU2V0SW5rQXV0",
+ "b0ZpbGxpbmdNb2RlUmVxdWVzdBCsRhIiCh1TZXRJbmtBdXRvRmlsbGluZ01v",
+ "ZGVSZXNwb25zZRCtRhIaChVTdGFydFBvd2VyRG93blJlcXVlc3QQkE4SGwoW",
+ "U3RhcnRQb3dlckRvd25SZXNwb25zZRCRThIaChVBYm9ydFBvd2VyRG93blJl",
+ "cXVlc3QQkk4SGwoWQWJvcnRQb3dlckRvd25SZXNwb25zZRCTThIYChNTdGFy",
+ "dFBvd2VyVXBSZXF1ZXN0EJROEhkKFFN0YXJ0UG93ZXJVcFJlc3BvbnNlEJVO",
+ "EhgKE0Fib3J0UG93ZXJVcFJlcXVlc3QQlk4SGQoUQWJvcnRQb3dlclVwUmVz",
+ "cG9uc2UQl04SEwoOU3RhbmRCeVJlcXVlc3QQmE4SFAoPU3RhbmRCeVJlc3Bv",
+ "bnNlEJlOEh4KGVN0YXJ0VGhyZWFkTG9hZGluZ1JlcXVlc3QQ+FUSHwoaU3Rh",
+ "cnRUaHJlYWRMb2FkaW5nUmVzcG9uc2UQ+VUSIQocQ29udGludWVUaHJlYWRM",
+ "b2FkaW5nUmVxdWVzdBD6VRIiCh1Db250aW51ZVRocmVhZExvYWRpbmdSZXNw",
+ "b25zZRD7VRIdChhTdG9wVGhyZWFkTG9hZGluZ1JlcXVlc3QQ/FUSHgoZU3Rv",
+ "cFRocmVhZExvYWRpbmdSZXNwb25zZRD9VRIcChdUcnlUaHJlYWRMb2FkaW5n",
+ "UmVxdWVzdBD+VRIdChhUcnlUaHJlYWRMb2FkaW5nUmVzcG9uc2UQ/1USIAob",
+ "QXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXF1ZXN0EIBWEiEKHEF0dGVtcHRUaHJl",
+ "YWRKb2dnaW5nUmVzcG9uc2UQgVYSIQocU3RhcnRJbmtGaWxsaW5nU3RhdHVz",
+ "UmVxdWVzdBDgXRIiCh1TdGFydElua0ZpbGxpbmdTdGF0dXNSZXNwb25zZRDh",
+ "XRIcChdQdXREYXRhU3RvcmVJdGVtUmVxdWVzdBDIZRIdChhQdXREYXRhU3Rv",
+ "cmVJdGVtUmVzcG9uc2UQyWUSHAoXR2V0RGF0YVN0b3JlSXRlbVJlcXVlc3QQ",
+ "ymUSHQoYR2V0RGF0YVN0b3JlSXRlbVJlc3BvbnNlEMtlEiEKHERhdGFTdG9y",
+ "ZUl0ZW1Nb2RpZmllZFJlcXVlc3QQzGUSIgodRGF0YVN0b3JlSXRlbU1vZGlm",
+ "aWVkUmVzcG9uc2UQzWVCHAoaY29tLnR3aW5lLnRhbmdvLnBtci5jb21tb25i",
+ "BnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null));
@@ -413,6 +414,8 @@ namespace Tango.PMR.Common {
[pbr::OriginalName("SetValveStateResponse")] SetValveStateResponse = 2039,
[pbr::OriginalName("CartridgeValidationRequest")] CartridgeValidationRequest = 2044,
[pbr::OriginalName("CartridgeValidationResponse")] CartridgeValidationResponse = 2045,
+ [pbr::OriginalName("BitResultsRequest")] BitResultsRequest = 2046,
+ [pbr::OriginalName("BitResultsResponse")] BitResultsResponse = 2047,
/// <summary>
///Printing
/// </summary>
diff --git a/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResult.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResult.cs
new file mode 100644
index 000000000..b0e0ce5e7
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResult.cs
@@ -0,0 +1,217 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: BitResult.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.Diagnostics {
+
+ /// <summary>Holder for reflection information generated from BitResult.proto</summary>
+ public static partial class BitResultReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for BitResult.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static BitResultReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Cg9CaXRSZXN1bHQucHJvdG8SFVRhbmdvLlBNUi5EaWFnbm9zdGljcxoNQml0",
+ "VHlwZS5wcm90byJhCglCaXRSZXN1bHQSLwoHQml0VHlwZRgBIAEoDjIeLlRh",
+ "bmdvLlBNUi5EaWFnbm9zdGljcy5CaXRUeXBlEg4KBlBhc3NlZBgCIAEoCBIT",
+ "CgtEZXNjcmlwdGlvbhgDIAEoCUIhCh9jb20udHdpbmUudGFuZ28ucG1yLmRp",
+ "YWdub3N0aWNzYgZwcm90bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Tango.PMR.Diagnostics.BitTypeReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Diagnostics.BitResult), global::Tango.PMR.Diagnostics.BitResult.Parser, new[]{ "BitType", "Passed", "Description" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class BitResult : pb::IMessage<BitResult> {
+ private static readonly pb::MessageParser<BitResult> _parser = new pb::MessageParser<BitResult>(() => new BitResult());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<BitResult> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Diagnostics.BitResultReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResult() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResult(BitResult other) : this() {
+ bitType_ = other.bitType_;
+ passed_ = other.passed_;
+ description_ = other.description_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResult Clone() {
+ return new BitResult(this);
+ }
+
+ /// <summary>Field number for the "BitType" field.</summary>
+ public const int BitTypeFieldNumber = 1;
+ private global::Tango.PMR.Diagnostics.BitType bitType_ = 0;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Tango.PMR.Diagnostics.BitType BitType {
+ get { return bitType_; }
+ set {
+ bitType_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Passed" field.</summary>
+ public const int PassedFieldNumber = 2;
+ private bool passed_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Passed {
+ get { return passed_; }
+ set {
+ passed_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Description" field.</summary>
+ public const int DescriptionFieldNumber = 3;
+ private string description_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Description {
+ get { return description_; }
+ set {
+ description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as BitResult);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(BitResult other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (BitType != other.BitType) return false;
+ if (Passed != other.Passed) return false;
+ if (Description != other.Description) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (BitType != 0) hash ^= BitType.GetHashCode();
+ if (Passed != false) hash ^= Passed.GetHashCode();
+ if (Description.Length != 0) hash ^= Description.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 (BitType != 0) {
+ output.WriteRawTag(8);
+ output.WriteEnum((int) BitType);
+ }
+ if (Passed != false) {
+ output.WriteRawTag(16);
+ output.WriteBool(Passed);
+ }
+ if (Description.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Description);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (BitType != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) BitType);
+ }
+ if (Passed != false) {
+ size += 1 + 1;
+ }
+ if (Description.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(BitResult other) {
+ if (other == null) {
+ return;
+ }
+ if (other.BitType != 0) {
+ BitType = other.BitType;
+ }
+ if (other.Passed != false) {
+ Passed = other.Passed;
+ }
+ if (other.Description.Length != 0) {
+ Description = other.Description;
+ }
+ }
+
+ [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: {
+ bitType_ = (global::Tango.PMR.Diagnostics.BitType) input.ReadEnum();
+ break;
+ }
+ case 16: {
+ Passed = input.ReadBool();
+ break;
+ }
+ case 26: {
+ Description = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsRequest.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsRequest.cs
new file mode 100644
index 000000000..177488c5c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsRequest.cs
@@ -0,0 +1,131 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: BitResultsRequest.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.Diagnostics {
+
+ /// <summary>Holder for reflection information generated from BitResultsRequest.proto</summary>
+ public static partial class BitResultsRequestReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for BitResultsRequest.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static BitResultsRequestReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChdCaXRSZXN1bHRzUmVxdWVzdC5wcm90bxIVVGFuZ28uUE1SLkRpYWdub3N0",
+ "aWNzIhMKEUJpdFJlc3VsdHNSZXF1ZXN0QiEKH2NvbS50d2luZS50YW5nby5w",
+ "bXIuZGlhZ25vc3RpY3NiBnByb3RvMw=="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Diagnostics.BitResultsRequest), global::Tango.PMR.Diagnostics.BitResultsRequest.Parser, null, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class BitResultsRequest : pb::IMessage<BitResultsRequest> {
+ private static readonly pb::MessageParser<BitResultsRequest> _parser = new pb::MessageParser<BitResultsRequest>(() => new BitResultsRequest());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<BitResultsRequest> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Diagnostics.BitResultsRequestReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsRequest(BitResultsRequest other) : this() {
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsRequest Clone() {
+ return new BitResultsRequest(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as BitResultsRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(BitResultsRequest 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(BitResultsRequest 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/Diagnostics/BitResultsResponse.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsResponse.cs
new file mode 100644
index 000000000..229e6b830
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitResultsResponse.cs
@@ -0,0 +1,153 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: BitResultsResponse.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.Diagnostics {
+
+ /// <summary>Holder for reflection information generated from BitResultsResponse.proto</summary>
+ public static partial class BitResultsResponseReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for BitResultsResponse.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static BitResultsResponseReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChhCaXRSZXN1bHRzUmVzcG9uc2UucHJvdG8SFVRhbmdvLlBNUi5EaWFnbm9z",
+ "dGljcxoPQml0UmVzdWx0LnByb3RvIkcKEkJpdFJlc3VsdHNSZXNwb25zZRIx",
+ "CgdSZXN1bHRzGAEgAygLMiAuVGFuZ28uUE1SLkRpYWdub3N0aWNzLkJpdFJl",
+ "c3VsdEIhCh9jb20udHdpbmUudGFuZ28ucG1yLmRpYWdub3N0aWNzYgZwcm90",
+ "bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Tango.PMR.Diagnostics.BitResultReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Diagnostics.BitResultsResponse), global::Tango.PMR.Diagnostics.BitResultsResponse.Parser, new[]{ "Results" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class BitResultsResponse : pb::IMessage<BitResultsResponse> {
+ private static readonly pb::MessageParser<BitResultsResponse> _parser = new pb::MessageParser<BitResultsResponse>(() => new BitResultsResponse());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<BitResultsResponse> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Diagnostics.BitResultsResponseReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsResponse(BitResultsResponse other) : this() {
+ results_ = other.results_.Clone();
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public BitResultsResponse Clone() {
+ return new BitResultsResponse(this);
+ }
+
+ /// <summary>Field number for the "Results" field.</summary>
+ public const int ResultsFieldNumber = 1;
+ private static readonly pb::FieldCodec<global::Tango.PMR.Diagnostics.BitResult> _repeated_results_codec
+ = pb::FieldCodec.ForMessage(10, global::Tango.PMR.Diagnostics.BitResult.Parser);
+ private readonly pbc::RepeatedField<global::Tango.PMR.Diagnostics.BitResult> results_ = new pbc::RepeatedField<global::Tango.PMR.Diagnostics.BitResult>();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField<global::Tango.PMR.Diagnostics.BitResult> Results {
+ get { return results_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as BitResultsResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(BitResultsResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if(!results_.Equals(other.results_)) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ hash ^= results_.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) {
+ results_.WriteTo(output, _repeated_results_codec);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ size += results_.CalculateSize(_repeated_results_codec);
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(BitResultsResponse other) {
+ if (other == null) {
+ return;
+ }
+ results_.Add(other.results_);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ input.SkipLastField();
+ break;
+ case 10: {
+ results_.AddEntriesFrom(input, _repeated_results_codec);
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Diagnostics/BitType.cs b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitType.cs
new file mode 100644
index 000000000..c0e04bb17
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Diagnostics/BitType.cs
@@ -0,0 +1,883 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: BitType.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.Diagnostics {
+
+ /// <summary>Holder for reflection information generated from BitType.proto</summary>
+ public static partial class BitTypeReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for BitType.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static BitTypeReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Cg1CaXRUeXBlLnByb3RvEhVUYW5nby5QTVIuRGlhZ25vc3RpY3MqsCMKB0Jp",
+ "dFR5cGUSEwoPVW5zcGVjaWZpZWRfQml0EAASGwoWSW5jb21pbmd2b2x0YWdl",
+ "dG9vaGlnaBDoBxIaChVJbmNvbWluZ3ZvbHRhZ2V0b29sb3cQ6QcSEAoLUkZJ",
+ "RFJlYWRlcjEQ0A8SEAoLUkZJRFJlYWRlcjIQ0Q8SEAoLUkZJRFJlYWRlcjMQ",
+ "0g8SFgoRRGlzcGVuc2VySTJDQ29tbTEQuBcSFgoRRGlzcGVuc2VySTJDQ29t",
+ "bTIQuRcSFgoRRGlzcGVuc2VySTJDQ29tbTMQuhcSFgoRRGlzcGVuc2VySTJD",
+ "Q29tbTQQuxcSFgoRRGlzcGVuc2VySTJDQ29tbTUQvBcSFgoRRGlzcGVuc2Vy",
+ "STJDQ29tbTYQvRcSFgoRRGlzcGVuc2VySTJDQ29tbTcQvhcSFgoRRGlzcGVu",
+ "c2VySTJDQ29tbTgQvxcSFwoSSGVhZFR5cGVJZGVudGlmaWVkEMAXEhYKEVdI",
+ "U1R5cGVJZGVudGlmaWVkEMEXEhwKF0NvbW11bmljYXRpb253aXRoU2hpbmtv",
+ "EKAfEhoKFUNvbW11bmljYXRpb253aXRoQlRTUhChHxIVChBVU0JDb21tdW5p",
+ "Y2F0aW9uEIgnEhEKDERyYXdlckJJR2ZhbhDwLhIUCg9EcmF3ZXJzbWFsbDFm",
+ "YW4Q8S4SFAoPRHJhd2Vyc21hbGwyZmFuEPIuEhQKD0RyYXdlcnNtYWxsM2Zh",
+ "bhDzLhIUCg9EcmF3ZXJzbWFsbDRmYW4Q9C4SDwoKU3lzdGVtZmFuMRD1LhIP",
+ "CgpTeXN0ZW1mYW4yEPYuEg8KClN5c3RlbWZhbjMQ9y4SFgoRRGFuY2Vyc3Rh",
+ "dHVzcmVhZDEQ2DYSFgoRRGFuY2Vyc3RhdHVzcmVhZDIQ2TYSFgoRRGFuY2Vy",
+ "c3RhdHVzcmVhZDMQ2jYSGwoWRHJ5ZXJFbmNvZGVyc3RhdHVzcmVhZBDbNhIT",
+ "Cg5QVDEwMHJlYWRIZWFkMRDAPhITCg5QVDEwMHJlYWRIZWFkMhDBPhITCg5Q",
+ "VDEwMHJlYWRIZWFkMxDCPhITCg5QVDEwMHJlYWRIZWFkNBDDPhITCg5QVDEw",
+ "MHJlYWRIZWFkNRDEPhITCg5QVDEwMHJlYWRIZWFkNhDFPhITCg5QVDEwMHJl",
+ "YWRIZWFkNxDGPhITCg5QVDEwMHJlYWRIZWFkOBDHPhITCg5QVDEwMHJlYWRI",
+ "ZWFkORDIPhIUCg9QVDEwMHJlYWRIZWFkMTAQyT4SFAoPUFQxMDByZWFkSGVh",
+ "ZDExEMo+EhQKD1BUMTAwcmVhZEhlYWQxMhDLPhIUCg9QVDEwMHJlYWREcnll",
+ "cjEQzD4SFAoPUFQxMDByZWFkRHJ5ZXIyEM0+EhoKFVBUMTAwcmVhZEhlYWRC",
+ "bG93ZXJJbhDOPhIbChZQVDEwMHJlYWRIZWFkQmxvd2VyT3V0EM8+EhYKEVBU",
+ "MTAwcmVhZERyeWVyQWlyENA+EhEKDFBUMTAwcmVhZFdIUxDRPhIQCgtQVDEw",
+ "MHJlYWRFQxDSPhIVChBQVDEwMHJlYWRNYWNoaW5lENM+EhYKEUN1cnJlbnRi",
+ "cmVha0hlYWQxENQ+EhYKEUN1cnJlbnRicmVha0hlYWQyENU+EhYKEUN1cnJl",
+ "bnRicmVha0hlYWQzENY+EhYKEUN1cnJlbnRicmVha0hlYWQ0ENc+EhYKEUN1",
+ "cnJlbnRicmVha0hlYWQ1ENg+EhYKEUN1cnJlbnRicmVha0hlYWQ2ENk+EhYK",
+ "EUN1cnJlbnRicmVha0hlYWQ3ENo+EhYKEUN1cnJlbnRicmVha0hlYWQ4ENs+",
+ "EhYKEUN1cnJlbnRicmVha0hlYWQ5ENw+EhcKEkN1cnJlbnRicmVha0hlYWQx",
+ "MBDdPhIXChJDdXJyZW50YnJlYWtIZWFkMTEQ3j4SFwoSQ3VycmVudGJyZWFr",
+ "SGVhZDEyEN8+EhcKEkN1cnJlbnRicmVha0RyeWVyMRDgPhIXChJDdXJyZW50",
+ "YnJlYWtEcnllcjIQ4T4SHQoYQ3VycmVudGJyZWFrSGVhZEJsb3dlckluEOI+",
+ "Eh4KGUN1cnJlbnRicmVha0hlYWRCbG93ZXJPdXQQ4z4SEQoMQ3VycmVudEhl",
+ "YWQxEOQ+EhEKDEN1cnJlbnRIZWFkMhDlPhIRCgxDdXJyZW50SGVhZDMQ5j4S",
+ "EQoMQ3VycmVudEhlYWQ0EOc+EhEKDEN1cnJlbnRIZWFkNRDoPhIRCgxDdXJy",
+ "ZW50SGVhZDYQ6T4SEQoMQ3VycmVudEhlYWQ3EOo+EhEKDEN1cnJlbnRIZWFk",
+ "OBDrPhIRCgxDdXJyZW50SGVhZDkQ7D4SEgoNQ3VycmVudEhlYWQxMBDtPhIS",
+ "Cg1DdXJyZW50SGVhZDExEO4+EhIKDUN1cnJlbnRIZWFkMTIQ7z4SEgoNQ3Vy",
+ "cmVudERyeWVyMRDwPhISCg1DdXJyZW50RHJ5ZXIyEPE+EhgKE0N1cnJlbnRI",
+ "ZWFkQmxvd2VySW4Q8j4SGQoUQ3VycmVudEhlYWRCbG93ZXJPdXQQ8z4SEAoL",
+ "SGVhdGVySGVhZDEQ9D4SEAoLSGVhdGVySGVhZDIQ9T4SEAoLSGVhdGVySGVh",
+ "ZDMQ9j4SEAoLSGVhdGVySGVhZDQQ9z4SEAoLSGVhdGVySGVhZDUQ+D4SEAoL",
+ "SGVhdGVySGVhZDYQ+T4SEAoLSGVhdGVySGVhZDcQ+j4SEAoLSGVhdGVySGVh",
+ "ZDgQ+z4SEAoLSGVhdGVySGVhZDkQ/D4SEQoMSGVhdGVySGVhZDEwEP0+EhEK",
+ "DEhlYXRlckhlYWQxMRD+PhIRCgxIZWF0ZXJIZWFkMTIQ/z4SEQoMSGVhdGVy",
+ "RHJ5ZXIxEIA/EhEKDEhlYXRlckRyeWVyMhCBPxIXChJIZWF0ZXJIZWFkQmxv",
+ "d2VySW4Qgj8SGAoTSGVhdGVySGVhZEJsb3dlck91dBCDPxIZChRQb3dlclN0",
+ "ZXBESENsZWFuSGVhZBCoRhIZChRQb3dlclN0ZXBESENsZWFuTWVjaBCpRhIb",
+ "ChZQb3dlclN0ZXBEeWVpbmdIZWFkTGlkEKpGEhoKFVBvd2VyU3RlcERyeWVy",
+ "RHJpdmluZxCrRhIWChFQb3dlclN0ZXBEcnllckxpZBCsRhIaChVQb3dlclN0",
+ "ZXBEcnllckxvYWRhcm0QrUYSGAoTUG93ZXJTdGVwRGlzcGVuc2VyMRCuRhIY",
+ "ChNQb3dlclN0ZXBEaXNwZW5zZXIyEK9GEhgKE1Bvd2VyU3RlcERpc3BlbnNl",
+ "cjMQsEYSGAoTUG93ZXJTdGVwRGlzcGVuc2VyNBCxRhIYChNQb3dlclN0ZXBE",
+ "aXNwZW5zZXI1ELJGEhgKE1Bvd2VyU3RlcERpc3BlbnNlcjYQs0YSGAoTUG93",
+ "ZXJTdGVwRGlzcGVuc2VyNxC0RhIYChNQb3dlclN0ZXBEaXNwZW5zZXI4ELVG",
+ "EhMKDlBvd2VyU3RlcFNjcmV3ELZGEhQKD1Bvd2VyU3RlcFdpbmRlchC3RhIY",
+ "ChNQb3dlclN0ZXBMZWZ0RGFuY2VyELhGEhoKFVBvd2VyU3RlcE1pZGRsZURh",
+ "bmNlchC5RhIZChRQb3dlclN0ZXBMZWZ0RHJpdmluZxC6RhIZChRQb3dlclN0",
+ "ZXBMZWZ0Um9ja2VycxC7RhIXChJQb3dlclN0ZXBMZWZ0cGl2b3QQvEYSGQoU",
+ "UG93ZXJTdGVwUmlnaHREYW5jZXIQvUYSGgoVUG93ZXJTdGVwUmlnaHREcml2",
+ "aW5nEL5GEhoKFVBvd2VyU3RlcFJpZ2h0TG9hZGFybRC/RhIaChVQb3dlclN0",
+ "ZXBSaWdodFJvY2tlcnMQwEYSFgoRUG93ZXJTdGVwU3BhcmUxXzEQwUYSFgoR",
+ "UG93ZXJTdGVwU3BhcmUxXzIQwkYSFgoRUG93ZXJTdGVwU3BhcmUyXzEQw0YS",
+ "FgoRUG93ZXJTdGVwU3BhcmUyXzIQxEYSFgoRUG93ZXJTdGVwU3BhcmUzXzEQ",
+ "xUYSHQoYTW90b3JXaXJlcmVhZERIQ2xlYW5IZWFkEMZGEh0KGE1vdG9yV2ly",
+ "ZXJlYWRESENsZWFuTWVjaBDHRhIfChpNb3RvcldpcmVyZWFkRHllaW5nSGVh",
+ "ZExpZBDIRhIeChlNb3RvcldpcmVyZWFkRHJ5ZXJEcml2aW5nEMlGEhoKFU1v",
+ "dG9yV2lyZXJlYWREcnllckxpZBDKRhIeChlNb3RvcldpcmVyZWFkRHJ5ZXJM",
+ "b2FkYXJtEMtGEhwKF01vdG9yV2lyZXJlYWREaXNwZW5zZXIxEMxGEhwKF01v",
+ "dG9yV2lyZXJlYWREaXNwZW5zZXIyEM1GEhwKF01vdG9yV2lyZXJlYWREaXNw",
+ "ZW5zZXIzEM5GEhwKF01vdG9yV2lyZXJlYWREaXNwZW5zZXI0EM9GEhwKF01v",
+ "dG9yV2lyZXJlYWREaXNwZW5zZXI1ENBGEhwKF01vdG9yV2lyZXJlYWREaXNw",
+ "ZW5zZXI2ENFGEhwKF01vdG9yV2lyZXJlYWREaXNwZW5zZXI3ENJGEhwKF01v",
+ "dG9yV2lyZXJlYWREaXNwZW5zZXI4ENNGEhcKEk1vdG9yV2lyZXJlYWRTY3Jl",
+ "dxDURhIYChNNb3RvcldpcmVyZWFkV2luZGVyENVGEhwKF01vdG9yV2lyZXJl",
+ "YWRMZWZ0RGFuY2VyENZGEh4KGU1vdG9yV2lyZXJlYWRNaWRkbGVEYW5jZXIQ",
+ "10YSHQoYTW90b3JXaXJlcmVhZExlZnREcml2aW5nENhGEh0KGE1vdG9yV2ly",
+ "ZXJlYWRMZWZ0Um9ja2VycxDZRhIbChZNb3RvcldpcmVyZWFkTGVmdHBpdm90",
+ "ENpGEh0KGE1vdG9yV2lyZXJlYWRSaWdodERhbmNlchDbRhIeChlNb3Rvcldp",
+ "cmVyZWFkUmlnaHREcml2aW5nENxGEh4KGU1vdG9yV2lyZXJlYWRSaWdodExv",
+ "YWRhcm0Q3UYSHgoZTW90b3JXaXJlcmVhZFJpZ2h0Um9ja2VycxDeRhIaChVN",
+ "b3RvcldpcmVyZWFkU3BhcmUxXzEQ30YSGgoVTW90b3JXaXJlcmVhZFNwYXJl",
+ "MV8yEOBGEhoKFU1vdG9yV2lyZXJlYWRTcGFyZTJfMRDhRhIaChVNb3Rvcldp",
+ "cmVyZWFkU3BhcmUyXzIQ4kYSGgoVTW90b3JXaXJlcmVhZFNwYXJlM18xEONG",
+ "EhQKD0luQmxvd2VydHVybk9mZhCQThIVChBPdXRCbG93ZXJ0dXJuT2ZmEJFO",
+ "EhMKDkluQmxvd2VydHVybk9uEJJOEhQKD091dEJsb3dlcnR1cm5PbhCTThIV",
+ "ChBJbkJsb3dlclByZXNzdXJlEJROEhYKEU91dEJsb3dlclByZXNzdXJlEJVO",
+ "EiIKHVdIU0Jsb3dlcmRvZXNub3RidWlsZHByZXNzdXJlEJZOEhoKFVdIU0Ry",
+ "eWVyc2Vuc29yZmFpbHVyZRCXThIZChRXSFNIZWFkc2Vuc29yZmFpbHVyZRCY",
+ "ThIaChVXSFNPdGhlcnNlbnNvcmZhaWx1cmUQmU4SGAoTUHJlc3N1cmVidWls",
+ "ZGluZ3VwMRD4VRIYChNQcmVzc3VyZWJ1aWxkaW5ndXAyEPlVEhgKE1ByZXNz",
+ "dXJlYnVpbGRpbmd1cDMQ+lUSGAoTUHJlc3N1cmVidWlsZGluZ3VwNBD7VRIY",
+ "ChNQcmVzc3VyZWJ1aWxkaW5ndXA1EPxVEhgKE1ByZXNzdXJlYnVpbGRpbmd1",
+ "cDYQ/VUSGAoTUHJlc3N1cmVidWlsZGluZ3VwNxD+VRIYChNQcmVzc3VyZWJ1",
+ "aWxkaW5ndXA4EP9VEhYKEVByZXNzdXJlcmVsZWFzZWQxEIBWEhYKEVByZXNz",
+ "dXJlcmVsZWFzZWQyEIFWEhYKEVByZXNzdXJlcmVsZWFzZWQzEIJWEhYKEVBy",
+ "ZXNzdXJlcmVsZWFzZWQ0EINWEhYKEVByZXNzdXJlcmVsZWFzZWQ1EIRWEhYK",
+ "EVByZXNzdXJlcmVsZWFzZWQ2EIVWEhYKEVByZXNzdXJlcmVsZWFzZWQ3EIZW",
+ "EhYKEVByZXNzdXJlcmVsZWFzZWQ4EIdWQiEKH2NvbS50d2luZS50YW5nby5w",
+ "bXIuZGlhZ25vc3RpY3NiBnByb3RvMw=="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Diagnostics.BitType), }, null));
+ }
+ #endregion
+
+ }
+ #region Enums
+ public enum BitType {
+ /// <summary>
+ ///Must contain a 0 value
+ /// </summary>
+ [pbr::OriginalName("Unspecified_Bit")] UnspecifiedBit = 0,
+ /// <summary>
+ ///Incoming voltage too high
+ /// </summary>
+ [pbr::OriginalName("Incomingvoltagetoohigh")] Incomingvoltagetoohigh = 1000,
+ /// <summary>
+ ///Incoming voltage too low
+ /// </summary>
+ [pbr::OriginalName("Incomingvoltagetoolow")] Incomingvoltagetoolow = 1001,
+ /// <summary>
+ ///RFID Reader 1
+ /// </summary>
+ [pbr::OriginalName("RFIDReader1")] Rfidreader1 = 2000,
+ /// <summary>
+ ///RFID Reader 2
+ /// </summary>
+ [pbr::OriginalName("RFIDReader2")] Rfidreader2 = 2001,
+ /// <summary>
+ ///RFID Reader 3
+ /// </summary>
+ [pbr::OriginalName("RFIDReader3")] Rfidreader3 = 2002,
+ /// <summary>
+ ///Dispenser I2C Comm 1
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm1")] DispenserI2Ccomm1 = 3000,
+ /// <summary>
+ ///Dispenser I2C Comm 2
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm2")] DispenserI2Ccomm2 = 3001,
+ /// <summary>
+ ///Dispenser I2C Comm 3
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm3")] DispenserI2Ccomm3 = 3002,
+ /// <summary>
+ ///Dispenser I2C Comm 4
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm4")] DispenserI2Ccomm4 = 3003,
+ /// <summary>
+ ///Dispenser I2C Comm 5
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm5")] DispenserI2Ccomm5 = 3004,
+ /// <summary>
+ ///Dispenser I2C Comm 6
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm6")] DispenserI2Ccomm6 = 3005,
+ /// <summary>
+ ///Dispenser I2C Comm 7
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm7")] DispenserI2Ccomm7 = 3006,
+ /// <summary>
+ ///Dispenser I2C Comm 8
+ /// </summary>
+ [pbr::OriginalName("DispenserI2CComm8")] DispenserI2Ccomm8 = 3007,
+ /// <summary>
+ ///Head Type Identified
+ /// </summary>
+ [pbr::OriginalName("HeadTypeIdentified")] HeadTypeIdentified = 3008,
+ /// <summary>
+ ///WHS Type Identified
+ /// </summary>
+ [pbr::OriginalName("WHSTypeIdentified")] WhstypeIdentified = 3009,
+ /// <summary>
+ ///Communication with Shinko
+ /// </summary>
+ [pbr::OriginalName("CommunicationwithShinko")] CommunicationwithShinko = 4000,
+ /// <summary>
+ ///Communication with BTSR
+ /// </summary>
+ [pbr::OriginalName("CommunicationwithBTSR")] CommunicationwithBtsr = 4001,
+ /// <summary>
+ ///USB Communication
+ /// </summary>
+ [pbr::OriginalName("USBCommunication")] Usbcommunication = 5000,
+ /// <summary>
+ ///Drawer BIG fan
+ /// </summary>
+ [pbr::OriginalName("DrawerBIGfan")] DrawerBigfan = 6000,
+ /// <summary>
+ ///Drawer small 1 fan
+ /// </summary>
+ [pbr::OriginalName("Drawersmall1fan")] Drawersmall1Fan = 6001,
+ /// <summary>
+ ///Drawer small 2 fan
+ /// </summary>
+ [pbr::OriginalName("Drawersmall2fan")] Drawersmall2Fan = 6002,
+ /// <summary>
+ ///Drawer small 3 fan
+ /// </summary>
+ [pbr::OriginalName("Drawersmall3fan")] Drawersmall3Fan = 6003,
+ /// <summary>
+ ///Drawer small 4 fan
+ /// </summary>
+ [pbr::OriginalName("Drawersmall4fan")] Drawersmall4Fan = 6004,
+ /// <summary>
+ ///System fan 1
+ /// </summary>
+ [pbr::OriginalName("Systemfan1")] Systemfan1 = 6005,
+ /// <summary>
+ ///System fan 2
+ /// </summary>
+ [pbr::OriginalName("Systemfan2")] Systemfan2 = 6006,
+ /// <summary>
+ ///System fan 3
+ /// </summary>
+ [pbr::OriginalName("Systemfan3")] Systemfan3 = 6007,
+ /// <summary>
+ ///Dancer status read 1
+ /// </summary>
+ [pbr::OriginalName("Dancerstatusread1")] Dancerstatusread1 = 7000,
+ /// <summary>
+ ///Dancer status read 2
+ /// </summary>
+ [pbr::OriginalName("Dancerstatusread2")] Dancerstatusread2 = 7001,
+ /// <summary>
+ ///Dancer status read 3
+ /// </summary>
+ [pbr::OriginalName("Dancerstatusread3")] Dancerstatusread3 = 7002,
+ /// <summary>
+ ///Dryer Encoder status read
+ /// </summary>
+ [pbr::OriginalName("DryerEncoderstatusread")] DryerEncoderstatusread = 7003,
+ /// <summary>
+ ///PT100 read Head 1
+ /// </summary>
+ [pbr::OriginalName("PT100readHead1")] Pt100ReadHead1 = 8000,
+ /// <summary>
+ ///PT100 read Head 2
+ /// </summary>
+ [pbr::OriginalName("PT100readHead2")] Pt100ReadHead2 = 8001,
+ /// <summary>
+ ///PT100 read Head 3
+ /// </summary>
+ [pbr::OriginalName("PT100readHead3")] Pt100ReadHead3 = 8002,
+ /// <summary>
+ ///PT100 read Head 4
+ /// </summary>
+ [pbr::OriginalName("PT100readHead4")] Pt100ReadHead4 = 8003,
+ /// <summary>
+ ///PT100 read Head 5
+ /// </summary>
+ [pbr::OriginalName("PT100readHead5")] Pt100ReadHead5 = 8004,
+ /// <summary>
+ ///PT100 read Head 6
+ /// </summary>
+ [pbr::OriginalName("PT100readHead6")] Pt100ReadHead6 = 8005,
+ /// <summary>
+ ///PT100 read Head 7
+ /// </summary>
+ [pbr::OriginalName("PT100readHead7")] Pt100ReadHead7 = 8006,
+ /// <summary>
+ ///PT100 read Head 8
+ /// </summary>
+ [pbr::OriginalName("PT100readHead8")] Pt100ReadHead8 = 8007,
+ /// <summary>
+ ///PT100 read Head 9
+ /// </summary>
+ [pbr::OriginalName("PT100readHead9")] Pt100ReadHead9 = 8008,
+ /// <summary>
+ ///PT100 read Head 10
+ /// </summary>
+ [pbr::OriginalName("PT100readHead10")] Pt100ReadHead10 = 8009,
+ /// <summary>
+ ///PT100 read Head 11
+ /// </summary>
+ [pbr::OriginalName("PT100readHead11")] Pt100ReadHead11 = 8010,
+ /// <summary>
+ ///PT100 read Head 12
+ /// </summary>
+ [pbr::OriginalName("PT100readHead12")] Pt100ReadHead12 = 8011,
+ /// <summary>
+ ///PT100 read Dryer 1
+ /// </summary>
+ [pbr::OriginalName("PT100readDryer1")] Pt100ReadDryer1 = 8012,
+ /// <summary>
+ ///PT100 read Dryer 2
+ /// </summary>
+ [pbr::OriginalName("PT100readDryer2")] Pt100ReadDryer2 = 8013,
+ /// <summary>
+ ///PT100 read Head Blower In
+ /// </summary>
+ [pbr::OriginalName("PT100readHeadBlowerIn")] Pt100ReadHeadBlowerIn = 8014,
+ /// <summary>
+ ///PT100 read Head Blower Out
+ /// </summary>
+ [pbr::OriginalName("PT100readHeadBlowerOut")] Pt100ReadHeadBlowerOut = 8015,
+ /// <summary>
+ ///PT100 read Dryer Air
+ /// </summary>
+ [pbr::OriginalName("PT100readDryerAir")] Pt100ReadDryerAir = 8016,
+ /// <summary>
+ ///PT100 read WHS
+ /// </summary>
+ [pbr::OriginalName("PT100readWHS")] Pt100ReadWhs = 8017,
+ /// <summary>
+ ///PT100 read EC
+ /// </summary>
+ [pbr::OriginalName("PT100readEC")] Pt100ReadEc = 8018,
+ /// <summary>
+ ///PT100 read Machine
+ /// </summary>
+ [pbr::OriginalName("PT100readMachine")] Pt100ReadMachine = 8019,
+ /// <summary>
+ ///Current break Head 1
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead1")] CurrentbreakHead1 = 8020,
+ /// <summary>
+ ///Current break Head 2
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead2")] CurrentbreakHead2 = 8021,
+ /// <summary>
+ ///Current break Head 3
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead3")] CurrentbreakHead3 = 8022,
+ /// <summary>
+ ///Current break Head 4
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead4")] CurrentbreakHead4 = 8023,
+ /// <summary>
+ ///Current break Head 5
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead5")] CurrentbreakHead5 = 8024,
+ /// <summary>
+ ///Current break Head 6
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead6")] CurrentbreakHead6 = 8025,
+ /// <summary>
+ ///Current break Head 7
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead7")] CurrentbreakHead7 = 8026,
+ /// <summary>
+ ///Current break Head 8
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead8")] CurrentbreakHead8 = 8027,
+ /// <summary>
+ ///Current break Head 9
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead9")] CurrentbreakHead9 = 8028,
+ /// <summary>
+ ///Current break Head 10
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead10")] CurrentbreakHead10 = 8029,
+ /// <summary>
+ ///Current break Head 11
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead11")] CurrentbreakHead11 = 8030,
+ /// <summary>
+ ///Current break Head 12
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHead12")] CurrentbreakHead12 = 8031,
+ /// <summary>
+ ///Current break Dryer 1
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakDryer1")] CurrentbreakDryer1 = 8032,
+ /// <summary>
+ ///Current break Dryer 2
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakDryer2")] CurrentbreakDryer2 = 8033,
+ /// <summary>
+ ///Current break Head Blower In
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHeadBlowerIn")] CurrentbreakHeadBlowerIn = 8034,
+ /// <summary>
+ ///Current break Head Blower Out
+ /// </summary>
+ [pbr::OriginalName("CurrentbreakHeadBlowerOut")] CurrentbreakHeadBlowerOut = 8035,
+ /// <summary>
+ ///Current Head 1
+ /// </summary>
+ [pbr::OriginalName("CurrentHead1")] CurrentHead1 = 8036,
+ /// <summary>
+ ///Current Head 2
+ /// </summary>
+ [pbr::OriginalName("CurrentHead2")] CurrentHead2 = 8037,
+ /// <summary>
+ ///Current Head 3
+ /// </summary>
+ [pbr::OriginalName("CurrentHead3")] CurrentHead3 = 8038,
+ /// <summary>
+ ///Current Head 4
+ /// </summary>
+ [pbr::OriginalName("CurrentHead4")] CurrentHead4 = 8039,
+ /// <summary>
+ ///Current Head 5
+ /// </summary>
+ [pbr::OriginalName("CurrentHead5")] CurrentHead5 = 8040,
+ /// <summary>
+ ///Current Head 6
+ /// </summary>
+ [pbr::OriginalName("CurrentHead6")] CurrentHead6 = 8041,
+ /// <summary>
+ ///Current Head 7
+ /// </summary>
+ [pbr::OriginalName("CurrentHead7")] CurrentHead7 = 8042,
+ /// <summary>
+ ///Current Head 8
+ /// </summary>
+ [pbr::OriginalName("CurrentHead8")] CurrentHead8 = 8043,
+ /// <summary>
+ ///Current Head 9
+ /// </summary>
+ [pbr::OriginalName("CurrentHead9")] CurrentHead9 = 8044,
+ /// <summary>
+ ///Current Head 10
+ /// </summary>
+ [pbr::OriginalName("CurrentHead10")] CurrentHead10 = 8045,
+ /// <summary>
+ ///Current Head 11
+ /// </summary>
+ [pbr::OriginalName("CurrentHead11")] CurrentHead11 = 8046,
+ /// <summary>
+ ///Current Head 12
+ /// </summary>
+ [pbr::OriginalName("CurrentHead12")] CurrentHead12 = 8047,
+ /// <summary>
+ ///Current Dryer 1
+ /// </summary>
+ [pbr::OriginalName("CurrentDryer1")] CurrentDryer1 = 8048,
+ /// <summary>
+ ///Current Dryer 2
+ /// </summary>
+ [pbr::OriginalName("CurrentDryer2")] CurrentDryer2 = 8049,
+ /// <summary>
+ ///Current Head Blower In
+ /// </summary>
+ [pbr::OriginalName("CurrentHeadBlowerIn")] CurrentHeadBlowerIn = 8050,
+ /// <summary>
+ ///Current Head Blower Out
+ /// </summary>
+ [pbr::OriginalName("CurrentHeadBlowerOut")] CurrentHeadBlowerOut = 8051,
+ /// <summary>
+ ///Heater Head 1
+ /// </summary>
+ [pbr::OriginalName("HeaterHead1")] HeaterHead1 = 8052,
+ /// <summary>
+ ///Heater Head 2
+ /// </summary>
+ [pbr::OriginalName("HeaterHead2")] HeaterHead2 = 8053,
+ /// <summary>
+ ///Heater Head 3
+ /// </summary>
+ [pbr::OriginalName("HeaterHead3")] HeaterHead3 = 8054,
+ /// <summary>
+ ///Heater Head 4
+ /// </summary>
+ [pbr::OriginalName("HeaterHead4")] HeaterHead4 = 8055,
+ /// <summary>
+ ///Heater Head 5
+ /// </summary>
+ [pbr::OriginalName("HeaterHead5")] HeaterHead5 = 8056,
+ /// <summary>
+ ///Heater Head 6
+ /// </summary>
+ [pbr::OriginalName("HeaterHead6")] HeaterHead6 = 8057,
+ /// <summary>
+ ///Heater Head 7
+ /// </summary>
+ [pbr::OriginalName("HeaterHead7")] HeaterHead7 = 8058,
+ /// <summary>
+ ///Heater Head 8
+ /// </summary>
+ [pbr::OriginalName("HeaterHead8")] HeaterHead8 = 8059,
+ /// <summary>
+ ///Heater Head 9
+ /// </summary>
+ [pbr::OriginalName("HeaterHead9")] HeaterHead9 = 8060,
+ /// <summary>
+ ///Heater Head 10
+ /// </summary>
+ [pbr::OriginalName("HeaterHead10")] HeaterHead10 = 8061,
+ /// <summary>
+ ///Heater Head 11
+ /// </summary>
+ [pbr::OriginalName("HeaterHead11")] HeaterHead11 = 8062,
+ /// <summary>
+ ///Heater Head 12
+ /// </summary>
+ [pbr::OriginalName("HeaterHead12")] HeaterHead12 = 8063,
+ /// <summary>
+ ///Heater Dryer 1
+ /// </summary>
+ [pbr::OriginalName("HeaterDryer1")] HeaterDryer1 = 8064,
+ /// <summary>
+ ///Heater Dryer 2
+ /// </summary>
+ [pbr::OriginalName("HeaterDryer2")] HeaterDryer2 = 8065,
+ /// <summary>
+ ///Heater Head Blower In
+ /// </summary>
+ [pbr::OriginalName("HeaterHeadBlowerIn")] HeaterHeadBlowerIn = 8066,
+ /// <summary>
+ ///Heater Head Blower Out
+ /// </summary>
+ [pbr::OriginalName("HeaterHeadBlowerOut")] HeaterHeadBlowerOut = 8067,
+ /// <summary>
+ ///PowerStep DH Clean Head
+ /// </summary>
+ [pbr::OriginalName("PowerStepDHCleanHead")] PowerStepDhcleanHead = 9000,
+ /// <summary>
+ ///PowerStep DH Clean Mech
+ /// </summary>
+ [pbr::OriginalName("PowerStepDHCleanMech")] PowerStepDhcleanMech = 9001,
+ /// <summary>
+ ///PowerStep Dyeing Head Lid
+ /// </summary>
+ [pbr::OriginalName("PowerStepDyeingHeadLid")] PowerStepDyeingHeadLid = 9002,
+ /// <summary>
+ ///PowerStep Dryer Driving
+ /// </summary>
+ [pbr::OriginalName("PowerStepDryerDriving")] PowerStepDryerDriving = 9003,
+ /// <summary>
+ ///PowerStep Dryer Lid
+ /// </summary>
+ [pbr::OriginalName("PowerStepDryerLid")] PowerStepDryerLid = 9004,
+ /// <summary>
+ ///PowerStep Dryer Loadarm
+ /// </summary>
+ [pbr::OriginalName("PowerStepDryerLoadarm")] PowerStepDryerLoadarm = 9005,
+ /// <summary>
+ ///PowerStep Dispenser 1
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser1")] PowerStepDispenser1 = 9006,
+ /// <summary>
+ ///PowerStep Dispenser 2
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser2")] PowerStepDispenser2 = 9007,
+ /// <summary>
+ ///PowerStep Dispenser 3
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser3")] PowerStepDispenser3 = 9008,
+ /// <summary>
+ ///PowerStep Dispenser 4
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser4")] PowerStepDispenser4 = 9009,
+ /// <summary>
+ ///PowerStep Dispenser 5
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser5")] PowerStepDispenser5 = 9010,
+ /// <summary>
+ ///PowerStep Dispenser 6
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser6")] PowerStepDispenser6 = 9011,
+ /// <summary>
+ ///PowerStep Dispenser 7
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser7")] PowerStepDispenser7 = 9012,
+ /// <summary>
+ ///PowerStep Dispenser 8
+ /// </summary>
+ [pbr::OriginalName("PowerStepDispenser8")] PowerStepDispenser8 = 9013,
+ /// <summary>
+ ///PowerStep Screw
+ /// </summary>
+ [pbr::OriginalName("PowerStepScrew")] PowerStepScrew = 9014,
+ /// <summary>
+ ///PowerStep Winder
+ /// </summary>
+ [pbr::OriginalName("PowerStepWinder")] PowerStepWinder = 9015,
+ /// <summary>
+ ///PowerStep Left Dancer
+ /// </summary>
+ [pbr::OriginalName("PowerStepLeftDancer")] PowerStepLeftDancer = 9016,
+ /// <summary>
+ ///PowerStep Middle Dancer
+ /// </summary>
+ [pbr::OriginalName("PowerStepMiddleDancer")] PowerStepMiddleDancer = 9017,
+ /// <summary>
+ ///PowerStep Left Driving
+ /// </summary>
+ [pbr::OriginalName("PowerStepLeftDriving")] PowerStepLeftDriving = 9018,
+ /// <summary>
+ ///PowerStep Left Rockers
+ /// </summary>
+ [pbr::OriginalName("PowerStepLeftRockers")] PowerStepLeftRockers = 9019,
+ /// <summary>
+ ///PowerStep Left pivot
+ /// </summary>
+ [pbr::OriginalName("PowerStepLeftpivot")] PowerStepLeftpivot = 9020,
+ /// <summary>
+ ///PowerStep Right Dancer
+ /// </summary>
+ [pbr::OriginalName("PowerStepRightDancer")] PowerStepRightDancer = 9021,
+ /// <summary>
+ ///PowerStep Right Driving
+ /// </summary>
+ [pbr::OriginalName("PowerStepRightDriving")] PowerStepRightDriving = 9022,
+ /// <summary>
+ ///PowerStep Right Loadarm
+ /// </summary>
+ [pbr::OriginalName("PowerStepRightLoadarm")] PowerStepRightLoadarm = 9023,
+ /// <summary>
+ ///PowerStep Right Rockers
+ /// </summary>
+ [pbr::OriginalName("PowerStepRightRockers")] PowerStepRightRockers = 9024,
+ /// <summary>
+ ///PowerStep Spare1_1
+ /// </summary>
+ [pbr::OriginalName("PowerStepSpare1_1")] PowerStepSpare11 = 9025,
+ /// <summary>
+ ///PowerStep Spare1_2
+ /// </summary>
+ [pbr::OriginalName("PowerStepSpare1_2")] PowerStepSpare12 = 9026,
+ /// <summary>
+ ///PowerStep Spare2_1
+ /// </summary>
+ [pbr::OriginalName("PowerStepSpare2_1")] PowerStepSpare21 = 9027,
+ /// <summary>
+ ///PowerStep Spare2_2
+ /// </summary>
+ [pbr::OriginalName("PowerStepSpare2_2")] PowerStepSpare22 = 9028,
+ /// <summary>
+ ///PowerStep Spare3_1
+ /// </summary>
+ [pbr::OriginalName("PowerStepSpare3_1")] PowerStepSpare31 = 9029,
+ /// <summary>
+ ///Motor Wire read DH Clean Head
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDHCleanHead")] MotorWirereadDhcleanHead = 9030,
+ /// <summary>
+ ///Motor Wire read DH Clean Mech
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDHCleanMech")] MotorWirereadDhcleanMech = 9031,
+ /// <summary>
+ ///Motor Wire read Dyeing Head Lid
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDyeingHeadLid")] MotorWirereadDyeingHeadLid = 9032,
+ /// <summary>
+ ///Motor Wire read Dryer Driving
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDryerDriving")] MotorWirereadDryerDriving = 9033,
+ /// <summary>
+ ///Motor Wire read Dryer Lid
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDryerLid")] MotorWirereadDryerLid = 9034,
+ /// <summary>
+ ///Motor Wire read Dryer Loadarm
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDryerLoadarm")] MotorWirereadDryerLoadarm = 9035,
+ /// <summary>
+ ///Motor Wire read Dispenser 1
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser1")] MotorWirereadDispenser1 = 9036,
+ /// <summary>
+ ///Motor Wire read Dispenser 2
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser2")] MotorWirereadDispenser2 = 9037,
+ /// <summary>
+ ///Motor Wire read Dispenser 3
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser3")] MotorWirereadDispenser3 = 9038,
+ /// <summary>
+ ///Motor Wire read Dispenser 4
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser4")] MotorWirereadDispenser4 = 9039,
+ /// <summary>
+ ///Motor Wire read Dispenser 5
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser5")] MotorWirereadDispenser5 = 9040,
+ /// <summary>
+ ///Motor Wire read Dispenser 6
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser6")] MotorWirereadDispenser6 = 9041,
+ /// <summary>
+ ///Motor Wire read Dispenser 7
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser7")] MotorWirereadDispenser7 = 9042,
+ /// <summary>
+ ///Motor Wire read Dispenser 8
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadDispenser8")] MotorWirereadDispenser8 = 9043,
+ /// <summary>
+ ///Motor Wire read Screw
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadScrew")] MotorWirereadScrew = 9044,
+ /// <summary>
+ ///Motor Wire read Winder
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadWinder")] MotorWirereadWinder = 9045,
+ /// <summary>
+ ///Motor Wire read Left Dancer
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadLeftDancer")] MotorWirereadLeftDancer = 9046,
+ /// <summary>
+ ///Motor Wire read Middle Dancer
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadMiddleDancer")] MotorWirereadMiddleDancer = 9047,
+ /// <summary>
+ ///Motor Wire read Left Driving
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadLeftDriving")] MotorWirereadLeftDriving = 9048,
+ /// <summary>
+ ///Motor Wire read Left Rockers
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadLeftRockers")] MotorWirereadLeftRockers = 9049,
+ /// <summary>
+ ///Motor Wire read Left pivot
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadLeftpivot")] MotorWirereadLeftpivot = 9050,
+ /// <summary>
+ ///Motor Wire read Right Dancer
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadRightDancer")] MotorWirereadRightDancer = 9051,
+ /// <summary>
+ ///Motor Wire read Right Driving
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadRightDriving")] MotorWirereadRightDriving = 9052,
+ /// <summary>
+ ///Motor Wire read Right Loadarm
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadRightLoadarm")] MotorWirereadRightLoadarm = 9053,
+ /// <summary>
+ ///Motor Wire read Right Rockers
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadRightRockers")] MotorWirereadRightRockers = 9054,
+ /// <summary>
+ ///Motor Wire read Spare1_1
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadSpare1_1")] MotorWirereadSpare11 = 9055,
+ /// <summary>
+ ///Motor Wire read Spare1_2
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadSpare1_2")] MotorWirereadSpare12 = 9056,
+ /// <summary>
+ ///Motor Wire read Spare2_1
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadSpare2_1")] MotorWirereadSpare21 = 9057,
+ /// <summary>
+ ///Motor Wire read Spare2_2
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadSpare2_2")] MotorWirereadSpare22 = 9058,
+ /// <summary>
+ ///Motor Wire read Spare3_1
+ /// </summary>
+ [pbr::OriginalName("MotorWirereadSpare3_1")] MotorWirereadSpare31 = 9059,
+ /// <summary>
+ ///In Blower turn Off
+ /// </summary>
+ [pbr::OriginalName("InBlowerturnOff")] InBlowerturnOff = 10000,
+ /// <summary>
+ ///Out Blower turn Off
+ /// </summary>
+ [pbr::OriginalName("OutBlowerturnOff")] OutBlowerturnOff = 10001,
+ /// <summary>
+ ///In Blower turn On
+ /// </summary>
+ [pbr::OriginalName("InBlowerturnOn")] InBlowerturnOn = 10002,
+ /// <summary>
+ ///Out Blower turn On
+ /// </summary>
+ [pbr::OriginalName("OutBlowerturnOn")] OutBlowerturnOn = 10003,
+ /// <summary>
+ ///In Blower Pressure
+ /// </summary>
+ [pbr::OriginalName("InBlowerPressure")] InBlowerPressure = 10004,
+ /// <summary>
+ ///Out Blower Pressure
+ /// </summary>
+ [pbr::OriginalName("OutBlowerPressure")] OutBlowerPressure = 10005,
+ /// <summary>
+ ///WHS Blower does not build pressure
+ /// </summary>
+ [pbr::OriginalName("WHSBlowerdoesnotbuildpressure")] Whsblowerdoesnotbuildpressure = 10006,
+ /// <summary>
+ ///WHS Dryer sensor failure
+ /// </summary>
+ [pbr::OriginalName("WHSDryersensorfailure")] Whsdryersensorfailure = 10007,
+ /// <summary>
+ ///WHS Head sensor failure
+ /// </summary>
+ [pbr::OriginalName("WHSHeadsensorfailure")] Whsheadsensorfailure = 10008,
+ /// <summary>
+ ///WHS Other sensor failure
+ /// </summary>
+ [pbr::OriginalName("WHSOthersensorfailure")] Whsothersensorfailure = 10009,
+ /// <summary>
+ ///Pressure building up 1
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup1")] Pressurebuildingup1 = 11000,
+ /// <summary>
+ ///Pressure building up 2
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup2")] Pressurebuildingup2 = 11001,
+ /// <summary>
+ ///Pressure building up 3
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup3")] Pressurebuildingup3 = 11002,
+ /// <summary>
+ ///Pressure building up 4
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup4")] Pressurebuildingup4 = 11003,
+ /// <summary>
+ ///Pressure building up 5
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup5")] Pressurebuildingup5 = 11004,
+ /// <summary>
+ ///Pressure building up 6
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup6")] Pressurebuildingup6 = 11005,
+ /// <summary>
+ ///Pressure building up 7
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup7")] Pressurebuildingup7 = 11006,
+ /// <summary>
+ ///Pressure building up 8
+ /// </summary>
+ [pbr::OriginalName("Pressurebuildingup8")] Pressurebuildingup8 = 11007,
+ /// <summary>
+ ///Pressure released 1
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased1")] Pressurereleased1 = 11008,
+ /// <summary>
+ ///Pressure released 2
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased2")] Pressurereleased2 = 11009,
+ /// <summary>
+ ///Pressure released 3
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased3")] Pressurereleased3 = 11010,
+ /// <summary>
+ ///Pressure released 4
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased4")] Pressurereleased4 = 11011,
+ /// <summary>
+ ///Pressure released 5
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased5")] Pressurereleased5 = 11012,
+ /// <summary>
+ ///Pressure released 6
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased6")] Pressurereleased6 = 11013,
+ /// <summary>
+ ///Pressure released 7
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased7")] Pressurereleased7 = 11014,
+ /// <summary>
+ ///Pressure released 8
+ /// </summary>
+ [pbr::OriginalName("Pressurereleased8")] Pressurereleased8 = 11015,
+ }
+
+ #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 cc54b4ca2..f54e0aa49 100644
--- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
+++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
@@ -104,6 +104,10 @@
<Compile Include="Debugging\StartDebugLogResponse.cs" />
<Compile Include="Debugging\StopDebugLogRequest.cs" />
<Compile Include="Debugging\StopDebugLogResponse.cs" />
+ <Compile Include="Diagnostics\BitResult.cs" />
+ <Compile Include="Diagnostics\BitResultsRequest.cs" />
+ <Compile Include="Diagnostics\BitResultsResponse.cs" />
+ <Compile Include="Diagnostics\BitType.cs" />
<Compile Include="Diagnostics\Cartridge.cs" />
<Compile Include="Diagnostics\CartridgeAction.cs" />
<Compile Include="Diagnostics\CartridgeSlot.cs" />
@@ -501,7 +505,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
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
index 997484dc5..bb2104c05 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
Binary files differ
diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln
index 6aadebf7f..f4b1e8b37 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -465,6 +465,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.ColorLib.LightInksTes
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.ColorLib.OutOfGamutTest.CLI", "Tango.ColorLib.OutOfGamutTest.CLI\Tango.ColorLib.OutOfGamutTest.CLI.csproj", "{6B13E186-ADE2-4D97-9643-8132E00FC207}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitTypesGenerator.CLI", "Utilities\BitTypesGenerator.CLI\BitTypesGenerator.CLI.csproj", "{B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -4420,6 +4422,26 @@ Global
{6B13E186-ADE2-4D97-9643-8132E00FC207}.Release|x64.Build.0 = Release|Any CPU
{6B13E186-ADE2-4D97-9643-8132E00FC207}.Release|x86.ActiveCfg = Release|Any CPU
{6B13E186-ADE2-4D97-9643-8132E00FC207}.Release|x86.Build.0 = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|ARM.Build.0 = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|x64.Build.0 = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Debug|x86.Build.0 = Debug|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|ARM.ActiveCfg = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|ARM.Build.0 = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|ARM64.Build.0 = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|x64.ActiveCfg = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|x64.Build.0 = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|x86.ActiveCfg = Release|Any CPU
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -4584,14 +4606,15 @@ Global
{4747A2DE-F419-41B1-95A7-E9FBB4EA0B3B} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
{70DD08CA-3BD1-43D6-84FF-2DB8A192C315} = {8336A702-9C49-4C9E-ADCC-1886A666D3BD}
{6B13E186-ADE2-4D97-9643-8132E00FC207} = {8336A702-9C49-4C9E-ADCC-1886A666D3BD}
+ {B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- BuildVersion_UseGlobalSettings = False
- BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
- BuildVersion_StartDate = 2000/1/1
- BuildVersion_UpdateFileVersion = False
- BuildVersion_UpdateAssemblyVersion = True
- BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6}
+ BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
+ BuildVersion_UpdateAssemblyVersion = True
+ BuildVersion_UpdateFileVersion = False
+ BuildVersion_StartDate = 2000/1/1
+ BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
+ BuildVersion_UseGlobalSettings = False
EndGlobalSection
EndGlobal
diff --git a/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/App.config b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/App.config
new file mode 100644
index 000000000..4ef5218a0
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/App.config
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
+ </startup>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.0.5.0" newVersion="5.0.5.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/BitTypesGenerator.CLI.csproj b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/BitTypesGenerator.CLI.csproj
new file mode 100644
index 000000000..863fde776
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/BitTypesGenerator.CLI.csproj
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{B356201F-F958-4AC9-BBEB-E4EAE9DA9EC6}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>BitTypesGenerator.CLI</RootNamespace>
+ <AssemblyName>BitTypesGenerator.CLI</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\Resources\BIT\BuiltInTest.xlsx">
+ <Link>BuiltInTest.xlsx</Link>
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="App.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Tango.BL\Tango.BL.csproj">
+ <Project>{f441feee-322a-4943-b566-110e12fd3b72}</Project>
+ <Name>Tango.BL</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Tango.Core\Tango.Core.csproj">
+ <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
+ <Name>Tango.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Tango.Documents\Tango.Documents.csproj">
+ <Project>{ca87a608-7b17-4c98-88f2-42abee10f4c1}</Project>
+ <Name>Tango.Documents</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Program.cs b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Program.cs
new file mode 100644
index 000000000..5a838bc92
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Program.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL;
+using Tango.BL.Entities;
+using Tango.Core.ExtensionMethods;
+using Tango.Core.Helpers;
+using Tango.Documents;
+
+namespace BitTypesGenerator.CLI
+{
+ class Program
+ {
+ private static string BITS_FILE = "BuiltInTest.xlsx";
+
+ private class ExcelBitType
+ {
+ public String Code { get; set; }
+ public String Name { get; set; }
+ public String Subject { get; set; }
+ public String Index { get; set; }
+ public String TestType { get; set; }
+
+ public override string ToString()
+ {
+ return this.ToJsonString();
+ }
+ }
+
+ static void Main(string[] args)
+ {
+ Console.WriteLine("Generating BIT types...");
+
+ ExcelReader reader = new ExcelReader(PathHelper.GetStartupPath() + "\\" + BITS_FILE);
+ var results = reader.GetDataByIndex<ExcelBitType>("Sheet1", 2);
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ foreach (var excelBit in results)
+ {
+ bool isNewBit = false;
+
+ int code = int.Parse(excelBit.Code);
+
+ BitType bitType = db.BitTypes.SingleOrDefault(x => x.Code == code);
+
+ if (bitType == null)
+ {
+ Console.WriteLine("Inserting " + excelBit.ToString());
+ bitType = new BitType();
+ MapExcelBitToBitType(excelBit, bitType);
+ isNewBit = true;
+ }
+ else
+ {
+ if (BitRequiresUpdate(excelBit, bitType))
+ {
+ BitType te = new BitType();
+ MapExcelBitToBitType(excelBit, te);
+ Console.WriteLine($"Updating {bitType.Name}\nSource:\n{te.ToJsonString()}\nTarget:\n{bitType.ToJsonString()}");
+ MapExcelBitToBitType(excelBit, bitType);
+ }
+ }
+
+ if (isNewBit)
+ {
+ db.BitTypes.Add(bitType);
+ }
+ }
+
+
+ Console.WriteLine("Saving changes...");
+ db.SaveChanges();
+ }
+
+ Console.WriteLine("Done!");
+ Console.ReadLine();
+ }
+
+ private static void MapExcelBitToBitType(ExcelBitType evx, BitType bit)
+ {
+ bit.Code = int.Parse(evx.Code);
+ bit.Name = evx.Name;
+ bit.Subject = evx.Subject;
+ bit.ComponentIndex = evx.Index.IsNotNullOrEmpty() ? int.Parse(evx.Index) : -1;
+ bit.TestType = int.Parse(evx.TestType);
+ }
+
+ private static bool BitRequiresUpdate(ExcelBitType evx, BitType bit)
+ {
+ BitType te = new BitType();
+ MapExcelBitToBitType(evx, te);
+
+ if (te.Code != bit.Code) return true;
+ if (te.Name != bit.Name) return true;
+ if (te.Subject != bit.Subject) return true;
+ if (te.ComponentIndex != bit.ComponentIndex) return true;
+ if (te.TestType != bit.TestType) return true;
+
+ return false;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..e9125e808
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("BitTypesGenerator.CLI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("BitTypesGenerator.CLI")]
+[assembly: AssemblyCopyright("Copyright © 2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b356201f-f958-4ac9-bbeb-e4eae9da9ec6")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/packages.config b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/packages.config
new file mode 100644
index 000000000..b3daf0d6c
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/BitTypesGenerator.CLI/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="EntityFramework" version="6.2.0" targetFramework="net461" />
+</packages> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs
index b2ddc9c7d..040559fdb 100644
--- a/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs
+++ b/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs
@@ -58,6 +58,7 @@ namespace Tango.PMRGenerator.CLI
GenerateDiagnosticsMonitors(db, pmrFolder);
GenerateInsightsMonitors(db, pmrFolder);
GenerateEventTypes(db, pmrFolder);
+ GenerateBitTypes(db, pmrFolder);
GenerateInterfaceIOs(db, pmrFolder);
GenerateBtsrApplicationTypes(db, pmrFolder);
GenerateBtsrYarnTypes(db, pmrFolder);
@@ -758,6 +759,36 @@ namespace Tango.PMRGenerator.CLI
File.WriteAllText(Path.Combine(pmrFolder, "Diagnostics", enumFile.Name + ".proto"), enumString);
}
+ private static void GenerateBitTypes(ObservablesContext db, String pmrFolder)
+ {
+ Console.WriteLine("Generating BIT Types...");
+
+ ProtoEnumFile enumFile = new ProtoEnumFile();
+ enumFile.Name = "BitType";
+ enumFile.Package = "Tango.PMR.Diagnostics";
+
+ enumFile.Fields.Add(new EnumerationField()
+ {
+ Name = "Unspecified_Bit",
+ Description = "Must contain a 0 value",
+ Value = 0,
+ });
+
+ foreach (var field in db.BitTypes.ToList().OrderBy(x => x.Code))
+ {
+ enumFile.Fields.Add(new EnumerationField()
+ {
+ Name = field.Name.Replace(" ", ""),
+ Description = field.Name,
+ Value = field.Code,
+ });
+ }
+
+ String enumString = enumFile.GenerateCode();
+
+ File.WriteAllText(Path.Combine(pmrFolder, "Diagnostics", enumFile.Name + ".proto"), enumString);
+ }
+
private static String CoercePropertyType(Type type)
{
if (type == typeof(bool))