aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-11-25 12:08:51 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-11-25 12:08:51 +0200
commit2dacdcac10595cc138458dfa6988951e71172f46 (patch)
tree0d4941786d4068728cd7693e8a21744066784a97 /Software
parent978439fe882ef59b63fb1b1450bd615f707214c9 (diff)
parent97beabc887778926570c286bcedbb2480fd59921 (diff)
downloadTango-2dacdcac10595cc138458dfa6988951e71172f46.tar.gz
Tango-2dacdcac10595cc138458dfa6988951e71172f46.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software')
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ApplicationInformationOuterClass.java716
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolRequestOuterClass.java603
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolResponseOuterClass.java506
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericMessageProtocolOuterClass.java153
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericRequestOuterClass.java645
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericResponseOuterClass.java645
-rw-r--r--Software/DB/PPC/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/PPC/Tango_log.ldfbin53673984 -> 53673984 bytes
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin22675456 -> 22675456 bytes
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/NFC.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c75
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c16
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c4
-rw-r--r--Software/PMR/Messages/ColorLab/LiquidType.proto6
-rw-r--r--Software/PMR/Messages/Printing/DispenserLiquidType.proto6
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip6
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txtbin52 -> 52 bytes
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip82
-rw-r--r--Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp127
-rw-r--r--Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.h4
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Panes/LogViewerPaneVM.cs28
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj4
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/Events/EventsTileView.xaml2
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/MainViewVM.cs4
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj4
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/CatalogViewVM.cs16
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml4
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/NotificationItems/MessageNotificationItem.cs1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs83
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs8
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/App.config28
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Program.cs107
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Properties/AssemblyInfo.cs36
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Tango.PPC.DataSynchronizer.CLI.csproj75
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/packages.config4
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml3
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs67
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj9
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs18
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs12
-rw-r--r--Software/Visual_Studio/Tango.Git/GitRepositoryManager.cs39
-rw-r--r--Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs14
-rw-r--r--Software/Visual_Studio/Tango.PMR/Common/MessageType.cs224
-rw-r--r--Software/Visual_Studio/Tango.PMR/EmbeddedParameters/AlarmHandlingItem.cs132
-rw-r--r--Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs12
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs301
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs273
-rw-r--r--Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj4
-rw-r--r--Software/Visual_Studio/Tango.sln92
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.config6
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml9
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml.cs17
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml21
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml.cs45
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/AssemblyInfo.cs55
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.Designer.cs71
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.resx117
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.Designer.cs30
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.settings7
-rw-r--r--Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Tango.LiquidColorGenerator.UI.csproj108
69 files changed, 5249 insertions, 451 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ApplicationInformationOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ApplicationInformationOuterClass.java
new file mode 100644
index 000000000..a3a1f04b1
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ApplicationInformationOuterClass.java
@@ -0,0 +1,716 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ApplicationInformation.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class ApplicationInformationOuterClass {
+ private ApplicationInformationOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface ApplicationInformationOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.ApplicationInformation)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string Version = 1;</code>
+ */
+ java.lang.String getVersion();
+ /**
+ * <code>string Version = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getVersionBytes();
+
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ java.lang.String getStartupDate();
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getStartupDateBytes();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ApplicationInformation}
+ */
+ public static final class ApplicationInformation extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.ApplicationInformation)
+ ApplicationInformationOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ApplicationInformation.newBuilder() to construct.
+ private ApplicationInformation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ApplicationInformation() {
+ version_ = "";
+ startupDate_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ApplicationInformation(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ version_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ startupDate_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.internal_static_Tango_PMR_Integration_ApplicationInformation_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.class, com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.Builder.class);
+ }
+
+ public static final int VERSION_FIELD_NUMBER = 1;
+ private volatile java.lang.Object version_;
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int STARTUPDATE_FIELD_NUMBER = 2;
+ private volatile java.lang.Object startupDate_;
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public java.lang.String getStartupDate() {
+ java.lang.Object ref = startupDate_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ startupDate_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getStartupDateBytes() {
+ java.lang.Object ref = startupDate_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startupDate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getVersionBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, version_);
+ }
+ if (!getStartupDateBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, startupDate_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getVersionBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, version_);
+ }
+ if (!getStartupDateBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, startupDate_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation other = (com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation) obj;
+
+ boolean result = true;
+ result = result && getVersion()
+ .equals(other.getVersion());
+ result = result && getStartupDate()
+ .equals(other.getStartupDate());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + getVersion().hashCode();
+ hash = (37 * hash) + STARTUPDATE_FIELD_NUMBER;
+ hash = (53 * hash) + getStartupDate().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ApplicationInformation}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.ApplicationInformation)
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformationOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.internal_static_Tango_PMR_Integration_ApplicationInformation_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.class, com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ version_ = "";
+
+ startupDate_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation build() {
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation buildPartial() {
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation result = new com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation(this);
+ result.version_ = version_;
+ result.startupDate_ = startupDate_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation) {
+ return mergeFrom((com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation other) {
+ if (other == com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation.getDefaultInstance()) return this;
+ if (!other.getVersion().isEmpty()) {
+ version_ = other.version_;
+ onChanged();
+ }
+ if (!other.getStartupDate().isEmpty()) {
+ startupDate_ = other.startupDate_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object version_ = "";
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public Builder setVersion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ version_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public Builder clearVersion() {
+
+ version_ = getDefaultInstance().getVersion();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Version = 1;</code>
+ */
+ public Builder setVersionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ version_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object startupDate_ = "";
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public java.lang.String getStartupDate() {
+ java.lang.Object ref = startupDate_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ startupDate_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getStartupDateBytes() {
+ java.lang.Object ref = startupDate_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startupDate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public Builder setStartupDate(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ startupDate_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public Builder clearStartupDate() {
+
+ startupDate_ = getDefaultInstance().getStartupDate();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string StartupDate = 2;</code>
+ */
+ public Builder setStartupDateBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ startupDate_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Integration.ApplicationInformation)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ApplicationInformation)
+ private static final com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation();
+ }
+
+ public static com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ApplicationInformation>
+ PARSER = new com.google.protobuf.AbstractParser<ApplicationInformation>() {
+ public ApplicationInformation parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ApplicationInformation(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ApplicationInformation> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ApplicationInformation> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.ApplicationInformationOuterClass.ApplicationInformation getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_ApplicationInformation_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\034ApplicationInformation.proto\022\025Tango.PM" +
+ "R.Integration\">\n\026ApplicationInformation\022" +
+ "\017\n\007Version\030\001 \001(\t\022\023\n\013StartupDate\030\002 \001(\tB!\n" +
+ "\037com.twine.tango.pmr.integrationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_ApplicationInformation_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_ApplicationInformation_descriptor,
+ new java.lang.String[] { "Version", "StartupDate", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolRequestOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolRequestOuterClass.java
new file mode 100644
index 000000000..4f0f95126
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolRequestOuterClass.java
@@ -0,0 +1,603 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ConfigureProtocolRequest.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class ConfigureProtocolRequestOuterClass {
+ private ConfigureProtocolRequestOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface ConfigureProtocolRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.ConfigureProtocolRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>bool EnableCompression = 1;</code>
+ */
+ boolean getEnableCompression();
+
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ int getGenericProtocolValue();
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol getGenericProtocol();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ConfigureProtocolRequest}
+ */
+ public static final class ConfigureProtocolRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.ConfigureProtocolRequest)
+ ConfigureProtocolRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ConfigureProtocolRequest.newBuilder() to construct.
+ private ConfigureProtocolRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ConfigureProtocolRequest() {
+ enableCompression_ = false;
+ genericProtocol_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ConfigureProtocolRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+
+ enableCompression_ = input.readBool();
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ genericProtocol_ = rawValue;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.class, com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.Builder.class);
+ }
+
+ public static final int ENABLECOMPRESSION_FIELD_NUMBER = 1;
+ private boolean enableCompression_;
+ /**
+ * <code>bool EnableCompression = 1;</code>
+ */
+ public boolean getEnableCompression() {
+ return enableCompression_;
+ }
+
+ public static final int GENERICPROTOCOL_FIELD_NUMBER = 2;
+ private int genericProtocol_;
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public int getGenericProtocolValue() {
+ return genericProtocol_;
+ }
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol getGenericProtocol() {
+ com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol result = com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.valueOf(genericProtocol_);
+ return result == null ? com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.UNRECOGNIZED : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (enableCompression_ != false) {
+ output.writeBool(1, enableCompression_);
+ }
+ if (genericProtocol_ != com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.Json.getNumber()) {
+ output.writeEnum(2, genericProtocol_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (enableCompression_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, enableCompression_);
+ }
+ if (genericProtocol_ != com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.Json.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, genericProtocol_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest other = (com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest) obj;
+
+ boolean result = true;
+ result = result && (getEnableCompression()
+ == other.getEnableCompression());
+ result = result && genericProtocol_ == other.genericProtocol_;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + ENABLECOMPRESSION_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getEnableCompression());
+ hash = (37 * hash) + GENERICPROTOCOL_FIELD_NUMBER;
+ hash = (53 * hash) + genericProtocol_;
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ConfigureProtocolRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.ConfigureProtocolRequest)
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.class, com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ enableCompression_ = false;
+
+ genericProtocol_ = 0;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest build() {
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest buildPartial() {
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest result = new com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest(this);
+ result.enableCompression_ = enableCompression_;
+ result.genericProtocol_ = genericProtocol_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest) {
+ return mergeFrom((com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest other) {
+ if (other == com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest.getDefaultInstance()) return this;
+ if (other.getEnableCompression() != false) {
+ setEnableCompression(other.getEnableCompression());
+ }
+ if (other.genericProtocol_ != 0) {
+ setGenericProtocolValue(other.getGenericProtocolValue());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private boolean enableCompression_ ;
+ /**
+ * <code>bool EnableCompression = 1;</code>
+ */
+ public boolean getEnableCompression() {
+ return enableCompression_;
+ }
+ /**
+ * <code>bool EnableCompression = 1;</code>
+ */
+ public Builder setEnableCompression(boolean value) {
+
+ enableCompression_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bool EnableCompression = 1;</code>
+ */
+ public Builder clearEnableCompression() {
+
+ enableCompression_ = false;
+ onChanged();
+ return this;
+ }
+
+ private int genericProtocol_ = 0;
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public int getGenericProtocolValue() {
+ return genericProtocol_;
+ }
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public Builder setGenericProtocolValue(int value) {
+ genericProtocol_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol getGenericProtocol() {
+ com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol result = com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.valueOf(genericProtocol_);
+ return result == null ? com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol.UNRECOGNIZED : result;
+ }
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public Builder setGenericProtocol(com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.GenericMessageProtocol value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ genericProtocol_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.Tango.PMR.Integration.GenericMessageProtocol GenericProtocol = 2;</code>
+ */
+ public Builder clearGenericProtocol() {
+
+ genericProtocol_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Integration.ConfigureProtocolRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ConfigureProtocolRequest)
+ private static final com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest();
+ }
+
+ public static com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ConfigureProtocolRequest>
+ PARSER = new com.google.protobuf.AbstractParser<ConfigureProtocolRequest>() {
+ public ConfigureProtocolRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ConfigureProtocolRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ConfigureProtocolRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ConfigureProtocolRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolRequestOuterClass.ConfigureProtocolRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\036ConfigureProtocolRequest.proto\022\025Tango." +
+ "PMR.Integration\032\034GenericMessageProtocol." +
+ "proto\"}\n\030ConfigureProtocolRequest\022\031\n\021Ena" +
+ "bleCompression\030\001 \001(\010\022F\n\017GenericProtocol\030" +
+ "\002 \001(\0162-.Tango.PMR.Integration.GenericMes" +
+ "sageProtocolB!\n\037com.twine.tango.pmr.inte" +
+ "grationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.getDescriptor(),
+ }, assigner);
+ internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_ConfigureProtocolRequest_descriptor,
+ new java.lang.String[] { "EnableCompression", "GenericProtocol", });
+ com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolResponseOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolResponseOuterClass.java
new file mode 100644
index 000000000..aec962ac4
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/ConfigureProtocolResponseOuterClass.java
@@ -0,0 +1,506 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ConfigureProtocolResponse.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class ConfigureProtocolResponseOuterClass {
+ private ConfigureProtocolResponseOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface ConfigureProtocolResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.ConfigureProtocolResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>bool Confirmed = 1;</code>
+ */
+ boolean getConfirmed();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ConfigureProtocolResponse}
+ */
+ public static final class ConfigureProtocolResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.ConfigureProtocolResponse)
+ ConfigureProtocolResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ConfigureProtocolResponse.newBuilder() to construct.
+ private ConfigureProtocolResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ConfigureProtocolResponse() {
+ confirmed_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ConfigureProtocolResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+
+ confirmed_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.class, com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.Builder.class);
+ }
+
+ public static final int CONFIRMED_FIELD_NUMBER = 1;
+ private boolean confirmed_;
+ /**
+ * <code>bool Confirmed = 1;</code>
+ */
+ public boolean getConfirmed() {
+ return confirmed_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (confirmed_ != false) {
+ output.writeBool(1, confirmed_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (confirmed_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, confirmed_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse other = (com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse) obj;
+
+ boolean result = true;
+ result = result && (getConfirmed()
+ == other.getConfirmed());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CONFIRMED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getConfirmed());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.ConfigureProtocolResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.ConfigureProtocolResponse)
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.class, com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ confirmed_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse build() {
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse buildPartial() {
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse result = new com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse(this);
+ result.confirmed_ = confirmed_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse) {
+ return mergeFrom((com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse other) {
+ if (other == com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse.getDefaultInstance()) return this;
+ if (other.getConfirmed() != false) {
+ setConfirmed(other.getConfirmed());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private boolean confirmed_ ;
+ /**
+ * <code>bool Confirmed = 1;</code>
+ */
+ public boolean getConfirmed() {
+ return confirmed_;
+ }
+ /**
+ * <code>bool Confirmed = 1;</code>
+ */
+ public Builder setConfirmed(boolean value) {
+
+ confirmed_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bool Confirmed = 1;</code>
+ */
+ public Builder clearConfirmed() {
+
+ confirmed_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Integration.ConfigureProtocolResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ConfigureProtocolResponse)
+ private static final com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse();
+ }
+
+ public static com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ConfigureProtocolResponse>
+ PARSER = new com.google.protobuf.AbstractParser<ConfigureProtocolResponse>() {
+ public ConfigureProtocolResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ConfigureProtocolResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ConfigureProtocolResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ConfigureProtocolResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.ConfigureProtocolResponseOuterClass.ConfigureProtocolResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\037ConfigureProtocolResponse.proto\022\025Tango" +
+ ".PMR.Integration\".\n\031ConfigureProtocolRes" +
+ "ponse\022\021\n\tConfirmed\030\001 \001(\010B!\n\037com.twine.ta" +
+ "ngo.pmr.integrationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_ConfigureProtocolResponse_descriptor,
+ new java.lang.String[] { "Confirmed", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericMessageProtocolOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericMessageProtocolOuterClass.java
new file mode 100644
index 000000000..4780d0d16
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericMessageProtocolOuterClass.java
@@ -0,0 +1,153 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: GenericMessageProtocol.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class GenericMessageProtocolOuterClass {
+ private GenericMessageProtocolOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ /**
+ * Protobuf enum {@code Tango.PMR.Integration.GenericMessageProtocol}
+ */
+ public enum GenericMessageProtocol
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>Json = 0;</code>
+ */
+ Json(0),
+ /**
+ * <code>Bson = 1;</code>
+ */
+ Bson(1),
+ /**
+ * <code>Protobuf = 2;</code>
+ */
+ Protobuf(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>Json = 0;</code>
+ */
+ public static final int Json_VALUE = 0;
+ /**
+ * <code>Bson = 1;</code>
+ */
+ public static final int Bson_VALUE = 1;
+ /**
+ * <code>Protobuf = 2;</code>
+ */
+ public static final int Protobuf_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static GenericMessageProtocol valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static GenericMessageProtocol forNumber(int value) {
+ switch (value) {
+ case 0: return Json;
+ case 1: return Bson;
+ case 2: return Protobuf;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<GenericMessageProtocol>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ GenericMessageProtocol> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<GenericMessageProtocol>() {
+ public GenericMessageProtocol findValueByNumber(int number) {
+ return GenericMessageProtocol.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.GenericMessageProtocolOuterClass.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final GenericMessageProtocol[] VALUES = values();
+
+ public static GenericMessageProtocol valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private GenericMessageProtocol(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:Tango.PMR.Integration.GenericMessageProtocol)
+ }
+
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\034GenericMessageProtocol.proto\022\025Tango.PM" +
+ "R.Integration*:\n\026GenericMessageProtocol\022" +
+ "\010\n\004Json\020\000\022\010\n\004Bson\020\001\022\014\n\010Protobuf\020\002B!\n\037com" +
+ ".twine.tango.pmr.integrationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericRequestOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericRequestOuterClass.java
new file mode 100644
index 000000000..be6709cf5
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericRequestOuterClass.java
@@ -0,0 +1,645 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: GenericRequest.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class GenericRequestOuterClass {
+ private GenericRequestOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface GenericRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.GenericRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string Type = 1;</code>
+ */
+ java.lang.String getType();
+ /**
+ * <code>string Type = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getTypeBytes();
+
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ com.google.protobuf.ByteString getData();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.GenericRequest}
+ */
+ public static final class GenericRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.GenericRequest)
+ GenericRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GenericRequest.newBuilder() to construct.
+ private GenericRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GenericRequest() {
+ type_ = "";
+ data_ = com.google.protobuf.ByteString.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GenericRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ type_ = s;
+ break;
+ }
+ case 18: {
+
+ data_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.internal_static_Tango_PMR_Integration_GenericRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.internal_static_Tango_PMR_Integration_GenericRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.class, com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.Builder.class);
+ }
+
+ public static final int TYPE_FIELD_NUMBER = 1;
+ private volatile java.lang.Object type_;
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public java.lang.String getType() {
+ java.lang.Object ref = type_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ type_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeBytes() {
+ java.lang.Object ref = type_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ type_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DATA_FIELD_NUMBER = 2;
+ private com.google.protobuf.ByteString data_;
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public com.google.protobuf.ByteString getData() {
+ return data_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getTypeBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, type_);
+ }
+ if (!data_.isEmpty()) {
+ output.writeBytes(2, data_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getTypeBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, type_);
+ }
+ if (!data_.isEmpty()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(2, data_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest other = (com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest) obj;
+
+ boolean result = true;
+ result = result && getType()
+ .equals(other.getType());
+ result = result && getData()
+ .equals(other.getData());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getType().hashCode();
+ hash = (37 * hash) + DATA_FIELD_NUMBER;
+ hash = (53 * hash) + getData().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.GenericRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.GenericRequest)
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.internal_static_Tango_PMR_Integration_GenericRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.internal_static_Tango_PMR_Integration_GenericRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.class, com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ type_ = "";
+
+ data_ = com.google.protobuf.ByteString.EMPTY;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.internal_static_Tango_PMR_Integration_GenericRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest build() {
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest buildPartial() {
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest result = new com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest(this);
+ result.type_ = type_;
+ result.data_ = data_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest) {
+ return mergeFrom((com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest other) {
+ if (other == com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest.getDefaultInstance()) return this;
+ if (!other.getType().isEmpty()) {
+ type_ = other.type_;
+ onChanged();
+ }
+ if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
+ setData(other.getData());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object type_ = "";
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public java.lang.String getType() {
+ java.lang.Object ref = type_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ type_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeBytes() {
+ java.lang.Object ref = type_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ type_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder setType(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ type_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder clearType() {
+
+ type_ = getDefaultInstance().getType();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder setTypeBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ type_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public com.google.protobuf.ByteString getData() {
+ return data_;
+ }
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public Builder setData(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ data_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public Builder clearData() {
+
+ data_ = getDefaultInstance().getData();
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Integration.GenericRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.GenericRequest)
+ private static final com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest();
+ }
+
+ public static com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GenericRequest>
+ PARSER = new com.google.protobuf.AbstractParser<GenericRequest>() {
+ public GenericRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GenericRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GenericRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GenericRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.GenericRequestOuterClass.GenericRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_GenericRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_GenericRequest_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\024GenericRequest.proto\022\025Tango.PMR.Integr" +
+ "ation\",\n\016GenericRequest\022\014\n\004Type\030\001 \001(\t\022\014\n" +
+ "\004Data\030\002 \001(\014B!\n\037com.twine.tango.pmr.integ" +
+ "rationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Integration_GenericRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_GenericRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_GenericRequest_descriptor,
+ new java.lang.String[] { "Type", "Data", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericResponseOuterClass.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericResponseOuterClass.java
new file mode 100644
index 000000000..984c4421f
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/tango/pmr/integration/GenericResponseOuterClass.java
@@ -0,0 +1,645 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: GenericResponse.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class GenericResponseOuterClass {
+ private GenericResponseOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface GenericResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.GenericResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string Type = 1;</code>
+ */
+ java.lang.String getType();
+ /**
+ * <code>string Type = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getTypeBytes();
+
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ com.google.protobuf.ByteString getData();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.GenericResponse}
+ */
+ public static final class GenericResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.GenericResponse)
+ GenericResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GenericResponse.newBuilder() to construct.
+ private GenericResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GenericResponse() {
+ type_ = "";
+ data_ = com.google.protobuf.ByteString.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GenericResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ type_ = s;
+ break;
+ }
+ case 18: {
+
+ data_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.internal_static_Tango_PMR_Integration_GenericResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.internal_static_Tango_PMR_Integration_GenericResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.class, com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.Builder.class);
+ }
+
+ public static final int TYPE_FIELD_NUMBER = 1;
+ private volatile java.lang.Object type_;
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public java.lang.String getType() {
+ java.lang.Object ref = type_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ type_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeBytes() {
+ java.lang.Object ref = type_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ type_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DATA_FIELD_NUMBER = 2;
+ private com.google.protobuf.ByteString data_;
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public com.google.protobuf.ByteString getData() {
+ return data_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getTypeBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, type_);
+ }
+ if (!data_.isEmpty()) {
+ output.writeBytes(2, data_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getTypeBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, type_);
+ }
+ if (!data_.isEmpty()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(2, data_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse other = (com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse) obj;
+
+ boolean result = true;
+ result = result && getType()
+ .equals(other.getType());
+ result = result && getData()
+ .equals(other.getData());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getType().hashCode();
+ hash = (37 * hash) + DATA_FIELD_NUMBER;
+ hash = (53 * hash) + getData().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.GenericResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.GenericResponse)
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.internal_static_Tango_PMR_Integration_GenericResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.internal_static_Tango_PMR_Integration_GenericResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.class, com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ type_ = "";
+
+ data_ = com.google.protobuf.ByteString.EMPTY;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.internal_static_Tango_PMR_Integration_GenericResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse build() {
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse buildPartial() {
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse result = new com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse(this);
+ result.type_ = type_;
+ result.data_ = data_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse) {
+ return mergeFrom((com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse other) {
+ if (other == com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse.getDefaultInstance()) return this;
+ if (!other.getType().isEmpty()) {
+ type_ = other.type_;
+ onChanged();
+ }
+ if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
+ setData(other.getData());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object type_ = "";
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public java.lang.String getType() {
+ java.lang.Object ref = type_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ type_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeBytes() {
+ java.lang.Object ref = type_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ type_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder setType(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ type_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder clearType() {
+
+ type_ = getDefaultInstance().getType();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string Type = 1;</code>
+ */
+ public Builder setTypeBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ type_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public com.google.protobuf.ByteString getData() {
+ return data_;
+ }
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public Builder setData(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ data_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bytes Data = 2;</code>
+ */
+ public Builder clearData() {
+
+ data_ = getDefaultInstance().getData();
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Integration.GenericResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.GenericResponse)
+ private static final com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse();
+ }
+
+ public static com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GenericResponse>
+ PARSER = new com.google.protobuf.AbstractParser<GenericResponse>() {
+ public GenericResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GenericResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GenericResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GenericResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.GenericResponseOuterClass.GenericResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_GenericResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_GenericResponse_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\025GenericResponse.proto\022\025Tango.PMR.Integ" +
+ "ration\"-\n\017GenericResponse\022\014\n\004Type\030\001 \001(\t\022" +
+ "\014\n\004Data\030\002 \001(\014B!\n\037com.twine.tango.pmr.int" +
+ "egrationb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Integration_GenericResponse_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_GenericResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_GenericResponse_descriptor,
+ new java.lang.String[] { "Type", "Data", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf
index 1881cf018..c7a9256ab 100644
--- a/Software/DB/PPC/Tango.mdf
+++ b/Software/DB/PPC/Tango.mdf
Binary files differ
diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf
index 35c5239c4..5fb47f027 100644
--- a/Software/DB/PPC/Tango_log.ldf
+++ b/Software/DB/PPC/Tango_log.ldf
Binary files differ
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index db2b6ccf6..51f78e15c 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index 7d54a95db..ccadf3e2f 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/NFC.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/NFC.c
index ef38f2b24..33f154492 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/NFC.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/NFC.c
@@ -762,7 +762,7 @@ uint32_t RFIDTagComm_StateMachine(RFID_READER_ID readerID, StateMachineMode Mode
- }while(RFIDRetValue != SUCCESS);
+ }while((RFIDRetValue != SUCCESS)&&(counterd_dis<10));
if(RFIDRetValue == SUCCESS)
{
@@ -775,6 +775,7 @@ uint32_t RFIDTagComm_StateMachine(RFID_READER_ID readerID, StateMachineMode Mode
{
follow_stages[TagStage[readerID]] = ERROR;
RFID_Status_Words[readerID].errors.TagDiscovery = S_FAILED;
+ TagStage[readerID] = Tag_Idle;
}
delayms(1);
if(Mode == OneStep)
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c
index 946958a08..d98af2097 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c
@@ -28,6 +28,7 @@
#include "../control/MillisecTask.h"
#include "../Ids/Ids_ex.h"
#include "../General/process.h"
+#include "../Waste/Waste_ex.h"
#include <ti/sysbios/knl/Task.h>
#include <driverlib/timer.h>
@@ -42,13 +43,14 @@
#include "Drivers/I2C_Communication/I2C.h"
#include <Drivers/I2C_Communication/I2C_Task.h>
#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h>
-
+#include "drivers/Flash_ram/MCU_E2Prom.h"
#include "StateMachines/Initialization/InitSequence.h"
/******************** Data Structures ********************************************/
#define MIN_ALLOWED_PWM 0
#define MAX_ALLOWED_PWM 255
#define ARC_ALARM_LIMIT 3
+#define V0_INIT_STOP_FAN_TIME 5
#define PRESSURE_SENSOR_CP 0.269
#define PRESSURE_SENSOR_B 0.45
@@ -57,10 +59,12 @@
extern uint16_t Head_Fan_Tach[2];
extern uint8_t Head_Fan_PWM_Command[2];
-uint32_t PressureSensorV0[2] = {0, 0};
+uint32_t PressureSensorV0[2] = {1100, 1100};
uint8_t HeadBlowersCloseLoopTime[2] = {2, 2};
uint8_t HeadBlowersEnable = 1;
uint8_t BlowerIdToSensorId[2] = {HEAD_PT100_ZONE_7_0X86_0, HEAD_PT100_ZONE_5_0X84_0}; //HEAD_FAN_RIGHT, HEAD_FAN_LEFT
+uint32_t HeadBlowersInitControlId = 0xFF;
+uint32_t HeadBlowersV0InitCount = 0;
typedef struct
{
@@ -455,3 +459,70 @@ uint32_t HeadBlowerCommandRequestMessage(int blowerId, float flow)
headBlowersFlow[blowerId] = flow;
return OK;
}
+
+uint32_t HeadBlowerAirflowCalibration(void)
+{
+ uint32_t V0[2];
+
+ V0[0] = PressureSensorInit(0);
+ V0[1] = PressureSensorInit(1);
+ ReportWithPackageFilter(HeatersFilter,"read pressure sensor v0[0],v0[1]", __FILE__,__LINE__, (int)V0[0], RpMessage, (int)V0[1], 0);
+ if ((V0[0] > 1000) && (V0[0] < 1200)) {
+ MCU_E2PromProgram(EEPROM_PRESSURE_SENSOR_V0_0, V0[0]);
+ ReportWithPackageFilter(InitFilter,"store pressure sensor v0[0]", __FILE__,__LINE__, (int)V0[0], RpMessage, 0, 0);
+ } else {
+ MCU_E2PromRead(EEPROM_PRESSURE_SENSOR_V0_0, &V0[0]);
+ ReportWithPackageFilter(HeatersFilter,"load from EEPROM", __FILE__,__LINE__, (int)V0[0], RpMessage, 0, 0);
+ }
+ if ((V0[1] > 1000) && (V0[1] < 1200)) {
+ MCU_E2PromProgram(EEPROM_PRESSURE_SENSOR_V0_1, V0[1]);
+ ReportWithPackageFilter(HeatersFilter,"store pressure sensor v0[1]", __FILE__,__LINE__, (int)V0[1], RpMessage, 0, 0);
+ } else {
+ MCU_E2PromRead(EEPROM_PRESSURE_SENSOR_V0_1, &V0[1]);
+ ReportWithPackageFilter(HeatersFilter,"load from EEPROM", __FILE__,__LINE__, (int)V0[1], RpMessage, 0, 0);
+ }
+
+ if ((V0[0] > 1000) && (V0[0] < 1200)) {
+ PressureSensorV0[0] = V0[0];
+ }
+ if ((V0[1] > 1000) && (V0[1] < 1200)) {
+ PressureSensorV0[1] = V0[1];
+ }
+ return OK;
+}
+
+uint32_t HeadBlowersInitCallbak(uint32_t IfIndex, uint32_t ReadValue)
+{
+
+ if (HeadBlowersV0InitCount++ >= V0_INIT_STOP_FAN_TIME)
+ {
+ SafeRemoveControlCallback(HeadBlowersInitControlId,HeadBlowersInitCallbak);
+ HeadBlowersInitControlId = 0xFF;
+ HeadBlowerAirflowCalibration();
+ HeadBlowersOff(0);
+ Report("Head Blowers V0 calculated", __FILE__, __LINE__, PressureSensorV0[0], RpMessage, PressureSensorV0[1], 0);
+ Waste_Check_Flows();
+ }
+ Report("Head Blowers calculate V0", __FILE__, __LINE__, 0, RpMessage, 0, 0);
+ return OK;
+}
+
+uint32_t HeadBlowersV0Init(void)
+{
+ if (Head_Type != HEAD_TYPE_ARC)
+ return OK;
+
+ if (HeadBlowersInitControlId != 0xFF)
+ RemoveControlCallback(HeadBlowersInitControlId,HeadBlowersInitCallbak);
+
+ //set Head Blowers to minimum rpm
+ HeadBlowersOff(1);
+ Trigger_Head_Fan_Control(HEAD_FAN_RIGHT, 0);
+ Trigger_Head_Fan_Control(HEAD_FAN_LEFT, 0);
+
+ //init Head Blowers V0
+ HeadBlowersV0InitCount = 0;
+ HeadBlowersInitControlId = AddControlCallback("Head Blowers V0 init", HeadBlowersInitCallbak, eOneSecond, TemplateDataReadCBFunction, 0, 0, 0);
+ Report("Head Blowers V0 init", __FILE__, __LINE__, Head_Type, RpMessage, 0, 0);
+ return OK;
+}
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
index ee60a75cc..b5242bae2 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
@@ -54,4 +54,5 @@ void HeadBlowersControlLoop ();
uint32_t HeadBlowerCommandRequestMessage(int blowerId, float flow);
void HeadBlowersOff(int off);
uint32_t HeadBlowersOffGet();
+uint32_t HeadBlowersV0Init(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index def9c5530..6345ff201 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1016,6 +1016,7 @@ void HeaterPrepareReady(void)
}
PrepareReady(Module_Heaters,ModuleDone);
IDSPrepareStart();
+ HeadBlowersV0Init();
}
/*
* HeaterControlCBFunction
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
index db15a9ffd..5a3207551 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
@@ -46,6 +46,7 @@ bool WHS_WasteCartridgeMiddlePresent();
bool WHS_IsEmptying();
uint32_t Waste_CheckState(int *AlarmId);
uint32_t Waste_Prepare(void);
+uint32_t Waste_Check_Flows(void);
bool WHS_IsVocPpmOverAlarmLimit();
void setWastePrepareValues(float HeadLimit,float WasteLimit);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
index 490a0c0a5..665e8f83c 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
@@ -645,15 +645,25 @@ uint32_t Waste_PrepareCallbak(uint32_t IfIndex, uint32_t ReadValue)
Report("Module waste prepare", __FILE__, __LINE__, headready, RpMessage, whsready, 0);
return OK;
}
-uint32_t Waste_Prepare(void)
+uint32_t Waste_Check_Flows(void)
{
- WHS_FlowReady = false;HeadIn_FlowReady = false;HeadOut_FlowReady = false;
+ WHS_FlowReady = false;HeadIn_FlowReady = false;HeadOut_FlowReady = false;
+
if (WasteReadyControlId != 0xFF)
RemoveControlCallback(WasteReadyControlId,Waste_PrepareCallbak);
Waste_Prepare_Timeout = 0;
//check that blowers are within 10% of designated flow: WHS, head blowers
WasteReadyControlId = AddControlCallback("Cartridge Cover Door", Waste_PrepareCallbak, eOneSecond, TemplateDataReadCBFunction, 0, 0, 0);
- Report("Module waste prepare", __FILE__, __LINE__, Head_Type, RpMessage, WHS_Type, 0);
+ Report("Waste_Check_Flows prepare", __FILE__, __LINE__, Head_Type, RpMessage, WHS_Type, 0);
+ return OK;
+}
+uint32_t Waste_Prepare(void)
+{
+ if (HeaterCheckReady() == true)
+ {
+ HeadBlowersV0Init();
+ }
+ Report("Module waste prepare", __FILE__, HeaterCheckReady(), Head_Type, RpMessage, WHS_Type, 0);
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
index 4e6a4b112..a71afc4cd 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
@@ -515,10 +515,6 @@ uint32_t InitSequenceInitialBlowerActivation(void)
{
InitSequenceWHSAirFlowCalibration();
}
- if (Head_Type == HEAD_TYPE_ARC)
- {
- InitSequenceArcAirflowCalibration();
- }
Voc_Sensor_Zero_Calibration();
SetMachineState(MACHINE_STATE_INITIAL_BLOWER_ACTIVATION);
diff --git a/Software/PMR/Messages/ColorLab/LiquidType.proto b/Software/PMR/Messages/ColorLab/LiquidType.proto
index c1d5231ce..f1b996ed6 100644
--- a/Software/PMR/Messages/ColorLab/LiquidType.proto
+++ b/Software/PMR/Messages/ColorLab/LiquidType.proto
@@ -30,4 +30,10 @@ enum LiquidType
Cleaner = 6;
+ LightCyan = 7;
+
+ LightMagenta = 8;
+
+ LightYellow = 9;
+
}
diff --git a/Software/PMR/Messages/Printing/DispenserLiquidType.proto b/Software/PMR/Messages/Printing/DispenserLiquidType.proto
index 72970efa3..fdc61996e 100644
--- a/Software/PMR/Messages/Printing/DispenserLiquidType.proto
+++ b/Software/PMR/Messages/Printing/DispenserLiquidType.proto
@@ -30,4 +30,10 @@ enum DispenserLiquidType
Cleaner = 6;
+ LightCyan = 7;
+
+ LightMagenta = 8;
+
+ LightYellow = 9;
+
}
diff --git a/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip
index 17f93816f..b32cfee44 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip
+++ b/Software/Visual_Studio/Advanced Installer Projects/Machine Studio Installer.aip
@@ -16,10 +16,10 @@
<ROW Property="ARPCOMMENTS" Value="This installer database contains the logic and data required to install [|ProductName]." ValueLocId="*"/>
<ROW Property="ARPNOREPAIR" MultiBuildValue="DefaultBuild:1"/>
<ROW Property="Manufacturer" Value="Twine"/>
- <ROW Property="ProductCode" Value="1033:{D2EBB1F5-D8FF-4733-988A-AF5303D4D691} " Type="16"/>
+ <ROW Property="ProductCode" Value="1033:{A7D1ABE5-6524-4FE9-A6F9-0CF85F760172} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="Machine Studio"/>
- <ROW Property="ProductVersion" Value="4.2.2.0" Type="32"/>
+ <ROW Property="ProductVersion" Value="4.2.3.0" Type="32"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{CBEE5CAE-7C5A-4280-98DE-AA98113764E4}"/>
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
@@ -873,7 +873,7 @@
<ROW Action="AI_DetectSoftware" Sequence="101"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
- <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\Machine Studio\Release" PackageFileName="Machine Studio Installer_v4.2.2" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Machine Studio Installer_v4.2.2"/>
+ <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\Machine Studio\Release" PackageFileName="Machine Studio Installer_v4.2.3" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Machine Studio Installer_v4.2.3"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
index 9453b5c13..5fe5afe5a 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
+++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer-cache/cacheIndex.txt
Binary files differ
diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
index e2f170d56..00c6db16f 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
+++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
@@ -18,10 +18,10 @@
<ROW Property="ARPNOREPAIR" Value="1" MultiBuildValue="DefaultBuild:1"/>
<ROW Property="ARPSYSTEMCOMPONENT" Value="1"/>
<ROW Property="Manufacturer" Value="Twine"/>
- <ROW Property="ProductCode" Value="1033:{A978E0C5-9539-4D94-BFE5-54DAFE31559D} " Type="16"/>
+ <ROW Property="ProductCode" Value="1033:{82BA609C-8C12-4819-9E65-CEFC9BA32500} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="Tango"/>
- <ROW Property="ProductVersion" Value="1.2.2.0" Type="32"/>
+ <ROW Property="ProductVersion" Value="1.2.5.0" Type="32"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{F8EAB8B4-FD57-45B7-8307-D52DF760273D}"/>
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
@@ -45,22 +45,8 @@
<ROW Directory="SHORTCUTDIR" Directory_Parent="TARGETDIR" DefaultDir="SHORTC~1|SHORTCUTDIR" IsPseudoRoot="1"/>
<ROW Directory="SQLExaminer_Dir" Directory_Parent="APPDIR" DefaultDir="SQLEXA~1|SQLExaminer" DirectoryOptions="3"/>
<ROW Directory="TARGETDIR" DefaultDir="SourceDir"/>
- <ROW Directory="alpine.3.9x64_Dir" Directory_Parent="lib_Dir" DefaultDir="ALPINE~1.9-X|alpine.3.9-x64" DirectoryOptions="3"/>
- <ROW Directory="alpinex64_Dir" Directory_Parent="lib_Dir" DefaultDir="ALPINE~1|alpine-x64" DirectoryOptions="3"/>
- <ROW Directory="debian.9x64_Dir" Directory_Parent="lib_Dir" DefaultDir="DEBIAN~1.9-X|debian.9-x64" DirectoryOptions="3"/>
- <ROW Directory="debianarm64_Dir" Directory_Parent="lib_Dir" DefaultDir="DEBIAN~1|debian-arm64" DirectoryOptions="3"/>
- <ROW Directory="fedorax64_Dir" Directory_Parent="lib_Dir" DefaultDir="FEDORA~1|fedora-x64" DirectoryOptions="3"/>
- <ROW Directory="lib_Dir" Directory_Parent="APPDIR" DefaultDir="lib" DirectoryOptions="3"/>
- <ROW Directory="linuxx64_Dir" Directory_Parent="lib_Dir" DefaultDir="LINUX-~1|linux-x64" DirectoryOptions="3"/>
- <ROW Directory="osx_Dir" Directory_Parent="lib_Dir" DefaultDir="osx" DirectoryOptions="3"/>
- <ROW Directory="rhelx64_Dir" Directory_Parent="lib_Dir" DefaultDir="rhel-x64" DirectoryOptions="3"/>
- <ROW Directory="ubuntu.16.04arm64_Dir" Directory_Parent="lib_Dir" DefaultDir="UBUNTU~1.04-|ubuntu.16.04-arm64" DirectoryOptions="3"/>
- <ROW Directory="ubuntu.18.04x64_Dir" Directory_Parent="lib_Dir" DefaultDir="UBUNTU~2.04-|ubuntu.18.04-x64" DirectoryOptions="3"/>
- <ROW Directory="win32_Dir" Directory_Parent="lib_Dir" DefaultDir="win32" DirectoryOptions="3"/>
<ROW Directory="win7x64_Dir" Directory_Parent="APPDIR" DefaultDir="win7-x64" DirectoryOptions="3"/>
<ROW Directory="win7x86_Dir" Directory_Parent="APPDIR" DefaultDir="win7-x86" DirectoryOptions="3"/>
- <ROW Directory="x64_Dir" Directory_Parent="win32_Dir" DefaultDir="x64" DirectoryOptions="3"/>
- <ROW Directory="x86_Dir" Directory_Parent="win32_Dir" DefaultDir="x86" DirectoryOptions="3"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
<ROW Component="AI_CustomARPName" ComponentId="{EE79DF51-F4B7-472B-8A12-4685CDAAE068}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
@@ -201,7 +187,6 @@
<ROW Component="Tango.PPC.MachineSettings.dll" ComponentId="{1FD6EEEA-0DE3-4ED2-A3BB-033E5F0E1F4D}" Directory_="APPDIR" Attributes="0" KeyPath="Tango.PPC.MachineSettings.dll"/>
<ROW Component="Tango.PPC.Maintenance.dll" ComponentId="{F5E90747-F99F-493B-8CA5-0929FBE77C13}" Directory_="APPDIR" Attributes="0" KeyPath="Tango.PPC.Maintenance.dll"/>
<ROW Component="Tango.PPC.Packages.Auth2.dll" ComponentId="{9D638EFF-9BDF-4903-AFB5-8015EB34B6F2}" Directory_="Packages_Dir" Attributes="0" KeyPath="Tango.PPC.Packages.Auth2.dll"/>
- <ROW Component="Tango.PPC.Packages.CefInstaller.dll" ComponentId="{EB7A5008-6488-43B7-97E1-3B6E43315BBB}" Directory_="Packages_Dir" Attributes="0" KeyPath="Tango.PPC.Packages.CefInstaller.dll"/>
<ROW Component="Tango.PPC.Packages.JobRunsStartTimePatch.dll" ComponentId="{F680010B-E063-428A-84C7-1FEB9E253502}" Directory_="Packages_Dir" Attributes="0" KeyPath="Tango.PPC.Packages.JobRunsStartTimePatch.dll"/>
<ROW Component="Tango.PPC.Packages.JobRunsStartTimePatch.dll.config" ComponentId="{B588371F-F16E-495E-83EC-CA7089242B07}" Directory_="Packages_Dir" Attributes="0" KeyPath="Tango.PPC.Packages.JobRunsStartTimePatch.dll.config" Type="0"/>
<ROW Component="Tango.PPC.Packages.SamplePostPackage.dll" ComponentId="{B5384C95-9D5A-48EE-A938-DBFE32FC2E25}" Directory_="Packages_Dir" Attributes="0" KeyPath="Tango.PPC.Packages.SamplePostPackage.dll"/>
@@ -228,28 +213,14 @@
<ROW Component="Tango.WiFi.dll" ComponentId="{8082C9BD-5BDB-4C52-BCA6-E8604D4D232B}" Directory_="APPDIR" Attributes="0" KeyPath="Tango.WiFi.dll"/>
<ROW Component="WebRtc.NET.dll" ComponentId="{11563A6C-E1FC-4578-8BDD-8A8C30677126}" Directory_="APPDIR" Attributes="0" KeyPath="WebRtc.NET.dll"/>
<ROW Component="WindowsInput.dll" ComponentId="{916884AD-CD7D-4AB0-8B3B-A2205ACFBDF4}" Directory_="APPDIR" Attributes="0" KeyPath="WindowsInput.dll"/>
- <ROW Component="git2106a5f2.dll" ComponentId="{4A72FC3A-35EE-4AD0-9E2F-BF63BA4A05EF}" Directory_="x64_Dir" Attributes="256" KeyPath="git2106a5f2.dll"/>
- <ROW Component="git2106a5f2.dll_1" ComponentId="{0ABDF176-8214-43D6-9AAA-34AFAEF24E1F}" Directory_="x86_Dir" Attributes="0" KeyPath="git2106a5f2.dll_1"/>
- <ROW Component="libgit2106a5f2.dylib" ComponentId="{B7C3619E-377E-426A-8405-3173098385F7}" Directory_="osx_Dir" Attributes="0" KeyPath="libgit2106a5f2.dylib" Type="0"/>
- <ROW Component="libgit2106a5f2.so" ComponentId="{A142C069-5D68-4336-9C85-0B61245208C9}" Directory_="alpinex64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so" Type="0"/>
- <ROW Component="libgit2106a5f2.so_1" ComponentId="{3CC8EB04-5FE6-4256-B1D4-02E6684BE94D}" Directory_="alpine.3.9x64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_1" Type="0"/>
- <ROW Component="libgit2106a5f2.so_2" ComponentId="{D09E5D6B-FAB9-4B91-B14B-D959AF8A9115}" Directory_="debianarm64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_2" Type="0"/>
- <ROW Component="libgit2106a5f2.so_3" ComponentId="{6471C138-B40C-4399-B1A8-5626BEDDE826}" Directory_="debian.9x64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_3" Type="0"/>
- <ROW Component="libgit2106a5f2.so_4" ComponentId="{3AFFC293-F8A7-4A04-850F-5FED06666D0C}" Directory_="fedorax64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_4" Type="0"/>
- <ROW Component="libgit2106a5f2.so_5" ComponentId="{1169F1D1-5DB6-4C6D-B301-A401E2EA47A3}" Directory_="linuxx64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_5" Type="0"/>
- <ROW Component="libgit2106a5f2.so_6" ComponentId="{CF5C6BB9-F74C-4DCC-AC6E-FEEFB1DF75E3}" Directory_="rhelx64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_6" Type="0"/>
- <ROW Component="libgit2106a5f2.so_7" ComponentId="{96D19EAF-B04F-4C51-9BCC-7C31A3576FF6}" Directory_="ubuntu.16.04arm64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_7" Type="0"/>
- <ROW Component="libgit2106a5f2.so_8" ComponentId="{994EAB59-95D4-47BC-80DC-87546830AC17}" Directory_="ubuntu.18.04x64_Dir" Attributes="0" KeyPath="libgit2106a5f2.so_8" Type="0"/>
<ROW Component="mscoree.dll" ComponentId="{85F439D0-8FD0-4B99-888D-336C7A125E3D}" Directory_="APPDIR" Attributes="0" KeyPath="mscoree.dll"/>
<ROW Component="msvcp140d.dll" ComponentId="{69E32675-9ACF-4C23-A495-300B78913B66}" Directory_="APPDIR" Attributes="0" KeyPath="msvcp140d.dll"/>
<ROW Component="protobufnet.dll" ComponentId="{163F1E17-6462-4ABE-BC86-E055F7690139}" Directory_="APPDIR" Attributes="0" KeyPath="protobufnet.dll"/>
- <ROW Component="turbojpeg.dll" ComponentId="{EED60AB9-982C-4962-B3AA-2D713BE077E3}" Directory_="win7x64_Dir" Attributes="256" KeyPath="turbojpeg.dll"/>
- <ROW Component="turbojpeg.dll.meta" ComponentId="{B316D268-F20A-42BD-8A87-0E26BCBC70AD}" Directory_="win7x64_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta" Type="0"/>
- <ROW Component="turbojpeg.dll.meta_1" ComponentId="{3E4A554C-7BCA-4305-97D2-BDFCE7C4D123}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta_1" Type="0"/>
- <ROW Component="turbojpeg.dll_1" ComponentId="{3DC2CF96-6189-47AD-9937-54204684CC24}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll_1"/>
<ROW Component="ucrtbased.dll" ComponentId="{B8D025EA-CD16-4EE7-A3E7-713E2BE82BF3}" Directory_="APPDIR" Attributes="0" KeyPath="ucrtbased.dll"/>
<ROW Component="vcruntime140.dll" ComponentId="{144594CC-D19B-45E4-A420-7A1BBB122EE3}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140.dll"/>
<ROW Component="vcruntime140d.dll" ComponentId="{7653420C-C6C3-4F31-97E8-D6DE417D3DF2}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140d.dll"/>
+ <ROW Component="win7x64" ComponentId="{BE9A5A00-9444-4500-B12B-09334F87EB17}" Directory_="win7x64_Dir" Attributes="0"/>
+ <ROW Component="win7x86" ComponentId="{6173EB37-D10F-4B57-8C20-63AB19CF6D7E}" Directory_="win7x86_Dir" Attributes="0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
<ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0"/>
@@ -462,8 +433,6 @@
<ROW File="Tango.PPC.Maintenance.dll" Component_="Tango.PPC.Maintenance.dll" FileName="TANGO~11.DLL|Tango.PPC.Maintenance.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Maintenance.dll" SelfReg="false"/>
<ROW File="Tango.PPC.Maintenance.dll.config" Component_="CommandLine.xml" FileName="TANGO~13.CON|Tango.PPC.Maintenance.dll.config" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Maintenance.dll.config" SelfReg="false"/>
<ROW File="Tango.PPC.Maintenance.pdb" Component_="Tango.PPC.Maintenance.dll" FileName="TANGO~15.PDB|Tango.PPC.Maintenance.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Maintenance.pdb" SelfReg="false"/>
- <ROW File="Tango.PPC.Packages.CefInstaller.dll" Component_="Tango.PPC.Packages.CefInstaller.dll" FileName="TANGOP~3.DLL|Tango.PPC.Packages.CefInstaller.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Packages\Tango.PPC.Packages.CefInstaller.dll" SelfReg="false"/>
- <ROW File="Tango.PPC.Packages.CefInstaller.pdb" Component_="Tango.PPC.Packages.CefInstaller.dll" FileName="TANGOP~3.PDB|Tango.PPC.Packages.CefInstaller.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Packages\Tango.PPC.Packages.CefInstaller.pdb" SelfReg="false"/>
<ROW File="Tango.PPC.Browser.dll" Component_="Tango.PPC.Browser.dll" FileName="TANGO~12.DLL|Tango.PPC.Browser.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Browser.dll" SelfReg="false"/>
<ROW File="Tango.PPC.Browser.dll.config" Component_="CommandLine.xml" FileName="TANGO~14.CON|Tango.PPC.Browser.dll.config" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Browser.dll.config" SelfReg="false"/>
<ROW File="Tango.PPC.Browser.pdb" Component_="Tango.PPC.Browser.dll" FileName="TANGO~16.PDB|Tango.PPC.Browser.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Browser.pdb" SelfReg="false"/>
@@ -490,7 +459,6 @@
<ROW File="Tango.WebRTC.dll" Component_="Tango.WebRTC.dll" FileName="TANGOW~3.DLL|Tango.WebRTC.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.WebRTC.dll" SelfReg="false"/>
<ROW File="Tango.WebRTC.pdb" Component_="Tango.WebRTC.dll" FileName="TANGOW~3.PDB|Tango.WebRTC.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.WebRTC.pdb" SelfReg="false"/>
<ROW File="WebRtc.NET.dll" Component_="WebRtc.NET.dll" FileName="WEBRTC~1.DLL|WebRtc.NET.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\WebRtc.NET.dll" SelfReg="false"/>
- <ROW File="WebRtc.NET.pdb" Component_="WebRtc.NET.dll" FileName="WEBRTC~1.PDB|WebRtc.NET.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\WebRtc.NET.pdb" SelfReg="false"/>
<ROW File="Microsoft.WindowsAPICodePack.pdb" Component_="Microsoft.WindowsAPICodePack.dll" FileName="MICROS~3.PDB|Microsoft.WindowsAPICodePack.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Microsoft.WindowsAPICodePack.pdb" SelfReg="false"/>
<ROW File="LiteDB.dll" Component_="LiteDB.dll" FileName="LiteDB.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\LiteDB.dll" SelfReg="false"/>
<ROW File="Tango.PPC.Shared.dll" Component_="Tango.PPC.Shared.dll" FileName="TANGO~13.DLL|Tango.PPC.Shared.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.PPC.Shared.dll" SelfReg="false"/>
@@ -523,27 +491,8 @@
<ROW File="Tango.DataStore.pdb" Component_="Tango.DataStore.dll" FileName="TANGOD~5.PDB|Tango.DataStore.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.DataStore.pdb" SelfReg="false"/>
<ROW File="Tango.DataStore.Remote.dll" Component_="Tango.DataStore.Remote.dll" FileName="TANGOD~6.DLL|Tango.DataStore.Remote.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.DataStore.Remote.dll" SelfReg="false"/>
<ROW File="Tango.DataStore.Remote.pdb" Component_="Tango.DataStore.Remote.dll" FileName="TANGOD~6.PDB|Tango.DataStore.Remote.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.DataStore.Remote.pdb" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so" Component_="libgit2106a5f2.so" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\alpine-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_1" Component_="libgit2106a5f2.so_1" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\alpine.3.9-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_2" Component_="libgit2106a5f2.so_2" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\debian-arm64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_3" Component_="libgit2106a5f2.so_3" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\debian.9-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_4" Component_="libgit2106a5f2.so_4" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\fedora-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_5" Component_="libgit2106a5f2.so_5" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\linux-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.dylib" Component_="libgit2106a5f2.dylib" FileName="LIBGIT~1.DYL|libgit2-106a5f2.dylib" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\osx\libgit2-106a5f2.dylib" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_6" Component_="libgit2106a5f2.so_6" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\rhel-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_7" Component_="libgit2106a5f2.so_7" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\ubuntu.16.04-arm64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="libgit2106a5f2.so_8" Component_="libgit2106a5f2.so_8" FileName="LIBGIT~1.SO|libgit2-106a5f2.so" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\ubuntu.18.04-x64\libgit2-106a5f2.so" SelfReg="false"/>
- <ROW File="git2106a5f2.dll" Component_="git2106a5f2.dll" FileName="GIT2-1~1.DLL|git2-106a5f2.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\win32\x64\git2-106a5f2.dll" SelfReg="false"/>
- <ROW File="git2106a5f2.pdb" Component_="git2106a5f2.dll" FileName="GIT2-1~1.PDB|git2-106a5f2.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\win32\x64\git2-106a5f2.pdb" SelfReg="false"/>
- <ROW File="git2106a5f2.dll_1" Component_="git2106a5f2.dll_1" FileName="GIT2-1~1.DLL|git2-106a5f2.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\win32\x86\git2-106a5f2.dll" SelfReg="false"/>
- <ROW File="git2106a5f2.pdb_1" Component_="git2106a5f2.dll_1" FileName="GIT2-1~1.PDB|git2-106a5f2.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\lib\win32\x86\git2-106a5f2.pdb" SelfReg="false"/>
- <ROW File="LibGit2Sharp.dll.config" Component_="CommandLine.xml" FileName="LIBGIT~1.CON|LibGit2Sharp.dll.config" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\LibGit2Sharp.dll.config" SelfReg="false"/>
<ROW File="Tango.DataStore.Editing.dll" Component_="Tango.DataStore.Editing.dll" FileName="TANGOD~7.DLL|Tango.DataStore.Editing.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.DataStore.Editing.dll" SelfReg="false"/>
<ROW File="Tango.DataStore.Editing.pdb" Component_="Tango.DataStore.Editing.dll" FileName="TANGOD~7.PDB|Tango.DataStore.Editing.pdb" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\Tango.DataStore.Editing.pdb" SelfReg="false"/>
- <ROW File="turbojpeg.dll" Component_="turbojpeg.dll" FileName="TURBOJ~1.DLL|turbojpeg.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x64\turbojpeg.dll" SelfReg="false"/>
- <ROW File="turbojpeg.dll.meta" Component_="turbojpeg.dll.meta" FileName="TURBOJ~1.MET|turbojpeg.dll.meta" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x64\turbojpeg.dll.meta" SelfReg="false"/>
- <ROW File="turbojpeg.dll_1" Component_="turbojpeg.dll_1" FileName="TURBOJ~1.DLL|turbojpeg.dll" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x86\turbojpeg.dll" SelfReg="false"/>
- <ROW File="turbojpeg.dll.meta_1" Component_="turbojpeg.dll.meta_1" FileName="TURBOJ~1.MET|turbojpeg.dll.meta" Version="65535.65535.65535.65535" Attributes="0" SourcePath="..\Build\PPC\Release\win7-x86\turbojpeg.dll.meta" SelfReg="false"/>
<ATTRIBUTE name="DontAddFileAttributes" value="true"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BootstrOptComponent">
@@ -553,7 +502,7 @@
<ROW Action="AI_DetectSoftware" Sequence="101"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
- <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.2.2" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.2.2"/>
+ <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.2.5" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.2.5"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
@@ -621,6 +570,8 @@
<COMPONENT cid="caphyon.advinst.msicomp.MsiCreateFolderComponent">
<ROW Directory_="SHORTCUTDIR" Component_="SHORTCUTDIR" ManualDelete="false"/>
<ROW Directory_="APPDIR" Component_="APPDIR" ManualDelete="true"/>
+ <ROW Directory_="win7x64_Dir" Component_="win7x64" ManualDelete="false"/>
+ <ROW Directory_="win7x86_Dir" Component_="win7x86" ManualDelete="false"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiCustActComponent">
<ROW Action="AI_BACKUP_AI_SETUPEXEPATH" Type="51" Source="AI_SETUPEXEPATH_ORIGINAL" Target="[AI_SETUPEXEPATH]"/>
@@ -767,7 +718,6 @@
<ROW Feature_="MainFeature" Component_="Tango.PPC.Jobs.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PPC.MachineSettings.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PPC.Maintenance.dll"/>
- <ROW Feature_="MainFeature" Component_="Tango.PPC.Packages.CefInstaller.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PPC.Packages.SamplePostPackage.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PPC.Packages.SamplePrePackage.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.PPC.Storage.dll"/>
@@ -825,23 +775,9 @@
<ROW Feature_="MainFeature" Component_="Tango.DataStore.EF.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.DataStore.Lite.dll"/>
<ROW Feature_="MainFeature" Component_="Tango.DataStore.Remote.dll"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_1"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_2"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_3"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_4"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_5"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.dylib"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_6"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_7"/>
- <ROW Feature_="MainFeature" Component_="libgit2106a5f2.so_8"/>
- <ROW Feature_="MainFeature" Component_="git2106a5f2.dll"/>
- <ROW Feature_="MainFeature" Component_="git2106a5f2.dll_1"/>
<ROW Feature_="MainFeature" Component_="Tango.DataStore.Editing.dll"/>
- <ROW Feature_="MainFeature" Component_="turbojpeg.dll"/>
- <ROW Feature_="MainFeature" Component_="turbojpeg.dll.meta"/>
- <ROW Feature_="MainFeature" Component_="turbojpeg.dll_1"/>
- <ROW Feature_="MainFeature" Component_="turbojpeg.dll.meta_1"/>
+ <ROW Feature_="MainFeature" Component_="win7x86"/>
+ <ROW Feature_="MainFeature" Component_="win7x64"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiInstExSeqComponent">
<ROW Action="AI_STORE_LOCATION" Condition="(Not Installed) OR REINSTALL" Sequence="1502"/>
diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp
index 5eae7299c..37fd71dc1 100644
--- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp
+++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp
@@ -435,7 +435,9 @@ void Tango::ColorLib::ColorCalibrator::Linearizaton(double *InkVals, double *&Li
if (CheckDuplicates(InkVals, error))
return;
- if (CheckLimits(InkVals, error))
+ int foundValInd = -1;
+ int NumIntervals = 1;
+ if (CheckLimits(InkVals, foundValInd, NumIntervals, error))
return;
//Values are sorted and unique
@@ -443,18 +445,69 @@ void Tango::ColorLib::ColorCalibrator::Linearizaton(double *InkVals, double *&Li
if (CheckMonotonicity(yVal, error))
return;
//Values are monotonic, therefore can be inverted
- int Kconst = 1;
- if (yVal[0] > yVal[m_nsize - 1])
- Kconst = -1;
- for (int i = 0; i < m_nsize; ++i)
+ if (NumIntervals == 1)
{
- yVal[i] *= Kconst;
+ int Kconst = 1;
+ if (yVal[0] > yVal[m_nsize - 1])
+ Kconst = -1;
+ for (int i = 0; i < m_nsize; ++i)
+ {
+ yVal[i] *= Kconst;
+ }
+
+ if (false == Linearize(yVal, LinearInkVal, 0, m_nsize, error))
+ {
+ return;
+ }
}
-
- if (false == Linearize(yVal, LinearInkVal, error))
+ else
{
- return;
- }
+ double *tmpyval1 = new double[foundValInd+1];
+ double *tmpLinearInkVal1 = new double[foundValInd + 1];
+ int Kconst = 1;
+ //[0 -100] data
+ if (yVal[0] > yVal[foundValInd])
+ Kconst = -1;
+ for (int i = 0; i < foundValInd+1; ++i)
+ tmpyval1[i] = Kconst*yVal[i];
+ if (false == Linearize(tmpyval1, tmpLinearInkVal1, 0, foundValInd + 1, error))
+ {
+ delete [] tmpyval1;
+ tmpyval1 = NULL;
+ delete[] tmpLinearInkVal1;
+ tmpLinearInkVal1 = NULL;
+ return;
+ }
+ int remPoints = m_nsize - foundValInd + 1;
+ double *tmpyval2= new double[foundValInd + 1];
+ double *tmpLinearInkVal2 = new double[foundValInd + 1];
+ if (yVal[foundValInd] > yVal[m_nsize-1])
+ Kconst = -1;
+ for (int i = foundValInd; i < m_nsize; ++i)
+ tmpyval2[i- foundValInd] = Kconst * yVal[i];
+ if (false == Linearize(tmpyval2, tmpLinearInkVal2, foundValInd, m_nsize, error))
+ {
+ delete[] tmpyval2;
+ tmpyval2 = NULL;
+ delete[] tmpLinearInkVal2;
+ tmpLinearInkVal2 = NULL;
+ return;
+ }
+ //arrange data
+ for (int i = 0; i < foundValInd + 1; ++i)
+ LinearInkVal[i] = tmpLinearInkVal1[i];
+ for (int i=1; i< remPoints; ++i)
+ LinearInkVal[i+ foundValInd] = tmpLinearInkVal2[i];
+
+ delete[] tmpyval1;
+ tmpyval1 = NULL;
+ delete[] tmpLinearInkVal1;
+ tmpLinearInkVal1 = NULL;
+ delete[] tmpyval2;
+ tmpyval2 = NULL;
+ delete[] tmpLinearInkVal2;
+ tmpLinearInkVal2 = NULL;
+ }
}
bool Tango::ColorLib::ColorCalibrator::SortValues(double *InkVals, double *yVal)
{
@@ -527,21 +580,36 @@ bool Tango::ColorLib::ColorCalibrator::CheckDuplicates(double *InkVals, std::str
return false;
}
-bool Tango::ColorLib::ColorCalibrator::CheckLimits(double *InkVals, std::string &error)
+bool Tango::ColorLib::ColorCalibrator::CheckLimits(double *InkVals, int &foundValInd, int &NumIntervals, std::string &error)
{
double maxVal = -1000.0;
double minVal = 1000.0;
+ double constVal = 100.0;
+ bool foundVal = false;
+
for (int i = 0; i < m_nsize; ++i)
{
+ if (InkVals[i] == constVal)
+ {
+ foundValInd = i;
+ foundVal = true;
+ }
maxVal = fmax(maxVal, InkVals[i]);
minVal = fmin(minVal, InkVals[i]);
}
- if (maxVal != 100.0)
+ if (maxVal < 100.0)
{
- error ="Maximal value has to be 100%";
+ error ="Maximal value has to be at least 100%";
return true;
}
-
+ if (foundVal == false)
+ {
+ error = "Inks List has to contain 100%";
+ return true;
+ }
+ if (foundValInd >= 0)
+ if (maxVal > InkVals[foundValInd])
+ NumIntervals = 2;
if (minVal != 0.0)
{
error = "Minimal value has to be 0";
@@ -633,20 +701,35 @@ bool Tango::ColorLib::ColorCalibrator::CheckMonotonicity(double *yVal, std::stri
}
return false;
}
-bool Tango::ColorLib::ColorCalibrator::Linearize(double *yVal, double*LinearInkVal, std::string &error)
+bool Tango::ColorLib::ColorCalibrator::Linearize(double *yVal, double*LinearInkVal, int FirstInkInd, int LasInkInd, std::string &error)
{
- double Gain = (yVal[m_nsize - 1] - yVal[0]) / (m_inkpercentage[m_nsize - 1] - m_inkpercentage[0]);
- double Offset = yVal[0] - Gain * m_inkpercentage[0];
- double *LabLinear = new double[m_nsize];
- for (int i = 0; i < m_nsize; i++)
- LabLinear[i] = Gain * m_inkpercentage[i] + Offset;
+ double Gain = (yVal[LasInkInd - FirstInkInd-1] - yVal[0]) / (m_inkpercentage[LasInkInd - 1] - m_inkpercentage[FirstInkInd]);
+ double Offset = yVal[0] - Gain * m_inkpercentage[FirstInkInd];
+ int nPoints = LasInkInd - FirstInkInd ;
+ double *LabLinear = new double[nPoints];
+ double *partialInkPercentage = new double[nPoints];
+ for (int i = 0; i < nPoints; i++)
+ {
+ LabLinear[i] = Gain * m_inkpercentage[FirstInkInd + i] + Offset;
+ partialInkPercentage[i] = m_inkpercentage[FirstInkInd + i];
+ }
double outVal = 0.0;
- for (int i = 0; i < m_nsize; i++)
+ for (int i = 0; i < nPoints; i++)
{
- if (false == Interp1D(LabLinear, m_inkpercentage, yVal[i], outVal, error))
+ if (false == Interp1D(LabLinear, partialInkPercentage, yVal[i], outVal, error))
+ {
+ delete[] LabLinear;
+ LabLinear = NULL;
+ delete[] partialInkPercentage;
+ partialInkPercentage = NULL;
return false;
+ }
LinearInkVal[i] = outVal;
}
+ delete[] LabLinear;
+ LabLinear = NULL;
+ delete[] partialInkPercentage;
+ partialInkPercentage = NULL;
return true;
}
bool Tango::ColorLib::ColorCalibrator::Interp1D(double* xx, double *yy, double InValue, double &OutValue, std::string &error)
diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.h b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.h
index 8763397ca..637aaf8f1 100644
--- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.h
+++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.h
@@ -29,11 +29,11 @@ namespace Tango
const size_t &nsize, const int &inkChannel, const double& targetl, const double& targeta, const double& targetb);
void Linearizaton(double *InkVals, double*& LinearInkVal, std::string &error);
bool SortValues(double *InkVals, double *yVal);
- bool CheckLimits(double *InkVals, std::string &error);
+ bool CheckLimits(double *InkVals, int &foundValInd, int &NumIntervals, std::string &error);
void SmoothCurveData(double *XVal, double *YVal, int FilterWidth);
bool CheckMonotonicity(double *yVal, std::string &error);
bool CheckDuplicates(double *InkVals, std::string &error);
- bool Linearize(double *yVal, double*LinearInkVal, std::string &error);
+ bool Linearize(double *yVal, double*LinearInkVal, int FirstInkInd, int LasInkInd, std::string &error);
bool Interp1D(double* xx, double *yy, double InValue, double &OutValue, std::string &error);
protected:
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Panes/LogViewerPaneVM.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Panes/LogViewerPaneVM.cs
index 2add8f473..1ceda060f 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Panes/LogViewerPaneVM.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Panes/LogViewerPaneVM.cs
@@ -287,19 +287,41 @@ namespace Tango.FSE.UI.Panes
private bool FilterFSELogs(object obj)
{
var log = obj as LogItemBase;
- return SelectedFSELogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(FSELogsFilter) || log.Message.ToLower().Contains(FSELogsFilter.ToLower()));
+
+ if (log != null)
+ {
+ return SelectedFSELogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(FSELogsFilter) || log.Message.ToStringOrEmpty().ToLower().Contains(FSELogsFilter.ToStringOrEmpty().ToLower()));
+ }
+ else
+ {
+ return false;
+ }
}
private bool FilterApplicationLogs(object obj)
{
var log = obj as LogItemBase;
- return SelectedApplicationLogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(ApplicationLogsFilter) || log.Message.ToLower().Contains(ApplicationLogsFilter.ToLower()));
+ if (log != null)
+ {
+ return SelectedApplicationLogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(ApplicationLogsFilter) || log.Message.ToStringOrEmpty().ToLower().Contains(ApplicationLogsFilter.ToStringOrEmpty().ToLower()));
+ }
+ else
+ {
+ return false;
+ }
}
private bool FilterFirmwareLogs(object obj)
{
var log = obj as EmbeddedLogItem;
- return SelectedFirmwareLogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(FirmwareLogsFilter) || log.Message.ToLower().Contains(FirmwareLogsFilter.ToLower()));
+ if (log != null)
+ {
+ return SelectedFirmwareLogsCategories.SynchedSource.Contains(log.Category) && (String.IsNullOrWhiteSpace(FirmwareLogsFilter) || log.Message.ToStringOrEmpty().ToLower().Contains(FirmwareLogsFilter.ToStringOrEmpty().ToLower()));
+ }
+ else
+ {
+ return false;
+ }
}
private void ClearFSELogs()
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
index 2a79629a3..4a1934404 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tango.FSE.UI.csproj
@@ -943,7 +943,9 @@ if $(ConfigurationName) == Release del *.pdb
attrib -r Tango*
if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)ProtoCompilers\"
-if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)Roslyn\"</PostBuildEvent>
+if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)Roslyn\"
+
+if $(ConfigurationName) == Release del WebRtc.NET.pdb</PostBuildEvent>
</PropertyGroup>
<Import Project="..\..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets" Condition="Exists('..\..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/Events/EventsTileView.xaml b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/Events/EventsTileView.xaml
index 7963cb733..508ebb6b7 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/Events/EventsTileView.xaml
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Tiles/Events/EventsTileView.xaml
@@ -39,7 +39,7 @@
</Grid>
</Grid>
<StackPanel Margin="10 0 0 0">
- <TextBlock>active events summery:</TextBlock>
+ <TextBlock>active events summary:</TextBlock>
<StackPanel TextElement.FontSize="{StaticResource FSE_SmallFontSize}" Margin="0 20 0 0">
<DockPanel Margin="0 5">
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml b/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
index 98f03a0f1..c3715700b 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Views/EventsView.xaml
@@ -176,7 +176,7 @@
</Grid>
</Grid>
<StackPanel Margin="10 0 0 0">
- <TextBlock>active events summery:</TextBlock>
+ <TextBlock>active events summary:</TextBlock>
<StackPanel TextElement.FontSize="{StaticResource FSE_SmallFontSize}" Margin="0 20 0 0">
<DockPanel Margin="0 5">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index 68c4b4ae2..0f439c83d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -476,7 +476,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
ActiveMachineAdapter.ApplicationOsVersions = (await ActiveMachineAdapter.Context.ApplicationOsVersions.ToListAsync()).ToObservableCollection();
ActiveMachineAdapter.EmbeddedFirmwareVersions = (await ActiveMachineAdapter.Context.EmbeddedFirmwareVersions.ToListAsync()).ToObservableCollection();
ActiveMachineAdapter.DispenserTypes = (await ActiveMachineAdapter.Context.DispenserTypes.ToListAsync()).ToObservableCollection();
- ActiveMachineAdapter.LiquidTypes = (await ActiveMachineAdapter.Context.LiquidTypes.ToListAsync()).ToObservableCollection();
+ ActiveMachineAdapter.LiquidTypes = (await ActiveMachineAdapter.Context.LiquidTypes.ToListAsync()).OrderBy(x => x.PreferredIndex).ToObservableCollection();
ActiveMachineAdapter.MidTankTypes = (await ActiveMachineAdapter.Context.MidTankTypes.ToListAsync()).ToObservableCollection();
ActiveMachineAdapter.CartridgeTypes = (await ActiveMachineAdapter.Context.CartridgeTypes.ToListAsync()).ToObservableCollection();
ActiveMachineAdapter.IdsPackFormulas = (await ActiveMachineAdapter.Context.IdsPackFormulas.ToListAsync()).ToObservableCollection();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
index 3e3a5337a..736c2ebca 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
@@ -4,5 +4,5 @@ using System.Runtime.InteropServices;
[assembly: System.Windows.ThemeInfo(System.Windows.ResourceDictionaryLocation.None, System.Windows.ResourceDictionaryLocation.SourceAssembly)]
[assembly: AssemblyTitle("Tango - Machine Studio")]
-[assembly: AssemblyVersion("4.2.2.0")]
+[assembly: AssemblyVersion("4.2.3.0")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/MainViewVM.cs
index f3c7f5acc..fc178dea8 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/MainViewVM.cs
@@ -90,7 +90,7 @@ namespace Tango.PPC.Jobs.ViewModels
{
NavigationManager.NavigateWithObject<JobsModule, JobView, Job>(e.Job);
NavigationManager.ClearHistoryExcept<JobsView>();
- }, NotificationItem.NotificationPriority.Critical));
+ }, NotificationItem.NotificationPriority.VeryHigh));
}
/// <summary>
@@ -124,7 +124,7 @@ namespace Tango.PPC.Jobs.ViewModels
{
NavigationManager.NavigateWithObject<JobsModule, JobView, JobNavigationObject>(new JobNavigationObject() { Job = e.Job });
NavigationManager.ClearHistoryExcept<JobsView>();
- }));
+ }, NotificationItem.NotificationPriority.VeryHigh));
}
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj
index 7f36b7b17..fc00f83d4 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Tango.PPC.Technician.csproj
@@ -189,10 +189,6 @@
<Project>{208C8BD8-72C6-4E3C-ACAA-351091A2ACC7}</Project>
<Name>Tango.PPC.Shared</Name>
</ProjectReference>
- <ProjectReference Include="..\Tango.PPC.Browser\Tango.PPC.Browser.csproj">
- <Project>{f02eaa84-ad59-465b-99a2-4422c13bfb72}</Project>
- <Name>Tango.PPC.Browser</Name>
- </ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="App.xaml">
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/CatalogViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/CatalogViewVM.cs
index ecd2c7b93..dbc99fa87 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/CatalogViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/ViewModels/CatalogViewVM.cs
@@ -4,9 +4,9 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
-using Tango.PPC.Browser;
-using Tango.PPC.Browser.Navigation;
-using Tango.PPC.Browser.Views;
+//using Tango.PPC.Browser;
+//using Tango.PPC.Browser.Navigation;
+//using Tango.PPC.Browser.Views;
using Tango.PPC.Common;
namespace Tango.PPC.Technician.ViewModels
@@ -51,11 +51,11 @@ namespace Tango.PPC.Technician.ViewModels
/// </summary>
private void OpenBrowserModule()
{
- NavigationManager.NavigateWithObject<BrowserModule, BrowserView, BrowserNavigationRequest>(new BrowserNavigationRequest()
- {
- Address = "https://twine-s.com/",
- DisplayAddressBar = true,
- }, true);
+ //NavigationManager.NavigateWithObject<BrowserModule, BrowserView, BrowserNavigationRequest>(new BrowserNavigationRequest()
+ //{
+ // Address = "https://twine-s.com/",
+ // DisplayAddressBar = true,
+ //}, true);
}
}
}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml
index f954e461f..78fa17979 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Views/CatalogView.xaml
@@ -117,7 +117,7 @@
</StackPanel>
</touch:TouchButton>
- <touch:TouchButton Command="{Binding BrowserCommand}" Style="{StaticResource ButtonMenu}">
+ <!--<touch:TouchButton Command="{Binding BrowserCommand}" Style="{StaticResource ButtonMenu}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Image Source="../Images/browser.png" RenderOptions.BitmapScalingMode="Fant" Width="80" Height="80" />
<StackPanel Margin="10 0 0 0">
@@ -127,7 +127,7 @@
</TextBlock>
</StackPanel>
</StackPanel>
- </touch:TouchButton>
+ </touch:TouchButton>-->
</StackPanel>
</Grid>
</touch:LightTouchScrollViewer>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/NotificationItems/MessageNotificationItem.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/NotificationItems/MessageNotificationItem.cs
index 571eb199d..7d85ef6a7 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/NotificationItems/MessageNotificationItem.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/NotificationItems/MessageNotificationItem.cs
@@ -82,6 +82,7 @@ namespace Tango.PPC.Common.Notifications.NotificationItems
Message = message;
ExpandedMessage = expandedMessage;
MessageType = type;
+ Priority = priority;
Pressed += (_, __) => pressedAction?.Invoke();
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
index c77fb32f0..ed233f989 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
@@ -181,40 +181,6 @@ namespace Tango.PPC.Common.Publish
throw new InvalidOperationException($"The local firmware version '{local_firmware_version}' is not greater than the remote version '{remote_firmware_version}'.");
}
- if (Options.CreateTag)
- {
- String repoPath = Path.GetFullPath("../../../../../");
- using (GitRepositoryManager git = new GitRepositoryManager(repoPath, Options.Email, Options.PersonalAccessToken))
- {
- OnPublishProgress(0, 100, "Checking repository changes...");
- int changes = git.GetChanges().Count;
- if (changes > 0)
- {
- throw new InvalidOperationException($"There are {changes} uncommitted changes on the repository. Please commit and push all changes before creating the Tag");
- }
-
- OnPublishProgress(0, 100, "Checking outgoing commits...");
- int commits = git.GetOutgoingCommits().Count;
- if (commits > 0)
- {
- throw new InvalidOperationException($"There are {commits} outgoing commits on the repository. Please push all commits before creating the Tag");
- }
-
- String tagVersion = System.Version.Parse(GetLocalVersion()).ToString(3);
- String tagName = $"PPC_v{tagVersion}";
- String tagDescription = $"Snapshot of PPC v{tagVersion}";
-
- git.Progress += (x, e) =>
- {
- OnPublishProgress(e.Progress.Value, e.Progress.Maximum, $"Pushing Tag '{tagName}'...");
- };
-
- OnPublishProgress(0, 100, $"Creating Tag '{tagName}'...");
-
- git.CreatePushTag(tagName, tagDescription, "Roy Ben Shabat");
- }
- }
-
OnPublishProgress(0, 100, $"Requesting version upload...");
var response = _client.UploadVersion(new UploadVersionRequest()
@@ -285,6 +251,55 @@ namespace Tango.PPC.Common.Publish
throw new InvalidOperationException("The remote version does not seems to have been updated.");
}
+ if (Options.CreateTag)
+ {
+ String repoPath = Path.GetFullPath("../../../../../");
+ String tagVersion = System.Version.Parse(GetLocalVersion()).ToString(3);
+ String tagName = $"PPC_v{tagVersion}";
+
+ using (GitRepositoryManager git = new GitRepositoryManager(repoPath, Options.Email, Options.PersonalAccessToken))
+ {
+ OnPublishProgress(0, 100, "Checking repository changes...");
+ int changes = git.GetChanges().Count;
+ if (changes > 0)
+ {
+ if (Options.AutoCommitAndPush)
+ {
+ OnPublishProgress(0, 100, "Committing repository changes...");
+ git.Commit(tagName);
+ }
+ else
+ {
+ throw new InvalidOperationException($"There are {changes} uncommitted changes on the repository. Please commit and push all changes before creating the Tag");
+ }
+ }
+
+ OnPublishProgress(0, 100, "Checking outgoing commits...");
+ int commits = git.GetOutgoingCommits().Count;
+ if (commits > 0)
+ {
+ if (Options.AutoCommitAndPush)
+ {
+ OnPublishProgress(0, 100, "Pushing repository changes...");
+ git.Push();
+ }
+ else
+ {
+ throw new InvalidOperationException($"There are {commits} outgoing commits on the repository. Please push all commits before creating the Tag");
+ }
+ }
+
+ git.Progress += (x, e) =>
+ {
+ OnPublishProgress(e.Progress.Value, e.Progress.Maximum, $"Pushing Tag '{tagName}'...");
+ };
+
+ OnPublishProgress(0, 100, $"Creating Tag '{tagName}'...");
+
+ git.CreatePushTag(tagName, Options.Comments, "Roy Ben Shabat");
+ }
+ }
+
OnPublishProgress(0, 0, "Version published successfully.");
}
catch (Exception ex)
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
index 8279aef46..399a19f0d 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
@@ -120,6 +120,14 @@ namespace Tango.PPC.Common.Publish
set { _createTag = value; RaisePropertyChangedAuto(); }
}
+ private bool _autoCommitAndSync;
+ public bool AutoCommitAndPush
+ {
+ get { return _autoCommitAndSync; }
+ set { _autoCommitAndSync = value; RaisePropertyChangedAuto(); }
+ }
+
+
public PublishOptions()
{
BasePath = AppDomain.CurrentDomain.BaseDirectory + "..\\";
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/App.config b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/App.config
new file mode 100644
index 000000000..a46da65da
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/App.config
@@ -0,0 +1,28 @@
+<?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>
+ <dependentAssembly>
+ <assemblyIdentity name="Z.EntityFramework.Extensions" publicKeyToken="59b66d028979105b" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.50.0" newVersion="4.0.50.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Program.cs b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Program.cs
new file mode 100644
index 000000000..091ef8f13
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Program.cs
@@ -0,0 +1,107 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL;
+using Tango.SQLExaminer;
+
+namespace Tango.PPC.DataSynchronizer.CLI
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ DataSynchronizer synchronizer = new DataSynchronizer();
+ synchronizer.Synchronize();
+ Console.ReadLine();
+ }
+ }
+
+ public class DataSynchronizer
+ {
+ private Core.DataSource source;
+ private Core.DataSource target;
+ private String machineGuid;
+
+ public void Synchronize()
+ {
+ try
+ {
+ Console.WriteLine("Starting PPC data synchronization...");
+
+ source = new Core.DataSource();
+ source.IntegratedSecurity = false;
+ source.Address = "twine.database.windows.net";
+ source.Catalog = "Tango_DEV";
+ source.UserName = "Roy";
+ source.Password = "Aa123456";
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault(source))
+ {
+ machineGuid = db.Machines.Where(x => x.SerialNumber == "LENA_TABLET").Take(1).Select(x => x.Guid).First();
+ }
+
+ target = new Core.DataSource();
+ target.Address = "localhost\\SQLPPC";
+ target.Catalog = "Tango";
+
+ OverrideData();
+ UpdateMachine();
+
+ Console.ForegroundColor = ConsoleColor.Green;
+ Console.WriteLine("Synchronization Completed Successfully.");
+ }
+ catch (Exception ex)
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
+ Console.WriteLine(ex.ToString());
+ }
+ }
+
+ private void OverrideData()
+ {
+ Console.WriteLine("Executing override data script...");
+
+ ExaminerConfigurationBuilder builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.OverrideData);
+ builder.SetSource(source).SetTarget(target).Synchronize();
+ var process = new ExaminerProcess(builder.Build(), ExaminerProcessType.Data);
+ process.Progress += (x, msg) =>
+ {
+ if (msg != null && !msg.Contains("SQL Examiner"))
+ {
+ Console.WriteLine(msg);
+ }
+ };
+ var result = process.Execute().Result;
+
+ if (result.ExitCode != ExaminerProcessExitCode.Success)
+ {
+ throw new InvalidOperationException(result.Output);
+ }
+ }
+
+ private void UpdateMachine()
+ {
+ Console.WriteLine("Executing update machine script...");
+
+ ExaminerConfigurationBuilder builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.UpdateMachine);
+ builder.SetSource(source).SetTarget(target).SetMachineSerialNumber(machineGuid).Synchronize();
+ var process = new ExaminerProcess(builder.Build(), ExaminerProcessType.Data);
+ process.Progress += (x, msg) =>
+ {
+ if (msg != null && !msg.Contains("SQL Examiner"))
+ {
+ Console.WriteLine(msg);
+ }
+ };
+ var result = process.Execute().Result;
+
+ if (result.ExitCode != ExaminerProcessExitCode.Success)
+ {
+ throw new InvalidOperationException(result.Output);
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..450b7dc72
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.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("Tango.PPC.DataSynchronizer.CLI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Tango.PPC.DataSynchronizer.CLI")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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("3e07ed4e-a755-443f-b18c-3775555a2dd7")]
+
+// 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/PPC/Tango.PPC.DataSynchronizer.CLI/Tango.PPC.DataSynchronizer.CLI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Tango.PPC.DataSynchronizer.CLI.csproj
new file mode 100644
index 000000000..aeab763bc
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/Tango.PPC.DataSynchronizer.CLI.csproj
@@ -0,0 +1,75 @@
+<?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>{3E07ED4E-A755-443F-B18C-3775555A2DD7}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>Tango.PPC.DataSynchronizer.CLI</RootNamespace>
+ <AssemblyName>Tango.PPC.DataSynchronizer.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="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.SQLExaminer\Tango.SQLExaminer.csproj">
+ <Project>{e1e66ed9-597d-45fa-8048-de90a6930484}</Project>
+ <Name>Tango.SQLExaminer</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/packages.config b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.CLI/packages.config
new file mode 100644
index 000000000..b3daf0d6c
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.DataSynchronizer.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/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
index 017c34625..e772a4b87 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
@@ -10,7 +10,7 @@
xmlns:web="clr-namespace:Tango.Web;assembly=Tango.Web"
xmlns:local="clr-namespace:Tango.PPC.Publisher.UI"
mc:Ignorable="d"
- Title="Tango PPC Publisher" Height="2000" Width="500" d:DataContext="{d:DesignInstance Type=local:MainWindowVM, IsDesignTimeCreatable=False}">
+ Title="Tango PPC Publisher" Height="1000" Width="500" d:DataContext="{d:DesignInstance Type=local:MainWindowVM, IsDesignTimeCreatable=False}" WindowStartupLocation="CenterScreen">
<Window.Resources>
<converters:EnumToItemsSourceConverter x:Key="EnumToItemsSourceConverter" />
@@ -134,6 +134,7 @@
<StackPanel Margin="0 20 0 0">
<CheckBox x:Name="chkCreateTag" IsChecked="{Binding Options.CreateTag}">Create Tag On Repository</CheckBox>
+ <CheckBox Margin="0 5 0 0" IsChecked="{Binding Options.AutoCommitAndPush}">Auto Commit &amp; Push</CheckBox>
<TextBlock Margin="0 10 0 0">Personal Access Token</TextBlock>
<TextBox IsEnabled="{Binding ElementName=chkCreateTag,Path=IsChecked}" Margin="0 5 0 0" Text="{Binding Options.PersonalAccessToken}"></TextBox>
</StackPanel>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
index 2bb63d909..e45065c61 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
@@ -17,7 +17,7 @@
</StackPanel>
<Grid Margin="0 20 0 0">
- <controls:NavigationControl Margin="0 5 0 0" SelectedObject="{Binding Stage}" TransitionType="Slide" TransitionAlwaysFades="False" TransitionDuration="00:00:0.1" SelectedIndex="5">
+ <controls:NavigationControl Margin="0 5 0 0" SelectedObject="{Binding Stage}" TransitionType="Slide" TransitionAlwaysFades="False" TransitionDuration="00:00:0.1" SelectedIndex="0">
<!--Welcome-->
<Grid controls:NavigationControl.NavigationName="Welcome" Background="{StaticResource TangoPrimaryBackgroundBrush}">
<DockPanel>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
index 2ca191d01..af3473a98 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/PPCApplication/DefaultPPCApplicationManager.cs
@@ -513,7 +513,11 @@ namespace Tango.PPC.UI.PPCApplication
foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<PPCViewModel>())
{
- vm.OnApplicationShuttingDown();
+ try
+ {
+ vm.OnApplicationShuttingDown();
+ }
+ catch { }
}
}
catch { }
@@ -549,23 +553,58 @@ namespace Tango.PPC.UI.PPCApplication
IsShuttingDown = true;
+ LogManager.Log("Restarting application for update...");
+
try
{
- _watchdogServer.Dispose();
+ LogManager.Log("Navigating to restart view...");
+ _dispatcher.Invoke(() =>
+ {
+ var nav = TangoIOC.Default.GetInstance<INavigationManager>();
+ if (nav != null)
+ {
+ nav.NavigateTo(NavigationView.RestartingView);
+ }
+ });
+ LogManager.Log("Waiting 2 seconds...");
+ await Task.Delay(2000);
+
+ try
+ {
+ LogManager.Log("Disposing watch dog...");
+ _watchdogServer.Dispose();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error disposing watch dog.");
+ }
+
+ LogManager.Log("Raising OnApplicationShutDown for all view models...");
foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<PPCViewModel>())
{
- vm.OnApplicationShuttingDown();
+ try
+ {
+ vm.OnApplicationShuttingDown();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, $"Error on {vm.GetType().Name}.OnApplicationShutDown().");
+ }
}
}
catch { }
try
{
+ LogManager.Log("Saving application settings...");
SettingsManager.Default.GetOrCreate<PPCSettings>().PreviousApplicationVersion = Version.ToString();
SettingsManager.Default.Save();
}
- catch { }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error saving application settings.");
+ }
try
{
@@ -667,23 +706,37 @@ namespace Tango.PPC.UI.PPCApplication
private Task FinalizeApplication()
{
+ LogManager.Log("Finalizing application...");
+
return LimitedTimeTask.StartNew(() =>
{
try
{
+ LogManager.Log("Flushing machine events...");
_eventLogger.Log(EventTypes.APPLICATION_TERMINATED, "User Interface Terminated.");
_eventLogger.FlushAll();
}
- catch { }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error flushing machine events.");
+ }
try
{
+ LogManager.Log("Disposing insights manager (max 40 seconds to complete)...");
+ Stopwatch watch = new Stopwatch();
+ watch.Start();
var frame = InsightsFrame.CreateEmpty(DateTime.UtcNow);
InsightsManager.Default.InsertFrame(frame);
InsightsManager.Default.Dispose();
+ watch.Stop();
+ LogManager.Log($"Insights manager disposed after {(int)watch.Elapsed.TotalSeconds} seconds.");
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error disposing insights manager.");
}
- catch { }
- }, TimeSpan.FromSeconds(20));
+ }, TimeSpan.FromSeconds(40));
}
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
index 89700ae64..38cc2c834 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
@@ -8,4 +8,4 @@ using System.Windows;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Tango PPC Application")]
-[assembly: AssemblyVersion("1.2.2.0")]
+[assembly: AssemblyVersion("1.2.5.0")]
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
index 7f520ecc5..e738dbd43 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
@@ -584,11 +584,6 @@
<Project>{bc2753f8-c0f7-48f5-a85c-149ec7a2f8c7}</Project>
<Name>Tango.PPC.BackupRestore</Name>
</ProjectReference>
- <ProjectReference Include="..\Modules\Tango.PPC.Browser\Tango.PPC.Browser.csproj">
- <Project>{f02eaa84-ad59-465b-99a2-4422c13bfb72}</Project>
- <Name>Tango.PPC.Browser</Name>
- <Private>True</Private>
- </ProjectReference>
<ProjectReference Include="..\Modules\Tango.PPC.BugReporting\Tango.PPC.BugReporting.csproj">
<Project>{8146fa0a-0725-4a1a-82e6-696c58f33a2b}</Project>
<Name>Tango.PPC.BugReporting</Name>
@@ -742,6 +737,8 @@ RD /S /Q "$(TargetDir)Packages\ProtoCompilers\"
if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)x86\"
if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)x64\"
+if $(ConfigurationName) == Release RD /S /Q "$(TargetDir)lib\"
+
copy /Y "$(SolutionDir)Referenced Assemblies\mscoree.dll" "$(TargetDir)"
copy /Y "$(SolutionDir)Referenced Assemblies\msvcp140d.dll" "$(TargetDir)"
copy /Y "$(SolutionDir)Referenced Assemblies\ucrtbased.dll" "$(TargetDir)"
@@ -753,6 +750,8 @@ if $(ConfigurationName) == Release del "$(TargetDir)firmware_package.tfp"
if $(ConfigurationName) == Release del *.xml
+if $(ConfigurationName) == Release del WebRtc.NET.pdb
+
if $(ConfigurationName) == Debug copy /Y "$(TargetDir)Packages" "$(TargetDir)"</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
index e8dc67695..0f72ebbd0 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
@@ -20,6 +20,12 @@ namespace Tango.BL.Enumerations
{
/// <summary>
+ /// (Light Cyan)
+ /// </summary>
+ [Description("Light Cyan")]
+ LightCyan = 7,
+
+ /// <summary>
/// (Cyan)
/// </summary>
[Description("Cyan")]
@@ -44,6 +50,18 @@ namespace Tango.BL.Enumerations
Lubricant = 5,
/// <summary>
+ /// (Light Magenta)
+ /// </summary>
+ [Description("Light Magenta")]
+ LightMagenta = 8,
+
+ /// <summary>
+ /// (Light Yellow)
+ /// </summary>
+ [Description("Light Yellow")]
+ LightYellow = 9,
+
+ /// <summary>
/// (Yellow)
/// </summary>
[Description("Yellow")]
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs b/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
index 51e98f6f4..231bc4a5e 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/Permissions.cs
@@ -308,15 +308,15 @@ namespace Tango.BL.Enumerations
DataStoreRead = 1026,
/// <summary>
- /// (Allows writing to data store items)
+ /// (Allows writing to local data store items)
/// </summary>
- [Description("Allows writing to data store items")]
+ [Description("Allows writing to local data store items")]
DataStoreWrite = 1027,
/// <summary>
- /// (Allows creating data store items and collections)
+ /// (Allows creating local data store items and collections)
/// </summary>
- [Description("Allows creating data store items and collections")]
+ [Description("Allows creating local data store items and collections")]
DataStoreCreate = 1028,
/// <summary>
@@ -332,9 +332,9 @@ namespace Tango.BL.Enumerations
FSE_ResetMachineDeviceRegistration = 1030,
/// <summary>
- /// (Allows creating creating and editing the global data store)
+ /// (Allows creating and writing global data store items and collections)
/// </summary>
- [Description("Allows creating creating and editing the global data store")]
+ [Description("Allows creating and writing global data store items and collections")]
DataStoreCreateWriteGlobal = 1031,
}
diff --git a/Software/Visual_Studio/Tango.Git/GitRepositoryManager.cs b/Software/Visual_Studio/Tango.Git/GitRepositoryManager.cs
index e7fdf8e32..7895035b9 100644
--- a/Software/Visual_Studio/Tango.Git/GitRepositoryManager.cs
+++ b/Software/Visual_Studio/Tango.Git/GitRepositoryManager.cs
@@ -1,6 +1,8 @@
using LibGit2Sharp;
using System;
using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -13,6 +15,7 @@ namespace Tango.Git
private Repository _repo;
private String _pat;
private String _userEmail;
+ private String _localFolder;
public event EventHandler<TangoProgressChangedEventArgs<double>> Progress;
@@ -20,7 +23,8 @@ namespace Tango.Git
{
_pat = personalAccessToken;
_userEmail = userEmail;
- _repo = new Repository(localFolder);
+ _localFolder = localFolder;
+ _repo = new Repository(_localFolder);
}
public void CreatePushTag(String name, String description, String userName)
@@ -34,6 +38,27 @@ namespace Tango.Git
});
}
+ public void Commit(String message)
+ {
+ ExecuteGitProcess($"commit -a -m \"{message}\"");
+ }
+
+ public void Pull()
+ {
+ ExecuteGitProcess($"pull");
+ }
+
+ public void Push()
+ {
+ ExecuteGitProcess($"push");
+ }
+
+ public void Sync()
+ {
+ Pull();
+ Push();
+ }
+
private bool PushTagProgressHandlerMethod(int current, int total, long bytes)
{
//TODO: Implement via TangoProgress & event...
@@ -124,6 +149,18 @@ namespace Tango.Git
}));
}
+ private void ExecuteGitProcess(String args)
+ {
+ Core.Components.CmdCommand command = new Core.Components.CmdCommand("git", args);
+ command.WorkingDir = _localFolder;
+ command.Timeout = TimeSpan.FromSeconds(60);
+ var result = command.Run().Result;
+ if (result.ExitCode != 0)
+ {
+ throw new IOException(result.StandardError);
+ }
+ }
+
public void Dispose()
{
_repo.Dispose();
diff --git a/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs b/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
index 1b1b633c7..6773455bb 100644
--- a/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
+++ b/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
@@ -22,11 +22,12 @@ namespace Tango.PMR.ColorLab {
static LiquidTypeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "ChBMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuQ29sb3JMYWIqagoKTGlx",
- "dWlkVHlwZRIICgRDeWFuEAASCwoHTWFnZW50YRABEgoKBlllbGxvdxACEgkK",
- "BUJsYWNrEAMSEgoOVHJhbnNwYXJlbnRJbmsQBBINCglMdWJyaWNhbnQQBRIL",
- "CgdDbGVhbmVyEAZCHgocY29tLnR3aW5lLnRhbmdvLnBtci5jb2xvcmxhYmIG",
- "cHJvdG8z"));
+ "ChBMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuQ29sb3JMYWIqnAEKCkxp",
+ "cXVpZFR5cGUSCAoEQ3lhbhAAEgsKB01hZ2VudGEQARIKCgZZZWxsb3cQAhIJ",
+ "CgVCbGFjaxADEhIKDlRyYW5zcGFyZW50SW5rEAQSDQoJTHVicmljYW50EAUS",
+ "CwoHQ2xlYW5lchAGEg0KCUxpZ2h0Q3lhbhAHEhAKDExpZ2h0TWFnZW50YRAI",
+ "Eg8KC0xpZ2h0WWVsbG93EAlCHgocY29tLnR3aW5lLnRhbmdvLnBtci5jb2xv",
+ "cmxhYmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.ColorLab.LiquidType), }, null));
@@ -43,6 +44,9 @@ namespace Tango.PMR.ColorLab {
[pbr::OriginalName("TransparentInk")] TransparentInk = 4,
[pbr::OriginalName("Lubricant")] Lubricant = 5,
[pbr::OriginalName("Cleaner")] Cleaner = 6,
+ [pbr::OriginalName("LightCyan")] LightCyan = 7,
+ [pbr::OriginalName("LightMagenta")] LightMagenta = 8,
+ [pbr::OriginalName("LightYellow")] LightYellow = 9,
}
#endregion
diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
index b6a27fe23..8c8b838f0 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(
- "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiroPgoLTWVz",
+ "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbirOPwoLTWVz",
"c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj",
"dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n",
"cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh",
@@ -96,113 +96,115 @@ namespace Tango.PMR.Common {
"ZWFkUmVzcG9uc2UQbhIiCh5TdHViTWFpbkNhcmRFRXByb21Xcml0ZVJlcXVl",
"c3QQbxIjCh9TdHViTWFpbkNhcmRFRXByb21Xcml0ZVJlc3BvbnNlEHASGQoV",
"U3R1YkhlYWRFRXByb21SZXF1ZXN0EHESGgoWU3R1YkhlYWRFRXByb21SZXNw",
- "b25zZRByEiUKIEV4dGVybmFsQnJpZGdlVWRwRGlzY292ZXJ5UGFja2V0EOgH",
- "Eh8KGkV4dGVybmFsQnJpZGdlTG9naW5SZXF1ZXN0EOkHEiAKG0V4dGVybmFs",
- "QnJpZGdlTG9naW5SZXNwb25zZRDqBxIgChtFeHRlcm5hbEJyaWRnZUxvZ291",
- "dFJlcXVlc3QQ6wcSIQocRXh0ZXJuYWxCcmlkZ2VMb2dvdXRSZXNwb25zZRDs",
- "BxIhChxEaXJlY3RTeW5jaHJvbml6YXRpb25SZXF1ZXN0EO0HEiIKHURpcmVj",
- "dFN5bmNocm9uaXphdGlvblJlc3BvbnNlEO4HEhwKF092ZXJyaWRlRGF0YUJh",
- "c2VSZXF1ZXN0EO8HEh0KGE92ZXJyaWRlRGF0YUJhc2VSZXNwb25zZRDwBxIg",
- "ChtTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3QQ8QcSIQocU3RhcnRBcHBs",
- "aWNhdGlvbkxvZ3NSZXNwb25zZRDyBxIfChpTdG9wQXBwbGljYXRpb25Mb2dz",
- "UmVxdWVzdBDzBxIgChtTdG9wQXBwbGljYXRpb25Mb2dzUmVzcG9uc2UQ9AcS",
- "GAoTQ29sb3JQcm9maWxlUmVxdWVzdBD1BxIZChRDb2xvclByb2ZpbGVSZXNw",
- "b25zZRD2BxIYChNVcGRhdGVTdGF0dXNSZXF1ZXN0EPcHEhkKFFVwZGF0ZVN0",
- "YXR1c1Jlc3BvbnNlEPgHEhMKDkdlbmVyaWNSZXF1ZXN0EPkHEhQKD0dlbmVy",
- "aWNSZXNwb25zZRD6BxIdChhDb25maWd1cmVQcm90b2NvbFJlcXVlc3QQ+wcS",
- "HgoZQ29uZmlndXJlUHJvdG9jb2xSZXNwb25zZRD8BxIcChdTdGFydERpYWdu",
- "b3N0aWNzUmVxdWVzdBDQDxIdChhTdGFydERpYWdub3N0aWNzUmVzcG9uc2UQ",
- "0Q8SHAoXTW90b3JBYm9ydEhvbWluZ1JlcXVlc3QQ0g8SHQoYTW90b3JBYm9y",
- "dEhvbWluZ1Jlc3BvbnNlENMPEhcKEk1vdG9ySG9taW5nUmVxdWVzdBDUDxIY",
- "ChNNb3RvckhvbWluZ1Jlc3BvbnNlENUPEhgKE01vdG9ySm9nZ2luZ1JlcXVl",
- "c3QQ1g8SGQoUTW90b3JKb2dnaW5nUmVzcG9uc2UQ1w8SHQoYTW90b3JBYm9y",
- "dEpvZ2dpbmdSZXF1ZXN0ENgPEh4KGU1vdG9yQWJvcnRKb2dnaW5nUmVzcG9u",
- "c2UQ2Q8SIAobRGlzcGVuc2VyQWJvcnRIb21pbmdSZXF1ZXN0ENoPEiEKHERp",
- "c3BlbnNlckFib3J0SG9taW5nUmVzcG9uc2UQ2w8SGwoWRGlzcGVuc2VySG9t",
- "aW5nUmVxdWVzdBDcDxIcChdEaXNwZW5zZXJIb21pbmdSZXNwb25zZRDdDxIc",
- "ChdEaXNwZW5zZXJKb2dnaW5nUmVxdWVzdBDeDxIdChhEaXNwZW5zZXJKb2dn",
- "aW5nUmVzcG9uc2UQ3w8SIQocRGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVxdWVz",
- "dBDgDxIiCh1EaXNwZW5zZXJBYm9ydEpvZ2dpbmdSZXNwb25zZRDhDxIZChRT",
- "ZXREaWdpdGFsT3V0UmVxdWVzdBDiDxIaChVTZXREaWdpdGFsT3V0UmVzcG9u",
- "c2UQ4w8SGQoUVGhyZWFkSm9nZ2luZ1JlcXVlc3QQ5A8SGgoVVGhyZWFkSm9n",
- "Z2luZ1Jlc3BvbnNlEOUPEh4KGVRocmVhZEFib3J0Sm9nZ2luZ1JlcXVlc3QQ",
- "5g8SHwoaVGhyZWFkQWJvcnRKb2dnaW5nUmVzcG9uc2UQ5w8SHQoYU2V0Q29t",
- "cG9uZW50VmFsdWVSZXF1ZXN0EOgPEh4KGVNldENvbXBvbmVudFZhbHVlUmVz",
- "cG9uc2UQ6Q8SGAoTUmVzb2x2ZUV2ZW50UmVxdWVzdBDqDxIZChRSZXNvbHZl",
- "RXZlbnRSZXNwb25zZRDrDxIbChZTdG9wRGlhZ25vc3RpY3NSZXF1ZXN0EOwP",
- "EhwKF1N0b3BEaWFnbm9zdGljc1Jlc3BvbnNlEO0PEiMKHlN0YXJ0RXZlbnRz",
- "Tm90aWZpY2F0aW9uUmVxdWVzdBDuDxIkCh9TdGFydEV2ZW50c05vdGlmaWNh",
- "dGlvblJlc3BvbnNlEO8PEiIKHVN0b3BFdmVudHNOb3RpZmljYXRpb25SZXF1",
- "ZXN0EPAPEiMKHlN0b3BFdmVudHNOb3RpZmljYXRpb25SZXNwb25zZRDxDxIa",
- "ChVTZXRIZWF0ZXJTdGF0ZVJlcXVlc3QQ8g8SGwoWU2V0SGVhdGVyU3RhdGVS",
- "ZXNwb25zZRDzDxIaChVTZXRCbG93ZXJTdGF0ZVJlcXVlc3QQ9A8SGwoWU2V0",
- "Qmxvd2VyU3RhdGVSZXNwb25zZRD1DxIZChRTZXRWYWx2ZVN0YXRlUmVxdWVz",
- "dBD2DxIaChVTZXRWYWx2ZVN0YXRlUmVzcG9uc2UQ9w8SHwoaQ2FydHJpZGdl",
- "VmFsaWRhdGlvblJlcXVlc3QQ/A8SIAobQ2FydHJpZGdlVmFsaWRhdGlvblJl",
- "c3BvbnNlEP0PEg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9iUmVzcG9uc2UQuRcS",
- "FAoPQWJvcnRKb2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9iUmVzcG9uc2UQuxcS",
- "IwoeVXBsb2FkUHJvY2Vzc1BhcmFtZXRlcnNSZXF1ZXN0ELwXEiQKH1VwbG9h",
- "ZFByb2Nlc3NQYXJhbWV0ZXJzUmVzcG9uc2UQvRcSFgoRQ3VycmVudEpvYlJl",
- "cXVlc3QQvhcSFwoSQ3VycmVudEpvYlJlc3BvbnNlEL8XEhwKF1Jlc3VtZUN1",
- "cnJlbnRKb2JSZXF1ZXN0EMAXEh0KGFJlc3VtZUN1cnJlbnRKb2JSZXNwb25z",
- "ZRDBFxIdChhTdGFydEhlYWRDbGVhbmluZ1JlcXVlc3QQwhcSHgoZU3RhcnRI",
- "ZWFkQ2xlYW5pbmdSZXNwb25zZRDDFxIdChhBYm9ydEhlYWRDbGVhbmluZ1Jl",
- "cXVlc3QQxBcSHgoZQWJvcnRIZWFkQ2xlYW5pbmdSZXNwb25zZRDFFxIZChRT",
- "dGFydERlYnVnTG9nUmVxdWVzdBCgHxIaChVTdGFydERlYnVnTG9nUmVzcG9u",
- "c2UQoR8SGAoTU3RvcERlYnVnTG9nUmVxdWVzdBCiHxIZChRTdG9wRGVidWdM",
- "b2dSZXNwb25zZRCjHxIfChpTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVxdWVzdBCk",
- "HxIgChtTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVzcG9uc2UQpR8SIQocU2V0dXBE",
- "ZWJ1Z0Rpc3JpYnV0b3JzUmVxdWVzdBCmHxIiCh1TZXR1cERlYnVnRGlzcmli",
- "dXRvcnNSZXNwb25zZRCnHxInCiJVcGxvYWRIYXJkd2FyZUNvbmZpZ3VyYXRp",
- "b25SZXF1ZXN0EIgnEigKI1VwbG9hZEhhcmR3YXJlQ29uZmlndXJhdGlvblJl",
- "c3BvbnNlEIknEhcKElN5c3RlbVJlc2V0UmVxdWVzdBCKJxIYChNTeXN0ZW1S",
- "ZXNldFJlc3BvbnNlEIsnEhUKEEtlZXBBbGl2ZVJlcXVlc3QQ8C4SFgoRS2Vl",
- "cEFsaXZlUmVzcG9uc2UQ8S4SEwoOQ29ubmVjdFJlcXVlc3QQ8i4SFAoPQ29u",
- "bmVjdFJlc3BvbnNlEPMuEhYKEURpc2Nvbm5lY3RSZXF1ZXN0EPQuEhcKEkRp",
- "c2Nvbm5lY3RSZXNwb25zZRD1LhIWChFGaWxlVXBsb2FkUmVxdWVzdBDYNhIX",
- "ChJGaWxlVXBsb2FkUmVzcG9uc2UQ2TYSGwoWRmlsZUNodW5rVXBsb2FkUmVx",
- "dWVzdBDaNhIcChdGaWxlQ2h1bmtVcGxvYWRSZXNwb25zZRDbNhIaChVFeGVj",
- "dXRlUHJvY2Vzc1JlcXVlc3QQ3DYSGwoWRXhlY3V0ZVByb2Nlc3NSZXNwb25z",
- "ZRDdNhIXChJLaWxsUHJvY2Vzc1JlcXVlc3QQ3jYSGAoTS2lsbFByb2Nlc3NS",
- "ZXNwb25zZRDfNhISCg1DcmVhdGVSZXF1ZXN0EOA2EhMKDkNyZWF0ZVJlc3Bv",
- "bnNlEOE2EhIKDURlbGV0ZVJlcXVlc3QQ4jYSEwoORGVsZXRlUmVzcG9uc2UQ",
- "4zYSGgoVR2V0U3RvcmFnZUluZm9SZXF1ZXN0EOQ2EhsKFkdldFN0b3JhZ2VJ",
- "bmZvUmVzcG9uc2UQ5TYSFAoPR2V0RmlsZXNSZXF1ZXN0EOY2EhUKEEdldEZp",
- "bGVzUmVzcG9uc2UQ5zYSGAoTRmlsZURvd25sb2FkUmVxdWVzdBDoNhIZChRG",
- "aWxlRG93bmxvYWRSZXNwb25zZRDpNhIdChhGaWxlQ2h1bmtEb3dubG9hZFJl",
- "cXVlc3QQ6jYSHgoZRmlsZUNodW5rRG93bmxvYWRSZXNwb25zZRDrNhIbChZW",
- "YWxpZGF0ZVZlcnNpb25SZXF1ZXN0EOw2EhwKF1ZhbGlkYXRlVmVyc2lvblJl",
- "c3BvbnNlEO02EhsKFkFjdGl2YXRlVmVyc2lvblJlcXVlc3QQ7jYSHAoXQWN0",
- "aXZhdGVWZXJzaW9uUmVzcG9uc2UQ7zYSGQoURGlzcGVuc2VyRGF0YVJlcXVl",
- "c3QQwD4SGgoVRGlzcGVuc2VyRGF0YVJlc3BvbnNlEME+EhwKF01pZFRhbmtE",
- "YXRhU2V0dXBSZXF1ZXN0EMI+Eh0KGE1pZFRhbmtEYXRhU2V0dXBSZXNwb25z",
- "ZRDDPhIiCh1NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVxdWVzdBDEPhIjCh5N",
- "YWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVzcG9uc2UQxT4SHgoZTWFpbkNhcmRT",
- "dG9yZWREYXRhUmVxdWVzdBDGPhIfChpNYWluQ2FyZFN0b3JlZERhdGFSZXNw",
- "b25zZRDHPhIkCh9TdGFydE1hY2hpbmVTdGF0dXNVcGRhdGVSZXF1ZXN0EKhG",
- "EiUKIFN0YXJ0TWFjaGluZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKlGEiMKHlN0",
- "b3BNYWNoaW5lU3RhdHVzVXBkYXRlUmVxdWVzdBCqRhIkCh9TdG9wTWFjaGlu",
- "ZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKtGEhoKFVN0YXJ0UG93ZXJEb3duUmVx",
- "dWVzdBCQThIbChZTdGFydFBvd2VyRG93blJlc3BvbnNlEJFOEhoKFUFib3J0",
- "UG93ZXJEb3duUmVxdWVzdBCSThIbChZBYm9ydFBvd2VyRG93blJlc3BvbnNl",
- "EJNOEhgKE1N0YXJ0UG93ZXJVcFJlcXVlc3QQlE4SGQoUU3RhcnRQb3dlclVw",
- "UmVzcG9uc2UQlU4SGAoTQWJvcnRQb3dlclVwUmVxdWVzdBCWThIZChRBYm9y",
- "dFBvd2VyVXBSZXNwb25zZRCXThITCg5TdGFuZEJ5UmVxdWVzdBCYThIUCg9T",
- "dGFuZEJ5UmVzcG9uc2UQmU4SHgoZU3RhcnRUaHJlYWRMb2FkaW5nUmVxdWVz",
- "dBD4VRIfChpTdGFydFRocmVhZExvYWRpbmdSZXNwb25zZRD5VRIhChxDb250",
- "aW51ZVRocmVhZExvYWRpbmdSZXF1ZXN0EPpVEiIKHUNvbnRpbnVlVGhyZWFk",
- "TG9hZGluZ1Jlc3BvbnNlEPtVEh0KGFN0b3BUaHJlYWRMb2FkaW5nUmVxdWVz",
- "dBD8VRIeChlTdG9wVGhyZWFkTG9hZGluZ1Jlc3BvbnNlEP1VEhwKF1RyeVRo",
- "cmVhZExvYWRpbmdSZXF1ZXN0EP5VEh0KGFRyeVRocmVhZExvYWRpbmdSZXNw",
- "b25zZRD/VRIgChtBdHRlbXB0VGhyZWFkSm9nZ2luZ1JlcXVlc3QQgFYSIQoc",
- "QXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXNwb25zZRCBVhIhChxTdGFydElua0Zp",
- "bGxpbmdTdGF0dXNSZXF1ZXN0EOBdEiIKHVN0YXJ0SW5rRmlsbGluZ1N0YXR1",
- "c1Jlc3BvbnNlEOFdEhwKF1B1dERhdGFTdG9yZUl0ZW1SZXF1ZXN0EMhlEh0K",
- "GFB1dERhdGFTdG9yZUl0ZW1SZXNwb25zZRDJZRIcChdHZXREYXRhU3RvcmVJ",
- "dGVtUmVxdWVzdBDKZRIdChhHZXREYXRhU3RvcmVJdGVtUmVzcG9uc2UQy2US",
- "IQocRGF0YVN0b3JlSXRlbU1vZGlmaWVkUmVxdWVzdBDMZRIiCh1EYXRhU3Rv",
- "cmVJdGVtTW9kaWZpZWRSZXNwb25zZRDNZUIcChpjb20udHdpbmUudGFuZ28u",
- "cG1yLmNvbW1vbmIGcHJvdG8z"));
+ "b25zZRByEhQKEFByb2NlZHVyZVJlcXVlc3QQcxIVChFQcm9jZWR1cmVSZXNw",
+ "b25zZRB0EhoKFlN0dWJBbGxIYXJkd2FyZVJlcXVlc3QQdRIbChdTdHViQWxs",
+ "SGFyZHdhcmVSZXNwb25zZRB2EiUKIEV4dGVybmFsQnJpZGdlVWRwRGlzY292",
+ "ZXJ5UGFja2V0EOgHEh8KGkV4dGVybmFsQnJpZGdlTG9naW5SZXF1ZXN0EOkH",
+ "EiAKG0V4dGVybmFsQnJpZGdlTG9naW5SZXNwb25zZRDqBxIgChtFeHRlcm5h",
+ "bEJyaWRnZUxvZ291dFJlcXVlc3QQ6wcSIQocRXh0ZXJuYWxCcmlkZ2VMb2dv",
+ "dXRSZXNwb25zZRDsBxIhChxEaXJlY3RTeW5jaHJvbml6YXRpb25SZXF1ZXN0",
+ "EO0HEiIKHURpcmVjdFN5bmNocm9uaXphdGlvblJlc3BvbnNlEO4HEhwKF092",
+ "ZXJyaWRlRGF0YUJhc2VSZXF1ZXN0EO8HEh0KGE92ZXJyaWRlRGF0YUJhc2VS",
+ "ZXNwb25zZRDwBxIgChtTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3QQ8QcS",
+ "IQocU3RhcnRBcHBsaWNhdGlvbkxvZ3NSZXNwb25zZRDyBxIfChpTdG9wQXBw",
+ "bGljYXRpb25Mb2dzUmVxdWVzdBDzBxIgChtTdG9wQXBwbGljYXRpb25Mb2dz",
+ "UmVzcG9uc2UQ9AcSGAoTQ29sb3JQcm9maWxlUmVxdWVzdBD1BxIZChRDb2xv",
+ "clByb2ZpbGVSZXNwb25zZRD2BxIYChNVcGRhdGVTdGF0dXNSZXF1ZXN0EPcH",
+ "EhkKFFVwZGF0ZVN0YXR1c1Jlc3BvbnNlEPgHEhMKDkdlbmVyaWNSZXF1ZXN0",
+ "EPkHEhQKD0dlbmVyaWNSZXNwb25zZRD6BxIdChhDb25maWd1cmVQcm90b2Nv",
+ "bFJlcXVlc3QQ+wcSHgoZQ29uZmlndXJlUHJvdG9jb2xSZXNwb25zZRD8BxIc",
+ "ChdTdGFydERpYWdub3N0aWNzUmVxdWVzdBDQDxIdChhTdGFydERpYWdub3N0",
+ "aWNzUmVzcG9uc2UQ0Q8SHAoXTW90b3JBYm9ydEhvbWluZ1JlcXVlc3QQ0g8S",
+ "HQoYTW90b3JBYm9ydEhvbWluZ1Jlc3BvbnNlENMPEhcKEk1vdG9ySG9taW5n",
+ "UmVxdWVzdBDUDxIYChNNb3RvckhvbWluZ1Jlc3BvbnNlENUPEhgKE01vdG9y",
+ "Sm9nZ2luZ1JlcXVlc3QQ1g8SGQoUTW90b3JKb2dnaW5nUmVzcG9uc2UQ1w8S",
+ "HQoYTW90b3JBYm9ydEpvZ2dpbmdSZXF1ZXN0ENgPEh4KGU1vdG9yQWJvcnRK",
+ "b2dnaW5nUmVzcG9uc2UQ2Q8SIAobRGlzcGVuc2VyQWJvcnRIb21pbmdSZXF1",
+ "ZXN0ENoPEiEKHERpc3BlbnNlckFib3J0SG9taW5nUmVzcG9uc2UQ2w8SGwoW",
+ "RGlzcGVuc2VySG9taW5nUmVxdWVzdBDcDxIcChdEaXNwZW5zZXJIb21pbmdS",
+ "ZXNwb25zZRDdDxIcChdEaXNwZW5zZXJKb2dnaW5nUmVxdWVzdBDeDxIdChhE",
+ "aXNwZW5zZXJKb2dnaW5nUmVzcG9uc2UQ3w8SIQocRGlzcGVuc2VyQWJvcnRK",
+ "b2dnaW5nUmVxdWVzdBDgDxIiCh1EaXNwZW5zZXJBYm9ydEpvZ2dpbmdSZXNw",
+ "b25zZRDhDxIZChRTZXREaWdpdGFsT3V0UmVxdWVzdBDiDxIaChVTZXREaWdp",
+ "dGFsT3V0UmVzcG9uc2UQ4w8SGQoUVGhyZWFkSm9nZ2luZ1JlcXVlc3QQ5A8S",
+ "GgoVVGhyZWFkSm9nZ2luZ1Jlc3BvbnNlEOUPEh4KGVRocmVhZEFib3J0Sm9n",
+ "Z2luZ1JlcXVlc3QQ5g8SHwoaVGhyZWFkQWJvcnRKb2dnaW5nUmVzcG9uc2UQ",
+ "5w8SHQoYU2V0Q29tcG9uZW50VmFsdWVSZXF1ZXN0EOgPEh4KGVNldENvbXBv",
+ "bmVudFZhbHVlUmVzcG9uc2UQ6Q8SGAoTUmVzb2x2ZUV2ZW50UmVxdWVzdBDq",
+ "DxIZChRSZXNvbHZlRXZlbnRSZXNwb25zZRDrDxIbChZTdG9wRGlhZ25vc3Rp",
+ "Y3NSZXF1ZXN0EOwPEhwKF1N0b3BEaWFnbm9zdGljc1Jlc3BvbnNlEO0PEiMK",
+ "HlN0YXJ0RXZlbnRzTm90aWZpY2F0aW9uUmVxdWVzdBDuDxIkCh9TdGFydEV2",
+ "ZW50c05vdGlmaWNhdGlvblJlc3BvbnNlEO8PEiIKHVN0b3BFdmVudHNOb3Rp",
+ "ZmljYXRpb25SZXF1ZXN0EPAPEiMKHlN0b3BFdmVudHNOb3RpZmljYXRpb25S",
+ "ZXNwb25zZRDxDxIaChVTZXRIZWF0ZXJTdGF0ZVJlcXVlc3QQ8g8SGwoWU2V0",
+ "SGVhdGVyU3RhdGVSZXNwb25zZRDzDxIaChVTZXRCbG93ZXJTdGF0ZVJlcXVl",
+ "c3QQ9A8SGwoWU2V0Qmxvd2VyU3RhdGVSZXNwb25zZRD1DxIZChRTZXRWYWx2",
+ "ZVN0YXRlUmVxdWVzdBD2DxIaChVTZXRWYWx2ZVN0YXRlUmVzcG9uc2UQ9w8S",
+ "HwoaQ2FydHJpZGdlVmFsaWRhdGlvblJlcXVlc3QQ/A8SIAobQ2FydHJpZGdl",
+ "VmFsaWRhdGlvblJlc3BvbnNlEP0PEg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9i",
+ "UmVzcG9uc2UQuRcSFAoPQWJvcnRKb2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9i",
+ "UmVzcG9uc2UQuxcSIwoeVXBsb2FkUHJvY2Vzc1BhcmFtZXRlcnNSZXF1ZXN0",
+ "ELwXEiQKH1VwbG9hZFByb2Nlc3NQYXJhbWV0ZXJzUmVzcG9uc2UQvRcSFgoR",
+ "Q3VycmVudEpvYlJlcXVlc3QQvhcSFwoSQ3VycmVudEpvYlJlc3BvbnNlEL8X",
+ "EhwKF1Jlc3VtZUN1cnJlbnRKb2JSZXF1ZXN0EMAXEh0KGFJlc3VtZUN1cnJl",
+ "bnRKb2JSZXNwb25zZRDBFxIdChhTdGFydEhlYWRDbGVhbmluZ1JlcXVlc3QQ",
+ "whcSHgoZU3RhcnRIZWFkQ2xlYW5pbmdSZXNwb25zZRDDFxIdChhBYm9ydEhl",
+ "YWRDbGVhbmluZ1JlcXVlc3QQxBcSHgoZQWJvcnRIZWFkQ2xlYW5pbmdSZXNw",
+ "b25zZRDFFxIZChRTdGFydERlYnVnTG9nUmVxdWVzdBCgHxIaChVTdGFydERl",
+ "YnVnTG9nUmVzcG9uc2UQoR8SGAoTU3RvcERlYnVnTG9nUmVxdWVzdBCiHxIZ",
+ "ChRTdG9wRGVidWdMb2dSZXNwb25zZRCjHxIfChpTZXREZWJ1Z0xvZ0NhdGVn",
+ "b3J5UmVxdWVzdBCkHxIgChtTZXREZWJ1Z0xvZ0NhdGVnb3J5UmVzcG9uc2UQ",
+ "pR8SIQocU2V0dXBEZWJ1Z0Rpc3JpYnV0b3JzUmVxdWVzdBCmHxIiCh1TZXR1",
+ "cERlYnVnRGlzcmlidXRvcnNSZXNwb25zZRCnHxInCiJVcGxvYWRIYXJkd2Fy",
+ "ZUNvbmZpZ3VyYXRpb25SZXF1ZXN0EIgnEigKI1VwbG9hZEhhcmR3YXJlQ29u",
+ "ZmlndXJhdGlvblJlc3BvbnNlEIknEhcKElN5c3RlbVJlc2V0UmVxdWVzdBCK",
+ "JxIYChNTeXN0ZW1SZXNldFJlc3BvbnNlEIsnEhUKEEtlZXBBbGl2ZVJlcXVl",
+ "c3QQ8C4SFgoRS2VlcEFsaXZlUmVzcG9uc2UQ8S4SEwoOQ29ubmVjdFJlcXVl",
+ "c3QQ8i4SFAoPQ29ubmVjdFJlc3BvbnNlEPMuEhYKEURpc2Nvbm5lY3RSZXF1",
+ "ZXN0EPQuEhcKEkRpc2Nvbm5lY3RSZXNwb25zZRD1LhIWChFGaWxlVXBsb2Fk",
+ "UmVxdWVzdBDYNhIXChJGaWxlVXBsb2FkUmVzcG9uc2UQ2TYSGwoWRmlsZUNo",
+ "dW5rVXBsb2FkUmVxdWVzdBDaNhIcChdGaWxlQ2h1bmtVcGxvYWRSZXNwb25z",
+ "ZRDbNhIaChVFeGVjdXRlUHJvY2Vzc1JlcXVlc3QQ3DYSGwoWRXhlY3V0ZVBy",
+ "b2Nlc3NSZXNwb25zZRDdNhIXChJLaWxsUHJvY2Vzc1JlcXVlc3QQ3jYSGAoT",
+ "S2lsbFByb2Nlc3NSZXNwb25zZRDfNhISCg1DcmVhdGVSZXF1ZXN0EOA2EhMK",
+ "DkNyZWF0ZVJlc3BvbnNlEOE2EhIKDURlbGV0ZVJlcXVlc3QQ4jYSEwoORGVs",
+ "ZXRlUmVzcG9uc2UQ4zYSGgoVR2V0U3RvcmFnZUluZm9SZXF1ZXN0EOQ2EhsK",
+ "FkdldFN0b3JhZ2VJbmZvUmVzcG9uc2UQ5TYSFAoPR2V0RmlsZXNSZXF1ZXN0",
+ "EOY2EhUKEEdldEZpbGVzUmVzcG9uc2UQ5zYSGAoTRmlsZURvd25sb2FkUmVx",
+ "dWVzdBDoNhIZChRGaWxlRG93bmxvYWRSZXNwb25zZRDpNhIdChhGaWxlQ2h1",
+ "bmtEb3dubG9hZFJlcXVlc3QQ6jYSHgoZRmlsZUNodW5rRG93bmxvYWRSZXNw",
+ "b25zZRDrNhIbChZWYWxpZGF0ZVZlcnNpb25SZXF1ZXN0EOw2EhwKF1ZhbGlk",
+ "YXRlVmVyc2lvblJlc3BvbnNlEO02EhsKFkFjdGl2YXRlVmVyc2lvblJlcXVl",
+ "c3QQ7jYSHAoXQWN0aXZhdGVWZXJzaW9uUmVzcG9uc2UQ7zYSGQoURGlzcGVu",
+ "c2VyRGF0YVJlcXVlc3QQwD4SGgoVRGlzcGVuc2VyRGF0YVJlc3BvbnNlEME+",
+ "EhwKF01pZFRhbmtEYXRhU2V0dXBSZXF1ZXN0EMI+Eh0KGE1pZFRhbmtEYXRh",
+ "U2V0dXBSZXNwb25zZRDDPhIiCh1NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVx",
+ "dWVzdBDEPhIjCh5NYWNoaW5lQ2FsaWJyYXRpb25EYXRhUmVzcG9uc2UQxT4S",
+ "HgoZTWFpbkNhcmRTdG9yZWREYXRhUmVxdWVzdBDGPhIfChpNYWluQ2FyZFN0",
+ "b3JlZERhdGFSZXNwb25zZRDHPhIkCh9TdGFydE1hY2hpbmVTdGF0dXNVcGRh",
+ "dGVSZXF1ZXN0EKhGEiUKIFN0YXJ0TWFjaGluZVN0YXR1c1VwZGF0ZVJlc3Bv",
+ "bnNlEKlGEiMKHlN0b3BNYWNoaW5lU3RhdHVzVXBkYXRlUmVxdWVzdBCqRhIk",
+ "Ch9TdG9wTWFjaGluZVN0YXR1c1VwZGF0ZVJlc3BvbnNlEKtGEhoKFVN0YXJ0",
+ "UG93ZXJEb3duUmVxdWVzdBCQThIbChZTdGFydFBvd2VyRG93blJlc3BvbnNl",
+ "EJFOEhoKFUFib3J0UG93ZXJEb3duUmVxdWVzdBCSThIbChZBYm9ydFBvd2Vy",
+ "RG93blJlc3BvbnNlEJNOEhgKE1N0YXJ0UG93ZXJVcFJlcXVlc3QQlE4SGQoU",
+ "U3RhcnRQb3dlclVwUmVzcG9uc2UQlU4SGAoTQWJvcnRQb3dlclVwUmVxdWVz",
+ "dBCWThIZChRBYm9ydFBvd2VyVXBSZXNwb25zZRCXThITCg5TdGFuZEJ5UmVx",
+ "dWVzdBCYThIUCg9TdGFuZEJ5UmVzcG9uc2UQmU4SHgoZU3RhcnRUaHJlYWRM",
+ "b2FkaW5nUmVxdWVzdBD4VRIfChpTdGFydFRocmVhZExvYWRpbmdSZXNwb25z",
+ "ZRD5VRIhChxDb250aW51ZVRocmVhZExvYWRpbmdSZXF1ZXN0EPpVEiIKHUNv",
+ "bnRpbnVlVGhyZWFkTG9hZGluZ1Jlc3BvbnNlEPtVEh0KGFN0b3BUaHJlYWRM",
+ "b2FkaW5nUmVxdWVzdBD8VRIeChlTdG9wVGhyZWFkTG9hZGluZ1Jlc3BvbnNl",
+ "EP1VEhwKF1RyeVRocmVhZExvYWRpbmdSZXF1ZXN0EP5VEh0KGFRyeVRocmVh",
+ "ZExvYWRpbmdSZXNwb25zZRD/VRIgChtBdHRlbXB0VGhyZWFkSm9nZ2luZ1Jl",
+ "cXVlc3QQgFYSIQocQXR0ZW1wdFRocmVhZEpvZ2dpbmdSZXNwb25zZRCBVhIh",
+ "ChxTdGFydElua0ZpbGxpbmdTdGF0dXNSZXF1ZXN0EOBdEiIKHVN0YXJ0SW5r",
+ "RmlsbGluZ1N0YXR1c1Jlc3BvbnNlEOFdEhwKF1B1dERhdGFTdG9yZUl0ZW1S",
+ "ZXF1ZXN0EMhlEh0KGFB1dERhdGFTdG9yZUl0ZW1SZXNwb25zZRDJZRIcChdH",
+ "ZXREYXRhU3RvcmVJdGVtUmVxdWVzdBDKZRIdChhHZXREYXRhU3RvcmVJdGVt",
+ "UmVzcG9uc2UQy2USIQocRGF0YVN0b3JlSXRlbU1vZGlmaWVkUmVxdWVzdBDM",
+ "ZRIiCh1EYXRhU3RvcmVJdGVtTW9kaWZpZWRSZXNwb25zZRDNZUIcChpjb20u",
+ "dHdpbmUudGFuZ28ucG1yLmNvbW1vbmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null));
@@ -334,10 +336,14 @@ namespace Tango.PMR.Common {
[pbr::OriginalName("StubMainCardEEpromWriteRequest")] StubMainCardEepromWriteRequest = 111,
[pbr::OriginalName("StubMainCardEEpromWriteResponse")] StubMainCardEepromWriteResponse = 112,
[pbr::OriginalName("StubHeadEEpromRequest")] StubHeadEepromRequest = 113,
+ [pbr::OriginalName("StubHeadEEpromResponse")] StubHeadEepromResponse = 114,
+ [pbr::OriginalName("ProcedureRequest")] ProcedureRequest = 115,
+ [pbr::OriginalName("ProcedureResponse")] ProcedureResponse = 116,
+ [pbr::OriginalName("StubAllHardwareRequest")] StubAllHardwareRequest = 117,
/// <summary>
///------------------------------------
/// </summary>
- [pbr::OriginalName("StubHeadEEpromResponse")] StubHeadEepromResponse = 114,
+ [pbr::OriginalName("StubAllHardwareResponse")] StubAllHardwareResponse = 118,
/// <summary>
///Integration
/// </summary>
diff --git a/Software/Visual_Studio/Tango.PMR/EmbeddedParameters/AlarmHandlingItem.cs b/Software/Visual_Studio/Tango.PMR/EmbeddedParameters/AlarmHandlingItem.cs
index 0d957f6be..25f40a731 100644
--- a/Software/Visual_Studio/Tango.PMR/EmbeddedParameters/AlarmHandlingItem.cs
+++ b/Software/Visual_Studio/Tango.PMR/EmbeddedParameters/AlarmHandlingItem.cs
@@ -24,21 +24,20 @@ namespace Tango.PMR.EmbeddedParameters {
string.Concat(
"ChdBbGFybUhhbmRsaW5nSXRlbS5wcm90bxIcVGFuZ28uUE1SLkVtYmVkZGVk",
"UGFyYW1ldGVycxoVQWxhcm1Tb3VyY2VUeXBlLnByb3RvGhZEZWJ1Z0xvZ0Nh",
- "dGVnb3J5LnByb3RvGg9FdmVudFR5cGUucHJvdG8igwMKEUFsYXJtSGFuZGxp",
+ "dGVnb3J5LnByb3RvGg9FdmVudFR5cGUucHJvdG8i2wIKEUFsYXJtSGFuZGxp",
"bmdJdGVtEkIKC0FsYXJtU291cmNlGAEgASgOMi0uVGFuZ28uUE1SLkVtYmVk",
- "ZGVkUGFyYW1ldGVycy5BbGFybVNvdXJjZVR5cGUSEQoJRnJlcXVlbmN5GAIg",
- "ASgNEhAKCERldmljZUlkGAMgASgNEhYKDk1vZHVsZURldmljZUlkGAQgASgN",
- "EhIKCkFsYXJtVmFsdWUYBSABKA0SFgoOQWxhcm1EaXJlY3Rpb24YBiABKAgS",
- "NwoIU2V2ZXJpdHkYByABKA4yJS5UYW5nby5QTVIuRGVidWdnaW5nLkRlYnVn",
- "TG9nQ2F0ZWdvcnkSEwoLUHJlZGVjZXNzb3IYCCABKA0SFQoNRGVib3VuY2VW",
- "YWx1ZRgJIAEoDRIzCglFdmVudFR5cGUYCiABKA4yIC5UYW5nby5QTVIuRGlh",
- "Z25vc3RpY3MuRXZlbnRUeXBlEhEKCUV2ZW50TmFtZRgLIAEoCRIUCgxJc1Bl",
- "cnNpc3RlbnQYDCABKAhCKAomY29tLnR3aW5lLnRhbmdvLnBtci5lbWJlZGRl",
- "ZHBhcmFtZXRlcnNiBnByb3RvMw=="));
+ "ZGVkUGFyYW1ldGVycy5BbGFybVNvdXJjZVR5cGUSEAoIRGV2aWNlSWQYAiAB",
+ "KA0SFgoOTW9kdWxlRGV2aWNlSWQYAyABKA0SEgoKQWxhcm1WYWx1ZRgEIAEo",
+ "DRIWCg5BbGFybURpcmVjdGlvbhgFIAEoCBI3CghTZXZlcml0eRgGIAEoDjIl",
+ "LlRhbmdvLlBNUi5EZWJ1Z2dpbmcuRGVidWdMb2dDYXRlZ29yeRIVCg1EZWJv",
+ "dW5jZVZhbHVlGAcgASgNEjMKCUV2ZW50VHlwZRgIIAEoDjIgLlRhbmdvLlBN",
+ "Ui5EaWFnbm9zdGljcy5FdmVudFR5cGUSEQoJRXZlbnROYW1lGAkgASgJEhQK",
+ "DElzUGVyc2lzdGVudBgKIAEoCEIoCiZjb20udHdpbmUudGFuZ28ucG1yLmVt",
+ "YmVkZGVkcGFyYW1ldGVyc2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tango.PMR.EmbeddedParameters.AlarmSourceTypeReflection.Descriptor, global::Tango.PMR.Debugging.DebugLogCategoryReflection.Descriptor, global::Tango.PMR.Diagnostics.EventTypeReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.EmbeddedParameters.AlarmHandlingItem), global::Tango.PMR.EmbeddedParameters.AlarmHandlingItem.Parser, new[]{ "AlarmSource", "Frequency", "DeviceId", "ModuleDeviceId", "AlarmValue", "AlarmDirection", "Severity", "Predecessor", "DebounceValue", "EventType", "EventName", "IsPersistent" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.EmbeddedParameters.AlarmHandlingItem), global::Tango.PMR.EmbeddedParameters.AlarmHandlingItem.Parser, new[]{ "AlarmSource", "DeviceId", "ModuleDeviceId", "AlarmValue", "AlarmDirection", "Severity", "DebounceValue", "EventType", "EventName", "IsPersistent" }, null, null, null)
}));
}
#endregion
@@ -70,13 +69,11 @@ namespace Tango.PMR.EmbeddedParameters {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public AlarmHandlingItem(AlarmHandlingItem other) : this() {
alarmSource_ = other.alarmSource_;
- frequency_ = other.frequency_;
deviceId_ = other.deviceId_;
moduleDeviceId_ = other.moduleDeviceId_;
alarmValue_ = other.alarmValue_;
alarmDirection_ = other.alarmDirection_;
severity_ = other.severity_;
- predecessor_ = other.predecessor_;
debounceValue_ = other.debounceValue_;
eventType_ = other.eventType_;
eventName_ = other.eventName_;
@@ -99,22 +96,8 @@ namespace Tango.PMR.EmbeddedParameters {
}
}
- /// <summary>Field number for the "Frequency" field.</summary>
- public const int FrequencyFieldNumber = 2;
- private uint frequency_;
- /// <summary>
- ///1/10/100/1000
- /// </summary>
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public uint Frequency {
- get { return frequency_; }
- set {
- frequency_ = value;
- }
- }
-
/// <summary>Field number for the "DeviceId" field.</summary>
- public const int DeviceIdFieldNumber = 3;
+ public const int DeviceIdFieldNumber = 2;
private uint deviceId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public uint DeviceId {
@@ -125,7 +108,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "ModuleDeviceId" field.</summary>
- public const int ModuleDeviceIdFieldNumber = 4;
+ public const int ModuleDeviceIdFieldNumber = 3;
private uint moduleDeviceId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public uint ModuleDeviceId {
@@ -136,7 +119,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "AlarmValue" field.</summary>
- public const int AlarmValueFieldNumber = 5;
+ public const int AlarmValueFieldNumber = 4;
private uint alarmValue_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public uint AlarmValue {
@@ -147,7 +130,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "AlarmDirection" field.</summary>
- public const int AlarmDirectionFieldNumber = 6;
+ public const int AlarmDirectionFieldNumber = 5;
private bool alarmDirection_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool AlarmDirection {
@@ -158,7 +141,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "Severity" field.</summary>
- public const int SeverityFieldNumber = 7;
+ public const int SeverityFieldNumber = 6;
private global::Tango.PMR.Debugging.DebugLogCategory severity_ = 0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tango.PMR.Debugging.DebugLogCategory Severity {
@@ -168,19 +151,8 @@ namespace Tango.PMR.EmbeddedParameters {
}
}
- /// <summary>Field number for the "Predecessor" field.</summary>
- public const int PredecessorFieldNumber = 8;
- private uint predecessor_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public uint Predecessor {
- get { return predecessor_; }
- set {
- predecessor_ = value;
- }
- }
-
/// <summary>Field number for the "DebounceValue" field.</summary>
- public const int DebounceValueFieldNumber = 9;
+ public const int DebounceValueFieldNumber = 7;
private uint debounceValue_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public uint DebounceValue {
@@ -191,7 +163,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "EventType" field.</summary>
- public const int EventTypeFieldNumber = 10;
+ public const int EventTypeFieldNumber = 8;
private global::Tango.PMR.Diagnostics.EventType eventType_ = 0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::Tango.PMR.Diagnostics.EventType EventType {
@@ -202,7 +174,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "EventName" field.</summary>
- public const int EventNameFieldNumber = 11;
+ public const int EventNameFieldNumber = 9;
private string eventName_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string EventName {
@@ -213,7 +185,7 @@ namespace Tango.PMR.EmbeddedParameters {
}
/// <summary>Field number for the "IsPersistent" field.</summary>
- public const int IsPersistentFieldNumber = 12;
+ public const int IsPersistentFieldNumber = 10;
private bool isPersistent_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool IsPersistent {
@@ -237,13 +209,11 @@ namespace Tango.PMR.EmbeddedParameters {
return true;
}
if (AlarmSource != other.AlarmSource) return false;
- if (Frequency != other.Frequency) return false;
if (DeviceId != other.DeviceId) return false;
if (ModuleDeviceId != other.ModuleDeviceId) return false;
if (AlarmValue != other.AlarmValue) return false;
if (AlarmDirection != other.AlarmDirection) return false;
if (Severity != other.Severity) return false;
- if (Predecessor != other.Predecessor) return false;
if (DebounceValue != other.DebounceValue) return false;
if (EventType != other.EventType) return false;
if (EventName != other.EventName) return false;
@@ -255,13 +225,11 @@ namespace Tango.PMR.EmbeddedParameters {
public override int GetHashCode() {
int hash = 1;
if (AlarmSource != 0) hash ^= AlarmSource.GetHashCode();
- if (Frequency != 0) hash ^= Frequency.GetHashCode();
if (DeviceId != 0) hash ^= DeviceId.GetHashCode();
if (ModuleDeviceId != 0) hash ^= ModuleDeviceId.GetHashCode();
if (AlarmValue != 0) hash ^= AlarmValue.GetHashCode();
if (AlarmDirection != false) hash ^= AlarmDirection.GetHashCode();
if (Severity != 0) hash ^= Severity.GetHashCode();
- if (Predecessor != 0) hash ^= Predecessor.GetHashCode();
if (DebounceValue != 0) hash ^= DebounceValue.GetHashCode();
if (EventType != 0) hash ^= EventType.GetHashCode();
if (EventName.Length != 0) hash ^= EventName.GetHashCode();
@@ -280,48 +248,40 @@ namespace Tango.PMR.EmbeddedParameters {
output.WriteRawTag(8);
output.WriteEnum((int) AlarmSource);
}
- if (Frequency != 0) {
- output.WriteRawTag(16);
- output.WriteUInt32(Frequency);
- }
if (DeviceId != 0) {
- output.WriteRawTag(24);
+ output.WriteRawTag(16);
output.WriteUInt32(DeviceId);
}
if (ModuleDeviceId != 0) {
- output.WriteRawTag(32);
+ output.WriteRawTag(24);
output.WriteUInt32(ModuleDeviceId);
}
if (AlarmValue != 0) {
- output.WriteRawTag(40);
+ output.WriteRawTag(32);
output.WriteUInt32(AlarmValue);
}
if (AlarmDirection != false) {
- output.WriteRawTag(48);
+ output.WriteRawTag(40);
output.WriteBool(AlarmDirection);
}
if (Severity != 0) {
- output.WriteRawTag(56);
+ output.WriteRawTag(48);
output.WriteEnum((int) Severity);
}
- if (Predecessor != 0) {
- output.WriteRawTag(64);
- output.WriteUInt32(Predecessor);
- }
if (DebounceValue != 0) {
- output.WriteRawTag(72);
+ output.WriteRawTag(56);
output.WriteUInt32(DebounceValue);
}
if (EventType != 0) {
- output.WriteRawTag(80);
+ output.WriteRawTag(64);
output.WriteEnum((int) EventType);
}
if (EventName.Length != 0) {
- output.WriteRawTag(90);
+ output.WriteRawTag(74);
output.WriteString(EventName);
}
if (IsPersistent != false) {
- output.WriteRawTag(96);
+ output.WriteRawTag(80);
output.WriteBool(IsPersistent);
}
}
@@ -332,9 +292,6 @@ namespace Tango.PMR.EmbeddedParameters {
if (AlarmSource != 0) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AlarmSource);
}
- if (Frequency != 0) {
- size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Frequency);
- }
if (DeviceId != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DeviceId);
}
@@ -350,9 +307,6 @@ namespace Tango.PMR.EmbeddedParameters {
if (Severity != 0) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Severity);
}
- if (Predecessor != 0) {
- size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Predecessor);
- }
if (DebounceValue != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DebounceValue);
}
@@ -376,9 +330,6 @@ namespace Tango.PMR.EmbeddedParameters {
if (other.AlarmSource != 0) {
AlarmSource = other.AlarmSource;
}
- if (other.Frequency != 0) {
- Frequency = other.Frequency;
- }
if (other.DeviceId != 0) {
DeviceId = other.DeviceId;
}
@@ -394,9 +345,6 @@ namespace Tango.PMR.EmbeddedParameters {
if (other.Severity != 0) {
Severity = other.Severity;
}
- if (other.Predecessor != 0) {
- Predecessor = other.Predecessor;
- }
if (other.DebounceValue != 0) {
DebounceValue = other.DebounceValue;
}
@@ -424,46 +372,38 @@ namespace Tango.PMR.EmbeddedParameters {
break;
}
case 16: {
- Frequency = input.ReadUInt32();
- break;
- }
- case 24: {
DeviceId = input.ReadUInt32();
break;
}
- case 32: {
+ case 24: {
ModuleDeviceId = input.ReadUInt32();
break;
}
- case 40: {
+ case 32: {
AlarmValue = input.ReadUInt32();
break;
}
- case 48: {
+ case 40: {
AlarmDirection = input.ReadBool();
break;
}
- case 56: {
+ case 48: {
severity_ = (global::Tango.PMR.Debugging.DebugLogCategory) input.ReadEnum();
break;
}
- case 64: {
- Predecessor = input.ReadUInt32();
- break;
- }
- case 72: {
+ case 56: {
DebounceValue = input.ReadUInt32();
break;
}
- case 80: {
+ case 64: {
eventType_ = (global::Tango.PMR.Diagnostics.EventType) input.ReadEnum();
break;
}
- case 90: {
+ case 74: {
EventName = input.ReadString();
break;
}
- case 96: {
+ case 80: {
IsPersistent = input.ReadBool();
break;
}
diff --git a/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs b/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
index 7f97d6907..988d26788 100644
--- a/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
+++ b/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
@@ -23,10 +23,11 @@ namespace Tango.PMR.Printing {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChlEaXNwZW5zZXJMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuUHJpbnRp",
- "bmcqcwoTRGlzcGVuc2VyTGlxdWlkVHlwZRIICgRDeWFuEAASCwoHTWFnZW50",
- "YRABEgoKBlllbGxvdxACEgkKBUJsYWNrEAMSEgoOVHJhbnNwYXJlbnRJbmsQ",
- "BBINCglMdWJyaWNhbnQQBRILCgdDbGVhbmVyEAZCHgocY29tLnR3aW5lLnRh",
- "bmdvLnBtci5wcmludGluZ2IGcHJvdG8z"));
+ "bmcqpQEKE0Rpc3BlbnNlckxpcXVpZFR5cGUSCAoEQ3lhbhAAEgsKB01hZ2Vu",
+ "dGEQARIKCgZZZWxsb3cQAhIJCgVCbGFjaxADEhIKDlRyYW5zcGFyZW50SW5r",
+ "EAQSDQoJTHVicmljYW50EAUSCwoHQ2xlYW5lchAGEg0KCUxpZ2h0Q3lhbhAH",
+ "EhAKDExpZ2h0TWFnZW50YRAIEg8KC0xpZ2h0WWVsbG93EAlCHgocY29tLnR3",
+ "aW5lLnRhbmdvLnBtci5wcmludGluZ2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Printing.DispenserLiquidType), }, null));
@@ -43,6 +44,9 @@ namespace Tango.PMR.Printing {
[pbr::OriginalName("TransparentInk")] TransparentInk = 4,
[pbr::OriginalName("Lubricant")] Lubricant = 5,
[pbr::OriginalName("Cleaner")] Cleaner = 6,
+ [pbr::OriginalName("LightCyan")] LightCyan = 7,
+ [pbr::OriginalName("LightMagenta")] LightMagenta = 8,
+ [pbr::OriginalName("LightYellow")] LightYellow = 9,
}
#endregion
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs
new file mode 100644
index 000000000..771aaf4f0
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureRequest.cs
@@ -0,0 +1,301 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProcedureRequest.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.Stubs {
+
+ /// <summary>Holder for reflection information generated from ProcedureRequest.proto</summary>
+ public static partial class ProcedureRequestReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for ProcedureRequest.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static ProcedureRequestReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChZQcm9jZWR1cmVSZXF1ZXN0LnByb3RvEg9UYW5nby5QTVIuU3R1YnMicQoQ",
+ "UHJvY2VkdXJlUmVxdWVzdBIMCgRUeXBlGAEgASgFEg8KB1RpbWVvdXQYAiAB",
+ "KAUSDgoGUGFyYW0xGAMgASgCEg4KBlBhcmFtMhgEIAEoAhIOCgZQYXJhbTMY",
+ "BSABKAISDgoGUGFyYW00GAYgASgCQhsKGWNvbS50d2luZS50YW5nby5wbXIu",
+ "c3R1YnNiBnByb3RvMw=="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureRequest), global::Tango.PMR.Stubs.ProcedureRequest.Parser, new[]{ "Type", "Timeout", "Param1", "Param2", "Param3", "Param4" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class ProcedureRequest : pb::IMessage<ProcedureRequest> {
+ private static readonly pb::MessageParser<ProcedureRequest> _parser = new pb::MessageParser<ProcedureRequest>(() => new ProcedureRequest());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<ProcedureRequest> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.ProcedureRequestReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureRequest(ProcedureRequest other) : this() {
+ type_ = other.type_;
+ timeout_ = other.timeout_;
+ param1_ = other.param1_;
+ param2_ = other.param2_;
+ param3_ = other.param3_;
+ param4_ = other.param4_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureRequest Clone() {
+ return new ProcedureRequest(this);
+ }
+
+ /// <summary>Field number for the "Type" field.</summary>
+ public const int TypeFieldNumber = 1;
+ private int type_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Type {
+ get { return type_; }
+ set {
+ type_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Timeout" field.</summary>
+ public const int TimeoutFieldNumber = 2;
+ private int timeout_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Timeout {
+ get { return timeout_; }
+ set {
+ timeout_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Param1" field.</summary>
+ public const int Param1FieldNumber = 3;
+ private float param1_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float Param1 {
+ get { return param1_; }
+ set {
+ param1_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Param2" field.</summary>
+ public const int Param2FieldNumber = 4;
+ private float param2_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float Param2 {
+ get { return param2_; }
+ set {
+ param2_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Param3" field.</summary>
+ public const int Param3FieldNumber = 5;
+ private float param3_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float Param3 {
+ get { return param3_; }
+ set {
+ param3_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Param4" field.</summary>
+ public const int Param4FieldNumber = 6;
+ private float param4_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float Param4 {
+ get { return param4_; }
+ set {
+ param4_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as ProcedureRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(ProcedureRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Type != other.Type) return false;
+ if (Timeout != other.Timeout) return false;
+ if (Param1 != other.Param1) return false;
+ if (Param2 != other.Param2) return false;
+ if (Param3 != other.Param3) return false;
+ if (Param4 != other.Param4) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Type != 0) hash ^= Type.GetHashCode();
+ if (Timeout != 0) hash ^= Timeout.GetHashCode();
+ if (Param1 != 0F) hash ^= Param1.GetHashCode();
+ if (Param2 != 0F) hash ^= Param2.GetHashCode();
+ if (Param3 != 0F) hash ^= Param3.GetHashCode();
+ if (Param4 != 0F) hash ^= Param4.GetHashCode();
+ 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 (Type != 0) {
+ output.WriteRawTag(8);
+ output.WriteInt32(Type);
+ }
+ if (Timeout != 0) {
+ output.WriteRawTag(16);
+ output.WriteInt32(Timeout);
+ }
+ if (Param1 != 0F) {
+ output.WriteRawTag(29);
+ output.WriteFloat(Param1);
+ }
+ if (Param2 != 0F) {
+ output.WriteRawTag(37);
+ output.WriteFloat(Param2);
+ }
+ if (Param3 != 0F) {
+ output.WriteRawTag(45);
+ output.WriteFloat(Param3);
+ }
+ if (Param4 != 0F) {
+ output.WriteRawTag(53);
+ output.WriteFloat(Param4);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Type != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
+ }
+ if (Timeout != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Timeout);
+ }
+ if (Param1 != 0F) {
+ size += 1 + 4;
+ }
+ if (Param2 != 0F) {
+ size += 1 + 4;
+ }
+ if (Param3 != 0F) {
+ size += 1 + 4;
+ }
+ if (Param4 != 0F) {
+ size += 1 + 4;
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(ProcedureRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Type != 0) {
+ Type = other.Type;
+ }
+ if (other.Timeout != 0) {
+ Timeout = other.Timeout;
+ }
+ if (other.Param1 != 0F) {
+ Param1 = other.Param1;
+ }
+ if (other.Param2 != 0F) {
+ Param2 = other.Param2;
+ }
+ if (other.Param3 != 0F) {
+ Param3 = other.Param3;
+ }
+ if (other.Param4 != 0F) {
+ Param4 = other.Param4;
+ }
+ }
+
+ [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: {
+ Type = input.ReadInt32();
+ break;
+ }
+ case 16: {
+ Timeout = input.ReadInt32();
+ break;
+ }
+ case 29: {
+ Param1 = input.ReadFloat();
+ break;
+ }
+ case 37: {
+ Param2 = input.ReadFloat();
+ break;
+ }
+ case 45: {
+ Param3 = input.ReadFloat();
+ break;
+ }
+ case 53: {
+ Param4 = input.ReadFloat();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs
new file mode 100644
index 000000000..afbad9a4d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/ProcedureResponse.cs
@@ -0,0 +1,273 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProcedureResponse.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.Stubs {
+
+ /// <summary>Holder for reflection information generated from ProcedureResponse.proto</summary>
+ public static partial class ProcedureResponseReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for ProcedureResponse.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static ProcedureResponseReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChdQcm9jZWR1cmVSZXNwb25zZS5wcm90bxIPVGFuZ28uUE1SLlN0dWJzIm4K",
+ "EVByb2NlZHVyZVJlc3BvbnNlEgwKBFR5cGUYASABKAUSDAoEVGltZRgCIAEo",
+ "BRITCgtSZXBseVZhbHVlMRgDIAEoAhITCgtSZXBseVZhbHVlMhgEIAEoAhIT",
+ "CgtSZXBseVZhbHVlMxgFIAEoAkIbChljb20udHdpbmUudGFuZ28ucG1yLnN0",
+ "dWJzYgZwcm90bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.ProcedureResponse), global::Tango.PMR.Stubs.ProcedureResponse.Parser, new[]{ "Type", "Time", "ReplyValue1", "ReplyValue2", "ReplyValue3" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class ProcedureResponse : pb::IMessage<ProcedureResponse> {
+ private static readonly pb::MessageParser<ProcedureResponse> _parser = new pb::MessageParser<ProcedureResponse>(() => new ProcedureResponse());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<ProcedureResponse> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.ProcedureResponseReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureResponse(ProcedureResponse other) : this() {
+ type_ = other.type_;
+ time_ = other.time_;
+ replyValue1_ = other.replyValue1_;
+ replyValue2_ = other.replyValue2_;
+ replyValue3_ = other.replyValue3_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public ProcedureResponse Clone() {
+ return new ProcedureResponse(this);
+ }
+
+ /// <summary>Field number for the "Type" field.</summary>
+ public const int TypeFieldNumber = 1;
+ private int type_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Type {
+ get { return type_; }
+ set {
+ type_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Time" field.</summary>
+ public const int TimeFieldNumber = 2;
+ private int time_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Time {
+ get { return time_; }
+ set {
+ time_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "ReplyValue1" field.</summary>
+ public const int ReplyValue1FieldNumber = 3;
+ private float replyValue1_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float ReplyValue1 {
+ get { return replyValue1_; }
+ set {
+ replyValue1_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "ReplyValue2" field.</summary>
+ public const int ReplyValue2FieldNumber = 4;
+ private float replyValue2_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float ReplyValue2 {
+ get { return replyValue2_; }
+ set {
+ replyValue2_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "ReplyValue3" field.</summary>
+ public const int ReplyValue3FieldNumber = 5;
+ private float replyValue3_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public float ReplyValue3 {
+ get { return replyValue3_; }
+ set {
+ replyValue3_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as ProcedureResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(ProcedureResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Type != other.Type) return false;
+ if (Time != other.Time) return false;
+ if (ReplyValue1 != other.ReplyValue1) return false;
+ if (ReplyValue2 != other.ReplyValue2) return false;
+ if (ReplyValue3 != other.ReplyValue3) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Type != 0) hash ^= Type.GetHashCode();
+ if (Time != 0) hash ^= Time.GetHashCode();
+ if (ReplyValue1 != 0F) hash ^= ReplyValue1.GetHashCode();
+ if (ReplyValue2 != 0F) hash ^= ReplyValue2.GetHashCode();
+ if (ReplyValue3 != 0F) hash ^= ReplyValue3.GetHashCode();
+ 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 (Type != 0) {
+ output.WriteRawTag(8);
+ output.WriteInt32(Type);
+ }
+ if (Time != 0) {
+ output.WriteRawTag(16);
+ output.WriteInt32(Time);
+ }
+ if (ReplyValue1 != 0F) {
+ output.WriteRawTag(29);
+ output.WriteFloat(ReplyValue1);
+ }
+ if (ReplyValue2 != 0F) {
+ output.WriteRawTag(37);
+ output.WriteFloat(ReplyValue2);
+ }
+ if (ReplyValue3 != 0F) {
+ output.WriteRawTag(45);
+ output.WriteFloat(ReplyValue3);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Type != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
+ }
+ if (Time != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Time);
+ }
+ if (ReplyValue1 != 0F) {
+ size += 1 + 4;
+ }
+ if (ReplyValue2 != 0F) {
+ size += 1 + 4;
+ }
+ if (ReplyValue3 != 0F) {
+ size += 1 + 4;
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(ProcedureResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Type != 0) {
+ Type = other.Type;
+ }
+ if (other.Time != 0) {
+ Time = other.Time;
+ }
+ if (other.ReplyValue1 != 0F) {
+ ReplyValue1 = other.ReplyValue1;
+ }
+ if (other.ReplyValue2 != 0F) {
+ ReplyValue2 = other.ReplyValue2;
+ }
+ if (other.ReplyValue3 != 0F) {
+ ReplyValue3 = other.ReplyValue3;
+ }
+ }
+
+ [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: {
+ Type = input.ReadInt32();
+ break;
+ }
+ case 16: {
+ Time = input.ReadInt32();
+ break;
+ }
+ case 29: {
+ ReplyValue1 = input.ReadFloat();
+ break;
+ }
+ case 37: {
+ ReplyValue2 = input.ReadFloat();
+ break;
+ }
+ case 45: {
+ ReplyValue3 = input.ReadFloat();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
index 5debc8864..2284a2914 100644
--- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
+++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
@@ -330,6 +330,8 @@
<Compile Include="Printing\UploadProcessParametersResponse.cs" />
<Compile Include="Printing\WindingMethod.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Stubs\ProcedureRequest.cs" />
+ <Compile Include="Stubs\ProcedureResponse.cs" />
<Compile Include="Stubs\StubAllHardwareRequest.cs" />
<Compile Include="Stubs\StubAllHardwareResponse.cs" />
<Compile Include="Stubs\StubDispenserEEpromData.cs" />
@@ -487,7 +489,7 @@
</PropertyGroup>
<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.sln b/Software/Visual_Studio/Tango.sln
index 2c0063d78..5793d289b 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -323,8 +323,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Packages.SamplePo
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.SchemaSynchronizer.CLI", "PPC\Tango.PPC.SchemaSynchronizer.CLI\Tango.PPC.SchemaSynchronizer.CLI.csproj", "{F3746F2B-E4AE-498B-9D42-74F95D992460}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Browser", "PPC\Modules\Tango.PPC.Browser\Tango.PPC.Browser.csproj", "{F02EAA84-AD59-465B-99A2-4422C13BFB72}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.MachineStudio.Sites", "MachineStudio\Modules\Tango.MachineStudio.Sites\Tango.MachineStudio.Sites.csproj", "{18A27902-9881-4556-8163-F6DF2236A14D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.MachineStudio.ActionLogs", "MachineStudio\Modules\Tango.MachineStudio.ActionLogs\Tango.MachineStudio.ActionLogs.csproj", "{447ECB9F-F730-47D6-8DF8-D232BF4A0315}"
@@ -409,8 +407,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.FSE.Insights", "FSE\M
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.FSE.LogViewer.UI", "FSE\Tango.FSE.LogViewer.UI\Tango.FSE.LogViewer.UI.csproj", "{44908607-2E91-4713-821E-C35E25430BA0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Packages.CefInstaller", "PPC\UpdatePackages\Tango.PPC.Packages.CefInstaller\Tango.PPC.Packages.CefInstaller.csproj", "{DF64460A-6617-4338-872A-DC43FD994C48}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Packages.JobRunsStartTimePatch", "PPC\UpdatePackages\Tango.PPC.Packages.JobRunsStartTimePatch\Tango.PPC.Packages.JobRunsStartTimePatch.csproj", "{59643ABC-DF9A-497F-8A7C-4A131C7CF438}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.CctOptimizer.CLI", "Utilities\Tango.CctOptimizer.CLI\Tango.CctOptimizer.CLI.csproj", "{69168924-9AA8-447D-AD64-F07DBF4F0909}"
@@ -439,6 +435,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.DataStore.Web", "Data
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.FSE.DPGraphGenerator", "FSE\Tango.FSE.DPGraphGenerator\Tango.FSE.DPGraphGenerator.csproj", "{C57D9D68-336C-4665-9EF4-EC1BDBB84885}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.LiquidColorGenerator.UI", "Utilities\Tango.LiquidColorGenerator.UI\Tango.LiquidColorGenerator.UI.csproj", "{949857A0-777D-4A32-8668-7163E404D800}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.DataSynchronizer.CLI", "PPC\Tango.PPC.DataSynchronizer.CLI\Tango.PPC.DataSynchronizer.CLI.csproj", "{3E07ED4E-A755-443F-B18C-3775555A2DD7}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -3097,26 +3097,6 @@ Global
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|x64.Build.0 = Release|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|x86.ActiveCfg = Release|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|x86.Build.0 = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|ARM.Build.0 = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|ARM64.Build.0 = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|x64.ActiveCfg = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|x64.Build.0 = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Debug|x86.Build.0 = Debug|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.Build.0 = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM.ActiveCfg = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM.Build.0 = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM64.ActiveCfg = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM64.Build.0 = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|x64.ActiveCfg = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|x64.Build.0 = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|x86.ActiveCfg = Release|Any CPU
- {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|x86.Build.0 = Release|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -3866,26 +3846,6 @@ Global
{44908607-2E91-4713-821E-C35E25430BA0}.Release|x64.Build.0 = Release|Any CPU
{44908607-2E91-4713-821E-C35E25430BA0}.Release|x86.ActiveCfg = Release|Any CPU
{44908607-2E91-4713-821E-C35E25430BA0}.Release|x86.Build.0 = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|ARM.Build.0 = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|ARM64.Build.0 = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|x64.Build.0 = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Debug|x86.Build.0 = Debug|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.Build.0 = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM.ActiveCfg = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM.Build.0 = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM64.ActiveCfg = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM64.Build.0 = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|x64.ActiveCfg = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|x64.Build.0 = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|x86.ActiveCfg = Release|Any CPU
- {DF64460A-6617-4338-872A-DC43FD994C48}.Release|x86.Build.0 = Release|Any CPU
{59643ABC-DF9A-497F-8A7C-4A131C7CF438}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59643ABC-DF9A-497F-8A7C-4A131C7CF438}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59643ABC-DF9A-497F-8A7C-4A131C7CF438}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -4146,6 +4106,46 @@ Global
{C57D9D68-336C-4665-9EF4-EC1BDBB84885}.Release|x64.Build.0 = Release|Any CPU
{C57D9D68-336C-4665-9EF4-EC1BDBB84885}.Release|x86.ActiveCfg = Release|Any CPU
{C57D9D68-336C-4665-9EF4-EC1BDBB84885}.Release|x86.Build.0 = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|ARM.Build.0 = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|x64.Build.0 = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Debug|x86.Build.0 = Debug|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|Any CPU.Build.0 = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|ARM.ActiveCfg = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|ARM.Build.0 = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|ARM64.Build.0 = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|x64.ActiveCfg = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|x64.Build.0 = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|x86.ActiveCfg = Release|Any CPU
+ {949857A0-777D-4A32-8668-7163E404D800}.Release|x86.Build.0 = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|ARM.Build.0 = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|x64.Build.0 = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Debug|x86.Build.0 = Debug|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|ARM.ActiveCfg = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|ARM.Build.0 = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|ARM64.Build.0 = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|x64.ActiveCfg = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|x64.Build.0 = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|x86.ActiveCfg = Release|Any CPU
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -4252,7 +4252,6 @@ Global
{2CD12594-3522-4658-A65F-190EE58B6AFA} = {E728CBD9-1AF4-4814-A218-E4BD26E7EDEA}
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA} = {E728CBD9-1AF4-4814-A218-E4BD26E7EDEA}
{F3746F2B-E4AE-498B-9D42-74F95D992460} = {C81ED1A3-D18C-4D80-A8F5-061994A14A60}
- {F02EAA84-AD59-465B-99A2-4422C13BFB72} = {0048447D-1D94-4E60-9DAD-7349C777CB4E}
{18A27902-9881-4556-8163-F6DF2236A14D} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8}
{447ECB9F-F730-47D6-8DF8-D232BF4A0315} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8}
{511A8AD7-6BA2-4BB5-A20A-1454196C5503} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
@@ -4285,7 +4284,6 @@ Global
{12EC97A5-C3C2-40CB-B658-EC4018B89269} = {4EE6DBA1-71BC-49E2-8DC7-266487E61050}
{AC5B4BE7-D607-4A38-98F8-B87ACA468313} = {4EE6DBA1-71BC-49E2-8DC7-266487E61050}
{44908607-2E91-4713-821E-C35E25430BA0} = {004337EB-0761-4D30-B9F5-AE6E1CFC6013}
- {DF64460A-6617-4338-872A-DC43FD994C48} = {E728CBD9-1AF4-4814-A218-E4BD26E7EDEA}
{59643ABC-DF9A-497F-8A7C-4A131C7CF438} = {E728CBD9-1AF4-4814-A218-E4BD26E7EDEA}
{69168924-9AA8-447D-AD64-F07DBF4F0909} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
{EA4233F1-4B7B-4CCF-A6DE-2D17612EBA90} = {E728CBD9-1AF4-4814-A218-E4BD26E7EDEA}
@@ -4298,6 +4296,8 @@ Global
{6189B8C3-7AF9-43DD-8A61-A8A05F526F62} = {3F723D53-3539-42D1-8570-395BF660928D}
{A9828548-AF43-4CE4-8B13-50E99F9C9CF7} = {3F723D53-3539-42D1-8570-395BF660928D}
{C57D9D68-336C-4665-9EF4-EC1BDBB84885} = {004337EB-0761-4D30-B9F5-AE6E1CFC6013}
+ {949857A0-777D-4A32-8668-7163E404D800} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
+ {3E07ED4E-A755-443F-B18C-3775555A2DD7} = {C81ED1A3-D18C-4D80-A8F5-061994A14A60}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
BuildVersion_UseGlobalSettings = False
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.config b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.config
new file mode 100644
index 000000000..731f6de6c
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml
new file mode 100644
index 000000000..09124c44f
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml
@@ -0,0 +1,9 @@
+<Application x:Class="Tango.LiquidColorGenerator.UI.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="clr-namespace:Tango.LiquidColorGenerator.UI"
+ StartupUri="MainWindow.xaml">
+ <Application.Resources>
+
+ </Application.Resources>
+</Application>
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml.cs b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml.cs
new file mode 100644
index 000000000..aba8ead65
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Tango.LiquidColorGenerator.UI
+{
+ /// <summary>
+ /// Interaction logic for App.xaml
+ /// </summary>
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml
new file mode 100644
index 000000000..cfdd6de22
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml
@@ -0,0 +1,21 @@
+<Window x:Class="Tango.LiquidColorGenerator.UI.MainWindow"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:brush="clr-namespace:Tango.BrushPicker;assembly=Tango.BrushPicker"
+ xmlns:local="clr-namespace:Tango.LiquidColorGenerator.UI"
+ mc:Ignorable="d"
+ Title="MainWindow" Height="300" Width="800">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="300"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+
+ <brush:BrushPicker x:Name="picker" VerticalAlignment="Stretch" BrushTypeVisibility="Collapsed" />
+
+ <TextBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="300" FontSize="30" x:Name="txt"></TextBox>
+
+ </Grid>
+</Window>
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml.cs b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml.cs
new file mode 100644
index 000000000..6cba6e577
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/MainWindow.xaml.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.LiquidColorGenerator.UI
+{
+ /// <summary>
+ /// Interaction logic for MainWindow.xaml
+ /// </summary>
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+
+ picker.ColorChanged += Picker_ColorChanged;
+ txt.TextChanged += Txt_TextChanged;
+ }
+
+ private void Txt_TextChanged(object sender, TextChangedEventArgs e)
+ {
+ try
+ {
+ picker.Color = Core.Helpers.ColorHelper.IntegerToColor(int.Parse(txt.Text));
+ }
+ catch { }
+ }
+
+ private void Picker_ColorChanged(object sender, BrushPicker.ColorChangedEventArgs e)
+ {
+ txt.Text = Core.Helpers.ColorHelper.ColorToInteger(e.Color).ToString();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..382030056
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 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("Tango.LiquidColorGenerator.UI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Tango.LiquidColorGenerator.UI")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>. For example, if you are using US english
+//in your source files, set the <UICulture> to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// 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/Tango.LiquidColorGenerator.UI/Properties/Resources.Designer.cs b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..9ce60d611
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.LiquidColorGenerator.UI.Properties
+{
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tango.LiquidColorGenerator.UI.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.resx b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.resx
new file mode 100644
index 000000000..af7dbebba
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.Designer.cs b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..fe9f990ce
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.LiquidColorGenerator.UI.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.settings b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.settings
new file mode 100644
index 000000000..033d7a5e9
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile> \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Tango.LiquidColorGenerator.UI.csproj b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Tango.LiquidColorGenerator.UI.csproj
new file mode 100644
index 000000000..d77bd1cdd
--- /dev/null
+++ b/Software/Visual_Studio/Utilities/Tango.LiquidColorGenerator.UI/Tango.LiquidColorGenerator.UI.csproj
@@ -0,0 +1,108 @@
+<?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>{949857A0-777D-4A32-8668-7163E404D800}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <RootNamespace>Tango.LiquidColorGenerator.UI</RootNamespace>
+ <AssemblyName>Tango.LiquidColorGenerator.UI</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <WarningLevel>4</WarningLevel>
+ <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="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xaml">
+ <RequiredTargetFramework>4.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="WindowsBase" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="MainWindow.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="MainWindow.xaml.cs">
+ <DependentUpon>MainWindow.xaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\Settings.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <None Include="Properties\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="App.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Tango.BrushPicker\Tango.BrushPicker.csproj">
+ <Project>{40085232-aced-4cbe-945b-90ba8153c151}</Project>
+ <Name>Tango.BrushPicker</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Tango.Core\Tango.Core.csproj">
+ <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
+ <Name>Tango.Core</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file