aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.h76
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.c43
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.h46
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.c183
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.h87
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.c132
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.h78
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.c248
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.h97
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.c131
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.h79
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.c43
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.h46
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.c144
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.h81
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.c106
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.h75
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.c12
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.h6
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageContainer.pb-c.h2
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.c210
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.h44
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.c118
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.h77
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.h72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.c37
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.h43
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.c118
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.h77
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.c118
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.h76
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.c287
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.h101
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.c106
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.h75
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.c209
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.h104
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.c131
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.c201
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.h111
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.c293
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.h106
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.h73
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.h74
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.h (renamed from Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.h)57
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.c118
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.h75
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.c170
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.h85
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.c37
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.h43
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.c287
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.h101
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c235
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h100
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c105
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h79
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.c72
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.h70
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.c131
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.h83
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.c19
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.h4
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.c19
-rw-r--r--Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.h4
-rw-r--r--Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c5
-rw-r--r--Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.c92
-rw-r--r--Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.h6
-rw-r--r--Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c5
-rw-r--r--Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA.c41
-rw-r--r--Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_Comm.h851
-rw-r--r--Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_SPI_Comm.c208
-rw-r--r--Software/Code_Composer/twine_usblib_demo/drivers/SPI/SPI_Comm.c23
-rw-r--r--Software/PMR/Messages/Common/MessageType.proto4
-rw-r--r--Software/PMR/Messages/Stubs/StubF3Gpo01WriteRequest.proto21
-rw-r--r--Software/PMR/Messages/Stubs/StubF3Gpo01WriteResponse.proto10
-rw-r--r--Software/PMR/Messages/Stubs/StubHWVersionRequest.proto9
-rw-r--r--Software/PMR/Messages/Stubs/StubHWVersionResponse.proto12
-rw-r--r--Software/PMR/Messages/Stubs/StubMotorRunResponse.proto1
-rw-r--r--Software/PMR/Messages/Stubs/StubMotorStopResponse.proto1
-rw-r--r--Software/Visual_Studio/SideChains/ColorMine/ColorMine.nuspec50
-rw-r--r--Software/Visual_Studio/Tango.PMR/Common/MessageType.cs93
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteRequest.cs480
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteResponse.cs194
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionRequest.cs131
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionResponse.cs250
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubMotorRunResponse.cs36
-rw-r--r--Software/Visual_Studio/Tango.PMR/Stubs/StubMotorStopResponse.cs36
-rw-r--r--Software/Visual_Studio/Tango.sln5
142 files changed, 11531 insertions, 1851 deletions
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.c
new file mode 100644
index 000000000..981988d99
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalibrationData.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CalibrationData.pb-c.h"
+void calibration_data__init
+ (CalibrationData *message)
+{
+ static const CalibrationData init_value = CALIBRATION_DATA__INIT;
+ *message = init_value;
+}
+size_t calibration_data__get_packed_size
+ (const CalibrationData *message)
+{
+ assert(message->base.descriptor == &calibration_data__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t calibration_data__pack
+ (const CalibrationData *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &calibration_data__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t calibration_data__pack_to_buffer
+ (const CalibrationData *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &calibration_data__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+CalibrationData *
+ calibration_data__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (CalibrationData *)
+ protobuf_c_message_unpack (&calibration_data__descriptor,
+ allocator, len, data);
+}
+void calibration_data__free_unpacked
+ (CalibrationData *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &calibration_data__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor calibration_data__field_descriptors[2] =
+{
+ {
+ "LiquidType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(CalibrationData, has_liquidtype),
+ offsetof(CalibrationData, liquidtype),
+ &liquid_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CalibrationPoints",
+ 2,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(CalibrationData, n_calibrationpoints),
+ offsetof(CalibrationData, calibrationpoints),
+ &calibration_point__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned calibration_data__field_indices_by_name[] = {
+ 1, /* field[1] = CalibrationPoints */
+ 0, /* field[0] = LiquidType */
+};
+static const ProtobufCIntRange calibration_data__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor calibration_data__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "CalibrationData",
+ "CalibrationData",
+ "CalibrationData",
+ "",
+ sizeof(CalibrationData),
+ 2,
+ calibration_data__field_descriptors,
+ calibration_data__field_indices_by_name,
+ 1, calibration_data__number_ranges,
+ (ProtobufCMessageInit) calibration_data__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.h
new file mode 100644
index 000000000..ccecc327e
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationData.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalibrationData.proto */
+
+#ifndef PROTOBUF_C_CalibrationData_2eproto__INCLUDED
+#define PROTOBUF_C_CalibrationData_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "CalibrationPoint.pb-c.h"
+#include "LiquidType.pb-c.h"
+
+typedef struct _CalibrationData CalibrationData;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _CalibrationData
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_liquidtype;
+ LiquidType liquidtype;
+ size_t n_calibrationpoints;
+ CalibrationPoint **calibrationpoints;
+};
+#define CALIBRATION_DATA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&calibration_data__descriptor) \
+ , 0, LIQUID_TYPE__Cyan, 0,NULL }
+
+
+/* CalibrationData methods */
+void calibration_data__init
+ (CalibrationData *message);
+size_t calibration_data__get_packed_size
+ (const CalibrationData *message);
+size_t calibration_data__pack
+ (const CalibrationData *message,
+ uint8_t *out);
+size_t calibration_data__pack_to_buffer
+ (const CalibrationData *message,
+ ProtobufCBuffer *buffer);
+CalibrationData *
+ calibration_data__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void calibration_data__free_unpacked
+ (CalibrationData *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*CalibrationData_Closure)
+ (const CalibrationData *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor calibration_data__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CalibrationData_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.c
new file mode 100644
index 000000000..691a97ea6
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalibrationPoint.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CalibrationPoint.pb-c.h"
+void calibration_point__init
+ (CalibrationPoint *message)
+{
+ static const CalibrationPoint init_value = CALIBRATION_POINT__INIT;
+ *message = init_value;
+}
+size_t calibration_point__get_packed_size
+ (const CalibrationPoint *message)
+{
+ assert(message->base.descriptor == &calibration_point__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t calibration_point__pack
+ (const CalibrationPoint *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &calibration_point__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t calibration_point__pack_to_buffer
+ (const CalibrationPoint *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &calibration_point__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+CalibrationPoint *
+ calibration_point__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (CalibrationPoint *)
+ protobuf_c_message_unpack (&calibration_point__descriptor,
+ allocator, len, data);
+}
+void calibration_point__free_unpacked
+ (CalibrationPoint *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &calibration_point__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor calibration_point__field_descriptors[2] =
+{
+ {
+ "X",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CalibrationPoint, has_x),
+ offsetof(CalibrationPoint, x),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Y",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CalibrationPoint, has_y),
+ offsetof(CalibrationPoint, y),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned calibration_point__field_indices_by_name[] = {
+ 0, /* field[0] = X */
+ 1, /* field[1] = Y */
+};
+static const ProtobufCIntRange calibration_point__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor calibration_point__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "CalibrationPoint",
+ "CalibrationPoint",
+ "CalibrationPoint",
+ "",
+ sizeof(CalibrationPoint),
+ 2,
+ calibration_point__field_descriptors,
+ calibration_point__field_indices_by_name,
+ 1, calibration_point__number_ranges,
+ (ProtobufCMessageInit) calibration_point__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.h
new file mode 100644
index 000000000..a58bc1ec6
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/CalibrationPoint.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalibrationPoint.proto */
+
+#ifndef PROTOBUF_C_CalibrationPoint_2eproto__INCLUDED
+#define PROTOBUF_C_CalibrationPoint_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _CalibrationPoint CalibrationPoint;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _CalibrationPoint
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_x;
+ double x;
+ protobuf_c_boolean has_y;
+ double y;
+};
+#define CALIBRATION_POINT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&calibration_point__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* CalibrationPoint methods */
+void calibration_point__init
+ (CalibrationPoint *message);
+size_t calibration_point__get_packed_size
+ (const CalibrationPoint *message);
+size_t calibration_point__pack
+ (const CalibrationPoint *message,
+ uint8_t *out);
+size_t calibration_point__pack_to_buffer
+ (const CalibrationPoint *message,
+ ProtobufCBuffer *buffer);
+CalibrationPoint *
+ calibration_point__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void calibration_point__free_unpacked
+ (CalibrationPoint *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*CalibrationPoint_Closure)
+ (const CalibrationPoint *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor calibration_point__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CalibrationPoint_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.c
new file mode 100644
index 000000000..663c73262
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.c
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ColorSpace.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ColorSpace.pb-c.h"
+static const ProtobufCEnumValue color_space__enum_values_by_number[5] =
+{
+ { "Volume", "COLOR_SPACE__Volume", 0 },
+ { "RGB", "COLOR_SPACE__RGB", 1 },
+ { "CMYK", "COLOR_SPACE__CMYK", 2 },
+ { "LAB", "COLOR_SPACE__LAB", 3 },
+ { "Panton", "COLOR_SPACE__Panton", 4 },
+};
+static const ProtobufCIntRange color_space__value_ranges[] = {
+{0, 0},{0, 5}
+};
+static const ProtobufCEnumValueIndex color_space__enum_values_by_name[5] =
+{
+ { "CMYK", 2 },
+ { "LAB", 3 },
+ { "Panton", 4 },
+ { "RGB", 1 },
+ { "Volume", 0 },
+};
+const ProtobufCEnumDescriptor color_space__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "ColorSpace",
+ "ColorSpace",
+ "ColorSpace",
+ "",
+ 5,
+ color_space__enum_values_by_number,
+ 5,
+ color_space__enum_values_by_name,
+ 1,
+ color_space__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.h
new file mode 100644
index 000000000..70d386e0c
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ColorSpace.pb-c.h
@@ -0,0 +1,46 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ColorSpace.proto */
+
+#ifndef PROTOBUF_C_ColorSpace_2eproto__INCLUDED
+#define PROTOBUF_C_ColorSpace_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _ColorSpace {
+ COLOR_SPACE__Volume = 0,
+ COLOR_SPACE__RGB = 1,
+ COLOR_SPACE__CMYK = 2,
+ COLOR_SPACE__LAB = 3,
+ COLOR_SPACE__Panton = 4
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(COLOR_SPACE)
+} ColorSpace;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor color_space__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ColorSpace_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.c
new file mode 100644
index 000000000..a6221c8ba
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.c
@@ -0,0 +1,183 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ConversionInput.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ConversionInput.pb-c.h"
+void conversion_input__init
+ (ConversionInput *message)
+{
+ static const ConversionInput init_value = CONVERSION_INPUT__INIT;
+ *message = init_value;
+}
+size_t conversion_input__get_packed_size
+ (const ConversionInput *message)
+{
+ assert(message->base.descriptor == &conversion_input__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t conversion_input__pack
+ (const ConversionInput *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &conversion_input__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t conversion_input__pack_to_buffer
+ (const ConversionInput *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &conversion_input__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ConversionInput *
+ conversion_input__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ConversionInput *)
+ protobuf_c_message_unpack (&conversion_input__descriptor,
+ allocator, len, data);
+}
+void conversion_input__free_unpacked
+ (ConversionInput *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &conversion_input__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor conversion_input__field_descriptors[8] =
+{
+ {
+ "ThreadL",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ConversionInput, has_threadl),
+ offsetof(ConversionInput, threadl),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ThreadA",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ConversionInput, has_threada),
+ offsetof(ConversionInput, threada),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ThreadB",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ConversionInput, has_threadb),
+ offsetof(ConversionInput, threadb),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ColorSpace",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(ConversionInput, has_colorspace),
+ offsetof(ConversionInput, colorspace),
+ &color_space__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InputCoordinates",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(ConversionInput, inputcoordinates),
+ &input_coordinates__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ForwardData",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BYTES,
+ offsetof(ConversionInput, has_forwarddata),
+ offsetof(ConversionInput, forwarddata),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InverseData",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BYTES,
+ offsetof(ConversionInput, has_inversedata),
+ offsetof(ConversionInput, inversedata),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SegmentLength",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ConversionInput, has_segmentlength),
+ offsetof(ConversionInput, segmentlength),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned conversion_input__field_indices_by_name[] = {
+ 3, /* field[3] = ColorSpace */
+ 5, /* field[5] = ForwardData */
+ 4, /* field[4] = InputCoordinates */
+ 6, /* field[6] = InverseData */
+ 7, /* field[7] = SegmentLength */
+ 1, /* field[1] = ThreadA */
+ 2, /* field[2] = ThreadB */
+ 0, /* field[0] = ThreadL */
+};
+static const ProtobufCIntRange conversion_input__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 8 }
+};
+const ProtobufCMessageDescriptor conversion_input__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ConversionInput",
+ "ConversionInput",
+ "ConversionInput",
+ "",
+ sizeof(ConversionInput),
+ 8,
+ conversion_input__field_descriptors,
+ conversion_input__field_indices_by_name,
+ 1, conversion_input__number_ranges,
+ (ProtobufCMessageInit) conversion_input__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.h
new file mode 100644
index 000000000..6b929033a
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionInput.pb-c.h
@@ -0,0 +1,87 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ConversionInput.proto */
+
+#ifndef PROTOBUF_C_ConversionInput_2eproto__INCLUDED
+#define PROTOBUF_C_ConversionInput_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "InputCoordinates.pb-c.h"
+#include "ColorSpace.pb-c.h"
+
+typedef struct _ConversionInput ConversionInput;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ConversionInput
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_threadl;
+ double threadl;
+ protobuf_c_boolean has_threada;
+ double threada;
+ protobuf_c_boolean has_threadb;
+ double threadb;
+ protobuf_c_boolean has_colorspace;
+ ColorSpace colorspace;
+ InputCoordinates *inputcoordinates;
+ protobuf_c_boolean has_forwarddata;
+ ProtobufCBinaryData forwarddata;
+ protobuf_c_boolean has_inversedata;
+ ProtobufCBinaryData inversedata;
+ protobuf_c_boolean has_segmentlength;
+ double segmentlength;
+};
+#define CONVERSION_INPUT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&conversion_input__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, COLOR_SPACE__Volume, NULL, 0, {0,NULL}, 0, {0,NULL}, 0, 0 }
+
+
+/* ConversionInput methods */
+void conversion_input__init
+ (ConversionInput *message);
+size_t conversion_input__get_packed_size
+ (const ConversionInput *message);
+size_t conversion_input__pack
+ (const ConversionInput *message,
+ uint8_t *out);
+size_t conversion_input__pack_to_buffer
+ (const ConversionInput *message,
+ ProtobufCBuffer *buffer);
+ConversionInput *
+ conversion_input__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void conversion_input__free_unpacked
+ (ConversionInput *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ConversionInput_Closure)
+ (const ConversionInput *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor conversion_input__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ConversionInput_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.c
new file mode 100644
index 000000000..bfc40f0a3
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.c
@@ -0,0 +1,132 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ConversionOutput.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ConversionOutput.pb-c.h"
+void conversion_output__init
+ (ConversionOutput *message)
+{
+ static const ConversionOutput init_value = CONVERSION_OUTPUT__INIT;
+ *message = init_value;
+}
+size_t conversion_output__get_packed_size
+ (const ConversionOutput *message)
+{
+ assert(message->base.descriptor == &conversion_output__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t conversion_output__pack
+ (const ConversionOutput *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &conversion_output__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t conversion_output__pack_to_buffer
+ (const ConversionOutput *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &conversion_output__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ConversionOutput *
+ conversion_output__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ConversionOutput *)
+ protobuf_c_message_unpack (&conversion_output__descriptor,
+ allocator, len, data);
+}
+void conversion_output__free_unpacked
+ (ConversionOutput *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &conversion_output__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor conversion_output__field_descriptors[4] =
+{
+ {
+ "HiveCoordinates",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(ConversionOutput, n_hivecoordinates),
+ offsetof(ConversionOutput, hivecoordinates),
+ &output_coordinates__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TripleCoordinates",
+ 2,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(ConversionOutput, n_triplecoordinates),
+ offsetof(ConversionOutput, triplecoordinates),
+ &output_coordinates__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SingleCoordinates",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(ConversionOutput, singlecoordinates),
+ &output_coordinates__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OutOfGamut",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(ConversionOutput, has_outofgamut),
+ offsetof(ConversionOutput, outofgamut),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned conversion_output__field_indices_by_name[] = {
+ 0, /* field[0] = HiveCoordinates */
+ 3, /* field[3] = OutOfGamut */
+ 2, /* field[2] = SingleCoordinates */
+ 1, /* field[1] = TripleCoordinates */
+};
+static const ProtobufCIntRange conversion_output__number_ranges[2 + 1] =
+{
+ { 1, 0 },
+ { 5, 3 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor conversion_output__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ConversionOutput",
+ "ConversionOutput",
+ "ConversionOutput",
+ "",
+ sizeof(ConversionOutput),
+ 4,
+ conversion_output__field_descriptors,
+ conversion_output__field_indices_by_name,
+ 2, conversion_output__number_ranges,
+ (ProtobufCMessageInit) conversion_output__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.h
new file mode 100644
index 000000000..0c58721db
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/ConversionOutput.pb-c.h
@@ -0,0 +1,78 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ConversionOutput.proto */
+
+#ifndef PROTOBUF_C_ConversionOutput_2eproto__INCLUDED
+#define PROTOBUF_C_ConversionOutput_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "OutputCoordinates.pb-c.h"
+
+typedef struct _ConversionOutput ConversionOutput;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ConversionOutput
+{
+ ProtobufCMessage base;
+ size_t n_hivecoordinates;
+ OutputCoordinates **hivecoordinates;
+ size_t n_triplecoordinates;
+ OutputCoordinates **triplecoordinates;
+ OutputCoordinates *singlecoordinates;
+ protobuf_c_boolean has_outofgamut;
+ protobuf_c_boolean outofgamut;
+};
+#define CONVERSION_OUTPUT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&conversion_output__descriptor) \
+ , 0,NULL, 0,NULL, NULL, 0, 0 }
+
+
+/* ConversionOutput methods */
+void conversion_output__init
+ (ConversionOutput *message);
+size_t conversion_output__get_packed_size
+ (const ConversionOutput *message);
+size_t conversion_output__pack
+ (const ConversionOutput *message,
+ uint8_t *out);
+size_t conversion_output__pack_to_buffer
+ (const ConversionOutput *message,
+ ProtobufCBuffer *buffer);
+ConversionOutput *
+ conversion_output__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void conversion_output__free_unpacked
+ (ConversionOutput *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ConversionOutput_Closure)
+ (const ConversionOutput *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor conversion_output__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ConversionOutput_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.c
new file mode 100644
index 000000000..a12759a89
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.c
@@ -0,0 +1,248 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InputCoordinates.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "InputCoordinates.pb-c.h"
+void input_coordinates__init
+ (InputCoordinates *message)
+{
+ static const InputCoordinates init_value = INPUT_COORDINATES__INIT;
+ *message = init_value;
+}
+size_t input_coordinates__get_packed_size
+ (const InputCoordinates *message)
+{
+ assert(message->base.descriptor == &input_coordinates__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t input_coordinates__pack
+ (const InputCoordinates *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &input_coordinates__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t input_coordinates__pack_to_buffer
+ (const InputCoordinates *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &input_coordinates__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+InputCoordinates *
+ input_coordinates__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (InputCoordinates *)
+ protobuf_c_message_unpack (&input_coordinates__descriptor,
+ allocator, len, data);
+}
+void input_coordinates__free_unpacked
+ (InputCoordinates *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &input_coordinates__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor input_coordinates__field_descriptors[13] =
+{
+ {
+ "Length",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_length),
+ offsetof(InputCoordinates, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Red",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(InputCoordinates, has_red),
+ offsetof(InputCoordinates, red),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Green",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(InputCoordinates, has_green),
+ offsetof(InputCoordinates, green),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Blue",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(InputCoordinates, has_blue),
+ offsetof(InputCoordinates, blue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Cyan",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_cyan),
+ offsetof(InputCoordinates, cyan),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Magenta",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_magenta),
+ offsetof(InputCoordinates, magenta),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Yellow",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_yellow),
+ offsetof(InputCoordinates, yellow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Key",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_key),
+ offsetof(InputCoordinates, key),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "L",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_l),
+ offsetof(InputCoordinates, l),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "A",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_a),
+ offsetof(InputCoordinates, a),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "B",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputCoordinates, has_b),
+ offsetof(InputCoordinates, b),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PantonCode",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(InputCoordinates, has_pantoncode),
+ offsetof(InputCoordinates, pantoncode),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InputLiquids",
+ 13,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(InputCoordinates, n_inputliquids),
+ offsetof(InputCoordinates, inputliquids),
+ &input_liquid__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned input_coordinates__field_indices_by_name[] = {
+ 9, /* field[9] = A */
+ 10, /* field[10] = B */
+ 3, /* field[3] = Blue */
+ 4, /* field[4] = Cyan */
+ 2, /* field[2] = Green */
+ 12, /* field[12] = InputLiquids */
+ 7, /* field[7] = Key */
+ 8, /* field[8] = L */
+ 0, /* field[0] = Length */
+ 5, /* field[5] = Magenta */
+ 11, /* field[11] = PantonCode */
+ 1, /* field[1] = Red */
+ 6, /* field[6] = Yellow */
+};
+static const ProtobufCIntRange input_coordinates__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 13 }
+};
+const ProtobufCMessageDescriptor input_coordinates__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "InputCoordinates",
+ "InputCoordinates",
+ "InputCoordinates",
+ "",
+ sizeof(InputCoordinates),
+ 13,
+ input_coordinates__field_descriptors,
+ input_coordinates__field_indices_by_name,
+ 1, input_coordinates__number_ranges,
+ (ProtobufCMessageInit) input_coordinates__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.h
new file mode 100644
index 000000000..0b159cd59
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputCoordinates.pb-c.h
@@ -0,0 +1,97 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InputCoordinates.proto */
+
+#ifndef PROTOBUF_C_InputCoordinates_2eproto__INCLUDED
+#define PROTOBUF_C_InputCoordinates_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "InputLiquid.pb-c.h"
+
+typedef struct _InputCoordinates InputCoordinates;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _InputCoordinates
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_length;
+ double length;
+ protobuf_c_boolean has_red;
+ int32_t red;
+ protobuf_c_boolean has_green;
+ int32_t green;
+ protobuf_c_boolean has_blue;
+ int32_t blue;
+ protobuf_c_boolean has_cyan;
+ double cyan;
+ protobuf_c_boolean has_magenta;
+ double magenta;
+ protobuf_c_boolean has_yellow;
+ double yellow;
+ protobuf_c_boolean has_key;
+ double key;
+ protobuf_c_boolean has_l;
+ double l;
+ protobuf_c_boolean has_a;
+ double a;
+ protobuf_c_boolean has_b;
+ double b;
+ protobuf_c_boolean has_pantoncode;
+ int32_t pantoncode;
+ size_t n_inputliquids;
+ InputLiquid **inputliquids;
+};
+#define INPUT_COORDINATES__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&input_coordinates__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL }
+
+
+/* InputCoordinates methods */
+void input_coordinates__init
+ (InputCoordinates *message);
+size_t input_coordinates__get_packed_size
+ (const InputCoordinates *message);
+size_t input_coordinates__pack
+ (const InputCoordinates *message,
+ uint8_t *out);
+size_t input_coordinates__pack_to_buffer
+ (const InputCoordinates *message,
+ ProtobufCBuffer *buffer);
+InputCoordinates *
+ input_coordinates__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void input_coordinates__free_unpacked
+ (InputCoordinates *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*InputCoordinates_Closure)
+ (const InputCoordinates *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor input_coordinates__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_InputCoordinates_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.c
new file mode 100644
index 000000000..2d033e2a1
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InputLiquid.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "InputLiquid.pb-c.h"
+void input_liquid__init
+ (InputLiquid *message)
+{
+ static const InputLiquid init_value = INPUT_LIQUID__INIT;
+ *message = init_value;
+}
+size_t input_liquid__get_packed_size
+ (const InputLiquid *message)
+{
+ assert(message->base.descriptor == &input_liquid__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t input_liquid__pack
+ (const InputLiquid *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &input_liquid__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t input_liquid__pack_to_buffer
+ (const InputLiquid *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &input_liquid__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+InputLiquid *
+ input_liquid__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (InputLiquid *)
+ protobuf_c_message_unpack (&input_liquid__descriptor,
+ allocator, len, data);
+}
+void input_liquid__free_unpacked
+ (InputLiquid *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &input_liquid__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor input_liquid__field_descriptors[4] =
+{
+ {
+ "LiquidType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(InputLiquid, has_liquidtype),
+ offsetof(InputLiquid, liquidtype),
+ &liquid_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CalibrationData",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(InputLiquid, calibrationdata),
+ &calibration_data__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxNanoliterPerCentimeter",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputLiquid, has_maxnanoliterpercentimeter),
+ offsetof(InputLiquid, maxnanoliterpercentimeter),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Volume",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(InputLiquid, has_volume),
+ offsetof(InputLiquid, volume),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned input_liquid__field_indices_by_name[] = {
+ 1, /* field[1] = CalibrationData */
+ 0, /* field[0] = LiquidType */
+ 2, /* field[2] = MaxNanoliterPerCentimeter */
+ 3, /* field[3] = Volume */
+};
+static const ProtobufCIntRange input_liquid__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor input_liquid__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "InputLiquid",
+ "InputLiquid",
+ "InputLiquid",
+ "",
+ sizeof(InputLiquid),
+ 4,
+ input_liquid__field_descriptors,
+ input_liquid__field_indices_by_name,
+ 1, input_liquid__number_ranges,
+ (ProtobufCMessageInit) input_liquid__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.h
new file mode 100644
index 000000000..c2a47b166
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/InputLiquid.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InputLiquid.proto */
+
+#ifndef PROTOBUF_C_InputLiquid_2eproto__INCLUDED
+#define PROTOBUF_C_InputLiquid_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "LiquidType.pb-c.h"
+#include "CalibrationData.pb-c.h"
+
+typedef struct _InputLiquid InputLiquid;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _InputLiquid
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_liquidtype;
+ LiquidType liquidtype;
+ CalibrationData *calibrationdata;
+ protobuf_c_boolean has_maxnanoliterpercentimeter;
+ double maxnanoliterpercentimeter;
+ protobuf_c_boolean has_volume;
+ double volume;
+};
+#define INPUT_LIQUID__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&input_liquid__descriptor) \
+ , 0, LIQUID_TYPE__Cyan, NULL, 0, 0, 0, 0 }
+
+
+/* InputLiquid methods */
+void input_liquid__init
+ (InputLiquid *message);
+size_t input_liquid__get_packed_size
+ (const InputLiquid *message);
+size_t input_liquid__pack
+ (const InputLiquid *message,
+ uint8_t *out);
+size_t input_liquid__pack_to_buffer
+ (const InputLiquid *message,
+ ProtobufCBuffer *buffer);
+InputLiquid *
+ input_liquid__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void input_liquid__free_unpacked
+ (InputLiquid *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*InputLiquid_Closure)
+ (const InputLiquid *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor input_liquid__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_InputLiquid_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.c
new file mode 100644
index 000000000..10b061dd6
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.c
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: LiquidType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "LiquidType.pb-c.h"
+static const ProtobufCEnumValue liquid_type__enum_values_by_number[5] =
+{
+ { "Cyan", "LIQUID_TYPE__Cyan", 0 },
+ { "Magenta", "LIQUID_TYPE__Magenta", 1 },
+ { "Yellow", "LIQUID_TYPE__Yellow", 2 },
+ { "Black", "LIQUID_TYPE__Black", 3 },
+ { "TransparentInk", "LIQUID_TYPE__TransparentInk", 4 },
+};
+static const ProtobufCIntRange liquid_type__value_ranges[] = {
+{0, 0},{0, 5}
+};
+static const ProtobufCEnumValueIndex liquid_type__enum_values_by_name[5] =
+{
+ { "Black", 3 },
+ { "Cyan", 0 },
+ { "Magenta", 1 },
+ { "TransparentInk", 4 },
+ { "Yellow", 2 },
+};
+const ProtobufCEnumDescriptor liquid_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "LiquidType",
+ "LiquidType",
+ "LiquidType",
+ "",
+ 5,
+ liquid_type__enum_values_by_number,
+ 5,
+ liquid_type__enum_values_by_name,
+ 1,
+ liquid_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.h
new file mode 100644
index 000000000..3559cc09c
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/LiquidType.pb-c.h
@@ -0,0 +1,46 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: LiquidType.proto */
+
+#ifndef PROTOBUF_C_LiquidType_2eproto__INCLUDED
+#define PROTOBUF_C_LiquidType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _LiquidType {
+ LIQUID_TYPE__Cyan = 0,
+ LIQUID_TYPE__Magenta = 1,
+ LIQUID_TYPE__Yellow = 2,
+ LIQUID_TYPE__Black = 3,
+ LIQUID_TYPE__TransparentInk = 4
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(LIQUID_TYPE)
+} LiquidType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor liquid_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_LiquidType_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.c
new file mode 100644
index 000000000..c41585415
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: OutputCoordinates.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "OutputCoordinates.pb-c.h"
+void output_coordinates__init
+ (OutputCoordinates *message)
+{
+ static const OutputCoordinates init_value = OUTPUT_COORDINATES__INIT;
+ *message = init_value;
+}
+size_t output_coordinates__get_packed_size
+ (const OutputCoordinates *message)
+{
+ assert(message->base.descriptor == &output_coordinates__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t output_coordinates__pack
+ (const OutputCoordinates *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &output_coordinates__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t output_coordinates__pack_to_buffer
+ (const OutputCoordinates *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &output_coordinates__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+OutputCoordinates *
+ output_coordinates__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (OutputCoordinates *)
+ protobuf_c_message_unpack (&output_coordinates__descriptor,
+ allocator, len, data);
+}
+void output_coordinates__free_unpacked
+ (OutputCoordinates *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &output_coordinates__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor output_coordinates__field_descriptors[5] =
+{
+ {
+ "Red",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(OutputCoordinates, has_red),
+ offsetof(OutputCoordinates, red),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Green",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(OutputCoordinates, has_green),
+ offsetof(OutputCoordinates, green),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Blue",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(OutputCoordinates, has_blue),
+ offsetof(OutputCoordinates, blue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OutputLiquids",
+ 4,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(OutputCoordinates, n_outputliquids),
+ offsetof(OutputCoordinates, outputliquids),
+ &output_liquid__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ProcessParametersTableIndex",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(OutputCoordinates, has_processparameterstableindex),
+ offsetof(OutputCoordinates, processparameterstableindex),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned output_coordinates__field_indices_by_name[] = {
+ 2, /* field[2] = Blue */
+ 1, /* field[1] = Green */
+ 3, /* field[3] = OutputLiquids */
+ 4, /* field[4] = ProcessParametersTableIndex */
+ 0, /* field[0] = Red */
+};
+static const ProtobufCIntRange output_coordinates__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor output_coordinates__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "OutputCoordinates",
+ "OutputCoordinates",
+ "OutputCoordinates",
+ "",
+ sizeof(OutputCoordinates),
+ 5,
+ output_coordinates__field_descriptors,
+ output_coordinates__field_indices_by_name,
+ 1, output_coordinates__number_ranges,
+ (ProtobufCMessageInit) output_coordinates__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.h
new file mode 100644
index 000000000..410f0660a
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputCoordinates.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: OutputCoordinates.proto */
+
+#ifndef PROTOBUF_C_OutputCoordinates_2eproto__INCLUDED
+#define PROTOBUF_C_OutputCoordinates_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "OutputLiquid.pb-c.h"
+
+typedef struct _OutputCoordinates OutputCoordinates;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _OutputCoordinates
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_red;
+ int32_t red;
+ protobuf_c_boolean has_green;
+ int32_t green;
+ protobuf_c_boolean has_blue;
+ int32_t blue;
+ size_t n_outputliquids;
+ OutputLiquid **outputliquids;
+ protobuf_c_boolean has_processparameterstableindex;
+ int32_t processparameterstableindex;
+};
+#define OUTPUT_COORDINATES__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&output_coordinates__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0,NULL, 0, 0 }
+
+
+/* OutputCoordinates methods */
+void output_coordinates__init
+ (OutputCoordinates *message);
+size_t output_coordinates__get_packed_size
+ (const OutputCoordinates *message);
+size_t output_coordinates__pack
+ (const OutputCoordinates *message,
+ uint8_t *out);
+size_t output_coordinates__pack_to_buffer
+ (const OutputCoordinates *message,
+ ProtobufCBuffer *buffer);
+OutputCoordinates *
+ output_coordinates__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void output_coordinates__free_unpacked
+ (OutputCoordinates *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*OutputCoordinates_Closure)
+ (const OutputCoordinates *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor output_coordinates__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_OutputCoordinates_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.c
new file mode 100644
index 000000000..73f47bb20
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.c
@@ -0,0 +1,106 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: OutputLiquid.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "OutputLiquid.pb-c.h"
+void output_liquid__init
+ (OutputLiquid *message)
+{
+ static const OutputLiquid init_value = OUTPUT_LIQUID__INIT;
+ *message = init_value;
+}
+size_t output_liquid__get_packed_size
+ (const OutputLiquid *message)
+{
+ assert(message->base.descriptor == &output_liquid__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t output_liquid__pack
+ (const OutputLiquid *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &output_liquid__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t output_liquid__pack_to_buffer
+ (const OutputLiquid *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &output_liquid__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+OutputLiquid *
+ output_liquid__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (OutputLiquid *)
+ protobuf_c_message_unpack (&output_liquid__descriptor,
+ allocator, len, data);
+}
+void output_liquid__free_unpacked
+ (OutputLiquid *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &output_liquid__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor output_liquid__field_descriptors[2] =
+{
+ {
+ "LiquidType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(OutputLiquid, has_liquidtype),
+ offsetof(OutputLiquid, liquidtype),
+ &liquid_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Volume",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(OutputLiquid, has_volume),
+ offsetof(OutputLiquid, volume),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned output_liquid__field_indices_by_name[] = {
+ 0, /* field[0] = LiquidType */
+ 1, /* field[1] = Volume */
+};
+static const ProtobufCIntRange output_liquid__number_ranges[2 + 1] =
+{
+ { 1, 0 },
+ { 4, 1 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor output_liquid__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "OutputLiquid",
+ "OutputLiquid",
+ "OutputLiquid",
+ "",
+ sizeof(OutputLiquid),
+ 2,
+ output_liquid__field_descriptors,
+ output_liquid__field_indices_by_name,
+ 2, output_liquid__number_ranges,
+ (ProtobufCMessageInit) output_liquid__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.h
new file mode 100644
index 000000000..5401b8114
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/ColorLab/OutputLiquid.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: OutputLiquid.proto */
+
+#ifndef PROTOBUF_C_OutputLiquid_2eproto__INCLUDED
+#define PROTOBUF_C_OutputLiquid_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "LiquidType.pb-c.h"
+
+typedef struct _OutputLiquid OutputLiquid;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _OutputLiquid
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_liquidtype;
+ LiquidType liquidtype;
+ protobuf_c_boolean has_volume;
+ double volume;
+};
+#define OUTPUT_LIQUID__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&output_liquid__descriptor) \
+ , 0, LIQUID_TYPE__Cyan, 0, 0 }
+
+
+/* OutputLiquid methods */
+void output_liquid__init
+ (OutputLiquid *message);
+size_t output_liquid__get_packed_size
+ (const OutputLiquid *message);
+size_t output_liquid__pack
+ (const OutputLiquid *message,
+ uint8_t *out);
+size_t output_liquid__pack_to_buffer
+ (const OutputLiquid *message,
+ ProtobufCBuffer *buffer);
+OutputLiquid *
+ output_liquid__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void output_liquid__free_unpacked
+ (OutputLiquid *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*OutputLiquid_Closure)
+ (const OutputLiquid *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor output_liquid__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_OutputLiquid_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.c
index 4f930f614..d5690d60f 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.c
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.c
@@ -7,17 +7,19 @@
#endif
#include "ErrorCode.pb-c.h"
-static const ProtobufCEnumValue error_code__enum_values_by_number[2] =
+static const ProtobufCEnumValue error_code__enum_values_by_number[3] =
{
{ "NONE", "ERROR_CODE__NONE", 0 },
{ "BAD_CRC", "ERROR_CODE__BAD_CRC", 1 },
+ { "INVALID_DIGITAL_PIN_NUMBER", "ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER", 2 },
};
static const ProtobufCIntRange error_code__value_ranges[] = {
-{0, 0},{0, 2}
+{0, 0},{0, 3}
};
-static const ProtobufCEnumValueIndex error_code__enum_values_by_name[2] =
+static const ProtobufCEnumValueIndex error_code__enum_values_by_name[3] =
{
{ "BAD_CRC", 1 },
+ { "INVALID_DIGITAL_PIN_NUMBER", 2 },
{ "NONE", 0 },
};
const ProtobufCEnumDescriptor error_code__descriptor =
@@ -27,9 +29,9 @@ const ProtobufCEnumDescriptor error_code__descriptor =
"ErrorCode",
"ErrorCode",
"",
- 2,
+ 3,
error_code__enum_values_by_number,
- 2,
+ 3,
error_code__enum_values_by_name,
1,
error_code__value_ranges,
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.h
index 7cc30c1d4..feb3bf249 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Common/ErrorCode.pb-c.h
@@ -21,7 +21,11 @@ PROTOBUF_C__BEGIN_DECLS
typedef enum _ErrorCode {
ERROR_CODE__NONE = 0,
- ERROR_CODE__BAD_CRC = 1
+ ERROR_CODE__BAD_CRC = 1,
+ /*
+ *Can be returned by SetDigitalOutResponse.
+ */
+ ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER = 2
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(ERROR_CODE)
} ErrorCode;
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageContainer.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageContainer.pb-c.h
index e0849d4ad..edb24d775 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageContainer.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageContainer.pb-c.h
@@ -44,7 +44,7 @@ struct _MessageContainer
};
#define MESSAGE_CONTAINER__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&message_container__descriptor) \
- , 0, MESSAGE_TYPE__RGB, NULL, 0, 0, 0, 0, 0, {0,NULL}, 0, 0, 0, ERROR_CODE__NONE }
+ , 0, MESSAGE_TYPE__None, NULL, 0, 0, 0, 0, 0, {0,NULL}, 0, 0, 0, ERROR_CODE__NONE }
/* MessageContainer methods */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.c
index 02bf45004..f0d133007 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.c
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.c
@@ -7,11 +7,9 @@
#endif
#include "MessageType.pb-c.h"
-static const ProtobufCEnumValue message_type__enum_values_by_number[66] =
+static const ProtobufCEnumValue message_type__enum_values_by_number[96] =
{
- { "RGB", "MESSAGE_TYPE__RGB", 0 },
- { "Job", "MESSAGE_TYPE__Job", 1 },
- { "Segment", "MESSAGE_TYPE__Segment", 2 },
+ { "None", "MESSAGE_TYPE__None", 0 },
{ "CalculateRequest", "MESSAGE_TYPE__CalculateRequest", 3 },
{ "CalculateResponse", "MESSAGE_TYPE__CalculateResponse", 4 },
{ "ProgressRequest", "MESSAGE_TYPE__ProgressRequest", 5 },
@@ -66,6 +64,10 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[66] =
{ "StubMotorSpeedResponse", "MESSAGE_TYPE__StubMotorSpeedResponse", 54 },
{ "StubMotorPositionRequest", "MESSAGE_TYPE__StubMotorPositionRequest", 55 },
{ "StubMotorPositionResponse", "MESSAGE_TYPE__StubMotorPositionResponse", 56 },
+ { "StubHWVersionRequest", "MESSAGE_TYPE__StubHWVersionRequest", 57 },
+ { "StubHWVersionResponse", "MESSAGE_TYPE__StubHWVersionResponse", 58 },
+ { "StubF3Gpo01WriteRequest", "MESSAGE_TYPE__StubF3Gpo01WriteRequest", 59 },
+ { "StubF3Gpo01WriteResponse", "MESSAGE_TYPE__StubF3Gpo01WriteResponse", 60 },
{ "ExternalBridgeUdpDiscoveryPacket", "MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket", 1000 },
{ "ExternalClientLoginRequest", "MESSAGE_TYPE__ExternalClientLoginRequest", 1001 },
{ "ExternalClientLoginResponse", "MESSAGE_TYPE__ExternalClientLoginResponse", 1002 },
@@ -75,78 +77,136 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[66] =
{ "OverrideDataBaseResponse", "MESSAGE_TYPE__OverrideDataBaseResponse", 1006 },
{ "KeepAliveRequest", "MESSAGE_TYPE__KeepAliveRequest", 1007 },
{ "KeepAliveResponse", "MESSAGE_TYPE__KeepAliveResponse", 1008 },
+ { "PushDiagnosticsRequest", "MESSAGE_TYPE__PushDiagnosticsRequest", 2000 },
+ { "PushDiagnosticsResponse", "MESSAGE_TYPE__PushDiagnosticsResponse", 2001 },
+ { "MotorAbortHomingRequest", "MESSAGE_TYPE__MotorAbortHomingRequest", 2002 },
+ { "MotorAbortHomingResponse", "MESSAGE_TYPE__MotorAbortHomingResponse", 2003 },
+ { "MotorHomingRequest", "MESSAGE_TYPE__MotorHomingRequest", 2004 },
+ { "MotorHomingResponse", "MESSAGE_TYPE__MotorHomingResponse", 2005 },
+ { "MotorJoggingRequest", "MESSAGE_TYPE__MotorJoggingRequest", 2006 },
+ { "MotorJoggingResponse", "MESSAGE_TYPE__MotorJoggingResponse", 2007 },
+ { "MotorAbortJoggingRequest", "MESSAGE_TYPE__MotorAbortJoggingRequest", 2008 },
+ { "MotorAbortJoggingResponse", "MESSAGE_TYPE__MotorAbortJoggingResponse", 2009 },
+ { "DispenserAbortHomingRequest", "MESSAGE_TYPE__DispenserAbortHomingRequest", 2010 },
+ { "DispenserAbortHomingResponse", "MESSAGE_TYPE__DispenserAbortHomingResponse", 2011 },
+ { "DispenserHomingRequest", "MESSAGE_TYPE__DispenserHomingRequest", 2012 },
+ { "DispenserHomingResponse", "MESSAGE_TYPE__DispenserHomingResponse", 2013 },
+ { "DispenserJoggingRequest", "MESSAGE_TYPE__DispenserJoggingRequest", 2014 },
+ { "DispenserJoggingResponse", "MESSAGE_TYPE__DispenserJoggingResponse", 2015 },
+ { "DispenserAbortJoggingRequest", "MESSAGE_TYPE__DispenserAbortJoggingRequest", 2016 },
+ { "DispenserAbortJoggingResponse", "MESSAGE_TYPE__DispenserAbortJoggingResponse", 2017 },
+ { "SetDigitalOutRequest", "MESSAGE_TYPE__SetDigitalOutRequest", 2018 },
+ { "SetDigitalOutResponse", "MESSAGE_TYPE__SetDigitalOutResponse", 2019 },
+ { "ThreadJoggingRequest", "MESSAGE_TYPE__ThreadJoggingRequest", 2020 },
+ { "ThreadJoggingResponse", "MESSAGE_TYPE__ThreadJoggingResponse", 2021 },
+ { "ThreadAbortJoggingRequest", "MESSAGE_TYPE__ThreadAbortJoggingRequest", 2022 },
+ { "ThreadAbortJoggingResponse", "MESSAGE_TYPE__ThreadAbortJoggingResponse", 2023 },
+ { "JobRequest", "MESSAGE_TYPE__JobRequest", 3000 },
+ { "JobResponse", "MESSAGE_TYPE__JobResponse", 3001 },
+ { "AbortJobRequest", "MESSAGE_TYPE__AbortJobRequest", 3002 },
+ { "AbortJobResponse", "MESSAGE_TYPE__AbortJobResponse", 3003 },
};
static const ProtobufCIntRange message_type__value_ranges[] = {
-{0, 0},{1000, 57},{0, 66}
+{0, 0},{3, 1},{1000, 59},{2000, 68},{3000, 92},{0, 96}
};
-static const ProtobufCEnumValueIndex message_type__enum_values_by_name[66] =
+static const ProtobufCEnumValueIndex message_type__enum_values_by_name[96] =
{
- { "CalculateRequest", 3 },
- { "CalculateResponse", 4 },
- { "DirectSynchronizationRequest", 60 },
- { "DirectSynchronizationResponse", 61 },
- { "ExternalBridgeUdpDiscoveryPacket", 57 },
- { "ExternalClientLoginRequest", 58 },
- { "ExternalClientLoginResponse", 59 },
- { "Job", 1 },
- { "KeepAliveRequest", 64 },
- { "KeepAliveResponse", 65 },
- { "OverrideDataBaseRequest", 62 },
- { "OverrideDataBaseResponse", 63 },
- { "ProgressRequest", 5 },
- { "ProgressResponse", 6 },
- { "RGB", 0 },
- { "Segment", 2 },
- { "StubCartridgeReadRequest", 7 },
- { "StubCartridgeReadResponse", 8 },
- { "StubCartridgeWriteRequest", 9 },
- { "StubCartridgeWriteResponse", 10 },
- { "StubDispenserRequest", 11 },
- { "StubDispenserResponse", 12 },
- { "StubExtFlashReadRequest", 33 },
- { "StubExtFlashReadResponse", 34 },
- { "StubExtFlashWriteRequest", 35 },
- { "StubExtFlashWriteResponse", 36 },
- { "StubFPGAReadBackRegRequest", 37 },
- { "StubFPGAReadBackRegResponse", 38 },
- { "StubFPGAReadVersionRequest", 39 },
- { "StubFPGAReadVersionResponse", 40 },
- { "StubGPIOInputSetupRequest", 13 },
- { "StubGPIOInputSetupResponse", 14 },
- { "StubGPIOReadBitRequest", 15 },
- { "StubGPIOReadBitResponse", 16 },
- { "StubGPIOReadByteRequest", 17 },
- { "StubGPIOReadByteResponse", 18 },
- { "StubGPIOWriteBitRequest", 19 },
- { "StubGPIOWriteBitResponse", 20 },
- { "StubGPIOWriteByteRequest", 21 },
- { "StubGPIOWriteByteResponse", 22 },
- { "StubHeaterRequest", 23 },
- { "StubHeaterResponse", 24 },
- { "StubL6470DriverRequest", 41 },
- { "StubL6470DriverResponse", 42 },
- { "StubMotorEncoderRequest", 25 },
- { "StubMotorEncoderResponse", 26 },
- { "StubMotorInitRequest", 43 },
- { "StubMotorInitResponse", 44 },
- { "StubMotorMovRequest", 51 },
- { "StubMotorMovResponse", 52 },
- { "StubMotorPositionRequest", 55 },
- { "StubMotorPositionResponse", 56 },
- { "StubMotorRunRequest", 45 },
- { "StubMotorRunResponse", 46 },
- { "StubMotorSpeedRequest", 53 },
- { "StubMotorSpeedResponse", 54 },
- { "StubMotorStatusRequest", 49 },
- { "StubMotorStatusResponse", 50 },
- { "StubMotorStopRequest", 47 },
- { "StubMotorStopResponse", 48 },
- { "StubOptLimitSwitchRequest", 27 },
- { "StubOptLimitSwitchResponse", 28 },
- { "StubSteperMotorRequest", 29 },
- { "StubSteperMotorResponse", 30 },
- { "StubValveRequest", 31 },
- { "StubValveResponse", 32 },
+ { "AbortJobRequest", 94 },
+ { "AbortJobResponse", 95 },
+ { "CalculateRequest", 1 },
+ { "CalculateResponse", 2 },
+ { "DirectSynchronizationRequest", 62 },
+ { "DirectSynchronizationResponse", 63 },
+ { "DispenserAbortHomingRequest", 78 },
+ { "DispenserAbortHomingResponse", 79 },
+ { "DispenserAbortJoggingRequest", 84 },
+ { "DispenserAbortJoggingResponse", 85 },
+ { "DispenserHomingRequest", 80 },
+ { "DispenserHomingResponse", 81 },
+ { "DispenserJoggingRequest", 82 },
+ { "DispenserJoggingResponse", 83 },
+ { "ExternalBridgeUdpDiscoveryPacket", 59 },
+ { "ExternalClientLoginRequest", 60 },
+ { "ExternalClientLoginResponse", 61 },
+ { "JobRequest", 92 },
+ { "JobResponse", 93 },
+ { "KeepAliveRequest", 66 },
+ { "KeepAliveResponse", 67 },
+ { "MotorAbortHomingRequest", 70 },
+ { "MotorAbortHomingResponse", 71 },
+ { "MotorAbortJoggingRequest", 76 },
+ { "MotorAbortJoggingResponse", 77 },
+ { "MotorHomingRequest", 72 },
+ { "MotorHomingResponse", 73 },
+ { "MotorJoggingRequest", 74 },
+ { "MotorJoggingResponse", 75 },
+ { "None", 0 },
+ { "OverrideDataBaseRequest", 64 },
+ { "OverrideDataBaseResponse", 65 },
+ { "ProgressRequest", 3 },
+ { "ProgressResponse", 4 },
+ { "PushDiagnosticsRequest", 68 },
+ { "PushDiagnosticsResponse", 69 },
+ { "SetDigitalOutRequest", 86 },
+ { "SetDigitalOutResponse", 87 },
+ { "StubCartridgeReadRequest", 5 },
+ { "StubCartridgeReadResponse", 6 },
+ { "StubCartridgeWriteRequest", 7 },
+ { "StubCartridgeWriteResponse", 8 },
+ { "StubDispenserRequest", 9 },
+ { "StubDispenserResponse", 10 },
+ { "StubExtFlashReadRequest", 31 },
+ { "StubExtFlashReadResponse", 32 },
+ { "StubExtFlashWriteRequest", 33 },
+ { "StubExtFlashWriteResponse", 34 },
+ { "StubF3Gpo01WriteRequest", 57 },
+ { "StubF3Gpo01WriteResponse", 58 },
+ { "StubFPGAReadBackRegRequest", 35 },
+ { "StubFPGAReadBackRegResponse", 36 },
+ { "StubFPGAReadVersionRequest", 37 },
+ { "StubFPGAReadVersionResponse", 38 },
+ { "StubGPIOInputSetupRequest", 11 },
+ { "StubGPIOInputSetupResponse", 12 },
+ { "StubGPIOReadBitRequest", 13 },
+ { "StubGPIOReadBitResponse", 14 },
+ { "StubGPIOReadByteRequest", 15 },
+ { "StubGPIOReadByteResponse", 16 },
+ { "StubGPIOWriteBitRequest", 17 },
+ { "StubGPIOWriteBitResponse", 18 },
+ { "StubGPIOWriteByteRequest", 19 },
+ { "StubGPIOWriteByteResponse", 20 },
+ { "StubHWVersionRequest", 55 },
+ { "StubHWVersionResponse", 56 },
+ { "StubHeaterRequest", 21 },
+ { "StubHeaterResponse", 22 },
+ { "StubL6470DriverRequest", 39 },
+ { "StubL6470DriverResponse", 40 },
+ { "StubMotorEncoderRequest", 23 },
+ { "StubMotorEncoderResponse", 24 },
+ { "StubMotorInitRequest", 41 },
+ { "StubMotorInitResponse", 42 },
+ { "StubMotorMovRequest", 49 },
+ { "StubMotorMovResponse", 50 },
+ { "StubMotorPositionRequest", 53 },
+ { "StubMotorPositionResponse", 54 },
+ { "StubMotorRunRequest", 43 },
+ { "StubMotorRunResponse", 44 },
+ { "StubMotorSpeedRequest", 51 },
+ { "StubMotorSpeedResponse", 52 },
+ { "StubMotorStatusRequest", 47 },
+ { "StubMotorStatusResponse", 48 },
+ { "StubMotorStopRequest", 45 },
+ { "StubMotorStopResponse", 46 },
+ { "StubOptLimitSwitchRequest", 25 },
+ { "StubOptLimitSwitchResponse", 26 },
+ { "StubSteperMotorRequest", 27 },
+ { "StubSteperMotorResponse", 28 },
+ { "StubValveRequest", 29 },
+ { "StubValveResponse", 30 },
+ { "ThreadAbortJoggingRequest", 90 },
+ { "ThreadAbortJoggingResponse", 91 },
+ { "ThreadJoggingRequest", 88 },
+ { "ThreadJoggingResponse", 89 },
};
const ProtobufCEnumDescriptor message_type__descriptor =
{
@@ -155,11 +215,11 @@ const ProtobufCEnumDescriptor message_type__descriptor =
"MessageType",
"MessageType",
"",
- 66,
+ 96,
message_type__enum_values_by_number,
- 66,
+ 96,
message_type__enum_values_by_name,
- 2,
+ 5,
message_type__value_ranges,
NULL,NULL,NULL,NULL /* reserved[1234] */
};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.h
index 04e3336f2..ccae52dd8 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Common/MessageType.pb-c.h
@@ -20,12 +20,7 @@ PROTOBUF_C__BEGIN_DECLS
/* --- enums --- */
typedef enum _MessageType {
- MESSAGE_TYPE__RGB = 0,
- MESSAGE_TYPE__Job = 1,
- MESSAGE_TYPE__Segment = 2,
- /*
- *Stubs
- */
+ MESSAGE_TYPE__None = 0,
MESSAGE_TYPE__CalculateRequest = 3,
MESSAGE_TYPE__CalculateResponse = 4,
MESSAGE_TYPE__ProgressRequest = 5,
@@ -80,9 +75,10 @@ typedef enum _MessageType {
MESSAGE_TYPE__StubMotorSpeedResponse = 54,
MESSAGE_TYPE__StubMotorPositionRequest = 55,
MESSAGE_TYPE__StubMotorPositionResponse = 56,
- /*
- *Integration
- */
+ MESSAGE_TYPE__StubHWVersionRequest = 57,
+ MESSAGE_TYPE__StubHWVersionResponse = 58,
+ MESSAGE_TYPE__StubF3Gpo01WriteRequest = 59,
+ MESSAGE_TYPE__StubF3Gpo01WriteResponse = 60,
MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket = 1000,
MESSAGE_TYPE__ExternalClientLoginRequest = 1001,
MESSAGE_TYPE__ExternalClientLoginResponse = 1002,
@@ -91,7 +87,35 @@ typedef enum _MessageType {
MESSAGE_TYPE__OverrideDataBaseRequest = 1005,
MESSAGE_TYPE__OverrideDataBaseResponse = 1006,
MESSAGE_TYPE__KeepAliveRequest = 1007,
- MESSAGE_TYPE__KeepAliveResponse = 1008
+ MESSAGE_TYPE__KeepAliveResponse = 1008,
+ MESSAGE_TYPE__PushDiagnosticsRequest = 2000,
+ MESSAGE_TYPE__PushDiagnosticsResponse = 2001,
+ MESSAGE_TYPE__MotorAbortHomingRequest = 2002,
+ MESSAGE_TYPE__MotorAbortHomingResponse = 2003,
+ MESSAGE_TYPE__MotorHomingRequest = 2004,
+ MESSAGE_TYPE__MotorHomingResponse = 2005,
+ MESSAGE_TYPE__MotorJoggingRequest = 2006,
+ MESSAGE_TYPE__MotorJoggingResponse = 2007,
+ MESSAGE_TYPE__MotorAbortJoggingRequest = 2008,
+ MESSAGE_TYPE__MotorAbortJoggingResponse = 2009,
+ MESSAGE_TYPE__DispenserAbortHomingRequest = 2010,
+ MESSAGE_TYPE__DispenserAbortHomingResponse = 2011,
+ MESSAGE_TYPE__DispenserHomingRequest = 2012,
+ MESSAGE_TYPE__DispenserHomingResponse = 2013,
+ MESSAGE_TYPE__DispenserJoggingRequest = 2014,
+ MESSAGE_TYPE__DispenserJoggingResponse = 2015,
+ MESSAGE_TYPE__DispenserAbortJoggingRequest = 2016,
+ MESSAGE_TYPE__DispenserAbortJoggingResponse = 2017,
+ MESSAGE_TYPE__SetDigitalOutRequest = 2018,
+ MESSAGE_TYPE__SetDigitalOutResponse = 2019,
+ MESSAGE_TYPE__ThreadJoggingRequest = 2020,
+ MESSAGE_TYPE__ThreadJoggingResponse = 2021,
+ MESSAGE_TYPE__ThreadAbortJoggingRequest = 2022,
+ MESSAGE_TYPE__ThreadAbortJoggingResponse = 2023,
+ MESSAGE_TYPE__JobRequest = 3000,
+ MESSAGE_TYPE__JobResponse = 3001,
+ MESSAGE_TYPE__AbortJobRequest = 3002,
+ MESSAGE_TYPE__AbortJobResponse = 3003
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MESSAGE_TYPE)
} MessageType;
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.c
new file mode 100644
index 000000000..e50aa5c2c
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DataFileFrame.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DataFileFrame.pb-c.h"
+void data_file_frame__init
+ (DataFileFrame *message)
+{
+ static const DataFileFrame init_value = DATA_FILE_FRAME__INIT;
+ *message = init_value;
+}
+size_t data_file_frame__get_packed_size
+ (const DataFileFrame *message)
+{
+ assert(message->base.descriptor == &data_file_frame__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t data_file_frame__pack
+ (const DataFileFrame *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &data_file_frame__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t data_file_frame__pack_to_buffer
+ (const DataFileFrame *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &data_file_frame__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DataFileFrame *
+ data_file_frame__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DataFileFrame *)
+ protobuf_c_message_unpack (&data_file_frame__descriptor,
+ allocator, len, data);
+}
+void data_file_frame__free_unpacked
+ (DataFileFrame *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &data_file_frame__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor data_file_frame__field_descriptors[2] =
+{
+ {
+ "Milliseconds",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DataFileFrame, has_milliseconds),
+ offsetof(DataFileFrame, milliseconds),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PushDiagnosticsResponse",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(DataFileFrame, pushdiagnosticsresponse),
+ &push_diagnostics_response__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned data_file_frame__field_indices_by_name[] = {
+ 0, /* field[0] = Milliseconds */
+ 1, /* field[1] = PushDiagnosticsResponse */
+};
+static const ProtobufCIntRange data_file_frame__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor data_file_frame__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DataFileFrame",
+ "DataFileFrame",
+ "DataFileFrame",
+ "",
+ sizeof(DataFileFrame),
+ 2,
+ data_file_frame__field_descriptors,
+ data_file_frame__field_indices_by_name,
+ 1, data_file_frame__number_ranges,
+ (ProtobufCMessageInit) data_file_frame__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.h
new file mode 100644
index 000000000..9ad0da792
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DataFileFrame.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DataFileFrame.proto */
+
+#ifndef PROTOBUF_C_DataFileFrame_2eproto__INCLUDED
+#define PROTOBUF_C_DataFileFrame_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "PushDiagnosticsResponse.pb-c.h"
+
+typedef struct _DataFileFrame DataFileFrame;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DataFileFrame
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_milliseconds;
+ int32_t milliseconds;
+ PushDiagnosticsResponse *pushdiagnosticsresponse;
+};
+#define DATA_FILE_FRAME__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&data_file_frame__descriptor) \
+ , 0, 0, NULL }
+
+
+/* DataFileFrame methods */
+void data_file_frame__init
+ (DataFileFrame *message);
+size_t data_file_frame__get_packed_size
+ (const DataFileFrame *message);
+size_t data_file_frame__pack
+ (const DataFileFrame *message,
+ uint8_t *out);
+size_t data_file_frame__pack_to_buffer
+ (const DataFileFrame *message,
+ ProtobufCBuffer *buffer);
+DataFileFrame *
+ data_file_frame__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void data_file_frame__free_unpacked
+ (DataFileFrame *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DataFileFrame_Closure)
+ (const DataFileFrame *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor data_file_frame__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DataFileFrame_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.c
new file mode 100644
index 000000000..48e358d3d
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DigitalPin.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DigitalPin.pb-c.h"
+void digital_pin__init
+ (DigitalPin *message)
+{
+ static const DigitalPin init_value = DIGITAL_PIN__INIT;
+ *message = init_value;
+}
+size_t digital_pin__get_packed_size
+ (const DigitalPin *message)
+{
+ assert(message->base.descriptor == &digital_pin__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t digital_pin__pack
+ (const DigitalPin *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &digital_pin__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t digital_pin__pack_to_buffer
+ (const DigitalPin *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &digital_pin__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DigitalPin *
+ digital_pin__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DigitalPin *)
+ protobuf_c_message_unpack (&digital_pin__descriptor,
+ allocator, len, data);
+}
+void digital_pin__free_unpacked
+ (DigitalPin *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &digital_pin__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor digital_pin__field_descriptors[2] =
+{
+ {
+ "Port",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DigitalPin, has_port),
+ offsetof(DigitalPin, port),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Value",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(DigitalPin, has_value),
+ offsetof(DigitalPin, value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned digital_pin__field_indices_by_name[] = {
+ 0, /* field[0] = Port */
+ 1, /* field[1] = Value */
+};
+static const ProtobufCIntRange digital_pin__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor digital_pin__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DigitalPin",
+ "DigitalPin",
+ "DigitalPin",
+ "",
+ sizeof(DigitalPin),
+ 2,
+ digital_pin__field_descriptors,
+ digital_pin__field_indices_by_name,
+ 1, digital_pin__number_ranges,
+ (ProtobufCMessageInit) digital_pin__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.h
new file mode 100644
index 000000000..2fd18cdff
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DigitalPin.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DigitalPin.proto */
+
+#ifndef PROTOBUF_C_DigitalPin_2eproto__INCLUDED
+#define PROTOBUF_C_DigitalPin_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DigitalPin DigitalPin;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DigitalPin
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_port;
+ int32_t port;
+ protobuf_c_boolean has_value;
+ protobuf_c_boolean value;
+};
+#define DIGITAL_PIN__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&digital_pin__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* DigitalPin methods */
+void digital_pin__init
+ (DigitalPin *message);
+size_t digital_pin__get_packed_size
+ (const DigitalPin *message);
+size_t digital_pin__pack
+ (const DigitalPin *message,
+ uint8_t *out);
+size_t digital_pin__pack_to_buffer
+ (const DigitalPin *message,
+ ProtobufCBuffer *buffer);
+DigitalPin *
+ digital_pin__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void digital_pin__free_unpacked
+ (DigitalPin *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DigitalPin_Closure)
+ (const DigitalPin *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor digital_pin__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DigitalPin_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.c
new file mode 100644
index 000000000..57826af15
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortHomingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserAbortHomingRequest.pb-c.h"
+void dispenser_abort_homing_request__init
+ (DispenserAbortHomingRequest *message)
+{
+ static const DispenserAbortHomingRequest init_value = DISPENSER_ABORT_HOMING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t dispenser_abort_homing_request__get_packed_size
+ (const DispenserAbortHomingRequest *message)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_abort_homing_request__pack
+ (const DispenserAbortHomingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_abort_homing_request__pack_to_buffer
+ (const DispenserAbortHomingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserAbortHomingRequest *
+ dispenser_abort_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserAbortHomingRequest *)
+ protobuf_c_message_unpack (&dispenser_abort_homing_request__descriptor,
+ allocator, len, data);
+}
+void dispenser_abort_homing_request__free_unpacked
+ (DispenserAbortHomingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_abort_homing_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_abort_homing_request__field_descriptors[1] =
+{
+ {
+ "Code",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DispenserAbortHomingRequest, has_code),
+ offsetof(DispenserAbortHomingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_abort_homing_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange dispenser_abort_homing_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor dispenser_abort_homing_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserAbortHomingRequest",
+ "DispenserAbortHomingRequest",
+ "DispenserAbortHomingRequest",
+ "",
+ sizeof(DispenserAbortHomingRequest),
+ 1,
+ dispenser_abort_homing_request__field_descriptors,
+ dispenser_abort_homing_request__field_indices_by_name,
+ 1, dispenser_abort_homing_request__number_ranges,
+ (ProtobufCMessageInit) dispenser_abort_homing_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.h
new file mode 100644
index 000000000..2e2395277
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortHomingRequest.proto */
+
+#ifndef PROTOBUF_C_DispenserAbortHomingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserAbortHomingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserAbortHomingRequest DispenserAbortHomingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserAbortHomingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define DISPENSER_ABORT_HOMING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_abort_homing_request__descriptor) \
+ , 0, 0 }
+
+
+/* DispenserAbortHomingRequest methods */
+void dispenser_abort_homing_request__init
+ (DispenserAbortHomingRequest *message);
+size_t dispenser_abort_homing_request__get_packed_size
+ (const DispenserAbortHomingRequest *message);
+size_t dispenser_abort_homing_request__pack
+ (const DispenserAbortHomingRequest *message,
+ uint8_t *out);
+size_t dispenser_abort_homing_request__pack_to_buffer
+ (const DispenserAbortHomingRequest *message,
+ ProtobufCBuffer *buffer);
+DispenserAbortHomingRequest *
+ dispenser_abort_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_abort_homing_request__free_unpacked
+ (DispenserAbortHomingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserAbortHomingRequest_Closure)
+ (const DispenserAbortHomingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_abort_homing_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserAbortHomingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.c
new file mode 100644
index 000000000..a5de8be16
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortHomingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserAbortHomingResponse.pb-c.h"
+void dispenser_abort_homing_response__init
+ (DispenserAbortHomingResponse *message)
+{
+ static const DispenserAbortHomingResponse init_value = DISPENSER_ABORT_HOMING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t dispenser_abort_homing_response__get_packed_size
+ (const DispenserAbortHomingResponse *message)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_abort_homing_response__pack
+ (const DispenserAbortHomingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_abort_homing_response__pack_to_buffer
+ (const DispenserAbortHomingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_abort_homing_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserAbortHomingResponse *
+ dispenser_abort_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserAbortHomingResponse *)
+ protobuf_c_message_unpack (&dispenser_abort_homing_response__descriptor,
+ allocator, len, data);
+}
+void dispenser_abort_homing_response__free_unpacked
+ (DispenserAbortHomingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_abort_homing_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define dispenser_abort_homing_response__field_descriptors NULL
+#define dispenser_abort_homing_response__field_indices_by_name NULL
+#define dispenser_abort_homing_response__number_ranges NULL
+const ProtobufCMessageDescriptor dispenser_abort_homing_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserAbortHomingResponse",
+ "DispenserAbortHomingResponse",
+ "DispenserAbortHomingResponse",
+ "",
+ sizeof(DispenserAbortHomingResponse),
+ 0,
+ dispenser_abort_homing_response__field_descriptors,
+ dispenser_abort_homing_response__field_indices_by_name,
+ 0, dispenser_abort_homing_response__number_ranges,
+ (ProtobufCMessageInit) dispenser_abort_homing_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.h
new file mode 100644
index 000000000..73e37250d
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortHomingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortHomingResponse.proto */
+
+#ifndef PROTOBUF_C_DispenserAbortHomingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserAbortHomingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserAbortHomingResponse DispenserAbortHomingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserAbortHomingResponse
+{
+ ProtobufCMessage base;
+};
+#define DISPENSER_ABORT_HOMING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_abort_homing_response__descriptor) \
+ }
+
+
+/* DispenserAbortHomingResponse methods */
+void dispenser_abort_homing_response__init
+ (DispenserAbortHomingResponse *message);
+size_t dispenser_abort_homing_response__get_packed_size
+ (const DispenserAbortHomingResponse *message);
+size_t dispenser_abort_homing_response__pack
+ (const DispenserAbortHomingResponse *message,
+ uint8_t *out);
+size_t dispenser_abort_homing_response__pack_to_buffer
+ (const DispenserAbortHomingResponse *message,
+ ProtobufCBuffer *buffer);
+DispenserAbortHomingResponse *
+ dispenser_abort_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_abort_homing_response__free_unpacked
+ (DispenserAbortHomingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserAbortHomingResponse_Closure)
+ (const DispenserAbortHomingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_abort_homing_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserAbortHomingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.c
new file mode 100644
index 000000000..1a7a595d6
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserAbortJoggingRequest.pb-c.h"
+void dispenser_abort_jogging_request__init
+ (DispenserAbortJoggingRequest *message)
+{
+ static const DispenserAbortJoggingRequest init_value = DISPENSER_ABORT_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t dispenser_abort_jogging_request__get_packed_size
+ (const DispenserAbortJoggingRequest *message)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_abort_jogging_request__pack
+ (const DispenserAbortJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_abort_jogging_request__pack_to_buffer
+ (const DispenserAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserAbortJoggingRequest *
+ dispenser_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserAbortJoggingRequest *)
+ protobuf_c_message_unpack (&dispenser_abort_jogging_request__descriptor,
+ allocator, len, data);
+}
+void dispenser_abort_jogging_request__free_unpacked
+ (DispenserAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_abort_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_abort_jogging_request__field_descriptors[1] =
+{
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DispenserAbortJoggingRequest, has_code),
+ offsetof(DispenserAbortJoggingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_abort_jogging_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange dispenser_abort_jogging_request__number_ranges[1 + 1] =
+{
+ { 2, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor dispenser_abort_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserAbortJoggingRequest",
+ "DispenserAbortJoggingRequest",
+ "DispenserAbortJoggingRequest",
+ "",
+ sizeof(DispenserAbortJoggingRequest),
+ 1,
+ dispenser_abort_jogging_request__field_descriptors,
+ dispenser_abort_jogging_request__field_indices_by_name,
+ 1, dispenser_abort_jogging_request__number_ranges,
+ (ProtobufCMessageInit) dispenser_abort_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.h
new file mode 100644
index 000000000..342d3fd25
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_DispenserAbortJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserAbortJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserAbortJoggingRequest DispenserAbortJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserAbortJoggingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define DISPENSER_ABORT_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_abort_jogging_request__descriptor) \
+ , 0, 0 }
+
+
+/* DispenserAbortJoggingRequest methods */
+void dispenser_abort_jogging_request__init
+ (DispenserAbortJoggingRequest *message);
+size_t dispenser_abort_jogging_request__get_packed_size
+ (const DispenserAbortJoggingRequest *message);
+size_t dispenser_abort_jogging_request__pack
+ (const DispenserAbortJoggingRequest *message,
+ uint8_t *out);
+size_t dispenser_abort_jogging_request__pack_to_buffer
+ (const DispenserAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+DispenserAbortJoggingRequest *
+ dispenser_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_abort_jogging_request__free_unpacked
+ (DispenserAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserAbortJoggingRequest_Closure)
+ (const DispenserAbortJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_abort_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserAbortJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.c
new file mode 100644
index 000000000..70c7f1ee0
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserAbortJoggingResponse.pb-c.h"
+void dispenser_abort_jogging_response__init
+ (DispenserAbortJoggingResponse *message)
+{
+ static const DispenserAbortJoggingResponse init_value = DISPENSER_ABORT_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t dispenser_abort_jogging_response__get_packed_size
+ (const DispenserAbortJoggingResponse *message)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_abort_jogging_response__pack
+ (const DispenserAbortJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_abort_jogging_response__pack_to_buffer
+ (const DispenserAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserAbortJoggingResponse *
+ dispenser_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserAbortJoggingResponse *)
+ protobuf_c_message_unpack (&dispenser_abort_jogging_response__descriptor,
+ allocator, len, data);
+}
+void dispenser_abort_jogging_response__free_unpacked
+ (DispenserAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_abort_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_abort_jogging_response__field_descriptors[1] =
+{
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DispenserAbortJoggingResponse, has_code),
+ offsetof(DispenserAbortJoggingResponse, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_abort_jogging_response__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange dispenser_abort_jogging_response__number_ranges[1 + 1] =
+{
+ { 2, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor dispenser_abort_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserAbortJoggingResponse",
+ "DispenserAbortJoggingResponse",
+ "DispenserAbortJoggingResponse",
+ "",
+ sizeof(DispenserAbortJoggingResponse),
+ 1,
+ dispenser_abort_jogging_response__field_descriptors,
+ dispenser_abort_jogging_response__field_indices_by_name,
+ 1, dispenser_abort_jogging_response__number_ranges,
+ (ProtobufCMessageInit) dispenser_abort_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.h
new file mode 100644
index 000000000..e9ddef6cb
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserAbortJoggingResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserAbortJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_DispenserAbortJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserAbortJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserAbortJoggingResponse DispenserAbortJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserAbortJoggingResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define DISPENSER_ABORT_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_abort_jogging_response__descriptor) \
+ , 0, 0 }
+
+
+/* DispenserAbortJoggingResponse methods */
+void dispenser_abort_jogging_response__init
+ (DispenserAbortJoggingResponse *message);
+size_t dispenser_abort_jogging_response__get_packed_size
+ (const DispenserAbortJoggingResponse *message);
+size_t dispenser_abort_jogging_response__pack
+ (const DispenserAbortJoggingResponse *message,
+ uint8_t *out);
+size_t dispenser_abort_jogging_response__pack_to_buffer
+ (const DispenserAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+DispenserAbortJoggingResponse *
+ dispenser_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_abort_jogging_response__free_unpacked
+ (DispenserAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserAbortJoggingResponse_Closure)
+ (const DispenserAbortJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_abort_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserAbortJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.c
new file mode 100644
index 000000000..83e8f0f36
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserHomingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserHomingRequest.pb-c.h"
+void dispenser_homing_request__init
+ (DispenserHomingRequest *message)
+{
+ static const DispenserHomingRequest init_value = DISPENSER_HOMING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t dispenser_homing_request__get_packed_size
+ (const DispenserHomingRequest *message)
+{
+ assert(message->base.descriptor == &dispenser_homing_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_homing_request__pack
+ (const DispenserHomingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_homing_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_homing_request__pack_to_buffer
+ (const DispenserHomingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_homing_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserHomingRequest *
+ dispenser_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserHomingRequest *)
+ protobuf_c_message_unpack (&dispenser_homing_request__descriptor,
+ allocator, len, data);
+}
+void dispenser_homing_request__free_unpacked
+ (DispenserHomingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_homing_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_homing_request__field_descriptors[2] =
+{
+ {
+ "Code",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DispenserHomingRequest, has_code),
+ offsetof(DispenserHomingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DispenserHomingRequest, has_speed),
+ offsetof(DispenserHomingRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_homing_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+ 1, /* field[1] = Speed */
+};
+static const ProtobufCIntRange dispenser_homing_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor dispenser_homing_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserHomingRequest",
+ "DispenserHomingRequest",
+ "DispenserHomingRequest",
+ "",
+ sizeof(DispenserHomingRequest),
+ 2,
+ dispenser_homing_request__field_descriptors,
+ dispenser_homing_request__field_indices_by_name,
+ 1, dispenser_homing_request__number_ranges,
+ (ProtobufCMessageInit) dispenser_homing_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.h
new file mode 100644
index 000000000..ba7ab19cf
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserHomingRequest.proto */
+
+#ifndef PROTOBUF_C_DispenserHomingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserHomingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserHomingRequest DispenserHomingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserHomingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define DISPENSER_HOMING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_homing_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* DispenserHomingRequest methods */
+void dispenser_homing_request__init
+ (DispenserHomingRequest *message);
+size_t dispenser_homing_request__get_packed_size
+ (const DispenserHomingRequest *message);
+size_t dispenser_homing_request__pack
+ (const DispenserHomingRequest *message,
+ uint8_t *out);
+size_t dispenser_homing_request__pack_to_buffer
+ (const DispenserHomingRequest *message,
+ ProtobufCBuffer *buffer);
+DispenserHomingRequest *
+ dispenser_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_homing_request__free_unpacked
+ (DispenserHomingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserHomingRequest_Closure)
+ (const DispenserHomingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_homing_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserHomingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.c
new file mode 100644
index 000000000..e37aaaa67
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserHomingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserHomingResponse.pb-c.h"
+void dispenser_homing_response__init
+ (DispenserHomingResponse *message)
+{
+ static const DispenserHomingResponse init_value = DISPENSER_HOMING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t dispenser_homing_response__get_packed_size
+ (const DispenserHomingResponse *message)
+{
+ assert(message->base.descriptor == &dispenser_homing_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_homing_response__pack
+ (const DispenserHomingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_homing_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_homing_response__pack_to_buffer
+ (const DispenserHomingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_homing_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserHomingResponse *
+ dispenser_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserHomingResponse *)
+ protobuf_c_message_unpack (&dispenser_homing_response__descriptor,
+ allocator, len, data);
+}
+void dispenser_homing_response__free_unpacked
+ (DispenserHomingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_homing_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_homing_response__field_descriptors[2] =
+{
+ {
+ "Progress",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DispenserHomingResponse, has_progress),
+ offsetof(DispenserHomingResponse, progress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxProgress",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DispenserHomingResponse, has_maxprogress),
+ offsetof(DispenserHomingResponse, maxprogress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_homing_response__field_indices_by_name[] = {
+ 1, /* field[1] = MaxProgress */
+ 0, /* field[0] = Progress */
+};
+static const ProtobufCIntRange dispenser_homing_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor dispenser_homing_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserHomingResponse",
+ "DispenserHomingResponse",
+ "DispenserHomingResponse",
+ "",
+ sizeof(DispenserHomingResponse),
+ 2,
+ dispenser_homing_response__field_descriptors,
+ dispenser_homing_response__field_indices_by_name,
+ 1, dispenser_homing_response__number_ranges,
+ (ProtobufCMessageInit) dispenser_homing_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.h
new file mode 100644
index 000000000..76899841b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserHomingResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserHomingResponse.proto */
+
+#ifndef PROTOBUF_C_DispenserHomingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserHomingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserHomingResponse DispenserHomingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserHomingResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_progress;
+ double progress;
+ protobuf_c_boolean has_maxprogress;
+ double maxprogress;
+};
+#define DISPENSER_HOMING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_homing_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* DispenserHomingResponse methods */
+void dispenser_homing_response__init
+ (DispenserHomingResponse *message);
+size_t dispenser_homing_response__get_packed_size
+ (const DispenserHomingResponse *message);
+size_t dispenser_homing_response__pack
+ (const DispenserHomingResponse *message,
+ uint8_t *out);
+size_t dispenser_homing_response__pack_to_buffer
+ (const DispenserHomingResponse *message,
+ ProtobufCBuffer *buffer);
+DispenserHomingResponse *
+ dispenser_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_homing_response__free_unpacked
+ (DispenserHomingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserHomingResponse_Closure)
+ (const DispenserHomingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_homing_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserHomingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.c
new file mode 100644
index 000000000..720e45d8f
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserJoggingRequest.pb-c.h"
+void dispenser_jogging_request__init
+ (DispenserJoggingRequest *message)
+{
+ static const DispenserJoggingRequest init_value = DISPENSER_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t dispenser_jogging_request__get_packed_size
+ (const DispenserJoggingRequest *message)
+{
+ assert(message->base.descriptor == &dispenser_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_jogging_request__pack
+ (const DispenserJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_jogging_request__pack_to_buffer
+ (const DispenserJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserJoggingRequest *
+ dispenser_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserJoggingRequest *)
+ protobuf_c_message_unpack (&dispenser_jogging_request__descriptor,
+ allocator, len, data);
+}
+void dispenser_jogging_request__free_unpacked
+ (DispenserJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor dispenser_jogging_request__field_descriptors[3] =
+{
+ {
+ "Direction",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(DispenserJoggingRequest, has_direction),
+ offsetof(DispenserJoggingRequest, direction),
+ &motor_direction__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(DispenserJoggingRequest, has_code),
+ offsetof(DispenserJoggingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DispenserJoggingRequest, has_speed),
+ offsetof(DispenserJoggingRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned dispenser_jogging_request__field_indices_by_name[] = {
+ 1, /* field[1] = Code */
+ 0, /* field[0] = Direction */
+ 2, /* field[2] = Speed */
+};
+static const ProtobufCIntRange dispenser_jogging_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor dispenser_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserJoggingRequest",
+ "DispenserJoggingRequest",
+ "DispenserJoggingRequest",
+ "",
+ sizeof(DispenserJoggingRequest),
+ 3,
+ dispenser_jogging_request__field_descriptors,
+ dispenser_jogging_request__field_indices_by_name,
+ 1, dispenser_jogging_request__number_ranges,
+ (ProtobufCMessageInit) dispenser_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.h
new file mode 100644
index 000000000..b3d962769
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingRequest.pb-c.h
@@ -0,0 +1,77 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_DispenserJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "MotorDirection.pb-c.h"
+
+typedef struct _DispenserJoggingRequest DispenserJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserJoggingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_direction;
+ MotorDirection direction;
+ protobuf_c_boolean has_code;
+ int32_t code;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define DISPENSER_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_jogging_request__descriptor) \
+ , 0, MOTOR_DIRECTION__Forward, 0, 0, 0, 0 }
+
+
+/* DispenserJoggingRequest methods */
+void dispenser_jogging_request__init
+ (DispenserJoggingRequest *message);
+size_t dispenser_jogging_request__get_packed_size
+ (const DispenserJoggingRequest *message);
+size_t dispenser_jogging_request__pack
+ (const DispenserJoggingRequest *message,
+ uint8_t *out);
+size_t dispenser_jogging_request__pack_to_buffer
+ (const DispenserJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+DispenserJoggingRequest *
+ dispenser_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_jogging_request__free_unpacked
+ (DispenserJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserJoggingRequest_Closure)
+ (const DispenserJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.c
new file mode 100644
index 000000000..499387197
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserJoggingResponse.pb-c.h"
+void dispenser_jogging_response__init
+ (DispenserJoggingResponse *message)
+{
+ static const DispenserJoggingResponse init_value = DISPENSER_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t dispenser_jogging_response__get_packed_size
+ (const DispenserJoggingResponse *message)
+{
+ assert(message->base.descriptor == &dispenser_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t dispenser_jogging_response__pack
+ (const DispenserJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &dispenser_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t dispenser_jogging_response__pack_to_buffer
+ (const DispenserJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &dispenser_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DispenserJoggingResponse *
+ dispenser_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DispenserJoggingResponse *)
+ protobuf_c_message_unpack (&dispenser_jogging_response__descriptor,
+ allocator, len, data);
+}
+void dispenser_jogging_response__free_unpacked
+ (DispenserJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &dispenser_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define dispenser_jogging_response__field_descriptors NULL
+#define dispenser_jogging_response__field_indices_by_name NULL
+#define dispenser_jogging_response__number_ranges NULL
+const ProtobufCMessageDescriptor dispenser_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DispenserJoggingResponse",
+ "DispenserJoggingResponse",
+ "DispenserJoggingResponse",
+ "",
+ sizeof(DispenserJoggingResponse),
+ 0,
+ dispenser_jogging_response__field_descriptors,
+ dispenser_jogging_response__field_indices_by_name,
+ 0, dispenser_jogging_response__number_ranges,
+ (ProtobufCMessageInit) dispenser_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.h
new file mode 100644
index 000000000..7cdda36f8
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DispenserJoggingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_DispenserJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DispenserJoggingResponse DispenserJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DispenserJoggingResponse
+{
+ ProtobufCMessage base;
+};
+#define DISPENSER_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&dispenser_jogging_response__descriptor) \
+ }
+
+
+/* DispenserJoggingResponse methods */
+void dispenser_jogging_response__init
+ (DispenserJoggingResponse *message);
+size_t dispenser_jogging_response__get_packed_size
+ (const DispenserJoggingResponse *message);
+size_t dispenser_jogging_response__pack
+ (const DispenserJoggingResponse *message,
+ uint8_t *out);
+size_t dispenser_jogging_response__pack_to_buffer
+ (const DispenserJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+DispenserJoggingResponse *
+ dispenser_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void dispenser_jogging_response__free_unpacked
+ (DispenserJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DispenserJoggingResponse_Closure)
+ (const DispenserJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor dispenser_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.c
new file mode 100644
index 000000000..586e13984
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DoubleArray.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DoubleArray.pb-c.h"
+void double_array__init
+ (DoubleArray *message)
+{
+ static const DoubleArray init_value = DOUBLE_ARRAY__INIT;
+ *message = init_value;
+}
+size_t double_array__get_packed_size
+ (const DoubleArray *message)
+{
+ assert(message->base.descriptor == &double_array__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t double_array__pack
+ (const DoubleArray *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &double_array__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t double_array__pack_to_buffer
+ (const DoubleArray *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &double_array__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DoubleArray *
+ double_array__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DoubleArray *)
+ protobuf_c_message_unpack (&double_array__descriptor,
+ allocator, len, data);
+}
+void double_array__free_unpacked
+ (DoubleArray *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &double_array__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor double_array__field_descriptors[1] =
+{
+ {
+ "Data",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DoubleArray, n_data),
+ offsetof(DoubleArray, data),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned double_array__field_indices_by_name[] = {
+ 0, /* field[0] = Data */
+};
+static const ProtobufCIntRange double_array__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor double_array__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DoubleArray",
+ "DoubleArray",
+ "DoubleArray",
+ "",
+ sizeof(DoubleArray),
+ 1,
+ double_array__field_descriptors,
+ double_array__field_indices_by_name,
+ 1, double_array__number_ranges,
+ (ProtobufCMessageInit) double_array__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.h
new file mode 100644
index 000000000..7f4232530
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/DoubleArray.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DoubleArray.proto */
+
+#ifndef PROTOBUF_C_DoubleArray_2eproto__INCLUDED
+#define PROTOBUF_C_DoubleArray_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DoubleArray DoubleArray;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DoubleArray
+{
+ ProtobufCMessage base;
+ size_t n_data;
+ double *data;
+};
+#define DOUBLE_ARRAY__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&double_array__descriptor) \
+ , 0,NULL }
+
+
+/* DoubleArray methods */
+void double_array__init
+ (DoubleArray *message);
+size_t double_array__get_packed_size
+ (const DoubleArray *message);
+size_t double_array__pack
+ (const DoubleArray *message,
+ uint8_t *out);
+size_t double_array__pack_to_buffer
+ (const DoubleArray *message,
+ ProtobufCBuffer *buffer);
+DoubleArray *
+ double_array__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void double_array__free_unpacked
+ (DoubleArray *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DoubleArray_Closure)
+ (const DoubleArray *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor double_array__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DoubleArray_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.c
new file mode 100644
index 000000000..63c2bdf9e
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortHomingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorAbortHomingRequest.pb-c.h"
+void motor_abort_homing_request__init
+ (MotorAbortHomingRequest *message)
+{
+ static const MotorAbortHomingRequest init_value = MOTOR_ABORT_HOMING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t motor_abort_homing_request__get_packed_size
+ (const MotorAbortHomingRequest *message)
+{
+ assert(message->base.descriptor == &motor_abort_homing_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_abort_homing_request__pack
+ (const MotorAbortHomingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_abort_homing_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_abort_homing_request__pack_to_buffer
+ (const MotorAbortHomingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_abort_homing_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorAbortHomingRequest *
+ motor_abort_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorAbortHomingRequest *)
+ protobuf_c_message_unpack (&motor_abort_homing_request__descriptor,
+ allocator, len, data);
+}
+void motor_abort_homing_request__free_unpacked
+ (MotorAbortHomingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_abort_homing_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_abort_homing_request__field_descriptors[1] =
+{
+ {
+ "Code",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(MotorAbortHomingRequest, has_code),
+ offsetof(MotorAbortHomingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_abort_homing_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange motor_abort_homing_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor motor_abort_homing_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorAbortHomingRequest",
+ "MotorAbortHomingRequest",
+ "MotorAbortHomingRequest",
+ "",
+ sizeof(MotorAbortHomingRequest),
+ 1,
+ motor_abort_homing_request__field_descriptors,
+ motor_abort_homing_request__field_indices_by_name,
+ 1, motor_abort_homing_request__number_ranges,
+ (ProtobufCMessageInit) motor_abort_homing_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.h
new file mode 100644
index 000000000..e480d02b4
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortHomingRequest.proto */
+
+#ifndef PROTOBUF_C_MotorAbortHomingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_MotorAbortHomingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorAbortHomingRequest MotorAbortHomingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorAbortHomingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define MOTOR_ABORT_HOMING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_abort_homing_request__descriptor) \
+ , 0, 0 }
+
+
+/* MotorAbortHomingRequest methods */
+void motor_abort_homing_request__init
+ (MotorAbortHomingRequest *message);
+size_t motor_abort_homing_request__get_packed_size
+ (const MotorAbortHomingRequest *message);
+size_t motor_abort_homing_request__pack
+ (const MotorAbortHomingRequest *message,
+ uint8_t *out);
+size_t motor_abort_homing_request__pack_to_buffer
+ (const MotorAbortHomingRequest *message,
+ ProtobufCBuffer *buffer);
+MotorAbortHomingRequest *
+ motor_abort_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_abort_homing_request__free_unpacked
+ (MotorAbortHomingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorAbortHomingRequest_Closure)
+ (const MotorAbortHomingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_abort_homing_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorAbortHomingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.c
new file mode 100644
index 000000000..d95f3d978
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortHomingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorAbortHomingResponse.pb-c.h"
+void motor_abort_homing_response__init
+ (MotorAbortHomingResponse *message)
+{
+ static const MotorAbortHomingResponse init_value = MOTOR_ABORT_HOMING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t motor_abort_homing_response__get_packed_size
+ (const MotorAbortHomingResponse *message)
+{
+ assert(message->base.descriptor == &motor_abort_homing_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_abort_homing_response__pack
+ (const MotorAbortHomingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_abort_homing_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_abort_homing_response__pack_to_buffer
+ (const MotorAbortHomingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_abort_homing_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorAbortHomingResponse *
+ motor_abort_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorAbortHomingResponse *)
+ protobuf_c_message_unpack (&motor_abort_homing_response__descriptor,
+ allocator, len, data);
+}
+void motor_abort_homing_response__free_unpacked
+ (MotorAbortHomingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_abort_homing_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define motor_abort_homing_response__field_descriptors NULL
+#define motor_abort_homing_response__field_indices_by_name NULL
+#define motor_abort_homing_response__number_ranges NULL
+const ProtobufCMessageDescriptor motor_abort_homing_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorAbortHomingResponse",
+ "MotorAbortHomingResponse",
+ "MotorAbortHomingResponse",
+ "",
+ sizeof(MotorAbortHomingResponse),
+ 0,
+ motor_abort_homing_response__field_descriptors,
+ motor_abort_homing_response__field_indices_by_name,
+ 0, motor_abort_homing_response__number_ranges,
+ (ProtobufCMessageInit) motor_abort_homing_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.h
new file mode 100644
index 000000000..fb69cf90f
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortHomingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortHomingResponse.proto */
+
+#ifndef PROTOBUF_C_MotorAbortHomingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_MotorAbortHomingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorAbortHomingResponse MotorAbortHomingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorAbortHomingResponse
+{
+ ProtobufCMessage base;
+};
+#define MOTOR_ABORT_HOMING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_abort_homing_response__descriptor) \
+ }
+
+
+/* MotorAbortHomingResponse methods */
+void motor_abort_homing_response__init
+ (MotorAbortHomingResponse *message);
+size_t motor_abort_homing_response__get_packed_size
+ (const MotorAbortHomingResponse *message);
+size_t motor_abort_homing_response__pack
+ (const MotorAbortHomingResponse *message,
+ uint8_t *out);
+size_t motor_abort_homing_response__pack_to_buffer
+ (const MotorAbortHomingResponse *message,
+ ProtobufCBuffer *buffer);
+MotorAbortHomingResponse *
+ motor_abort_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_abort_homing_response__free_unpacked
+ (MotorAbortHomingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorAbortHomingResponse_Closure)
+ (const MotorAbortHomingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_abort_homing_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorAbortHomingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.c
new file mode 100644
index 000000000..45c487e65
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorAbortJoggingRequest.pb-c.h"
+void motor_abort_jogging_request__init
+ (MotorAbortJoggingRequest *message)
+{
+ static const MotorAbortJoggingRequest init_value = MOTOR_ABORT_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t motor_abort_jogging_request__get_packed_size
+ (const MotorAbortJoggingRequest *message)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_abort_jogging_request__pack
+ (const MotorAbortJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_abort_jogging_request__pack_to_buffer
+ (const MotorAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorAbortJoggingRequest *
+ motor_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorAbortJoggingRequest *)
+ protobuf_c_message_unpack (&motor_abort_jogging_request__descriptor,
+ allocator, len, data);
+}
+void motor_abort_jogging_request__free_unpacked
+ (MotorAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_abort_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_abort_jogging_request__field_descriptors[1] =
+{
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(MotorAbortJoggingRequest, has_code),
+ offsetof(MotorAbortJoggingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_abort_jogging_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange motor_abort_jogging_request__number_ranges[1 + 1] =
+{
+ { 2, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor motor_abort_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorAbortJoggingRequest",
+ "MotorAbortJoggingRequest",
+ "MotorAbortJoggingRequest",
+ "",
+ sizeof(MotorAbortJoggingRequest),
+ 1,
+ motor_abort_jogging_request__field_descriptors,
+ motor_abort_jogging_request__field_indices_by_name,
+ 1, motor_abort_jogging_request__number_ranges,
+ (ProtobufCMessageInit) motor_abort_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.h
new file mode 100644
index 000000000..39511ffa9
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_MotorAbortJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_MotorAbortJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorAbortJoggingRequest MotorAbortJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorAbortJoggingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define MOTOR_ABORT_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_abort_jogging_request__descriptor) \
+ , 0, 0 }
+
+
+/* MotorAbortJoggingRequest methods */
+void motor_abort_jogging_request__init
+ (MotorAbortJoggingRequest *message);
+size_t motor_abort_jogging_request__get_packed_size
+ (const MotorAbortJoggingRequest *message);
+size_t motor_abort_jogging_request__pack
+ (const MotorAbortJoggingRequest *message,
+ uint8_t *out);
+size_t motor_abort_jogging_request__pack_to_buffer
+ (const MotorAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+MotorAbortJoggingRequest *
+ motor_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_abort_jogging_request__free_unpacked
+ (MotorAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorAbortJoggingRequest_Closure)
+ (const MotorAbortJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_abort_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorAbortJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.c
new file mode 100644
index 000000000..f32b7aad0
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorAbortJoggingResponse.pb-c.h"
+void motor_abort_jogging_response__init
+ (MotorAbortJoggingResponse *message)
+{
+ static const MotorAbortJoggingResponse init_value = MOTOR_ABORT_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t motor_abort_jogging_response__get_packed_size
+ (const MotorAbortJoggingResponse *message)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_abort_jogging_response__pack
+ (const MotorAbortJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_abort_jogging_response__pack_to_buffer
+ (const MotorAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorAbortJoggingResponse *
+ motor_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorAbortJoggingResponse *)
+ protobuf_c_message_unpack (&motor_abort_jogging_response__descriptor,
+ allocator, len, data);
+}
+void motor_abort_jogging_response__free_unpacked
+ (MotorAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_abort_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_abort_jogging_response__field_descriptors[1] =
+{
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(MotorAbortJoggingResponse, has_code),
+ offsetof(MotorAbortJoggingResponse, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_abort_jogging_response__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+};
+static const ProtobufCIntRange motor_abort_jogging_response__number_ranges[1 + 1] =
+{
+ { 2, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor motor_abort_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorAbortJoggingResponse",
+ "MotorAbortJoggingResponse",
+ "MotorAbortJoggingResponse",
+ "",
+ sizeof(MotorAbortJoggingResponse),
+ 1,
+ motor_abort_jogging_response__field_descriptors,
+ motor_abort_jogging_response__field_indices_by_name,
+ 1, motor_abort_jogging_response__number_ranges,
+ (ProtobufCMessageInit) motor_abort_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.h
new file mode 100644
index 000000000..e78157ab4
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorAbortJoggingResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorAbortJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_MotorAbortJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_MotorAbortJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorAbortJoggingResponse MotorAbortJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorAbortJoggingResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+};
+#define MOTOR_ABORT_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_abort_jogging_response__descriptor) \
+ , 0, 0 }
+
+
+/* MotorAbortJoggingResponse methods */
+void motor_abort_jogging_response__init
+ (MotorAbortJoggingResponse *message);
+size_t motor_abort_jogging_response__get_packed_size
+ (const MotorAbortJoggingResponse *message);
+size_t motor_abort_jogging_response__pack
+ (const MotorAbortJoggingResponse *message,
+ uint8_t *out);
+size_t motor_abort_jogging_response__pack_to_buffer
+ (const MotorAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+MotorAbortJoggingResponse *
+ motor_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_abort_jogging_response__free_unpacked
+ (MotorAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorAbortJoggingResponse_Closure)
+ (const MotorAbortJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_abort_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorAbortJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.c
new file mode 100644
index 000000000..7eaa11ff6
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.c
@@ -0,0 +1,37 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorDirection.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorDirection.pb-c.h"
+static const ProtobufCEnumValue motor_direction__enum_values_by_number[2] =
+{
+ { "Forward", "MOTOR_DIRECTION__Forward", 0 },
+ { "Backward", "MOTOR_DIRECTION__Backward", 1 },
+};
+static const ProtobufCIntRange motor_direction__value_ranges[] = {
+{0, 0},{0, 2}
+};
+static const ProtobufCEnumValueIndex motor_direction__enum_values_by_name[2] =
+{
+ { "Backward", 1 },
+ { "Forward", 0 },
+};
+const ProtobufCEnumDescriptor motor_direction__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "MotorDirection",
+ "MotorDirection",
+ "MotorDirection",
+ "",
+ 2,
+ motor_direction__enum_values_by_number,
+ 2,
+ motor_direction__enum_values_by_name,
+ 1,
+ motor_direction__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.h
new file mode 100644
index 000000000..e5b190f2b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorDirection.pb-c.h
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorDirection.proto */
+
+#ifndef PROTOBUF_C_MotorDirection_2eproto__INCLUDED
+#define PROTOBUF_C_MotorDirection_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _MotorDirection {
+ MOTOR_DIRECTION__Forward = 0,
+ MOTOR_DIRECTION__Backward = 1
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MOTOR_DIRECTION)
+} MotorDirection;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor motor_direction__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorDirection_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.c
new file mode 100644
index 000000000..39413d2a7
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorHomingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorHomingRequest.pb-c.h"
+void motor_homing_request__init
+ (MotorHomingRequest *message)
+{
+ static const MotorHomingRequest init_value = MOTOR_HOMING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t motor_homing_request__get_packed_size
+ (const MotorHomingRequest *message)
+{
+ assert(message->base.descriptor == &motor_homing_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_homing_request__pack
+ (const MotorHomingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_homing_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_homing_request__pack_to_buffer
+ (const MotorHomingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_homing_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorHomingRequest *
+ motor_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorHomingRequest *)
+ protobuf_c_message_unpack (&motor_homing_request__descriptor,
+ allocator, len, data);
+}
+void motor_homing_request__free_unpacked
+ (MotorHomingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_homing_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_homing_request__field_descriptors[2] =
+{
+ {
+ "Code",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(MotorHomingRequest, has_code),
+ offsetof(MotorHomingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(MotorHomingRequest, has_speed),
+ offsetof(MotorHomingRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_homing_request__field_indices_by_name[] = {
+ 0, /* field[0] = Code */
+ 1, /* field[1] = Speed */
+};
+static const ProtobufCIntRange motor_homing_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor motor_homing_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorHomingRequest",
+ "MotorHomingRequest",
+ "MotorHomingRequest",
+ "",
+ sizeof(MotorHomingRequest),
+ 2,
+ motor_homing_request__field_descriptors,
+ motor_homing_request__field_indices_by_name,
+ 1, motor_homing_request__number_ranges,
+ (ProtobufCMessageInit) motor_homing_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.h
new file mode 100644
index 000000000..e2c9f3c91
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorHomingRequest.proto */
+
+#ifndef PROTOBUF_C_MotorHomingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_MotorHomingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorHomingRequest MotorHomingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorHomingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_code;
+ int32_t code;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define MOTOR_HOMING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_homing_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* MotorHomingRequest methods */
+void motor_homing_request__init
+ (MotorHomingRequest *message);
+size_t motor_homing_request__get_packed_size
+ (const MotorHomingRequest *message);
+size_t motor_homing_request__pack
+ (const MotorHomingRequest *message,
+ uint8_t *out);
+size_t motor_homing_request__pack_to_buffer
+ (const MotorHomingRequest *message,
+ ProtobufCBuffer *buffer);
+MotorHomingRequest *
+ motor_homing_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_homing_request__free_unpacked
+ (MotorHomingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorHomingRequest_Closure)
+ (const MotorHomingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_homing_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorHomingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.c
new file mode 100644
index 000000000..76d79e96b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorHomingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorHomingResponse.pb-c.h"
+void motor_homing_response__init
+ (MotorHomingResponse *message)
+{
+ static const MotorHomingResponse init_value = MOTOR_HOMING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t motor_homing_response__get_packed_size
+ (const MotorHomingResponse *message)
+{
+ assert(message->base.descriptor == &motor_homing_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_homing_response__pack
+ (const MotorHomingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_homing_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_homing_response__pack_to_buffer
+ (const MotorHomingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_homing_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorHomingResponse *
+ motor_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorHomingResponse *)
+ protobuf_c_message_unpack (&motor_homing_response__descriptor,
+ allocator, len, data);
+}
+void motor_homing_response__free_unpacked
+ (MotorHomingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_homing_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_homing_response__field_descriptors[2] =
+{
+ {
+ "Progress",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(MotorHomingResponse, has_progress),
+ offsetof(MotorHomingResponse, progress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxProgress",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(MotorHomingResponse, has_maxprogress),
+ offsetof(MotorHomingResponse, maxprogress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_homing_response__field_indices_by_name[] = {
+ 1, /* field[1] = MaxProgress */
+ 0, /* field[0] = Progress */
+};
+static const ProtobufCIntRange motor_homing_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor motor_homing_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorHomingResponse",
+ "MotorHomingResponse",
+ "MotorHomingResponse",
+ "",
+ sizeof(MotorHomingResponse),
+ 2,
+ motor_homing_response__field_descriptors,
+ motor_homing_response__field_indices_by_name,
+ 1, motor_homing_response__number_ranges,
+ (ProtobufCMessageInit) motor_homing_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.h
new file mode 100644
index 000000000..df0452482
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorHomingResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorHomingResponse.proto */
+
+#ifndef PROTOBUF_C_MotorHomingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_MotorHomingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorHomingResponse MotorHomingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorHomingResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_progress;
+ double progress;
+ protobuf_c_boolean has_maxprogress;
+ double maxprogress;
+};
+#define MOTOR_HOMING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_homing_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* MotorHomingResponse methods */
+void motor_homing_response__init
+ (MotorHomingResponse *message);
+size_t motor_homing_response__get_packed_size
+ (const MotorHomingResponse *message);
+size_t motor_homing_response__pack
+ (const MotorHomingResponse *message,
+ uint8_t *out);
+size_t motor_homing_response__pack_to_buffer
+ (const MotorHomingResponse *message,
+ ProtobufCBuffer *buffer);
+MotorHomingResponse *
+ motor_homing_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_homing_response__free_unpacked
+ (MotorHomingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorHomingResponse_Closure)
+ (const MotorHomingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_homing_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorHomingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.c
new file mode 100644
index 000000000..9beca81cc
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorJoggingRequest.pb-c.h"
+void motor_jogging_request__init
+ (MotorJoggingRequest *message)
+{
+ static const MotorJoggingRequest init_value = MOTOR_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t motor_jogging_request__get_packed_size
+ (const MotorJoggingRequest *message)
+{
+ assert(message->base.descriptor == &motor_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_jogging_request__pack
+ (const MotorJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_jogging_request__pack_to_buffer
+ (const MotorJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorJoggingRequest *
+ motor_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorJoggingRequest *)
+ protobuf_c_message_unpack (&motor_jogging_request__descriptor,
+ allocator, len, data);
+}
+void motor_jogging_request__free_unpacked
+ (MotorJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor motor_jogging_request__field_descriptors[3] =
+{
+ {
+ "Direction",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MotorJoggingRequest, has_direction),
+ offsetof(MotorJoggingRequest, direction),
+ &motor_direction__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Code",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(MotorJoggingRequest, has_code),
+ offsetof(MotorJoggingRequest, code),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(MotorJoggingRequest, has_speed),
+ offsetof(MotorJoggingRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned motor_jogging_request__field_indices_by_name[] = {
+ 1, /* field[1] = Code */
+ 0, /* field[0] = Direction */
+ 2, /* field[2] = Speed */
+};
+static const ProtobufCIntRange motor_jogging_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor motor_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorJoggingRequest",
+ "MotorJoggingRequest",
+ "MotorJoggingRequest",
+ "",
+ sizeof(MotorJoggingRequest),
+ 3,
+ motor_jogging_request__field_descriptors,
+ motor_jogging_request__field_indices_by_name,
+ 1, motor_jogging_request__number_ranges,
+ (ProtobufCMessageInit) motor_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.h
new file mode 100644
index 000000000..9832fdcdf
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingRequest.pb-c.h
@@ -0,0 +1,77 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_MotorJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_MotorJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "MotorDirection.pb-c.h"
+
+typedef struct _MotorJoggingRequest MotorJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorJoggingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_direction;
+ MotorDirection direction;
+ protobuf_c_boolean has_code;
+ int32_t code;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define MOTOR_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_jogging_request__descriptor) \
+ , 0, MOTOR_DIRECTION__Forward, 0, 0, 0, 0 }
+
+
+/* MotorJoggingRequest methods */
+void motor_jogging_request__init
+ (MotorJoggingRequest *message);
+size_t motor_jogging_request__get_packed_size
+ (const MotorJoggingRequest *message);
+size_t motor_jogging_request__pack
+ (const MotorJoggingRequest *message,
+ uint8_t *out);
+size_t motor_jogging_request__pack_to_buffer
+ (const MotorJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+MotorJoggingRequest *
+ motor_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_jogging_request__free_unpacked
+ (MotorJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorJoggingRequest_Closure)
+ (const MotorJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.c
new file mode 100644
index 000000000..e5af97d42
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MotorJoggingResponse.pb-c.h"
+void motor_jogging_response__init
+ (MotorJoggingResponse *message)
+{
+ static const MotorJoggingResponse init_value = MOTOR_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t motor_jogging_response__get_packed_size
+ (const MotorJoggingResponse *message)
+{
+ assert(message->base.descriptor == &motor_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t motor_jogging_response__pack
+ (const MotorJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &motor_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t motor_jogging_response__pack_to_buffer
+ (const MotorJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &motor_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MotorJoggingResponse *
+ motor_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MotorJoggingResponse *)
+ protobuf_c_message_unpack (&motor_jogging_response__descriptor,
+ allocator, len, data);
+}
+void motor_jogging_response__free_unpacked
+ (MotorJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &motor_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define motor_jogging_response__field_descriptors NULL
+#define motor_jogging_response__field_indices_by_name NULL
+#define motor_jogging_response__number_ranges NULL
+const ProtobufCMessageDescriptor motor_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MotorJoggingResponse",
+ "MotorJoggingResponse",
+ "MotorJoggingResponse",
+ "",
+ sizeof(MotorJoggingResponse),
+ 0,
+ motor_jogging_response__field_descriptors,
+ motor_jogging_response__field_indices_by_name,
+ 0, motor_jogging_response__number_ranges,
+ (ProtobufCMessageInit) motor_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.h
new file mode 100644
index 000000000..53d11d3fc
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/MotorJoggingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MotorJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_MotorJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_MotorJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _MotorJoggingResponse MotorJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MotorJoggingResponse
+{
+ ProtobufCMessage base;
+};
+#define MOTOR_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&motor_jogging_response__descriptor) \
+ }
+
+
+/* MotorJoggingResponse methods */
+void motor_jogging_response__init
+ (MotorJoggingResponse *message);
+size_t motor_jogging_response__get_packed_size
+ (const MotorJoggingResponse *message);
+size_t motor_jogging_response__pack
+ (const MotorJoggingResponse *message,
+ uint8_t *out);
+size_t motor_jogging_response__pack_to_buffer
+ (const MotorJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+MotorJoggingResponse *
+ motor_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void motor_jogging_response__free_unpacked
+ (MotorJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MotorJoggingResponse_Closure)
+ (const MotorJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor motor_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MotorJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.c
new file mode 100644
index 000000000..1c7790f41
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: PushDiagnosticsRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "PushDiagnosticsRequest.pb-c.h"
+void push_diagnostics_request__init
+ (PushDiagnosticsRequest *message)
+{
+ static const PushDiagnosticsRequest init_value = PUSH_DIAGNOSTICS_REQUEST__INIT;
+ *message = init_value;
+}
+size_t push_diagnostics_request__get_packed_size
+ (const PushDiagnosticsRequest *message)
+{
+ assert(message->base.descriptor == &push_diagnostics_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t push_diagnostics_request__pack
+ (const PushDiagnosticsRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &push_diagnostics_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t push_diagnostics_request__pack_to_buffer
+ (const PushDiagnosticsRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &push_diagnostics_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+PushDiagnosticsRequest *
+ push_diagnostics_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (PushDiagnosticsRequest *)
+ protobuf_c_message_unpack (&push_diagnostics_request__descriptor,
+ allocator, len, data);
+}
+void push_diagnostics_request__free_unpacked
+ (PushDiagnosticsRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &push_diagnostics_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor push_diagnostics_request__field_descriptors[3] =
+{
+ {
+ "PushSensors",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(PushDiagnosticsRequest, has_pushsensors),
+ offsetof(PushDiagnosticsRequest, pushsensors),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PushMotors",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(PushDiagnosticsRequest, has_pushmotors),
+ offsetof(PushDiagnosticsRequest, pushmotors),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PushLogs",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(PushDiagnosticsRequest, has_pushlogs),
+ offsetof(PushDiagnosticsRequest, pushlogs),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned push_diagnostics_request__field_indices_by_name[] = {
+ 2, /* field[2] = PushLogs */
+ 1, /* field[1] = PushMotors */
+ 0, /* field[0] = PushSensors */
+};
+static const ProtobufCIntRange push_diagnostics_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor push_diagnostics_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "PushDiagnosticsRequest",
+ "PushDiagnosticsRequest",
+ "PushDiagnosticsRequest",
+ "",
+ sizeof(PushDiagnosticsRequest),
+ 3,
+ push_diagnostics_request__field_descriptors,
+ push_diagnostics_request__field_indices_by_name,
+ 1, push_diagnostics_request__number_ranges,
+ (ProtobufCMessageInit) push_diagnostics_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.h
new file mode 100644
index 000000000..b4e3053f0
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsRequest.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: PushDiagnosticsRequest.proto */
+
+#ifndef PROTOBUF_C_PushDiagnosticsRequest_2eproto__INCLUDED
+#define PROTOBUF_C_PushDiagnosticsRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _PushDiagnosticsRequest PushDiagnosticsRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _PushDiagnosticsRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_pushsensors;
+ protobuf_c_boolean pushsensors;
+ protobuf_c_boolean has_pushmotors;
+ protobuf_c_boolean pushmotors;
+ protobuf_c_boolean has_pushlogs;
+ protobuf_c_boolean pushlogs;
+};
+#define PUSH_DIAGNOSTICS_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&push_diagnostics_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0 }
+
+
+/* PushDiagnosticsRequest methods */
+void push_diagnostics_request__init
+ (PushDiagnosticsRequest *message);
+size_t push_diagnostics_request__get_packed_size
+ (const PushDiagnosticsRequest *message);
+size_t push_diagnostics_request__pack
+ (const PushDiagnosticsRequest *message,
+ uint8_t *out);
+size_t push_diagnostics_request__pack_to_buffer
+ (const PushDiagnosticsRequest *message,
+ ProtobufCBuffer *buffer);
+PushDiagnosticsRequest *
+ push_diagnostics_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void push_diagnostics_request__free_unpacked
+ (PushDiagnosticsRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*PushDiagnosticsRequest_Closure)
+ (const PushDiagnosticsRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor push_diagnostics_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_PushDiagnosticsRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.c
new file mode 100644
index 000000000..c34913fae
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.c
@@ -0,0 +1,287 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: PushDiagnosticsResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "PushDiagnosticsResponse.pb-c.h"
+void push_diagnostics_response__init
+ (PushDiagnosticsResponse *message)
+{
+ static const PushDiagnosticsResponse init_value = PUSH_DIAGNOSTICS_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t push_diagnostics_response__get_packed_size
+ (const PushDiagnosticsResponse *message)
+{
+ assert(message->base.descriptor == &push_diagnostics_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t push_diagnostics_response__pack
+ (const PushDiagnosticsResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &push_diagnostics_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t push_diagnostics_response__pack_to_buffer
+ (const PushDiagnosticsResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &push_diagnostics_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+PushDiagnosticsResponse *
+ push_diagnostics_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (PushDiagnosticsResponse *)
+ protobuf_c_message_unpack (&push_diagnostics_response__descriptor,
+ allocator, len, data);
+}
+void push_diagnostics_response__free_unpacked
+ (PushDiagnosticsResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &push_diagnostics_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor push_diagnostics_response__field_descriptors[16] =
+{
+ {
+ "Dancer1Angle",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dancer1angle),
+ offsetof(PushDiagnosticsResponse, dancer1angle),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dancer2Angle",
+ 2,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dancer2angle),
+ offsetof(PushDiagnosticsResponse, dancer2angle),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dancer3Angle",
+ 3,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dancer3angle),
+ offsetof(PushDiagnosticsResponse, dancer3angle),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DispensersMotorsFrequency",
+ 4,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(PushDiagnosticsResponse, n_dispensersmotorsfrequency),
+ offsetof(PushDiagnosticsResponse, dispensersmotorsfrequency),
+ &double_array__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser1MotorFrequency",
+ 5,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser1motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser1motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser2MotorFrequency",
+ 6,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser2motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser2motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser3MotorFrequency",
+ 7,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser3motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser3motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser4MotorFrequency",
+ 8,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser4motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser4motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser5MotorFrequency",
+ 9,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser5motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser5motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser6MotorFrequency",
+ 10,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser6motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser6motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser7MotorFrequency",
+ 11,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser7motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser7motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispenser8MotorFrequency",
+ 12,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(PushDiagnosticsResponse, n_dispenser8motorfrequency),
+ offsetof(PushDiagnosticsResponse, dispenser8motorfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DigitalPins",
+ 13,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(PushDiagnosticsResponse, n_digitalpins),
+ offsetof(PushDiagnosticsResponse, digitalpins),
+ &digital_pin__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Version",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(PushDiagnosticsResponse, version),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "VersionName",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(PushDiagnosticsResponse, versionname),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "VersionBuildDate",
+ 16,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(PushDiagnosticsResponse, versionbuilddate),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned push_diagnostics_response__field_indices_by_name[] = {
+ 0, /* field[0] = Dancer1Angle */
+ 1, /* field[1] = Dancer2Angle */
+ 2, /* field[2] = Dancer3Angle */
+ 12, /* field[12] = DigitalPins */
+ 4, /* field[4] = Dispenser1MotorFrequency */
+ 5, /* field[5] = Dispenser2MotorFrequency */
+ 6, /* field[6] = Dispenser3MotorFrequency */
+ 7, /* field[7] = Dispenser4MotorFrequency */
+ 8, /* field[8] = Dispenser5MotorFrequency */
+ 9, /* field[9] = Dispenser6MotorFrequency */
+ 10, /* field[10] = Dispenser7MotorFrequency */
+ 11, /* field[11] = Dispenser8MotorFrequency */
+ 3, /* field[3] = DispensersMotorsFrequency */
+ 13, /* field[13] = Version */
+ 15, /* field[15] = VersionBuildDate */
+ 14, /* field[14] = VersionName */
+};
+static const ProtobufCIntRange push_diagnostics_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 16 }
+};
+const ProtobufCMessageDescriptor push_diagnostics_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "PushDiagnosticsResponse",
+ "PushDiagnosticsResponse",
+ "PushDiagnosticsResponse",
+ "",
+ sizeof(PushDiagnosticsResponse),
+ 16,
+ push_diagnostics_response__field_descriptors,
+ push_diagnostics_response__field_indices_by_name,
+ 1, push_diagnostics_response__number_ranges,
+ (ProtobufCMessageInit) push_diagnostics_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.h
new file mode 100644
index 000000000..40f7d616b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/PushDiagnosticsResponse.pb-c.h
@@ -0,0 +1,101 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: PushDiagnosticsResponse.proto */
+
+#ifndef PROTOBUF_C_PushDiagnosticsResponse_2eproto__INCLUDED
+#define PROTOBUF_C_PushDiagnosticsResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "DoubleArray.pb-c.h"
+#include "DigitalPin.pb-c.h"
+
+typedef struct _PushDiagnosticsResponse PushDiagnosticsResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _PushDiagnosticsResponse
+{
+ ProtobufCMessage base;
+ size_t n_dancer1angle;
+ double *dancer1angle;
+ size_t n_dancer2angle;
+ double *dancer2angle;
+ size_t n_dancer3angle;
+ double *dancer3angle;
+ size_t n_dispensersmotorsfrequency;
+ DoubleArray **dispensersmotorsfrequency;
+ size_t n_dispenser1motorfrequency;
+ double *dispenser1motorfrequency;
+ size_t n_dispenser2motorfrequency;
+ double *dispenser2motorfrequency;
+ size_t n_dispenser3motorfrequency;
+ double *dispenser3motorfrequency;
+ size_t n_dispenser4motorfrequency;
+ double *dispenser4motorfrequency;
+ size_t n_dispenser5motorfrequency;
+ double *dispenser5motorfrequency;
+ size_t n_dispenser6motorfrequency;
+ double *dispenser6motorfrequency;
+ size_t n_dispenser7motorfrequency;
+ double *dispenser7motorfrequency;
+ size_t n_dispenser8motorfrequency;
+ double *dispenser8motorfrequency;
+ size_t n_digitalpins;
+ DigitalPin **digitalpins;
+ char *version;
+ char *versionname;
+ char *versionbuilddate;
+};
+#define PUSH_DIAGNOSTICS_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&push_diagnostics_response__descriptor) \
+ , 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, NULL }
+
+
+/* PushDiagnosticsResponse methods */
+void push_diagnostics_response__init
+ (PushDiagnosticsResponse *message);
+size_t push_diagnostics_response__get_packed_size
+ (const PushDiagnosticsResponse *message);
+size_t push_diagnostics_response__pack
+ (const PushDiagnosticsResponse *message,
+ uint8_t *out);
+size_t push_diagnostics_response__pack_to_buffer
+ (const PushDiagnosticsResponse *message,
+ ProtobufCBuffer *buffer);
+PushDiagnosticsResponse *
+ push_diagnostics_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void push_diagnostics_response__free_unpacked
+ (PushDiagnosticsResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*PushDiagnosticsResponse_Closure)
+ (const PushDiagnosticsResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor push_diagnostics_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_PushDiagnosticsResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c
new file mode 100644
index 000000000..060449149
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SetDigitalOutRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "SetDigitalOutRequest.pb-c.h"
+void set_digital_out_request__init
+ (SetDigitalOutRequest *message)
+{
+ static const SetDigitalOutRequest init_value = SET_DIGITAL_OUT_REQUEST__INIT;
+ *message = init_value;
+}
+size_t set_digital_out_request__get_packed_size
+ (const SetDigitalOutRequest *message)
+{
+ assert(message->base.descriptor == &set_digital_out_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t set_digital_out_request__pack
+ (const SetDigitalOutRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &set_digital_out_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t set_digital_out_request__pack_to_buffer
+ (const SetDigitalOutRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &set_digital_out_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+SetDigitalOutRequest *
+ set_digital_out_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (SetDigitalOutRequest *)
+ protobuf_c_message_unpack (&set_digital_out_request__descriptor,
+ allocator, len, data);
+}
+void set_digital_out_request__free_unpacked
+ (SetDigitalOutRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &set_digital_out_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor set_digital_out_request__field_descriptors[2] =
+{
+ {
+ "Port",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(SetDigitalOutRequest, has_port),
+ offsetof(SetDigitalOutRequest, port),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Value",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(SetDigitalOutRequest, has_value),
+ offsetof(SetDigitalOutRequest, value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned set_digital_out_request__field_indices_by_name[] = {
+ 0, /* field[0] = Port */
+ 1, /* field[1] = Value */
+};
+static const ProtobufCIntRange set_digital_out_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor set_digital_out_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "SetDigitalOutRequest",
+ "SetDigitalOutRequest",
+ "SetDigitalOutRequest",
+ "",
+ sizeof(SetDigitalOutRequest),
+ 2,
+ set_digital_out_request__field_descriptors,
+ set_digital_out_request__field_indices_by_name,
+ 1, set_digital_out_request__number_ranges,
+ (ProtobufCMessageInit) set_digital_out_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h
new file mode 100644
index 000000000..302b41749
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SetDigitalOutRequest.proto */
+
+#ifndef PROTOBUF_C_SetDigitalOutRequest_2eproto__INCLUDED
+#define PROTOBUF_C_SetDigitalOutRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _SetDigitalOutRequest SetDigitalOutRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _SetDigitalOutRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_port;
+ int32_t port;
+ protobuf_c_boolean has_value;
+ protobuf_c_boolean value;
+};
+#define SET_DIGITAL_OUT_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&set_digital_out_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* SetDigitalOutRequest methods */
+void set_digital_out_request__init
+ (SetDigitalOutRequest *message);
+size_t set_digital_out_request__get_packed_size
+ (const SetDigitalOutRequest *message);
+size_t set_digital_out_request__pack
+ (const SetDigitalOutRequest *message,
+ uint8_t *out);
+size_t set_digital_out_request__pack_to_buffer
+ (const SetDigitalOutRequest *message,
+ ProtobufCBuffer *buffer);
+SetDigitalOutRequest *
+ set_digital_out_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void set_digital_out_request__free_unpacked
+ (SetDigitalOutRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*SetDigitalOutRequest_Closure)
+ (const SetDigitalOutRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor set_digital_out_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_SetDigitalOutRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.c
new file mode 100644
index 000000000..eff7f8973
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SetDigitalOutResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "SetDigitalOutResponse.pb-c.h"
+void set_digital_out_response__init
+ (SetDigitalOutResponse *message)
+{
+ static const SetDigitalOutResponse init_value = SET_DIGITAL_OUT_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t set_digital_out_response__get_packed_size
+ (const SetDigitalOutResponse *message)
+{
+ assert(message->base.descriptor == &set_digital_out_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t set_digital_out_response__pack
+ (const SetDigitalOutResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &set_digital_out_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t set_digital_out_response__pack_to_buffer
+ (const SetDigitalOutResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &set_digital_out_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+SetDigitalOutResponse *
+ set_digital_out_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (SetDigitalOutResponse *)
+ protobuf_c_message_unpack (&set_digital_out_response__descriptor,
+ allocator, len, data);
+}
+void set_digital_out_response__free_unpacked
+ (SetDigitalOutResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &set_digital_out_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define set_digital_out_response__field_descriptors NULL
+#define set_digital_out_response__field_indices_by_name NULL
+#define set_digital_out_response__number_ranges NULL
+const ProtobufCMessageDescriptor set_digital_out_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "SetDigitalOutResponse",
+ "SetDigitalOutResponse",
+ "SetDigitalOutResponse",
+ "",
+ sizeof(SetDigitalOutResponse),
+ 0,
+ set_digital_out_response__field_descriptors,
+ set_digital_out_response__field_indices_by_name,
+ 0, set_digital_out_response__number_ranges,
+ (ProtobufCMessageInit) set_digital_out_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.h
new file mode 100644
index 000000000..00696e359
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/SetDigitalOutResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: SetDigitalOutResponse.proto */
+
+#ifndef PROTOBUF_C_SetDigitalOutResponse_2eproto__INCLUDED
+#define PROTOBUF_C_SetDigitalOutResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _SetDigitalOutResponse SetDigitalOutResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _SetDigitalOutResponse
+{
+ ProtobufCMessage base;
+};
+#define SET_DIGITAL_OUT_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&set_digital_out_response__descriptor) \
+ }
+
+
+/* SetDigitalOutResponse methods */
+void set_digital_out_response__init
+ (SetDigitalOutResponse *message);
+size_t set_digital_out_response__get_packed_size
+ (const SetDigitalOutResponse *message);
+size_t set_digital_out_response__pack
+ (const SetDigitalOutResponse *message,
+ uint8_t *out);
+size_t set_digital_out_response__pack_to_buffer
+ (const SetDigitalOutResponse *message,
+ ProtobufCBuffer *buffer);
+SetDigitalOutResponse *
+ set_digital_out_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void set_digital_out_response__free_unpacked
+ (SetDigitalOutResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*SetDigitalOutResponse_Closure)
+ (const SetDigitalOutResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor set_digital_out_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_SetDigitalOutResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.c
new file mode 100644
index 000000000..1e1f22bcc
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadAbortJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ThreadAbortJoggingRequest.pb-c.h"
+void thread_abort_jogging_request__init
+ (ThreadAbortJoggingRequest *message)
+{
+ static const ThreadAbortJoggingRequest init_value = THREAD_ABORT_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t thread_abort_jogging_request__get_packed_size
+ (const ThreadAbortJoggingRequest *message)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t thread_abort_jogging_request__pack
+ (const ThreadAbortJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t thread_abort_jogging_request__pack_to_buffer
+ (const ThreadAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ThreadAbortJoggingRequest *
+ thread_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ThreadAbortJoggingRequest *)
+ protobuf_c_message_unpack (&thread_abort_jogging_request__descriptor,
+ allocator, len, data);
+}
+void thread_abort_jogging_request__free_unpacked
+ (ThreadAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &thread_abort_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define thread_abort_jogging_request__field_descriptors NULL
+#define thread_abort_jogging_request__field_indices_by_name NULL
+#define thread_abort_jogging_request__number_ranges NULL
+const ProtobufCMessageDescriptor thread_abort_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ThreadAbortJoggingRequest",
+ "ThreadAbortJoggingRequest",
+ "ThreadAbortJoggingRequest",
+ "",
+ sizeof(ThreadAbortJoggingRequest),
+ 0,
+ thread_abort_jogging_request__field_descriptors,
+ thread_abort_jogging_request__field_indices_by_name,
+ 0, thread_abort_jogging_request__number_ranges,
+ (ProtobufCMessageInit) thread_abort_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.h
new file mode 100644
index 000000000..4bc112122
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadAbortJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_ThreadAbortJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_ThreadAbortJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ThreadAbortJoggingRequest ThreadAbortJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ThreadAbortJoggingRequest
+{
+ ProtobufCMessage base;
+};
+#define THREAD_ABORT_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&thread_abort_jogging_request__descriptor) \
+ }
+
+
+/* ThreadAbortJoggingRequest methods */
+void thread_abort_jogging_request__init
+ (ThreadAbortJoggingRequest *message);
+size_t thread_abort_jogging_request__get_packed_size
+ (const ThreadAbortJoggingRequest *message);
+size_t thread_abort_jogging_request__pack
+ (const ThreadAbortJoggingRequest *message,
+ uint8_t *out);
+size_t thread_abort_jogging_request__pack_to_buffer
+ (const ThreadAbortJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+ThreadAbortJoggingRequest *
+ thread_abort_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void thread_abort_jogging_request__free_unpacked
+ (ThreadAbortJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ThreadAbortJoggingRequest_Closure)
+ (const ThreadAbortJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor thread_abort_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ThreadAbortJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.c
new file mode 100644
index 000000000..4142dfc18
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadAbortJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ThreadAbortJoggingResponse.pb-c.h"
+void thread_abort_jogging_response__init
+ (ThreadAbortJoggingResponse *message)
+{
+ static const ThreadAbortJoggingResponse init_value = THREAD_ABORT_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t thread_abort_jogging_response__get_packed_size
+ (const ThreadAbortJoggingResponse *message)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t thread_abort_jogging_response__pack
+ (const ThreadAbortJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t thread_abort_jogging_response__pack_to_buffer
+ (const ThreadAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &thread_abort_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ThreadAbortJoggingResponse *
+ thread_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ThreadAbortJoggingResponse *)
+ protobuf_c_message_unpack (&thread_abort_jogging_response__descriptor,
+ allocator, len, data);
+}
+void thread_abort_jogging_response__free_unpacked
+ (ThreadAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &thread_abort_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define thread_abort_jogging_response__field_descriptors NULL
+#define thread_abort_jogging_response__field_indices_by_name NULL
+#define thread_abort_jogging_response__number_ranges NULL
+const ProtobufCMessageDescriptor thread_abort_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ThreadAbortJoggingResponse",
+ "ThreadAbortJoggingResponse",
+ "ThreadAbortJoggingResponse",
+ "",
+ sizeof(ThreadAbortJoggingResponse),
+ 0,
+ thread_abort_jogging_response__field_descriptors,
+ thread_abort_jogging_response__field_indices_by_name,
+ 0, thread_abort_jogging_response__number_ranges,
+ (ProtobufCMessageInit) thread_abort_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.h
new file mode 100644
index 000000000..7d3d7e82a
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadAbortJoggingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadAbortJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_ThreadAbortJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_ThreadAbortJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ThreadAbortJoggingResponse ThreadAbortJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ThreadAbortJoggingResponse
+{
+ ProtobufCMessage base;
+};
+#define THREAD_ABORT_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&thread_abort_jogging_response__descriptor) \
+ }
+
+
+/* ThreadAbortJoggingResponse methods */
+void thread_abort_jogging_response__init
+ (ThreadAbortJoggingResponse *message);
+size_t thread_abort_jogging_response__get_packed_size
+ (const ThreadAbortJoggingResponse *message);
+size_t thread_abort_jogging_response__pack
+ (const ThreadAbortJoggingResponse *message,
+ uint8_t *out);
+size_t thread_abort_jogging_response__pack_to_buffer
+ (const ThreadAbortJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+ThreadAbortJoggingResponse *
+ thread_abort_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void thread_abort_jogging_response__free_unpacked
+ (ThreadAbortJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ThreadAbortJoggingResponse_Closure)
+ (const ThreadAbortJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor thread_abort_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ThreadAbortJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.c
new file mode 100644
index 000000000..f0b387414
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.c
@@ -0,0 +1,106 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadJoggingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ThreadJoggingRequest.pb-c.h"
+void thread_jogging_request__init
+ (ThreadJoggingRequest *message)
+{
+ static const ThreadJoggingRequest init_value = THREAD_JOGGING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t thread_jogging_request__get_packed_size
+ (const ThreadJoggingRequest *message)
+{
+ assert(message->base.descriptor == &thread_jogging_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t thread_jogging_request__pack
+ (const ThreadJoggingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &thread_jogging_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t thread_jogging_request__pack_to_buffer
+ (const ThreadJoggingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &thread_jogging_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ThreadJoggingRequest *
+ thread_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ThreadJoggingRequest *)
+ protobuf_c_message_unpack (&thread_jogging_request__descriptor,
+ allocator, len, data);
+}
+void thread_jogging_request__free_unpacked
+ (ThreadJoggingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &thread_jogging_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor thread_jogging_request__field_descriptors[2] =
+{
+ {
+ "Direction",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(ThreadJoggingRequest, has_direction),
+ offsetof(ThreadJoggingRequest, direction),
+ &motor_direction__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ThreadJoggingRequest, has_speed),
+ offsetof(ThreadJoggingRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned thread_jogging_request__field_indices_by_name[] = {
+ 0, /* field[0] = Direction */
+ 1, /* field[1] = Speed */
+};
+static const ProtobufCIntRange thread_jogging_request__number_ranges[2 + 1] =
+{
+ { 1, 0 },
+ { 3, 1 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor thread_jogging_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ThreadJoggingRequest",
+ "ThreadJoggingRequest",
+ "ThreadJoggingRequest",
+ "",
+ sizeof(ThreadJoggingRequest),
+ 2,
+ thread_jogging_request__field_descriptors,
+ thread_jogging_request__field_indices_by_name,
+ 2, thread_jogging_request__number_ranges,
+ (ProtobufCMessageInit) thread_jogging_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.h
new file mode 100644
index 000000000..7669215aa
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingRequest.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadJoggingRequest.proto */
+
+#ifndef PROTOBUF_C_ThreadJoggingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_ThreadJoggingRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "MotorDirection.pb-c.h"
+
+typedef struct _ThreadJoggingRequest ThreadJoggingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ThreadJoggingRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_direction;
+ MotorDirection direction;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define THREAD_JOGGING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&thread_jogging_request__descriptor) \
+ , 0, MOTOR_DIRECTION__Forward, 0, 0 }
+
+
+/* ThreadJoggingRequest methods */
+void thread_jogging_request__init
+ (ThreadJoggingRequest *message);
+size_t thread_jogging_request__get_packed_size
+ (const ThreadJoggingRequest *message);
+size_t thread_jogging_request__pack
+ (const ThreadJoggingRequest *message,
+ uint8_t *out);
+size_t thread_jogging_request__pack_to_buffer
+ (const ThreadJoggingRequest *message,
+ ProtobufCBuffer *buffer);
+ThreadJoggingRequest *
+ thread_jogging_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void thread_jogging_request__free_unpacked
+ (ThreadJoggingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ThreadJoggingRequest_Closure)
+ (const ThreadJoggingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor thread_jogging_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ThreadJoggingRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.c
new file mode 100644
index 000000000..c54896825
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadJoggingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ThreadJoggingResponse.pb-c.h"
+void thread_jogging_response__init
+ (ThreadJoggingResponse *message)
+{
+ static const ThreadJoggingResponse init_value = THREAD_JOGGING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t thread_jogging_response__get_packed_size
+ (const ThreadJoggingResponse *message)
+{
+ assert(message->base.descriptor == &thread_jogging_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t thread_jogging_response__pack
+ (const ThreadJoggingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &thread_jogging_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t thread_jogging_response__pack_to_buffer
+ (const ThreadJoggingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &thread_jogging_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ThreadJoggingResponse *
+ thread_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ThreadJoggingResponse *)
+ protobuf_c_message_unpack (&thread_jogging_response__descriptor,
+ allocator, len, data);
+}
+void thread_jogging_response__free_unpacked
+ (ThreadJoggingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &thread_jogging_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define thread_jogging_response__field_descriptors NULL
+#define thread_jogging_response__field_indices_by_name NULL
+#define thread_jogging_response__number_ranges NULL
+const ProtobufCMessageDescriptor thread_jogging_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ThreadJoggingResponse",
+ "ThreadJoggingResponse",
+ "ThreadJoggingResponse",
+ "",
+ sizeof(ThreadJoggingResponse),
+ 0,
+ thread_jogging_response__field_descriptors,
+ thread_jogging_response__field_indices_by_name,
+ 0, thread_jogging_response__number_ranges,
+ (ProtobufCMessageInit) thread_jogging_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.h
new file mode 100644
index 000000000..669b0a7b4
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Diagnostics/ThreadJoggingResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ThreadJoggingResponse.proto */
+
+#ifndef PROTOBUF_C_ThreadJoggingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_ThreadJoggingResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ThreadJoggingResponse ThreadJoggingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ThreadJoggingResponse
+{
+ ProtobufCMessage base;
+};
+#define THREAD_JOGGING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&thread_jogging_response__descriptor) \
+ }
+
+
+/* ThreadJoggingResponse methods */
+void thread_jogging_response__init
+ (ThreadJoggingResponse *message);
+size_t thread_jogging_response__get_packed_size
+ (const ThreadJoggingResponse *message);
+size_t thread_jogging_response__pack
+ (const ThreadJoggingResponse *message,
+ uint8_t *out);
+size_t thread_jogging_response__pack_to_buffer
+ (const ThreadJoggingResponse *message,
+ ProtobufCBuffer *buffer);
+ThreadJoggingResponse *
+ thread_jogging_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void thread_jogging_response__free_unpacked
+ (ThreadJoggingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ThreadJoggingResponse_Closure)
+ (const ThreadJoggingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor thread_jogging_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ThreadJoggingResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.c
deleted file mode 100644
index 2602d5927..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: Job.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "Job.pb-c.h"
-void job__init
- (Job *message)
-{
- static const Job init_value = JOB__INIT;
- *message = init_value;
-}
-size_t job__get_packed_size
- (const Job *message)
-{
- assert(message->base.descriptor == &job__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t job__pack
- (const Job *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &job__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t job__pack_to_buffer
- (const Job *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &job__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-Job *
- job__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (Job *)
- protobuf_c_message_unpack (&job__descriptor,
- allocator, len, data);
-}
-void job__free_unpacked
- (Job *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &job__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-static const ProtobufCFieldDescriptor job__field_descriptors[10] =
-{
- {
- "Name",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_STRING,
- 0, /* quantifier_offset */
- offsetof(Job, name),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "interSegEnable",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_BOOL,
- offsetof(Job, has_intersegenable),
- offsetof(Job, intersegenable),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "distanseToSpoolEnable",
- 3,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_BOOL,
- offsetof(Job, has_distansetospoolenable),
- offsetof(Job, distansetospoolenable),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "distanceToSpoolLength",
- 4,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Job, has_distancetospoollength),
- offsetof(Job, distancetospoollength),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "startOffsetPulses",
- 5,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Job, has_startoffsetpulses),
- offsetof(Job, startoffsetpulses),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "spoolBackingRate",
- 6,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Job, has_spoolbackingrate),
- offsetof(Job, spoolbackingrate),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "segmentOffsetPulses",
- 7,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Job, has_segmentoffsetpulses),
- offsetof(Job, segmentoffsetpulses),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "milimetersPerRotation",
- 8,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Job, has_milimetersperrotation),
- offsetof(Job, milimetersperrotation),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Segments",
- 9,
- PROTOBUF_C_LABEL_REPEATED,
- PROTOBUF_C_TYPE_MESSAGE,
- offsetof(Job, n_segments),
- offsetof(Job, segments),
- &segment__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Motors",
- 10,
- PROTOBUF_C_LABEL_REPEATED,
- PROTOBUF_C_TYPE_MESSAGE,
- offsetof(Job, n_motors),
- offsetof(Job, motors),
- &motor_config__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned job__field_indices_by_name[] = {
- 9, /* field[9] = Motors */
- 0, /* field[0] = Name */
- 8, /* field[8] = Segments */
- 3, /* field[3] = distanceToSpoolLength */
- 2, /* field[2] = distanseToSpoolEnable */
- 1, /* field[1] = interSegEnable */
- 7, /* field[7] = milimetersPerRotation */
- 6, /* field[6] = segmentOffsetPulses */
- 5, /* field[5] = spoolBackingRate */
- 4, /* field[4] = startOffsetPulses */
-};
-static const ProtobufCIntRange job__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 10 }
-};
-const ProtobufCMessageDescriptor job__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "Job",
- "Job",
- "Job",
- "",
- sizeof(Job),
- 10,
- job__field_descriptors,
- job__field_indices_by_name,
- 1, job__number_ranges,
- (ProtobufCMessageInit) job__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.h
deleted file mode 100644
index 4e6718ca9..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Job.pb-c.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: Job.proto */
-
-#ifndef PROTOBUF_C_Job_2eproto__INCLUDED
-#define PROTOBUF_C_Job_2eproto__INCLUDED
-
-#include <protobuf-c/protobuf-c.h>
-
-PROTOBUF_C__BEGIN_DECLS
-
-#if PROTOBUF_C_VERSION_NUMBER < 1003000
-# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
-# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
-#endif
-
-#include "Segment.pb-c.h"
-#include "motor.pb-c.h"
-
-typedef struct _Job Job;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _Job
-{
- ProtobufCMessage base;
- char *name;
- /*
- *does user have chosen inter segment enable option
- */
- protobuf_c_boolean has_intersegenable;
- protobuf_c_boolean intersegenable;
- /*
- *does user have chosen distanse to spool enable option
- */
- protobuf_c_boolean has_distansetospoolenable;
- protobuf_c_boolean distansetospoolenable;
- /*
- *had distance to spool finished?
- */
- protobuf_c_boolean has_distancetospoollength;
- uint32_t distancetospoollength;
- /*
- *repeated temperatureSensorsSetting[Dryer,Head, Mixer]; //temp sensor wanted temperaure in celzius
- *SCREW:
- */
- protobuf_c_boolean has_startoffsetpulses;
- uint32_t startoffsetpulses;
- protobuf_c_boolean has_spoolbackingrate;
- uint32_t spoolbackingrate;
- protobuf_c_boolean has_segmentoffsetpulses;
- uint32_t segmentoffsetpulses;
- protobuf_c_boolean has_milimetersperrotation;
- uint32_t milimetersperrotation;
- size_t n_segments;
- Segment **segments;
- size_t n_motors;
- MotorConfig **motors;
-};
-#define JOB__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&job__descriptor) \
- , NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL, 0,NULL }
-
-
-/* Job methods */
-void job__init
- (Job *message);
-size_t job__get_packed_size
- (const Job *message);
-size_t job__pack
- (const Job *message,
- uint8_t *out);
-size_t job__pack_to_buffer
- (const Job *message,
- ProtobufCBuffer *buffer);
-Job *
- job__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void job__free_unpacked
- (Job *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*Job_Closure)
- (const Job *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor job__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_Job_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.c
deleted file mode 100644
index 77c858bc9..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: Segment.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "Segment.pb-c.h"
-void segment__init
- (Segment *message)
-{
- static const Segment init_value = SEGMENT__INIT;
- *message = init_value;
-}
-size_t segment__get_packed_size
- (const Segment *message)
-{
- assert(message->base.descriptor == &segment__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t segment__pack
- (const Segment *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &segment__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t segment__pack_to_buffer
- (const Segment *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &segment__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-Segment *
- segment__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (Segment *)
- protobuf_c_message_unpack (&segment__descriptor,
- allocator, len, data);
-}
-void segment__free_unpacked
- (Segment *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &segment__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-static const ProtobufCFieldDescriptor segment__field_descriptors[4] =
-{
- {
- "Name",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_STRING,
- 0, /* quantifier_offset */
- offsetof(Segment, name),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Length",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_INT32,
- offsetof(Segment, has_length),
- offsetof(Segment, length),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Color",
- 3,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_MESSAGE,
- 0, /* quantifier_offset */
- offsetof(Segment, color),
- &rgb__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dispenser",
- 4,
- PROTOBUF_C_LABEL_REPEATED,
- PROTOBUF_C_TYPE_MESSAGE,
- offsetof(Segment, n_dispenser),
- offsetof(Segment, dispenser),
- &dispense__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned segment__field_indices_by_name[] = {
- 2, /* field[2] = Color */
- 1, /* field[1] = Length */
- 0, /* field[0] = Name */
- 3, /* field[3] = dispenser */
-};
-static const ProtobufCIntRange segment__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 4 }
-};
-const ProtobufCMessageDescriptor segment__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "Segment",
- "Segment",
- "Segment",
- "",
- sizeof(Segment),
- 4,
- segment__field_descriptors,
- segment__field_indices_by_name,
- 1, segment__number_ranges,
- (ProtobufCMessageInit) segment__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.c
deleted file mode 100644
index 165436be2..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: dispenser.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "dispenser.pb-c.h"
-void gradient_flow__init
- (GradientFlow *message)
-{
- static const GradientFlow init_value = GRADIENT_FLOW__INIT;
- *message = init_value;
-}
-size_t gradient_flow__get_packed_size
- (const GradientFlow *message)
-{
- assert(message->base.descriptor == &gradient_flow__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t gradient_flow__pack
- (const GradientFlow *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &gradient_flow__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t gradient_flow__pack_to_buffer
- (const GradientFlow *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &gradient_flow__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-GradientFlow *
- gradient_flow__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (GradientFlow *)
- protobuf_c_message_unpack (&gradient_flow__descriptor,
- allocator, len, data);
-}
-void gradient_flow__free_unpacked
- (GradientFlow *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &gradient_flow__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-void dispense__init
- (Dispense *message)
-{
- static const Dispense init_value = DISPENSE__INIT;
- *message = init_value;
-}
-size_t dispense__get_packed_size
- (const Dispense *message)
-{
- assert(message->base.descriptor == &dispense__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t dispense__pack
- (const Dispense *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &dispense__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t dispense__pack_to_buffer
- (const Dispense *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &dispense__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-Dispense *
- dispense__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (Dispense *)
- protobuf_c_message_unpack (&dispense__descriptor,
- allocator, len, data);
-}
-void dispense__free_unpacked
- (Dispense *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &dispense__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-static const ProtobufCFieldDescriptor gradient_flow__field_descriptors[1] =
-{
- {
- "NLflow",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(GradientFlow, has_nlflow),
- offsetof(GradientFlow, nlflow),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned gradient_flow__field_indices_by_name[] = {
- 0, /* field[0] = NLflow */
-};
-static const ProtobufCIntRange gradient_flow__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 1 }
-};
-const ProtobufCMessageDescriptor gradient_flow__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "gradientFlow",
- "GradientFlow",
- "GradientFlow",
- "",
- sizeof(GradientFlow),
- 1,
- gradient_flow__field_descriptors,
- gradient_flow__field_indices_by_name,
- 1, gradient_flow__number_ranges,
- (ProtobufCMessageInit) gradient_flow__init,
- NULL,NULL,NULL /* reserved[123] */
-};
-static const ProtobufCFieldDescriptor dispense__field_descriptors[3] =
-{
- {
- "Id",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_INT32,
- offsetof(Dispense, has_id),
- offsetof(Dispense, id),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "startFlow",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(Dispense, has_startflow),
- offsetof(Dispense, startflow),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "gradient",
- 3,
- PROTOBUF_C_LABEL_REPEATED,
- PROTOBUF_C_TYPE_MESSAGE,
- offsetof(Dispense, n_gradient),
- offsetof(Dispense, gradient),
- &gradient_flow__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned dispense__field_indices_by_name[] = {
- 0, /* field[0] = Id */
- 2, /* field[2] = gradient */
- 1, /* field[1] = startFlow */
-};
-static const ProtobufCIntRange dispense__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 3 }
-};
-const ProtobufCMessageDescriptor dispense__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "Dispense",
- "Dispense",
- "Dispense",
- "",
- sizeof(Dispense),
- 3,
- dispense__field_descriptors,
- dispense__field_indices_by_name,
- 1, dispense__number_ranges,
- (ProtobufCMessageInit) dispense__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.h
deleted file mode 100644
index 2027dace0..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/dispenser.pb-c.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: dispenser.proto */
-
-#ifndef PROTOBUF_C_dispenser_2eproto__INCLUDED
-#define PROTOBUF_C_dispenser_2eproto__INCLUDED
-
-#include <protobuf-c/protobuf-c.h>
-
-PROTOBUF_C__BEGIN_DECLS
-
-#if PROTOBUF_C_VERSION_NUMBER < 1003000
-# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
-# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
-#endif
-
-
-typedef struct _GradientFlow GradientFlow;
-typedef struct _Dispense Dispense;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _GradientFlow
-{
- ProtobufCMessage base;
- protobuf_c_boolean has_nlflow;
- double nlflow;
-};
-#define GRADIENT_FLOW__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&gradient_flow__descriptor) \
- , 0, 0 }
-
-
-struct _Dispense
-{
- ProtobufCMessage base;
- protobuf_c_boolean has_id;
- int32_t id;
- protobuf_c_boolean has_startflow;
- double startflow;
- size_t n_gradient;
- GradientFlow **gradient;
-};
-#define DISPENSE__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&dispense__descriptor) \
- , 0, 0, 0, 0, 0,NULL }
-
-
-/* GradientFlow methods */
-void gradient_flow__init
- (GradientFlow *message);
-size_t gradient_flow__get_packed_size
- (const GradientFlow *message);
-size_t gradient_flow__pack
- (const GradientFlow *message,
- uint8_t *out);
-size_t gradient_flow__pack_to_buffer
- (const GradientFlow *message,
- ProtobufCBuffer *buffer);
-GradientFlow *
- gradient_flow__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void gradient_flow__free_unpacked
- (GradientFlow *message,
- ProtobufCAllocator *allocator);
-/* Dispense methods */
-void dispense__init
- (Dispense *message);
-size_t dispense__get_packed_size
- (const Dispense *message);
-size_t dispense__pack
- (const Dispense *message,
- uint8_t *out);
-size_t dispense__pack_to_buffer
- (const Dispense *message,
- ProtobufCBuffer *buffer);
-Dispense *
- dispense__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void dispense__free_unpacked
- (Dispense *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*GradientFlow_Closure)
- (const GradientFlow *message,
- void *closure_data);
-typedef void (*Dispense_Closure)
- (const Dispense *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor gradient_flow__descriptor;
-extern const ProtobufCMessageDescriptor dispense__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_dispenser_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.c
deleted file mode 100644
index 9c219010d..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: motor.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "motor.pb-c.h"
-void motor_config__init
- (MotorConfig *message)
-{
- static const MotorConfig init_value = MOTOR_CONFIG__INIT;
- *message = init_value;
-}
-size_t motor_config__get_packed_size
- (const MotorConfig *message)
-{
- assert(message->base.descriptor == &motor_config__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t motor_config__pack
- (const MotorConfig *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &motor_config__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t motor_config__pack_to_buffer
- (const MotorConfig *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &motor_config__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-MotorConfig *
- motor_config__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (MotorConfig *)
- protobuf_c_message_unpack (&motor_config__descriptor,
- allocator, len, data);
-}
-void motor_config__free_unpacked
- (MotorConfig *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &motor_config__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-static const ProtobufCFieldDescriptor motor_config__field_descriptors[14] =
-{
- {
- "Id",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_ENUM,
- offsetof(MotorConfig, has_id),
- offsetof(MotorConfig, id),
- &motor_id__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "minfreq",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(MotorConfig, has_minfreq),
- offsetof(MotorConfig, minfreq),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "maxfreq",
- 3,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(MotorConfig, has_maxfreq),
- offsetof(MotorConfig, maxfreq),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "minmicrostep",
- 4,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(MotorConfig, has_minmicrostep),
- offsetof(MotorConfig, minmicrostep),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "maxmicrostep",
- 5,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(MotorConfig, has_maxmicrostep),
- offsetof(MotorConfig, maxmicrostep),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "linearratio",
- 6,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_linearratio),
- offsetof(MotorConfig, linearratio),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "medianposition",
- 7,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(MotorConfig, has_medianposition),
- offsetof(MotorConfig, medianposition),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "correctiongain",
- 8,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_correctiongain),
- offsetof(MotorConfig, correctiongain),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "ration2dryerspd",
- 9,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_ration2dryerspd),
- offsetof(MotorConfig, ration2dryerspd),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Kp",
- 10,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_kp),
- offsetof(MotorConfig, kp),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Ki",
- 11,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_ki),
- offsetof(MotorConfig, ki),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "Kd",
- 12,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_kd),
- offsetof(MotorConfig, kd),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "changeSlope",
- 13,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_changeslope),
- offsetof(MotorConfig, changeslope),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "hightimeoutmSec",
- 14,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_DOUBLE,
- offsetof(MotorConfig, has_hightimeoutmsec),
- offsetof(MotorConfig, hightimeoutmsec),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned motor_config__field_indices_by_name[] = {
- 0, /* field[0] = Id */
- 11, /* field[11] = Kd */
- 10, /* field[10] = Ki */
- 9, /* field[9] = Kp */
- 12, /* field[12] = changeSlope */
- 7, /* field[7] = correctiongain */
- 13, /* field[13] = hightimeoutmSec */
- 5, /* field[5] = linearratio */
- 2, /* field[2] = maxfreq */
- 4, /* field[4] = maxmicrostep */
- 6, /* field[6] = medianposition */
- 1, /* field[1] = minfreq */
- 3, /* field[3] = minmicrostep */
- 8, /* field[8] = ration2dryerspd */
-};
-static const ProtobufCIntRange motor_config__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 14 }
-};
-const ProtobufCMessageDescriptor motor_config__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "MotorConfig",
- "MotorConfig",
- "MotorConfig",
- "",
- sizeof(MotorConfig),
- 14,
- motor_config__field_descriptors,
- motor_config__field_indices_by_name,
- 1, motor_config__number_ranges,
- (ProtobufCMessageInit) motor_config__init,
- NULL,NULL,NULL /* reserved[123] */
-};
-static const ProtobufCEnumValue motor_id__enum_values_by_number[4] =
-{
- { "Feeder", "MOTOR_ID__Feeder", 0 },
- { "Dryer", "MOTOR_ID__Dryer", 1 },
- { "Pooler", "MOTOR_ID__Pooler", 2 },
- { "Winder", "MOTOR_ID__Winder", 3 },
-};
-static const ProtobufCIntRange motor_id__value_ranges[] = {
-{0, 0},{0, 4}
-};
-static const ProtobufCEnumValueIndex motor_id__enum_values_by_name[4] =
-{
- { "Dryer", 1 },
- { "Feeder", 0 },
- { "Pooler", 2 },
- { "Winder", 3 },
-};
-const ProtobufCEnumDescriptor motor_id__descriptor =
-{
- PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
- "MotorId",
- "MotorId",
- "MotorId",
- "",
- 4,
- motor_id__enum_values_by_number,
- 4,
- motor_id__enum_values_by_name,
- 1,
- motor_id__value_ranges,
- NULL,NULL,NULL,NULL /* reserved[1234] */
-};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.h
deleted file mode 100644
index 1266d57d1..000000000
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/motor.pb-c.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: motor.proto */
-
-#ifndef PROTOBUF_C_motor_2eproto__INCLUDED
-#define PROTOBUF_C_motor_2eproto__INCLUDED
-
-#include <protobuf-c/protobuf-c.h>
-
-PROTOBUF_C__BEGIN_DECLS
-
-#if PROTOBUF_C_VERSION_NUMBER < 1003000
-# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
-# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
-#endif
-
-
-typedef struct _MotorConfig MotorConfig;
-
-
-/* --- enums --- */
-
-typedef enum _MotorId {
- MOTOR_ID__Feeder = 0,
- MOTOR_ID__Dryer = 1,
- MOTOR_ID__Pooler = 2,
- MOTOR_ID__Winder = 3
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MOTOR_ID)
-} MotorId;
-
-/* --- messages --- */
-
-struct _MotorConfig
-{
- ProtobufCMessage base;
- protobuf_c_boolean has_id;
- MotorId id;
- protobuf_c_boolean has_minfreq;
- uint32_t minfreq;
- protobuf_c_boolean has_maxfreq;
- uint32_t maxfreq;
- protobuf_c_boolean has_minmicrostep;
- uint32_t minmicrostep;
- protobuf_c_boolean has_maxmicrostep;
- uint32_t maxmicrostep;
- protobuf_c_boolean has_linearratio;
- double linearratio;
- protobuf_c_boolean has_medianposition;
- uint32_t medianposition;
- protobuf_c_boolean has_correctiongain;
- double correctiongain;
- protobuf_c_boolean has_ration2dryerspd;
- double ration2dryerspd;
- protobuf_c_boolean has_kp;
- double kp;
- protobuf_c_boolean has_ki;
- double ki;
- protobuf_c_boolean has_kd;
- double kd;
- protobuf_c_boolean has_changeslope;
- double changeslope;
- protobuf_c_boolean has_hightimeoutmsec;
- double hightimeoutmsec;
-};
-#define MOTOR_CONFIG__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&motor_config__descriptor) \
- , 0, MOTOR_ID__Feeder, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
-
-
-/* MotorConfig methods */
-void motor_config__init
- (MotorConfig *message);
-size_t motor_config__get_packed_size
- (const MotorConfig *message);
-size_t motor_config__pack
- (const MotorConfig *message,
- uint8_t *out);
-size_t motor_config__pack_to_buffer
- (const MotorConfig *message,
- ProtobufCBuffer *buffer);
-MotorConfig *
- motor_config__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void motor_config__free_unpacked
- (MotorConfig *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*MotorConfig_Closure)
- (const MotorConfig *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCEnumDescriptor motor_id__descriptor;
-extern const ProtobufCMessageDescriptor motor_config__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_motor_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.c
new file mode 100644
index 000000000..a2b2826c0
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "AbortJobRequest.pb-c.h"
+void abort_job_request__init
+ (AbortJobRequest *message)
+{
+ static const AbortJobRequest init_value = ABORT_JOB_REQUEST__INIT;
+ *message = init_value;
+}
+size_t abort_job_request__get_packed_size
+ (const AbortJobRequest *message)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t abort_job_request__pack
+ (const AbortJobRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t abort_job_request__pack_to_buffer
+ (const AbortJobRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+AbortJobRequest *
+ abort_job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (AbortJobRequest *)
+ protobuf_c_message_unpack (&abort_job_request__descriptor,
+ allocator, len, data);
+}
+void abort_job_request__free_unpacked
+ (AbortJobRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define abort_job_request__field_descriptors NULL
+#define abort_job_request__field_indices_by_name NULL
+#define abort_job_request__number_ranges NULL
+const ProtobufCMessageDescriptor abort_job_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "AbortJobRequest",
+ "AbortJobRequest",
+ "AbortJobRequest",
+ "",
+ sizeof(AbortJobRequest),
+ 0,
+ abort_job_request__field_descriptors,
+ abort_job_request__field_indices_by_name,
+ 0, abort_job_request__number_ranges,
+ (ProtobufCMessageInit) abort_job_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.h
new file mode 100644
index 000000000..1635e0458
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobRequest.proto */
+
+#ifndef PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED
+#define PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _AbortJobRequest AbortJobRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _AbortJobRequest
+{
+ ProtobufCMessage base;
+};
+#define ABORT_JOB_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&abort_job_request__descriptor) \
+ }
+
+
+/* AbortJobRequest methods */
+void abort_job_request__init
+ (AbortJobRequest *message);
+size_t abort_job_request__get_packed_size
+ (const AbortJobRequest *message);
+size_t abort_job_request__pack
+ (const AbortJobRequest *message,
+ uint8_t *out);
+size_t abort_job_request__pack_to_buffer
+ (const AbortJobRequest *message,
+ ProtobufCBuffer *buffer);
+AbortJobRequest *
+ abort_job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void abort_job_request__free_unpacked
+ (AbortJobRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*AbortJobRequest_Closure)
+ (const AbortJobRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor abort_job_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.c
new file mode 100644
index 000000000..7a6f4e341
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "AbortJobResponse.pb-c.h"
+void abort_job_response__init
+ (AbortJobResponse *message)
+{
+ static const AbortJobResponse init_value = ABORT_JOB_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t abort_job_response__get_packed_size
+ (const AbortJobResponse *message)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t abort_job_response__pack
+ (const AbortJobResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t abort_job_response__pack_to_buffer
+ (const AbortJobResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+AbortJobResponse *
+ abort_job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (AbortJobResponse *)
+ protobuf_c_message_unpack (&abort_job_response__descriptor,
+ allocator, len, data);
+}
+void abort_job_response__free_unpacked
+ (AbortJobResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define abort_job_response__field_descriptors NULL
+#define abort_job_response__field_indices_by_name NULL
+#define abort_job_response__number_ranges NULL
+const ProtobufCMessageDescriptor abort_job_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "AbortJobResponse",
+ "AbortJobResponse",
+ "AbortJobResponse",
+ "",
+ sizeof(AbortJobResponse),
+ 0,
+ abort_job_response__field_descriptors,
+ abort_job_response__field_indices_by_name,
+ 0, abort_job_response__number_ranges,
+ (ProtobufCMessageInit) abort_job_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.h
new file mode 100644
index 000000000..66c887250
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/AbortJobResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobResponse.proto */
+
+#ifndef PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED
+#define PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _AbortJobResponse AbortJobResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _AbortJobResponse
+{
+ ProtobufCMessage base;
+};
+#define ABORT_JOB_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&abort_job_response__descriptor) \
+ }
+
+
+/* AbortJobResponse methods */
+void abort_job_response__init
+ (AbortJobResponse *message);
+size_t abort_job_response__get_packed_size
+ (const AbortJobResponse *message);
+size_t abort_job_response__pack
+ (const AbortJobResponse *message,
+ uint8_t *out);
+size_t abort_job_response__pack_to_buffer
+ (const AbortJobResponse *message,
+ ProtobufCBuffer *buffer);
+AbortJobResponse *
+ abort_job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void abort_job_response__free_unpacked
+ (AbortJobResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*AbortJobResponse_Closure)
+ (const AbortJobResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor abort_job_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.c
new file mode 100644
index 000000000..d282c0e56
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobRequest.pb-c.h"
+void job_request__init
+ (JobRequest *message)
+{
+ static const JobRequest init_value = JOB_REQUEST__INIT;
+ *message = init_value;
+}
+size_t job_request__get_packed_size
+ (const JobRequest *message)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_request__pack
+ (const JobRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_request__pack_to_buffer
+ (const JobRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobRequest *
+ job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobRequest *)
+ protobuf_c_message_unpack (&job_request__descriptor,
+ allocator, len, data);
+}
+void job_request__free_unpacked
+ (JobRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_request__field_descriptors[2] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobRequest, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "JobTicket",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobRequest, jobticket),
+ &job_ticket__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_request__field_indices_by_name[] = {
+ 1, /* field[1] = JobTicket */
+ 0, /* field[0] = Name */
+};
+static const ProtobufCIntRange job_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor job_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobRequest",
+ "JobRequest",
+ "JobRequest",
+ "",
+ sizeof(JobRequest),
+ 2,
+ job_request__field_descriptors,
+ job_request__field_indices_by_name,
+ 1, job_request__number_ranges,
+ (ProtobufCMessageInit) job_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.h
new file mode 100644
index 000000000..2019c859b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobRequest.pb-c.h
@@ -0,0 +1,73 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobRequest.proto */
+
+#ifndef PROTOBUF_C_JobRequest_2eproto__INCLUDED
+#define PROTOBUF_C_JobRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobTicket.pb-c.h"
+
+typedef struct _JobRequest JobRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobRequest
+{
+ ProtobufCMessage base;
+ JobTicket *jobticket;
+ char *name;
+};
+#define JOB_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_request__descriptor) \
+ , NULL, NULL }
+
+
+/* JobRequest methods */
+void job_request__init
+ (JobRequest *message);
+size_t job_request__get_packed_size
+ (const JobRequest *message);
+size_t job_request__pack
+ (const JobRequest *message,
+ uint8_t *out);
+size_t job_request__pack_to_buffer
+ (const JobRequest *message,
+ ProtobufCBuffer *buffer);
+JobRequest *
+ job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_request__free_unpacked
+ (JobRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobRequest_Closure)
+ (const JobRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.c
new file mode 100644
index 000000000..692f2df66
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobResponse.pb-c.h"
+void job_response__init
+ (JobResponse *message)
+{
+ static const JobResponse init_value = JOB_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t job_response__get_packed_size
+ (const JobResponse *message)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_response__pack
+ (const JobResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_response__pack_to_buffer
+ (const JobResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobResponse *
+ job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobResponse *)
+ protobuf_c_message_unpack (&job_response__descriptor,
+ allocator, len, data);
+}
+void job_response__free_unpacked
+ (JobResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobResponse, status),
+ &job_status__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Canceled",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(JobResponse, has_canceled),
+ offsetof(JobResponse, canceled),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_response__field_indices_by_name[] = {
+ 1, /* field[1] = Canceled */
+ 0, /* field[0] = Status */
+};
+static const ProtobufCIntRange job_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor job_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobResponse",
+ "JobResponse",
+ "JobResponse",
+ "",
+ sizeof(JobResponse),
+ 2,
+ job_response__field_descriptors,
+ job_response__field_indices_by_name,
+ 1, job_response__number_ranges,
+ (ProtobufCMessageInit) job_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.h
new file mode 100644
index 000000000..56efcd106
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobResponse.proto */
+
+#ifndef PROTOBUF_C_JobResponse_2eproto__INCLUDED
+#define PROTOBUF_C_JobResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobStatus.pb-c.h"
+
+typedef struct _JobResponse JobResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobResponse
+{
+ ProtobufCMessage base;
+ JobStatus *status;
+ protobuf_c_boolean has_canceled;
+ protobuf_c_boolean canceled;
+};
+#define JOB_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* JobResponse methods */
+void job_response__init
+ (JobResponse *message);
+size_t job_response__get_packed_size
+ (const JobResponse *message);
+size_t job_response__pack
+ (const JobResponse *message,
+ uint8_t *out);
+size_t job_response__pack_to_buffer
+ (const JobResponse *message,
+ ProtobufCBuffer *buffer);
+JobResponse *
+ job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_response__free_unpacked
+ (JobResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobResponse_Closure)
+ (const JobResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.c
new file mode 100644
index 000000000..94042855d
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSegment.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobSegment.pb-c.h"
+void job_segment__init
+ (JobSegment *message)
+{
+ static const JobSegment init_value = JOB_SEGMENT__INIT;
+ *message = init_value;
+}
+size_t job_segment__get_packed_size
+ (const JobSegment *message)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_segment__pack
+ (const JobSegment *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_segment__pack_to_buffer
+ (const JobSegment *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobSegment *
+ job_segment__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobSegment *)
+ protobuf_c_message_unpack (&job_segment__descriptor,
+ allocator, len, data);
+}
+void job_segment__free_unpacked
+ (JobSegment *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_segment__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_segment__field_descriptors[2] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobSegment, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Length",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobSegment, has_length),
+ offsetof(JobSegment, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_segment__field_indices_by_name[] = {
+ 1, /* field[1] = Length */
+ 0, /* field[0] = Name */
+};
+static const ProtobufCIntRange job_segment__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor job_segment__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobSegment",
+ "JobSegment",
+ "JobSegment",
+ "",
+ sizeof(JobSegment),
+ 2,
+ job_segment__field_descriptors,
+ job_segment__field_indices_by_name,
+ 1, job_segment__number_ranges,
+ (ProtobufCMessageInit) job_segment__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.h
index 5b7172c58..df8fb21e5 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Jobs/Segment.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobSegment.pb-c.h
@@ -1,8 +1,8 @@
/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: Segment.proto */
+/* Generated from: JobSegment.proto */
-#ifndef PROTOBUF_C_Segment_2eproto__INCLUDED
-#define PROTOBUF_C_Segment_2eproto__INCLUDED
+#ifndef PROTOBUF_C_JobSegment_2eproto__INCLUDED
+#define PROTOBUF_C_JobSegment_2eproto__INCLUDED
#include <protobuf-c/protobuf-c.h>
@@ -14,10 +14,8 @@ PROTOBUF_C__BEGIN_DECLS
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif
-#include "RGB.pb-c.h"
-#include "dispenser.pb-c.h"
-typedef struct _Segment Segment;
+typedef struct _JobSegment JobSegment;
/* --- enums --- */
@@ -25,44 +23,41 @@ typedef struct _Segment Segment;
/* --- messages --- */
-struct _Segment
+struct _JobSegment
{
ProtobufCMessage base;
char *name;
protobuf_c_boolean has_length;
- int32_t length;
- RGB *color;
- size_t n_dispenser;
- Dispense **dispenser;
+ double length;
};
-#define SEGMENT__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&segment__descriptor) \
- , NULL, 0, 0, NULL, 0,NULL }
+#define JOB_SEGMENT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_segment__descriptor) \
+ , NULL, 0, 0 }
-/* Segment methods */
-void segment__init
- (Segment *message);
-size_t segment__get_packed_size
- (const Segment *message);
-size_t segment__pack
- (const Segment *message,
+/* JobSegment methods */
+void job_segment__init
+ (JobSegment *message);
+size_t job_segment__get_packed_size
+ (const JobSegment *message);
+size_t job_segment__pack
+ (const JobSegment *message,
uint8_t *out);
-size_t segment__pack_to_buffer
- (const Segment *message,
+size_t job_segment__pack_to_buffer
+ (const JobSegment *message,
ProtobufCBuffer *buffer);
-Segment *
- segment__unpack
+JobSegment *
+ job_segment__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data);
-void segment__free_unpacked
- (Segment *message,
+void job_segment__free_unpacked
+ (JobSegment *message,
ProtobufCAllocator *allocator);
/* --- per-message closures --- */
-typedef void (*Segment_Closure)
- (const Segment *message,
+typedef void (*JobSegment_Closure)
+ (const JobSegment *message,
void *closure_data);
/* --- services --- */
@@ -70,9 +65,9 @@ typedef void (*Segment_Closure)
/* --- descriptors --- */
-extern const ProtobufCMessageDescriptor segment__descriptor;
+extern const ProtobufCMessageDescriptor job_segment__descriptor;
PROTOBUF_C__END_DECLS
-#endif /* PROTOBUF_C_Segment_2eproto__INCLUDED */
+#endif /* PROTOBUF_C_JobSegment_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.c
new file mode 100644
index 000000000..c7682cdb2
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobStatus.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobStatus.pb-c.h"
+void job_status__init
+ (JobStatus *message)
+{
+ static const JobStatus init_value = JOB_STATUS__INIT;
+ *message = init_value;
+}
+size_t job_status__get_packed_size
+ (const JobStatus *message)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_status__pack
+ (const JobStatus *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_status__pack_to_buffer
+ (const JobStatus *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobStatus *
+ job_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobStatus *)
+ protobuf_c_message_unpack (&job_status__descriptor,
+ allocator, len, data);
+}
+void job_status__free_unpacked
+ (JobStatus *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_status__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_status__field_descriptors[3] =
+{
+ {
+ "Message",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobStatus, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Progress",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobStatus, has_progress),
+ offsetof(JobStatus, progress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CurrentSegmentIndex",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobStatus, has_currentsegmentindex),
+ offsetof(JobStatus, currentsegmentindex),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_status__field_indices_by_name[] = {
+ 2, /* field[2] = CurrentSegmentIndex */
+ 0, /* field[0] = Message */
+ 1, /* field[1] = Progress */
+};
+static const ProtobufCIntRange job_status__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor job_status__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobStatus",
+ "JobStatus",
+ "JobStatus",
+ "",
+ sizeof(JobStatus),
+ 3,
+ job_status__field_descriptors,
+ job_status__field_indices_by_name,
+ 1, job_status__number_ranges,
+ (ProtobufCMessageInit) job_status__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.h
new file mode 100644
index 000000000..abfb9d71f
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobStatus.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobStatus.proto */
+
+#ifndef PROTOBUF_C_JobStatus_2eproto__INCLUDED
+#define PROTOBUF_C_JobStatus_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _JobStatus JobStatus;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobStatus
+{
+ ProtobufCMessage base;
+ char *message;
+ protobuf_c_boolean has_progress;
+ double progress;
+ protobuf_c_boolean has_currentsegmentindex;
+ int32_t currentsegmentindex;
+};
+#define JOB_STATUS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_status__descriptor) \
+ , NULL, 0, 0, 0, 0 }
+
+
+/* JobStatus methods */
+void job_status__init
+ (JobStatus *message);
+size_t job_status__get_packed_size
+ (const JobStatus *message);
+size_t job_status__pack
+ (const JobStatus *message,
+ uint8_t *out);
+size_t job_status__pack_to_buffer
+ (const JobStatus *message,
+ ProtobufCBuffer *buffer);
+JobStatus *
+ job_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_status__free_unpacked
+ (JobStatus *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobStatus_Closure)
+ (const JobStatus *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_status__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobStatus_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.c
new file mode 100644
index 000000000..765494fce
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobTicket.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobTicket.pb-c.h"
+void job_ticket__init
+ (JobTicket *message)
+{
+ static const JobTicket init_value = JOB_TICKET__INIT;
+ *message = init_value;
+}
+size_t job_ticket__get_packed_size
+ (const JobTicket *message)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_ticket__pack
+ (const JobTicket *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_ticket__pack_to_buffer
+ (const JobTicket *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobTicket *
+ job_ticket__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobTicket *)
+ protobuf_c_message_unpack (&job_ticket__descriptor,
+ allocator, len, data);
+}
+void job_ticket__free_unpacked
+ (JobTicket *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_ticket__field_descriptors[7] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobTicket, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "EnableInterSegment",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(JobTicket, has_enableintersegment),
+ offsetof(JobTicket, enableintersegment),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InterSegmentLength",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobTicket, has_intersegmentlength),
+ offsetof(JobTicket, intersegmentlength),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Length",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobTicket, has_length),
+ offsetof(JobTicket, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ProcessParameters",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobTicket, processparameters),
+ &process_parameters__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WindingMethod",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(JobTicket, has_windingmethod),
+ offsetof(JobTicket, windingmethod),
+ &job_winding_method__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Segments",
+ 7,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(JobTicket, n_segments),
+ offsetof(JobTicket, segments),
+ &job_segment__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_ticket__field_indices_by_name[] = {
+ 1, /* field[1] = EnableInterSegment */
+ 2, /* field[2] = InterSegmentLength */
+ 3, /* field[3] = Length */
+ 0, /* field[0] = Name */
+ 4, /* field[4] = ProcessParameters */
+ 6, /* field[6] = Segments */
+ 5, /* field[5] = WindingMethod */
+};
+static const ProtobufCIntRange job_ticket__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor job_ticket__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobTicket",
+ "JobTicket",
+ "JobTicket",
+ "",
+ sizeof(JobTicket),
+ 7,
+ job_ticket__field_descriptors,
+ job_ticket__field_indices_by_name,
+ 1, job_ticket__number_ranges,
+ (ProtobufCMessageInit) job_ticket__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.h
new file mode 100644
index 000000000..b64ee6292
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobTicket.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobTicket.proto */
+
+#ifndef PROTOBUF_C_JobTicket_2eproto__INCLUDED
+#define PROTOBUF_C_JobTicket_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobSegment.pb-c.h"
+#include "ProcessParameters.pb-c.h"
+#include "JobWindingMethod.pb-c.h"
+
+typedef struct _JobTicket JobTicket;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobTicket
+{
+ ProtobufCMessage base;
+ char *name;
+ protobuf_c_boolean has_enableintersegment;
+ protobuf_c_boolean enableintersegment;
+ protobuf_c_boolean has_intersegmentlength;
+ double intersegmentlength;
+ protobuf_c_boolean has_length;
+ double length;
+ ProcessParameters *processparameters;
+ protobuf_c_boolean has_windingmethod;
+ JobWindingMethod windingmethod;
+ size_t n_segments;
+ JobSegment **segments;
+};
+#define JOB_TICKET__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_ticket__descriptor) \
+ , NULL, 0, 0, 0, 0, 0, 0, NULL, 0, JOB_WINDING_METHOD__Embroidery, 0,NULL }
+
+
+/* JobTicket methods */
+void job_ticket__init
+ (JobTicket *message);
+size_t job_ticket__get_packed_size
+ (const JobTicket *message);
+size_t job_ticket__pack
+ (const JobTicket *message,
+ uint8_t *out);
+size_t job_ticket__pack_to_buffer
+ (const JobTicket *message,
+ ProtobufCBuffer *buffer);
+JobTicket *
+ job_ticket__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_ticket__free_unpacked
+ (JobTicket *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobTicket_Closure)
+ (const JobTicket *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_ticket__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobTicket_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.c
new file mode 100644
index 000000000..89ca011a3
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.c
@@ -0,0 +1,37 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobWindingMethod.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobWindingMethod.pb-c.h"
+static const ProtobufCEnumValue job_winding_method__enum_values_by_number[2] =
+{
+ { "Embroidery", "JOB_WINDING_METHOD__Embroidery", 0 },
+ { "Calibration", "JOB_WINDING_METHOD__Calibration", 1 },
+};
+static const ProtobufCIntRange job_winding_method__value_ranges[] = {
+{0, 0},{0, 2}
+};
+static const ProtobufCEnumValueIndex job_winding_method__enum_values_by_name[2] =
+{
+ { "Calibration", 1 },
+ { "Embroidery", 0 },
+};
+const ProtobufCEnumDescriptor job_winding_method__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "JobWindingMethod",
+ "JobWindingMethod",
+ "JobWindingMethod",
+ "",
+ 2,
+ job_winding_method__enum_values_by_number,
+ 2,
+ job_winding_method__enum_values_by_name,
+ 1,
+ job_winding_method__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.h
new file mode 100644
index 000000000..a762ae2c5
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/JobWindingMethod.pb-c.h
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobWindingMethod.proto */
+
+#ifndef PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED
+#define PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _JobWindingMethod {
+ JOB_WINDING_METHOD__Embroidery = 0,
+ JOB_WINDING_METHOD__Calibration = 1
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(JOB_WINDING_METHOD)
+} JobWindingMethod;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor job_winding_method__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.c
new file mode 100644
index 000000000..f1d45c351
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.c
@@ -0,0 +1,287 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProcessParameters.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ProcessParameters.pb-c.h"
+void process_parameters__init
+ (ProcessParameters *message)
+{
+ static const ProcessParameters init_value = PROCESS_PARAMETERS__INIT;
+ *message = init_value;
+}
+size_t process_parameters__get_packed_size
+ (const ProcessParameters *message)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t process_parameters__pack
+ (const ProcessParameters *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t process_parameters__pack_to_buffer
+ (const ProcessParameters *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ProcessParameters *
+ process_parameters__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ProcessParameters *)
+ protobuf_c_message_unpack (&process_parameters__descriptor,
+ allocator, len, data);
+}
+void process_parameters__free_unpacked
+ (ProcessParameters *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor process_parameters__field_descriptors[16] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(ProcessParameters, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DyeingSpeed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dyeingspeed),
+ offsetof(ProcessParameters, dyeingspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinInkUptake",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_mininkuptake),
+ offsetof(ProcessParameters, mininkuptake),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MixerTemp",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_mixertemp),
+ offsetof(ProcessParameters, mixertemp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone1Temp",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone1temp),
+ offsetof(ProcessParameters, headzone1temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone2Temp",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone2temp),
+ offsetof(ProcessParameters, headzone2temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone3Temp",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone3temp),
+ offsetof(ProcessParameters, headzone3temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadAirFlow",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headairflow),
+ offsetof(ProcessParameters, headairflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "FeederTension",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_feedertension),
+ offsetof(ProcessParameters, feedertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PullerTension",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_pullertension),
+ offsetof(ProcessParameters, pullertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerBufferLength",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerbufferlength),
+ offsetof(ProcessParameters, dryerbufferlength),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone1Temp",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone1temp),
+ offsetof(ProcessParameters, dryerzone1temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone2Temp",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone2temp),
+ offsetof(ProcessParameters, dryerzone2temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone3Temp",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone3temp),
+ offsetof(ProcessParameters, dryerzone3temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerAirFlow",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerairflow),
+ offsetof(ProcessParameters, dryerairflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WinderTension",
+ 16,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_windertension),
+ offsetof(ProcessParameters, windertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned process_parameters__field_indices_by_name[] = {
+ 14, /* field[14] = DryerAirFlow */
+ 10, /* field[10] = DryerBufferLength */
+ 11, /* field[11] = DryerZone1Temp */
+ 12, /* field[12] = DryerZone2Temp */
+ 13, /* field[13] = DryerZone3Temp */
+ 1, /* field[1] = DyeingSpeed */
+ 8, /* field[8] = FeederTension */
+ 7, /* field[7] = HeadAirFlow */
+ 4, /* field[4] = HeadZone1Temp */
+ 5, /* field[5] = HeadZone2Temp */
+ 6, /* field[6] = HeadZone3Temp */
+ 2, /* field[2] = MinInkUptake */
+ 3, /* field[3] = MixerTemp */
+ 0, /* field[0] = Name */
+ 9, /* field[9] = PullerTension */
+ 15, /* field[15] = WinderTension */
+};
+static const ProtobufCIntRange process_parameters__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 16 }
+};
+const ProtobufCMessageDescriptor process_parameters__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ProcessParameters",
+ "ProcessParameters",
+ "ProcessParameters",
+ "",
+ sizeof(ProcessParameters),
+ 16,
+ process_parameters__field_descriptors,
+ process_parameters__field_indices_by_name,
+ 1, process_parameters__number_ranges,
+ (ProtobufCMessageInit) process_parameters__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.h
new file mode 100644
index 000000000..a658f6b5b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Printing/ProcessParameters.pb-c.h
@@ -0,0 +1,101 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProcessParameters.proto */
+
+#ifndef PROTOBUF_C_ProcessParameters_2eproto__INCLUDED
+#define PROTOBUF_C_ProcessParameters_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ProcessParameters ProcessParameters;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ProcessParameters
+{
+ ProtobufCMessage base;
+ char *name;
+ protobuf_c_boolean has_dyeingspeed;
+ double dyeingspeed;
+ protobuf_c_boolean has_mininkuptake;
+ double mininkuptake;
+ protobuf_c_boolean has_mixertemp;
+ double mixertemp;
+ protobuf_c_boolean has_headzone1temp;
+ double headzone1temp;
+ protobuf_c_boolean has_headzone2temp;
+ double headzone2temp;
+ protobuf_c_boolean has_headzone3temp;
+ double headzone3temp;
+ protobuf_c_boolean has_headairflow;
+ double headairflow;
+ protobuf_c_boolean has_feedertension;
+ double feedertension;
+ protobuf_c_boolean has_pullertension;
+ double pullertension;
+ protobuf_c_boolean has_dryerbufferlength;
+ double dryerbufferlength;
+ protobuf_c_boolean has_dryerzone1temp;
+ double dryerzone1temp;
+ protobuf_c_boolean has_dryerzone2temp;
+ double dryerzone2temp;
+ protobuf_c_boolean has_dryerzone3temp;
+ double dryerzone3temp;
+ protobuf_c_boolean has_dryerairflow;
+ double dryerairflow;
+ protobuf_c_boolean has_windertension;
+ double windertension;
+};
+#define PROCESS_PARAMETERS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&process_parameters__descriptor) \
+ , NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* ProcessParameters methods */
+void process_parameters__init
+ (ProcessParameters *message);
+size_t process_parameters__get_packed_size
+ (const ProcessParameters *message);
+size_t process_parameters__pack
+ (const ProcessParameters *message,
+ uint8_t *out);
+size_t process_parameters__pack_to_buffer
+ (const ProcessParameters *message,
+ ProtobufCBuffer *buffer);
+ProcessParameters *
+ process_parameters__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void process_parameters__free_unpacked
+ (ProcessParameters *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ProcessParameters_Closure)
+ (const ProcessParameters *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor process_parameters__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ProcessParameters_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c
new file mode 100644
index 000000000..69466269b
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c
@@ -0,0 +1,235 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubF3Gpo01WriteRequest.pb-c.h"
+void stub_f3_gpo01_write_request__init
+ (StubF3Gpo01WriteRequest *message)
+{
+ static const StubF3Gpo01WriteRequest init_value = STUB_F3_GPO01_WRITE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_f3_gpo01_write_request__get_packed_size
+ (const StubF3Gpo01WriteRequest *message)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_f3_gpo01_write_request__pack
+ (const StubF3Gpo01WriteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_f3_gpo01_write_request__pack_to_buffer
+ (const StubF3Gpo01WriteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubF3Gpo01WriteRequest *
+ stub_f3_gpo01_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubF3Gpo01WriteRequest *)
+ protobuf_c_message_unpack (&stub_f3_gpo01_write_request__descriptor,
+ allocator, len, data);
+}
+void stub_f3_gpo01_write_request__free_unpacked
+ (StubF3Gpo01WriteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_f3_gpo01_write_request__field_descriptors[12] =
+{
+ {
+ "F3_GPO_LED4",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led4),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED4",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led4),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED3",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led3),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED3",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led3),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED2",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led2),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED2",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led2),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED1",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led1),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED1",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led1),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_EXTWINDER_SSR11_CTRL",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_extwinder_ssr11_ctrl),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_extwinder_ssr11_ctrl),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_EXTWINDER_SSR11_CTRL",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_extwinder_ssr11_ctrl),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_extwinder_ssr11_ctrl),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_BUZZER",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_buzzer),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_buzzer),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_BUZZER",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_buzzer),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_buzzer),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_f3_gpo01_write_request__field_indices_by_name[] = {
+ 10, /* field[10] = F3_GPO_BUZZER */
+ 8, /* field[8] = F3_GPO_EXTWINDER_SSR11_CTRL */
+ 6, /* field[6] = F3_GPO_LED1 */
+ 4, /* field[4] = F3_GPO_LED2 */
+ 2, /* field[2] = F3_GPO_LED3 */
+ 0, /* field[0] = F3_GPO_LED4 */
+ 11, /* field[11] = Write_F3_GPO_BUZZER */
+ 9, /* field[9] = Write_F3_GPO_EXTWINDER_SSR11_CTRL */
+ 7, /* field[7] = Write_F3_GPO_LED1 */
+ 5, /* field[5] = Write_F3_GPO_LED2 */
+ 3, /* field[3] = Write_F3_GPO_LED3 */
+ 1, /* field[1] = Write_F3_GPO_LED4 */
+};
+static const ProtobufCIntRange stub_f3_gpo01_write_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 12 }
+};
+const ProtobufCMessageDescriptor stub_f3_gpo01_write_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubF3Gpo01WriteRequest",
+ "StubF3Gpo01WriteRequest",
+ "StubF3Gpo01WriteRequest",
+ "",
+ sizeof(StubF3Gpo01WriteRequest),
+ 12,
+ stub_f3_gpo01_write_request__field_descriptors,
+ stub_f3_gpo01_write_request__field_indices_by_name,
+ 1, stub_f3_gpo01_write_request__number_ranges,
+ (ProtobufCMessageInit) stub_f3_gpo01_write_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h
new file mode 100644
index 000000000..1dec7e478
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h
@@ -0,0 +1,100 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteRequest.proto */
+
+#ifndef PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubF3Gpo01WriteRequest StubF3Gpo01WriteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubF3Gpo01WriteRequest
+{
+ ProtobufCMessage base;
+ /*
+ *value
+ */
+ protobuf_c_boolean has_f3_gpo_led4;
+ protobuf_c_boolean f3_gpo_led4;
+ /*
+ *write
+ */
+ protobuf_c_boolean has_write_f3_gpo_led4;
+ protobuf_c_boolean write_f3_gpo_led4;
+ protobuf_c_boolean has_f3_gpo_led3;
+ protobuf_c_boolean f3_gpo_led3;
+ protobuf_c_boolean has_write_f3_gpo_led3;
+ protobuf_c_boolean write_f3_gpo_led3;
+ protobuf_c_boolean has_f3_gpo_led2;
+ protobuf_c_boolean f3_gpo_led2;
+ protobuf_c_boolean has_write_f3_gpo_led2;
+ protobuf_c_boolean write_f3_gpo_led2;
+ protobuf_c_boolean has_f3_gpo_led1;
+ protobuf_c_boolean f3_gpo_led1;
+ protobuf_c_boolean has_write_f3_gpo_led1;
+ protobuf_c_boolean write_f3_gpo_led1;
+ protobuf_c_boolean has_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean has_write_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean write_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean has_f3_gpo_buzzer;
+ protobuf_c_boolean f3_gpo_buzzer;
+ protobuf_c_boolean has_write_f3_gpo_buzzer;
+ protobuf_c_boolean write_f3_gpo_buzzer;
+};
+#define STUB_F3_GPO01_WRITE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_f3_gpo01_write_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubF3Gpo01WriteRequest methods */
+void stub_f3_gpo01_write_request__init
+ (StubF3Gpo01WriteRequest *message);
+size_t stub_f3_gpo01_write_request__get_packed_size
+ (const StubF3Gpo01WriteRequest *message);
+size_t stub_f3_gpo01_write_request__pack
+ (const StubF3Gpo01WriteRequest *message,
+ uint8_t *out);
+size_t stub_f3_gpo01_write_request__pack_to_buffer
+ (const StubF3Gpo01WriteRequest *message,
+ ProtobufCBuffer *buffer);
+StubF3Gpo01WriteRequest *
+ stub_f3_gpo01_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_f3_gpo01_write_request__free_unpacked
+ (StubF3Gpo01WriteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubF3Gpo01WriteRequest_Closure)
+ (const StubF3Gpo01WriteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_f3_gpo01_write_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c
new file mode 100644
index 000000000..4b852987e
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubF3Gpo01WriteResponse.pb-c.h"
+void stub_f3_gpo01_write_response__init
+ (StubF3Gpo01WriteResponse *message)
+{
+ static const StubF3Gpo01WriteResponse init_value = STUB_F3_GPO01_WRITE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_f3_gpo01_write_response__get_packed_size
+ (const StubF3Gpo01WriteResponse *message)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_f3_gpo01_write_response__pack
+ (const StubF3Gpo01WriteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_f3_gpo01_write_response__pack_to_buffer
+ (const StubF3Gpo01WriteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubF3Gpo01WriteResponse *
+ stub_f3_gpo01_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubF3Gpo01WriteResponse *)
+ protobuf_c_message_unpack (&stub_f3_gpo01_write_response__descriptor,
+ allocator, len, data);
+}
+void stub_f3_gpo01_write_response__free_unpacked
+ (StubF3Gpo01WriteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_f3_gpo01_write_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubF3Gpo01WriteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubF3Gpo01WriteResponse, has_statusword),
+ offsetof(StubF3Gpo01WriteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_f3_gpo01_write_response__field_indices_by_name[] = {
+ 0, /* field[0] = Status */
+ 1, /* field[1] = StatusWord */
+};
+static const ProtobufCIntRange stub_f3_gpo01_write_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_f3_gpo01_write_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubF3Gpo01WriteResponse",
+ "StubF3Gpo01WriteResponse",
+ "StubF3Gpo01WriteResponse",
+ "",
+ sizeof(StubF3Gpo01WriteResponse),
+ 2,
+ stub_f3_gpo01_write_response__field_descriptors,
+ stub_f3_gpo01_write_response__field_indices_by_name,
+ 1, stub_f3_gpo01_write_response__number_ranges,
+ (ProtobufCMessageInit) stub_f3_gpo01_write_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h
new file mode 100644
index 000000000..c245016a4
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteResponse.proto */
+
+#ifndef PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubF3Gpo01WriteResponse StubF3Gpo01WriteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubF3Gpo01WriteResponse
+{
+ ProtobufCMessage base;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_F3_GPO01_WRITE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_f3_gpo01_write_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* StubF3Gpo01WriteResponse methods */
+void stub_f3_gpo01_write_response__init
+ (StubF3Gpo01WriteResponse *message);
+size_t stub_f3_gpo01_write_response__get_packed_size
+ (const StubF3Gpo01WriteResponse *message);
+size_t stub_f3_gpo01_write_response__pack
+ (const StubF3Gpo01WriteResponse *message,
+ uint8_t *out);
+size_t stub_f3_gpo01_write_response__pack_to_buffer
+ (const StubF3Gpo01WriteResponse *message,
+ ProtobufCBuffer *buffer);
+StubF3Gpo01WriteResponse *
+ stub_f3_gpo01_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_f3_gpo01_write_response__free_unpacked
+ (StubF3Gpo01WriteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubF3Gpo01WriteResponse_Closure)
+ (const StubF3Gpo01WriteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_f3_gpo01_write_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.c
new file mode 100644
index 000000000..fba567238
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHWVersionRequest.pb-c.h"
+void stub_hwversion_request__init
+ (StubHWVersionRequest *message)
+{
+ static const StubHWVersionRequest init_value = STUB_HWVERSION_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_hwversion_request__get_packed_size
+ (const StubHWVersionRequest *message)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_hwversion_request__pack
+ (const StubHWVersionRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_hwversion_request__pack_to_buffer
+ (const StubHWVersionRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHWVersionRequest *
+ stub_hwversion_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHWVersionRequest *)
+ protobuf_c_message_unpack (&stub_hwversion_request__descriptor,
+ allocator, len, data);
+}
+void stub_hwversion_request__free_unpacked
+ (StubHWVersionRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define stub_hwversion_request__field_descriptors NULL
+#define stub_hwversion_request__field_indices_by_name NULL
+#define stub_hwversion_request__number_ranges NULL
+const ProtobufCMessageDescriptor stub_hwversion_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHWVersionRequest",
+ "StubHWVersionRequest",
+ "StubHWVersionRequest",
+ "",
+ sizeof(StubHWVersionRequest),
+ 0,
+ stub_hwversion_request__field_descriptors,
+ stub_hwversion_request__field_indices_by_name,
+ 0, stub_hwversion_request__number_ranges,
+ (ProtobufCMessageInit) stub_hwversion_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.h
new file mode 100644
index 000000000..017aa8cd2
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionRequest.proto */
+
+#ifndef PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHWVersionRequest StubHWVersionRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHWVersionRequest
+{
+ ProtobufCMessage base;
+};
+#define STUB_HWVERSION_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_hwversion_request__descriptor) \
+ }
+
+
+/* StubHWVersionRequest methods */
+void stub_hwversion_request__init
+ (StubHWVersionRequest *message);
+size_t stub_hwversion_request__get_packed_size
+ (const StubHWVersionRequest *message);
+size_t stub_hwversion_request__pack
+ (const StubHWVersionRequest *message,
+ uint8_t *out);
+size_t stub_hwversion_request__pack_to_buffer
+ (const StubHWVersionRequest *message,
+ ProtobufCBuffer *buffer);
+StubHWVersionRequest *
+ stub_hwversion_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_hwversion_request__free_unpacked
+ (StubHWVersionRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHWVersionRequest_Closure)
+ (const StubHWVersionRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_hwversion_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.c
new file mode 100644
index 000000000..4aec291a0
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHWVersionResponse.pb-c.h"
+void stub_hwversion_response__init
+ (StubHWVersionResponse *message)
+{
+ static const StubHWVersionResponse init_value = STUB_HWVERSION_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_hwversion_response__get_packed_size
+ (const StubHWVersionResponse *message)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_hwversion_response__pack
+ (const StubHWVersionResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_hwversion_response__pack_to_buffer
+ (const StubHWVersionResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHWVersionResponse *
+ stub_hwversion_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHWVersionResponse *)
+ protobuf_c_message_unpack (&stub_hwversion_response__descriptor,
+ allocator, len, data);
+}
+void stub_hwversion_response__free_unpacked
+ (StubHWVersionResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_hwversion_response__field_descriptors[4] =
+{
+ {
+ "BRD_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_brd_id),
+ offsetof(StubHWVersionResponse, brd_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ASSY_ID",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_assy_id),
+ offsetof(StubHWVersionResponse, assy_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubHWVersionResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_statusword),
+ offsetof(StubHWVersionResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_hwversion_response__field_indices_by_name[] = {
+ 1, /* field[1] = ASSY_ID */
+ 0, /* field[0] = BRD_ID */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_hwversion_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_hwversion_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHWVersionResponse",
+ "StubHWVersionResponse",
+ "StubHWVersionResponse",
+ "",
+ sizeof(StubHWVersionResponse),
+ 4,
+ stub_hwversion_response__field_descriptors,
+ stub_hwversion_response__field_indices_by_name,
+ 1, stub_hwversion_response__number_ranges,
+ (ProtobufCMessageInit) stub_hwversion_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.h
new file mode 100644
index 000000000..349ff1452
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubHWVersionResponse.pb-c.h
@@ -0,0 +1,83 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionResponse.proto */
+
+#ifndef PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHWVersionResponse StubHWVersionResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHWVersionResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_brd_id;
+ uint32_t brd_id;
+ protobuf_c_boolean has_assy_id;
+ uint32_t assy_id;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_HWVERSION_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_hwversion_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubHWVersionResponse methods */
+void stub_hwversion_response__init
+ (StubHWVersionResponse *message);
+size_t stub_hwversion_response__get_packed_size
+ (const StubHWVersionResponse *message);
+size_t stub_hwversion_response__pack
+ (const StubHWVersionResponse *message,
+ uint8_t *out);
+size_t stub_hwversion_response__pack_to_buffer
+ (const StubHWVersionResponse *message,
+ ProtobufCBuffer *buffer);
+StubHWVersionResponse *
+ stub_hwversion_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_hwversion_response__free_unpacked
+ (StubHWVersionResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHWVersionResponse_Closure)
+ (const StubHWVersionResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_hwversion_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.c
index ccbd85dbf..4d437ab7e 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.c
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.c
@@ -52,7 +52,7 @@ void stub_motor_run_response__free_unpacked
assert(message->base.descriptor == &stub_motor_run_response__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor stub_motor_run_response__field_descriptors[7] =
+static const ProtobufCFieldDescriptor stub_motor_run_response__field_descriptors[8] =
{
{
"Motor_ID",
@@ -138,8 +138,21 @@ static const ProtobufCFieldDescriptor stub_motor_run_response__field_descriptors
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "BUSY",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunResponse, has_busy),
+ offsetof(StubMotorRunResponse, busy),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned stub_motor_run_response__field_indices_by_name[] = {
+ 7, /* field[7] = BUSY */
3, /* field[3] = Direction */
4, /* field[4] = Mot_Status */
0, /* field[0] = Motor_ID */
@@ -151,7 +164,7 @@ static const unsigned stub_motor_run_response__field_indices_by_name[] = {
static const ProtobufCIntRange stub_motor_run_response__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 7 }
+ { 0, 8 }
};
const ProtobufCMessageDescriptor stub_motor_run_response__descriptor =
{
@@ -161,7 +174,7 @@ const ProtobufCMessageDescriptor stub_motor_run_response__descriptor =
"StubMotorRunResponse",
"",
sizeof(StubMotorRunResponse),
- 7,
+ 8,
stub_motor_run_response__field_descriptors,
stub_motor_run_response__field_indices_by_name,
1, stub_motor_run_response__number_ranges,
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.h
index ad4f33de8..9c80cd28d 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorRunResponse.pb-c.h
@@ -46,10 +46,12 @@ struct _StubMotorRunResponse
protobuf_c_boolean step_loss_a;
protobuf_c_boolean has_step_loss_b;
protobuf_c_boolean step_loss_b;
+ protobuf_c_boolean has_busy;
+ protobuf_c_boolean busy;
};
#define STUB_MOTOR_RUN_RESPONSE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&stub_motor_run_response__descriptor) \
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
/* StubMotorRunResponse methods */
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.c b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.c
index d829d6b68..60cacfcb7 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.c
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.c
@@ -52,7 +52,7 @@ void stub_motor_stop_response__free_unpacked
assert(message->base.descriptor == &stub_motor_stop_response__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor stub_motor_stop_response__field_descriptors[3] =
+static const ProtobufCFieldDescriptor stub_motor_stop_response__field_descriptors[4] =
{
{
"Motor_ID",
@@ -90,8 +90,21 @@ static const ProtobufCFieldDescriptor stub_motor_stop_response__field_descriptor
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "BUSY",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStopResponse, has_busy),
+ offsetof(StubMotorStopResponse, busy),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned stub_motor_stop_response__field_indices_by_name[] = {
+ 3, /* field[3] = BUSY */
2, /* field[2] = HiZ */
1, /* field[1] = Mot_Status */
0, /* field[0] = Motor_ID */
@@ -99,7 +112,7 @@ static const unsigned stub_motor_stop_response__field_indices_by_name[] = {
static const ProtobufCIntRange stub_motor_stop_response__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 3 }
+ { 0, 4 }
};
const ProtobufCMessageDescriptor stub_motor_stop_response__descriptor =
{
@@ -109,7 +122,7 @@ const ProtobufCMessageDescriptor stub_motor_stop_response__descriptor =
"StubMotorStopResponse",
"",
sizeof(StubMotorStopResponse),
- 3,
+ 4,
stub_motor_stop_response__field_descriptors,
stub_motor_stop_response__field_indices_by_name,
1, stub_motor_stop_response__number_ranges,
diff --git a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.h b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.h
index ca3fd9d38..1a41f11ef 100644
--- a/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.h
+++ b/Software/Code_Composer/twine_usblib_demo/PMR/Stubs/StubMotorStopResponse.pb-c.h
@@ -38,10 +38,12 @@ struct _StubMotorStopResponse
*/
protobuf_c_boolean has_hiz;
protobuf_c_boolean hiz;
+ protobuf_c_boolean has_busy;
+ protobuf_c_boolean busy;
};
#define STUB_MOTOR_STOP_RESPONSE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&stub_motor_stop_response__descriptor) \
- , 0, 0, 0, 0, 0, 0 }
+ , 0, 0, 0, 0, 0, 0, 0, 0 }
/* StubMotorStopResponse methods */
diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c
index d8627bf1c..b87eea020 100644
--- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c
+++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c
@@ -29,6 +29,7 @@
#include "Stub_FPGAReadVersion.h"
#include "Stub_L6470.h"
#include "Stub_Motor.h"
+#include "Stub_HW_Version.h"
MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*))
{
@@ -147,7 +148,9 @@ void receive_callback(char* buffer, size_t length)
case MESSAGE_TYPE__StubMotorMovRequest:
Stub_MotorMovRequest(requestContainer);
break;
-
+ case MESSAGE_TYPE__StubHWVersionRequest:
+ Stub_HWVersionRequest(requestContainer);
+ break;
default:
//unsupported message type !!
break;
diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.c
new file mode 100644
index 000000000..663cc9cfb
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.c
@@ -0,0 +1,92 @@
+
+#include <PMR/Stubs/StubHWVersionResponse.pb-c.h>
+#include <PMR/Stubs/StubHWVersionRequest.pb-c.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <Stubs_Handler/DataDef.h>
+#include "inc/hw_memmap.h"
+#include "inc/hw_types.h"
+#include "inc/hw_uart.h"
+#include "driverlib/gpio.h"
+#include "usb_serial_adapter.h"
+#include "graphics_adapter.h"
+
+#include "MessageContainer.pb-c.h"
+
+#include "Container.h"
+#include "Stub_Status.h"
+#include "drivers/FPGA/FPGA.h"
+
+char Read_HW_Version(unsigned char *Brd_ID, unsigned char *Assy_ID)
+{
+ //TODO Move in GPIO Initialisation
+
+ // ----------- Set HW Version GPIO as Input -----------
+ MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1);
+ MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7);
+ MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5);
+
+ //Set HW Version GPIO to Pull down
+ GPIOPadConfigSet(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD );
+ GPIOPadConfigSet(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD );
+ GPIOPadConfigSet(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD );
+ // ------------------------------------------------------
+
+ if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_3) == GPIO_PIN_3)
+ *Brd_ID |= 0x08;
+ if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_2) == GPIO_PIN_2)
+ *Brd_ID |= 0x04;
+ if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_5) == GPIO_PIN_5)
+ *Brd_ID |= 0x02;
+ if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_4) == GPIO_PIN_4)
+ *Brd_ID |= 0x01;
+
+ if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_3) == GPIO_PIN_3)
+ *Assy_ID |= 0x08;
+ if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_5) == GPIO_PIN_5)
+ *Assy_ID |= 0x04;
+ if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_1) == GPIO_PIN_1)
+ *Assy_ID |= 0x02;
+ if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_7) == GPIO_PIN_7)
+ *Assy_ID |= 0x01;
+
+ return PASSED;
+}
+
+void Stub_HWVersionRequest(MessageContainer* requestContainer)
+{
+ uint32_t status = FAILED;
+ unsigned char Brd_ID = 0;
+ unsigned char Assy_ID = 0;
+
+ MessageContainer responseContainer;
+
+ StubHWVersionRequest* request = stub_hwversion_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+
+ status = Read_HW_Version(&Brd_ID, &Assy_ID);
+
+ StubHWVersionResponse response = STUB_HWVERSION_RESPONSE__INIT;
+
+ status_response(status,&response.status, &response.statusword ,&response.has_statusword);
+
+ response.brd_id = Brd_ID ;
+ response.has_brd_id = true;
+ response.assy_id = Assy_ID;
+ response.has_assy_id = true;
+
+ responseContainer = createContainer(MESSAGE_TYPE__StubHWVersionResponse, requestContainer->token, true, &response, &stub_hwversion_response__pack, &stub_hwversion_response__get_packed_size);
+
+ Write_status_response(status);
+
+ free(request);
+ //-------------------------------------------------------------------------------------------
+ uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer));
+ size_t container_size = message_container__pack(&responseContainer, container_buffer);
+ SendChars((char*)container_buffer, container_size);
+ free(container_buffer);
+ free(requestContainer);
+
+}
diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.h b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.h
new file mode 100644
index 000000000..b1bc504a3
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_HW_Version.h
@@ -0,0 +1,6 @@
+#ifndef STUB_HWVER_H
+#define STUB_HWVER_H
+
+void Stub_HWVersionRequest(MessageContainer* requestContainer);
+
+#endif //STUB_HWVER_H
diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c
index ef77db30d..88f015f9a 100644
--- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c
+++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c
@@ -169,6 +169,8 @@ void Stub_MotorRunRequest(MessageContainer* requestContainer)
response.mot_status = ((read_status & x_STATUS_MOT_STATUS)>>5);
response.has_mot_status = true;
+ response.busy = ((read_status & x_STATUS_BUSY)>>1);
+ response.has_busy = true;
responseContainer = createContainer(MESSAGE_TYPE__StubMotorRunResponse, requestContainer->token, true, &response, &stub_motor_run_response__pack, &stub_motor_run_response__get_packed_size);
@@ -231,6 +233,9 @@ void Stub_MotorStopRequest(MessageContainer* requestContainer)
response.hiz = (read_status & x_STATUS_HIZ);
response.has_hiz = true;
+ response.busy = ((read_status & x_STATUS_BUSY)>>1);
+ response.has_busy = true;
+
responseContainer = createContainer(MESSAGE_TYPE__StubMotorStopResponse, requestContainer->token, true, &response, &stub_motor_stop_response__pack, &stub_motor_stop_response__get_packed_size);
writeLine("Sending Response: ");
diff --git a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA.c b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA.c
index fafd84375..db9859216 100644
--- a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA.c
+++ b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA.c
@@ -1,6 +1,10 @@
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdint.h>
+
#include "FPGA_COMM.h"
#include "Stubs_Handler/DataDef.h"
-
+#include "driverlib/sysctl.h" //for SysCtlDelay
unsigned short GPO_01_Reg;
@@ -26,29 +30,32 @@ int test_FPGA()
int Test_FPGA_ReadBack(unsigned char FPGA_NUM, unsigned short Value, unsigned short *ReadBackValue)// = 0x1234)
{
- //unsigned short Temp = 0x1234;
+ //TODO to update the deley
if(FPGA_NUM == 1)
{
- FPGA1_Test = Value;
- *ReadBackValue = FPGA1_Test;
- if(Value == !FPGA1_Test)
+ F1_Test = Value;
+ SysCtlDelay(100);
+ *ReadBackValue = F1_Test;
+ if(Value == !F1_Test)
return PASSED;
}
if(FPGA_NUM == 2)
{
- FPGA2_Test = Value;
- *ReadBackValue = FPGA2_Test;
- if(Value == !FPGA2_Test)
+ F2_Test = Value;
+ SysCtlDelay(100);
+ *ReadBackValue = F2_Test;
+ if(Value == !F2_Test)
return PASSED;
}
if(FPGA_NUM == 3)
{
- FPGA3_Test = Value;
- *ReadBackValue = FPGA3_Test;
- if(Value == !FPGA3_Test)
+ F3_Test = Value;
+ SysCtlDelay(100);
+ *ReadBackValue = F3_Test;
+ if(Value == !F3_Test)
return PASSED;
}
@@ -64,16 +71,16 @@ int FPGA_ReadVersion(unsigned char FPGA_NUM, unsigned char *Version, unsigned c
switch(FPGA_NUM)
{
case 1:
- Ver1.ushort = FPGA1_Ver1_D;
- Ver2.ushort = FPGA1_Ver2_D;
+ Ver1.ushort = F1_Ver1_D;
+ Ver2.ushort = F1_Ver2_D;
break;
case 2:
- Ver1.ushort = FPGA2_Ver1_D;
- Ver2.ushort = FPGA2_Ver2_D;
+ Ver1.ushort = F2_Ver1_D;
+ Ver2.ushort = F2_Ver2_D;
break;
case 3:
- Ver1.ushort = FPGA3_Ver1_D;
- Ver2.ushort = FPGA3_Ver2_D;
+ Ver1.ushort = F3_Ver1_D;
+ Ver2.ushort = F3_Ver2_D;
break;
default:
break;
diff --git a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_Comm.h b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_Comm.h
index 4a124092f..12c43dae6 100644
--- a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_Comm.h
+++ b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_Comm.h
@@ -1,504 +1,659 @@
#include <stdbool.h>
-//TODO update the addresses WordOrByte !!!
-
-//Address is = 4bit_base + 3bit_fpga_base + 9bit_WordOrByte
+//Address is = 16 Bit : 4bit_base , 3bit_fpga_base , 9bit_Address (Word1OrByte2)
//Base Address 0X000
-#define BASE 0x0000 << 12
+#define BASE 0x00 << 12
#define FPGA1_BASE (BASE | (0x00 << 0x09))
#define FPGA2_BASE (BASE | (0x01 << 0x09))
#define FPGA3_BASE (BASE | (0x02 << 0x09))
-#define WordOrByte 0x01//0x01 for Word, 0x02 for Byte
+//TODO update the addresses Word1OrByte2 !!!
+#define Word1OrByte2 0x01//0x01 for Word, 0x02 for Byte
//Registers definitions
// * * * * * * * * * * * * * * * * FPGA 1 * * * * * * * * * * * * * * * * //
//Version1
-#define FPGA1_Ver1_D (*((volatile short *)(FPGA1_BASE | (0x0 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA1_Ver1_L (*((volatile short *)(FPGA1_BASE | (0x1 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA1_Ver1_M (*((volatile short *)(FPGA1_BASE | (0x2 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_Ver1_D (*((volatile short *)(FPGA1_BASE | (0x0 * Word1OrByte2)))) //Version of Fpga is held here
//Version2
-#define FPGA1_Ver2_D (*((volatile short *)(FPGA1_BASE | (0x8 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA1_Ver2_L (*((volatile short *)(FPGA1_BASE | (0x9 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA1_Ver2_M (*((volatile short *)(FPGA1_BASE | (0xa * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_Ver2_D (*((volatile short *)(FPGA1_BASE | (0x8 * Word1OrByte2)))) //Version of Fpga is held here
//GPI shorterrupt LS_01 Registers
-#define F1_GPI_LS1_D (*((volatile short *)(FPGA1_BASE | (0x10 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F1_GPI_LS1_L (*((volatile short *)(FPGA1_BASE | (0x11 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F1_GPI_LS1_M (*((volatile short *)(FPGA1_BASE | (0x12 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_GPI_LS1_D (*((volatile short *)(FPGA1_BASE | (0x10 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_GPI_LS1_L (*((volatile short *)(FPGA1_BASE | (0x11 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_GPI_LS1_M (*((volatile short *)(FPGA1_BASE | (0x12 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//GPI shorterrupt LS_02 Registers
-#define F1_GPI_LS2_D (*((volatile short *)(FPGA1_BASE | (0x18 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F1_GPI_LS2_L (*((volatile short *)(FPGA1_BASE | (0x19 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F1_GPI_LS2_M (*((volatile short *)(FPGA1_BASE | (0x1a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_GPI_LS2_D (*((volatile short *)(FPGA1_BASE | (0x18 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_GPI_LS2_L (*((volatile short *)(FPGA1_BASE | (0x19 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_GPI_LS2_M (*((volatile short *)(FPGA1_BASE | (0x1a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//GPI shorterrupt LS_03 Registers
-#define GPI_LS3_D (*((volatile short *)(FPGA1_BASE | (0x20 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define GPI_LS3_L (*((volatile short *)(FPGA1_BASE | (0x21 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define GPI_LS3_M (*((volatile short *)(FPGA1_BASE | (0x22 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_GPI_LS3_D (*((volatile short *)(FPGA1_BASE | (0x20 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_GPI_LS3_L (*((volatile short *)(FPGA1_BASE | (0x21 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_GPI_LS3_M (*((volatile short *)(FPGA1_BASE | (0x22 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//Moto_Driver_NBUSY_register1
-#define Moto_Driver_NBUSY1_D (*((volatile short *)(FPGA1_BASE | (0x28 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define Moto_Driver_NBUSY1_L (*((volatile short *)(FPGA1_BASE | (0x29 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define Moto_Driver_NBUSY1_M (*((volatile short *)(FPGA1_BASE | (0x2a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_Moto_Driver_NBUSY1_D (*((volatile short *)(FPGA1_BASE | (0x28 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_Moto_Driver_NBUSY1_L (*((volatile short *)(FPGA1_BASE | (0x29 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_Moto_Driver_NBUSY1_M (*((volatile short *)(FPGA1_BASE | (0x2a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//Moto_Driver_NBUSY_register2
-#define Moto_Driver_NBUSY2_D (*((volatile short *)(FPGA1_BASE | (0x30 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define Moto_Driver_NBUSY2_L (*((volatile short *)(FPGA1_BASE | (0x31 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define Moto_Driver_NBUSY2_M (*((volatile short *)(FPGA1_BASE | (0x32 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_Moto_Driver_NBUSY2_D (*((volatile short *)(FPGA1_BASE | (0x30 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_Moto_Driver_NBUSY2_L (*((volatile short *)(FPGA1_BASE | (0x31 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_Moto_Driver_NBUSY2_M (*((volatile short *)(FPGA1_BASE | (0x32 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//GPI_EXTWINDER_and_TFEED_BRK
-#define GPI_EXTWINDER_D (*((volatile short *)(FPGA1_BASE | (0x38 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define GPI_EXTWINDER_L (*((volatile short *)(FPGA1_BASE | (0x39 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define GPI_EXTWINDER_M (*((volatile short *)(FPGA1_BASE | (0x3a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
-
-//Prescaler
-#define F1_Prescaler1_reg1 (*((volatile short *)(FPGA1_BASE | (0x40 * WordOrByte)))) //Parameter for prescaler divisions
-#define F1_Prescaler1_reg2 (*((volatile short *)(FPGA1_BASE | (0x41 * WordOrByte)))) //Parameter for prescaler divisions
-#define F1_Prescaler1_reg3 (*((volatile short *)(FPGA1_BASE | (0x42 * WordOrByte)))) //Parameter for prescaler divisions
-#define F1_Prescaler1_reg4 (*((volatile short *)(FPGA1_BASE | (0x43 * WordOrByte)))) //Parameter for prescaler divisions
+#define F1_GPI_EXTWINDER_D (*((volatile short *)(FPGA1_BASE | (0x38 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_GPI_EXTWINDER_L (*((volatile short *)(FPGA1_BASE | (0x39 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_GPI_EXTWINDER_M (*((volatile short *)(FPGA1_BASE | (0x3a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//SPI_Busy_register1
-#define SPI_Busy1_D (*((volatile short *)(FPGA1_BASE | (0x048 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define SPI_Busy1_L (*((volatile short *)(FPGA1_BASE | (0x049 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define SPI_Busy1_M (*((volatile short *)(FPGA1_BASE | (0x04a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_SPI_Busy1_D (*((volatile short *)(FPGA1_BASE | (0x048 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_SPI_Busy1_L (*((volatile short *)(FPGA1_BASE | (0x049 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_SPI_Busy1_M (*((volatile short *)(FPGA1_BASE | (0x04a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//SPI_Busy_register2
-#define SPI_Busy2_D (*((volatile short *)(FPGA1_BASE | (0x050 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define SPI_Busy2_L (*((volatile short *)(FPGA1_BASE | (0x051 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define SPI_Busy2_M (*((volatile short *)(FPGA1_BASE | (0x052 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F1_SPI_Busy2_D (*((volatile short *)(FPGA1_BASE | (0x050 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F1_SPI_Busy2_L (*((volatile short *)(FPGA1_BASE | (0x051 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F1_SPI_Busy2_M (*((volatile short *)(FPGA1_BASE | (0x052 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//Moto_Driver_NSTBYRST_register1
-#define F1_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA1_BASE | (0x059 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F1_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA1_BASE | (0x059 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
//Moto_Driver_NSTBYRST_register2
-#define Moto_Driver_NSTBYRST2 (*((volatile short *)(FPGA1_BASE | (0x061 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F1_Moto_Driver_NSTBYRST2 (*((volatile short *)(FPGA1_BASE | (0x061 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
//Moto_Driver_SW_register1
-#define F1_Moto_Driver_SW1 (*((volatile short *)(FPGA1_BASE | (0x069 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F1_Moto_Driver_SW1 (*((volatile short *)(FPGA1_BASE | (0x069 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
//Moto_Driver_SW_register2
-#define Moto_Driver_SW2 (*((volatile short *)(FPGA1_BASE | (0x071 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F1_Moto_Driver_SW2 (*((volatile short *)(FPGA1_BASE | (0x071 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
//QEI_SCREW_ROTENC
-#define SCREW_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x080 * WordOrByte)))) //Value of the lsb of the QEI register
-#define SCREW_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x081 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define SCREW_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x082 * WordOrByte)))) //value of index counter
+#define F1_SCREW_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x080 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_SCREW_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x081 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_SCREW_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x082 * Word1OrByte2)))) //value of index counter
//QEI_RSPARE_ROTENC
-#define RSPARE_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x088 * WordOrByte)))) //Value of the lsb of the QEI register
-#define RSPARE_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x089 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define RSPARE_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x08a * WordOrByte)))) //value of index counter
+#define F1_RSPARE_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x088 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_RSPARE_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x089 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_RSPARE_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x08a * Word1OrByte2)))) //value of index counter
//QEI_LSPARE1_ROTENC
-#define LSPARE1_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x090 * WordOrByte)))) //Value of the lsb of the QEI register
-#define LSPARE1_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x091 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define LSPARE1_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x092 * WordOrByte)))) //value of index counter
+#define F1_LSPARE1_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x090 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_LSPARE1_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x091 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_LSPARE1_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x092 * Word1OrByte2)))) //value of index counter
//QEI_RSPEEDSENS_ROTENC
-#define RSPEEDSENS_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x098 * WordOrByte)))) //Value of the lsb of the QEI register
-#define RSPEEDSENS_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x099 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define RSPEEDSENS_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x09a * WordOrByte)))) //value of index counter
+#define F1_RSPEEDSENS_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x098 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_RSPEEDSENS_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x099 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_RSPEEDSENS_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x09a * Word1OrByte2)))) //value of index counter
//QEI_LSPARE2_ROTENC
-#define LSPARE2_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x0A0 * WordOrByte)))) //Value of the lsb of the QEI register
-#define LSPARE2_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x0A1 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define LSPARE2_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x0A2 * WordOrByte)))) //value of index counter
+#define F1_LSPARE2_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x0A0 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_LSPARE2_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x0A1 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_LSPARE2_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x0A2 * Word1OrByte2)))) //value of index counter
//QEI_DRYER_LOADARM_ROTENC
-#define DRYER_LOADARM_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x0a8 * WordOrByte)))) //Value of the lsb of the QEI register
-#define DRYER_LOADARM_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x0a9 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define DRYER_LOADARM_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x0aa * WordOrByte)))) //value of index counter
+#define F1_DRYER_LOADARM_ROTENC_L (*((volatile short *)(FPGA1_BASE | (0x0a8 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F1_DRYER_LOADARM_ROTENC_M (*((volatile short *)(FPGA1_BASE | (0x0a9 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F1_DRYER_LOADARM_ROTENC_I (*((volatile short *)(FPGA1_BASE | (0x0aa * Word1OrByte2)))) //value of index counter
//SPI_MOTO_RLOADING_A1
-#define MOTO_RLOADING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x100 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RLOADING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x101 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RLOADING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x102 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_RLOADING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x103 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RLOADING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x100 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RLOADING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x101 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RLOADING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x102 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_RLOADING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x103 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RLOADING_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x104 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
//SPI_MOTO_RDRIVING_A1
-#define MOTO_RDRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x108 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RDRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x109 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RDRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x10A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_RDRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x10B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RDRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x108 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RDRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x109 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RDRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x10A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_RDRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x10B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RDRIVING_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x10C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
//SPI_F1_MOTO_LDRIVING_A1
-#define MOTO_LDRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x110 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x111 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x112 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_LDRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x113 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x110 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x111 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x112 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_LDRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x113 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDRIVING_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x114 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_LLOADING_A1
-#define MOTO_LLOADING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x118 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LLOADING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x119 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LLOADING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x11A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_LLOADING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x11B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LLOADING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x118 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LLOADING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x119 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LLOADING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x11A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_LLOADING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x11B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LLOADING_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x11C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
//SPI_F1_MOTO_DRYER_LOADARM_A1
-#define MOTO_DRYER_LOADARM_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x120 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_LOADARM_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x121 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_LOADARM_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x122 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DRYER_LOADARM_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x123 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_LOADARM_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x120 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_LOADARM_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x121 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_LOADARM_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x122 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DRYER_LOADARM_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x123 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_LOADARM_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x124 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_DRYER_DRIVING_A1
-#define MOTO_DRYER_DRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x128 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_DRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x129 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_DRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x12A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DRYER_DRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x12B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_DRIVING_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x128 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_DRIVING_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x129 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_DRIVING_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x12A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DRYER_DRIVING_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x12B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_DRIVING_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x12C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_DH_CLEANHEAD_A1
-#define MOTO_DH_CLEANHEAD_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x130 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_CLEANHEAD_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x131 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_CLEANHEAD_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x132 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DH_CLEANHEAD_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x133 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_CLEANHEAD_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x130 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_CLEANHEAD_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x131 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_CLEANHEAD_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x132 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DH_CLEANHEAD_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x133 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_CLEANHEAD_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x134 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_DH_CLEANMECH_A1
-#define MOTO_DH_CLEANMECH_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x138 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_CLEANMECH_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x139 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_CLEANMECH_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x13A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DH_CLEANMECH_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x13B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_CLEANMECH_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x138 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_CLEANMECH_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x139 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_CLEANMECH_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x13A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DH_CLEANMECH_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x13B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_CLEANMECH_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x13C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
//SPI_F1_MOTO_SCREW_A1
-#define MOTO_SCREW_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x140 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SCREW_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x141 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SCREW_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x142 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_SCREW_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x143 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_SCREW_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x140 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_SCREW_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x141 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_SCREW_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x142 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_SCREW_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x143 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_SCREW_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x144 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_WINDER_A1
-#define MOTO_WINDER_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x148 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_WINDER_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x149 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_WINDER_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x14A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_WINDER_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x14B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_WINDER_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x148 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_WINDER_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x149 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_WINDER_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x14A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_WINDER_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x14B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_WINDER_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x14C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_RLOADARM_A1
-#define MOTO_RLOADARM_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x150 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RLOADARM_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x151 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RLOADARM_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x152 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_RLOADARM_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x153 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RLOADARM_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x150 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RLOADARM_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x151 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RLOADARM_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x152 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_RLOADARM_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x153 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RLOADARM_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x154 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_RDANCER_A1
-#define MOTO_RDANCER_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x158 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RDANCER_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x159 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_RDANCER_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x15A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_RDANCER_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x15B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RDANCER_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x158 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RDANCER_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x159 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_RDANCER_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x15A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_RDANCER_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x15B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_RDANCER_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x15C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_LDANCER1_A1
-#define MOTO_LDANCER1_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x160 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDANCER1_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x161 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDANCER1_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x162 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_LDANCER1_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x163 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDANCER1_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x160 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDANCER1_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x161 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDANCER1_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x162 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_LDANCER1_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x163 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDANCER1_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x164 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_LDANCER2_A1
-#define MOTO_LDANCER2_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x168 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDANCER2_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x169 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LDANCER2_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x16A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_LDANCER2_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x16B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDANCER2_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x168 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDANCER2_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x169 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LDANCER2_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x16A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_LDANCER2_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x16B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LDANCER2_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x16C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_DRYER_LID_A1
-#define MOTO_DRYER_LID_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x170 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_LID_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x171 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DRYER_LID_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x172 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DRYER_LID_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x173 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_LID_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x170 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_LID_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x171 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DRYER_LID_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x172 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DRYER_LID_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x173 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DRYER_LID_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x174 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_DH_LID_A1
-#define MOTO_DH_LID_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x178 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_LID_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x179 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DH_LID_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x17A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DH_LID_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x17B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_LID_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x178 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_LID_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x179 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_DH_LID_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x17A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_DH_LID_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x17B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_DH_LID_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x17C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_LPIVOT1_A1
-#define MOTO_LPIVOT1_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x180 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LPIVOT1_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x181 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_LPIVOT1_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x182 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_LPIVOT1_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x183 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LPIVOT1_A1_TX_00 (*((volatile short *)(FPGA1_BASE | (0x180 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LPIVOT1_A1_TX_01 (*((volatile short *)(FPGA1_BASE | (0x181 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F1_MOTO_LPIVOT1_A1_RX_00 (*((volatile short *)(FPGA1_BASE | (0x182 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F1_MOTO_LPIVOT1_A1_RX_01 (*((volatile short *)(FPGA1_BASE | (0x183 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_MOTO_LPIVOT1_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x184 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SSI
-#define F1_LDANCER1_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x190 * WordOrByte)))) //16 bit MSB if nessesary
-#define F1_LDANCER1_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x191 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define LDANCER2_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x198 * WordOrByte)))) //16 bit MSB if nessesary
-#define LDANCER2_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x199 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define LSPARE_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1a0 * WordOrByte)))) //16 bit MSB if nessesary
-#define LSPARE_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1a1 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define RDANCER_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1a8 * WordOrByte)))) //16 bit MSB if nessesary
-#define RDANCER_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1a9 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define F1_RSPARE_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1b0 * WordOrByte)))) //16 bit MSB if nessesary
-#define F1_RSPARE_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1b1 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F1_LDANCER1_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x190 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F1_LDANCER1_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x191 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_LDANCER1_ROTENC_DATA_p_TX (*((volatile short *)(FPGA1_BASE | (0x197 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F1_LDANCER2_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x198 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F1_LDANCER2_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x199 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_LDANCER2_ROTENC_DATA_p_TX (*((volatile short *)(FPGA1_BASE | (0x19F * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F1_LSPARE_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1a0 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F1_LSPARE_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1a1 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_LSPARE_ROTENC_DATA_p_TX (*((volatile short *)(FPGA1_BASE | (0x1A7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F1_RDANCER_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1a8 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F1_RDANCER_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1a9 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_RDANCER_ROTENC_DATA_p_TX (*((volatile short *)(FPGA1_BASE | (0x1AF * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F1_RSPARE_ROTENC_DATA_p_RX_msb (*((volatile short *)(FPGA1_BASE | (0x1b0 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F1_RSPARE_ROTENC_DATA_p_RX_lsb (*((volatile short *)(FPGA1_BASE | (0x1b1 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F1_RSPARE_ROTENC_DATA_p_TX (*((volatile short *)(FPGA1_BASE | (0x1B7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F1_Tacho_reg0 (*((volatile short *)(FPGA1_BASE | (0x1E0 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg1 (*((volatile short *)(FPGA1_BASE | (0x1E1 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg2 (*((volatile short *)(FPGA1_BASE | (0x1E2 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg3 (*((volatile short *)(FPGA1_BASE | (0x1E3 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg4 (*((volatile short *)(FPGA1_BASE | (0x1E4 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg5 (*((volatile short *)(FPGA1_BASE | (0x1E5 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg6 (*((volatile short *)(FPGA1_BASE | (0x1E6 * Word1OrByte2)))) //This Register stores the Tacho counter
+#define F1_Tacho_reg7 (*((volatile short *)(FPGA1_BASE | (0x1E7 * Word1OrByte2)))) //This Register stores the Tacho counter
+
+//Prescaler
+#define F1_Prescaler1_reg1 (*((volatile short *)(FPGA1_BASE | (0x1F0 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi high duty cycle value for prescaler
+#define F1_Prescaler1_reg2 (*((volatile short *)(FPGA1_BASE | (0x1F1 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi low duty cycle value for prescaler
+#define F1_Prescaler1_reg3 (*((volatile short *)(FPGA1_BASE | (0x1F2 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto low duty cycle value for pmw
+#define F1_Prescaler1_reg4 (*((volatile short *)(FPGA1_BASE | (0x1F3 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto high duty cycle value for pmw
+#define F1_Prescaler1_reg5 (*((volatile short *)(FPGA1_BASE | (0x1F4 * Word1OrByte2)))) //Parameter for prescaler divisions - amount of prescaled clocks for counter of signal All Tachos
+#define F1_Prescaler1_reg6 (*((volatile short *)(FPGA1_BASE | (0x1F5 * Word1OrByte2)))) //Parameter for prescaler divisions
+#define F1_Prescaler1_reg7 (*((volatile short *)(FPGA1_BASE | (0x1F6 * Word1OrByte2)))) //Parameter for prescaler divisions
+#define F1_Prescaler1_reg8 (*((volatile short *)(FPGA1_BASE | (0x1F7 * Word1OrByte2)))) //Parameter for prescaler divisions
+
//Test
-#define FPGA1_Test (*((volatile short *)(FPGA1_BASE | (0x1f8 * WordOrByte)))) //Readback not -gives the inverse of the written to value
+#define F1_Test (*((volatile short *)(FPGA1_BASE | (0x1f8 * Word1OrByte2)))) //Readback not -gives the inverse of the written to value
// * * * * * * * * * * * * * * * * FPGA 2 * * * * * * * * * * * * * * * * //
//Version1
-#define FPGA2_Ver1_D (*((volatile short *)(FPGA2_BASE | (0x0 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA2_Ver1_L (*((volatile short *)(FPGA2_BASE | (0x1 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA2_Ver1_M (*((volatile short *)(FPGA2_BASE | (0x2 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_Ver1_D (*((volatile short *)(FPGA2_BASE | (0x00 * Word1OrByte2)))) //Version of Fpga is held here
//Version2
-#define FPGA2_Ver2_D (*((volatile short *)(FPGA2_BASE | (0x8 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA2_Ver2_L (*((volatile short *)(FPGA2_BASE | (0x9 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA2_Ver2_M (*((volatile short *)(FPGA2_BASE | (0xa * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_Ver2_D (*((volatile short *)(FPGA2_BASE | (0x08 * Word1OrByte2)))) //Version of Fpga is held here
//GPI shorterrupt LS_01 Registers
-#define F2_GPI_LS1_D (*((volatile short *)(FPGA2_BASE | (0x10 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F2_GPI_LS1_L (*((volatile short *)(FPGA2_BASE | (0x11 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F2_GPI_LS1_M (*((volatile short *)(FPGA2_BASE | (0x12 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_GPI_LS1_D (*((volatile short *)(FPGA2_BASE | (0x10 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_GPI_LS1_L (*((volatile short *)(FPGA2_BASE | (0x11 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_GPI_LS1_M (*((volatile short *)(FPGA2_BASE | (0x12 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//GPI shorterrupt LS_02 Registers
-#define F2_GPI_LS2_D (*((volatile short *)(FPGA2_BASE | (0x18 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F2_GPI_LS2_L (*((volatile short *)(FPGA2_BASE | (0x19 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F2_GPI_LS2_M (*((volatile short *)(FPGA2_BASE | (0x1a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_GPI_LS2_D (*((volatile short *)(FPGA2_BASE | (0x18 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_GPI_LS2_L (*((volatile short *)(FPGA2_BASE | (0x19 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_GPI_LS2_M (*((volatile short *)(FPGA2_BASE | (0x1a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//GPI shorterrupt LS_03 Registers
-#define F2_GPI_LS3_D (*((volatile short *)(FPGA2_BASE | (0x20 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F2_GPI_LS3_L (*((volatile short *)(FPGA2_BASE | (0x21 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F2_GPI_LS3_M (*((volatile short *)(FPGA2_BASE | (0x22 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_GPI_LS3_D (*((volatile short *)(FPGA2_BASE | (0x20 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_GPI_LS3_L (*((volatile short *)(FPGA2_BASE | (0x21 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_GPI_LS3_M (*((volatile short *)(FPGA2_BASE | (0x22 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//Moto_Driver_NBUSY_register1
-#define F2_Moto_Driver_NBUSY1_D (*((volatile short *)(FPGA2_BASE | (0x28 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define F2_Moto_Driver_NBUSY1_L (*((volatile short *)(FPGA2_BASE | (0x29 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define F2_Moto_Driver_NBUSY1_M (*((volatile short *)(FPGA2_BASE | (0x2a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_Moto_Driver_NBUSY1_D (*((volatile short *)(FPGA2_BASE | (0x28 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_Moto_Driver_NBUSY1_L (*((volatile short *)(FPGA2_BASE | (0x29 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_Moto_Driver_NBUSY1_M (*((volatile short *)(FPGA2_BASE | (0x2a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//DISPENSER_VALVE_IN
-#define DISPENSER_VALVE_IN_Direct (*((volatile short *)(FPGA2_BASE | (0x030 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define DISPENSER_VALVE_IN_Latched (*((volatile short *)(FPGA2_BASE | (0x031 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define DISPENSER_VALVE_IN_Mask (*((volatile short *)(FPGA2_BASE | (0x032 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_DISPENSER_VALVE_IN_Direct (*((volatile short *)(FPGA2_BASE | (0x030 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_DISPENSER_VALVE_IN_Latched (*((volatile short *)(FPGA2_BASE | (0x031 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_DISPENSER_VALVE_IN_Mask (*((volatile short *)(FPGA2_BASE | (0x032 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//GPI_REGISTER1
-#define GPI_REGISTER1_Direct (*((volatile short *)(FPGA2_BASE | (0x038 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define GPI_REGISTER1_Latched (*((volatile short *)(FPGA2_BASE | (0x039 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define GPI_REGISTER1_Mask (*((volatile short *)(FPGA2_BASE | (0x03A * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_GPI_REGISTER1_Direct (*((volatile short *)(FPGA2_BASE | (0x038 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_GPI_REGISTER1_Latched (*((volatile short *)(FPGA2_BASE | (0x039 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_GPI_REGISTER1_Mask (*((volatile short *)(FPGA2_BASE | (0x03A * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//LS_04
-#define LS_04_Direct (*((volatile short *)(FPGA2_BASE | (0x040 * WordOrByte)))) //Version of Fpga is held here
-#define LS_04_Latched (*((volatile short *)(FPGA2_BASE | (0x041 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define LS_04_Mask (*((volatile short *)(FPGA2_BASE | (0x042 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_LS_04_Direct (*((volatile short *)(FPGA2_BASE | (0x040 * Word1OrByte2)))) //Version of Fpga is held here
+#define F2_LS_04_Latched (*((volatile short *)(FPGA2_BASE | (0x041 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_LS_04_Mask (*((volatile short *)(FPGA2_BASE | (0x042 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//SPI_Busy_register1
-#define SPI_Busy1_Direct (*((volatile short *)(FPGA2_BASE | (0x048 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define SPI_Busy1_Latched (*((volatile short *)(FPGA2_BASE | (0x049 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define SPI_Busy1_Mask (*((volatile short *)(FPGA2_BASE | (0x04a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_SPI_Busy1_Direct (*((volatile short *)(FPGA2_BASE | (0x048 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_SPI_Busy1_Latched (*((volatile short *)(FPGA2_BASE | (0x049 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_SPI_Busy1_Mask (*((volatile short *)(FPGA2_BASE | (0x04a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//SPI_Busy_register2
-#define SPI_Busy2_Direct (*((volatile short *)(FPGA2_BASE | (0x050 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define SPI_Busy2_Latched (*((volatile short *)(FPGA2_BASE | (0x051 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define SPI_Busy2_Mask (*((volatile short *)(FPGA2_BASE | (0x052 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F2_SPI_Busy2_Direct (*((volatile short *)(FPGA2_BASE | (0x050 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F2_SPI_Busy2_Latched (*((volatile short *)(FPGA2_BASE | (0x051 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F2_SPI_Busy2_Mask (*((volatile short *)(FPGA2_BASE | (0x052 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//Moto_Driver_NSTBYRST_register1
-#define F2_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA2_BASE | (0x059 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA2_BASE | (0x059 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//DISPENSER_VALVE_OUT
-#define F2_DISPENSER_VALVE_OUT (*((volatile short *)(FPGA2_BASE | (0x061 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_DISPENSER_VALVE_OUT (*((volatile short *)(FPGA2_BASE | (0x061 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//Moto_Driver_SW_register1
-#define F2_Moto_Driver_SW1 (*((volatile short *)(FPGA2_BASE | (0x069 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_Moto_Driver_SW1 (*((volatile short *)(FPGA2_BASE | (0x069 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//CTRL
-#define CTRL (*((volatile short *)(FPGA2_BASE | (0x071 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_CTRL (*((volatile short *)(FPGA2_BASE | (0x071 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//GPO_REGISTER
-#define GPO_REGISTER (*((volatile short *)(FPGA2_BASE | (0x079 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_GPO_REGISTER (*((volatile short *)(FPGA2_BASE | (0x079 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F2_Prescaler1_reg9 (*((volatile short *)(FPGA2_BASE | (0x081 * Word1OrByte2)))) //Parameter for prescaler divisions -amount of prescaled clocks for counter of signal Blower Tacho.
+#define F2_Prescaler1_reg10 (*((volatile short *)(FPGA2_BASE | (0x089 * Word1OrByte2)))) //Parameter for prescaler divisions -amount of prescaled clocks clk input of pwm of signal F2_GPO_BLOWER_PWM. 8bits
+#define F2_VALVE_VALUE (*((volatile short *)(FPGA2_BASE | (0x091 * Word1OrByte2)))) //This register holds the vlave values for the vlave pulse counter
+
//SSI
-#define DISPENSER_ROTENC_DATA_p_7_RX_msb (*((volatile short *)(FPGA2_BASE | (0x080 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_7_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x081 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define DISPENSER_ROTENC_DATA_p_8_RX_msb (*((volatile short *)(FPGA2_BASE | (0x088 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_8_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x089 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_1_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0C0 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_1_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0C1 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_1_TX (*((volatile short *)(FPGA2_BASE | (0x0C7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_2_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0C8 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_2_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0C9 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_2_TX (*((volatile short *)(FPGA2_BASE | (0x0Cf * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_3_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0D0 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_3_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0D1 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_3_TX (*((volatile short *)(FPGA2_BASE | (0x0D7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_4_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0D8 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_4_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0D9 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_4_TX (*((volatile short *)(FPGA2_BASE | (0x0DF * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_5_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0E0 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_5_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0E1 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_5_TX (*((volatile short *)(FPGA2_BASE | (0x0E7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_6_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0E8 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_6_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0E9 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_6_TX (*((volatile short *)(FPGA2_BASE | (0x0EF * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_7_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0F0 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_7_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0F1 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_7_TX (*((volatile short *)(FPGA2_BASE | (0x0F7 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F2_DISPENSER_ROTENC_DATA_p_8_RX_msb (*((volatile short *)(FPGA2_BASE | (0x0F8 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F2_DISPENSER_ROTENC_DATA_p_8_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x0F9 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_DISPENSER_ROTENC_DATA_p_8_TX (*((volatile short *)(FPGA2_BASE | (0x0FF * Word1OrByte2)))) //This register triggers a TX transmission
+
//ANALOG_DYEINGH_TEMP1_1
-#define ANALOG_DYEINGH_TEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x100 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x101 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x102 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DYEINGH_TEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x103 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x100 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x101 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x102 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DYEINGH_TEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x103 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP1_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x104 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//AN_ENCLOSURETEMP1_1
-#define AN_ENCLOSURETEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x108 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x109 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x10A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define AN_ENCLOSURETEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x10B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x108 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x109 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x10A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_AN_ENCLOSURETEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x10B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP1_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x10C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DYEINGH_TEMP2
-#define ANALOG_DYEINGH_TEMP2_TX_00 (*((volatile short *)(FPGA2_BASE | (0x110 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP2_TX_01 (*((volatile short *)(FPGA2_BASE | (0x111 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP2_RX_00 (*((volatile short *)(FPGA2_BASE | (0x112 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DYEINGH_TEMP2_RX_01 (*((volatile short *)(FPGA2_BASE | (0x113 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP2_TX_00 (*((volatile short *)(FPGA2_BASE | (0x110 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP2_TX_01 (*((volatile short *)(FPGA2_BASE | (0x111 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP2_RX_00 (*((volatile short *)(FPGA2_BASE | (0x112 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DYEINGH_TEMP2_RX_01 (*((volatile short *)(FPGA2_BASE | (0x113 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP2_WORDS (*((volatile short *)(FPGA1_BASE | (0x104 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//AN_ENCLOSURETEMP2_1
-#define AN_ENCLOSURETEMP2_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x118 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP2_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x119 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP2_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x11A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define AN_ENCLOSURETEMP2_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x11B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP2_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x118 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP2_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x119 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP2_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x11A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_AN_ENCLOSURETEMP2_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x11B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP2_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x11C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DYEINGH_TEMP3
-#define ANALOG_DYEINGH_TEMP3_TX_00 (*((volatile short *)(FPGA2_BASE | (0x120 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP3_TX_01 (*((volatile short *)(FPGA2_BASE | (0x121 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP3_RX_00 (*((volatile short *)(FPGA2_BASE | (0x122 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DYEINGH_TEMP3_RX_01 (*((volatile short *)(FPGA2_BASE | (0x123 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP3_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x120 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP3_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x121 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP3_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x122 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DYEINGH_TEMP3_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x123 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP3_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x124 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//AN_ENCLOSURETEMP3_1
-#define AN_ENCLOSURETEMP3_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x128 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP3_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x129 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define AN_ENCLOSURETEMP3_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x12A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define AN_ENCLOSURETEMP3_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x12B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP3_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x128 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP3_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x129 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_AN_ENCLOSURETEMP3_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x12A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_AN_ENCLOSURETEMP3_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x12B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_AN_ENCLOSURETEMP3_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x12C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DYEINGH_TEMP4
-#define ANALOG_DYEINGH_TEMP4_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x130 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP4_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x131 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP4_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x132 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DYEINGH_TEMP4_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x133 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP4_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x130 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP4_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x131 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP4_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x132 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DYEINGH_TEMP4_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x133 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP4_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x134 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DRYER_TEMP1
-#define ANALOG_DRYER_TEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x138 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x139 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x13A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DRYER_TEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x13B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x138 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x139 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x13A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DRYER_TEMP1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x13B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP1_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x13C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
+
//ANALOG_DYEINGH_TEMP5
-#define ANALOG_DYEINGH_TEMP5_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x140 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP5_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x141 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DYEINGH_TEMP5_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x142 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DYEINGH_TEMP5_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x143 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP5_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x140 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP5_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x141 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DYEINGH_TEMP5_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x142 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DYEINGH_TEMP5_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x143 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DYEINGH_TEMP5_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x144 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DRYER_TEMP2
-#define ANALOG_DRYER_TEMP2_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x148 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP2_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x149 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP2_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x14A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DRYER_TEMP2_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x14B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP2_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x148 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP2_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x149 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP2_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x14A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DRYER_TEMP2_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x14B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP2_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x14C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_MIXCHIP_TEMP
-#define ANALOG_MIXCHIP_TEMP_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x150 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_MIXCHIP_TEMP_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x151 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_MIXCHIP_TEMP_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x152 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_MIXCHIP_TEMP_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x153 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_MIXCHIP_TEMP_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x150 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_MIXCHIP_TEMP_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x151 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_MIXCHIP_TEMP_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x152 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_MIXCHIP_TEMP_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x153 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_MIXCHIP_TEMP_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x154 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//ANALOG_DRYER_TEMP3
-#define ANALOG_DRYER_TEMP3_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x158 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP3_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x159 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define ANALOG_DRYER_TEMP3_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x15A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define ANALOG_DRYER_TEMP3_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x15B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-//SSI
-#define DISPENSER_ROTENC_DATA_p_1_RX_msb (*((volatile short *)(FPGA2_BASE | (0x160 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_1_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x161 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define DISPENSER_ROTENC_DATA_p_2_RX_msb (*((volatile short *)(FPGA2_BASE | (0x168 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_2_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x169 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define DISPENSER_ROTENC_DATA_p_3_RX_msb (*((volatile short *)(FPGA2_BASE | (0x170 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_3_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x171 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_4_RX_msb (*((volatile short *)(FPGA2_BASE | (0x178 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define DISPENSER_ROTENC_DATA_p_4_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x179 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_5_RX_msb (*((volatile short *)(FPGA2_BASE | (0x180 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define DISPENSER_ROTENC_DATA_p_5_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x181 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_6_RX_msb (*((volatile short *)(FPGA2_BASE | (0x188 * WordOrByte)))) //16 bit MSB if nessesary
-#define DISPENSER_ROTENC_DATA_p_6_RX_lsb (*((volatile short *)(FPGA2_BASE | (0x189 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP3_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x158 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP3_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x159 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_ANALOG_DRYER_TEMP3_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x15A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_ANALOG_DRYER_TEMP3_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x15B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_ANALOG_DRYER_TEMP3_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x15C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1
-#define MOTO_DISPENSER_A1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x190 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x191 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x192 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x193 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_1_TX_00 (*((volatile short *)(FPGA2_BASE | (0x190 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_1_TX_01 (*((volatile short *)(FPGA2_BASE | (0x191 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_1_RX_00 (*((volatile short *)(FPGA2_BASE | (0x192 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_1_RX_01 (*((volatile short *)(FPGA2_BASE | (0x193 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_1_WORDS (*((volatile short *)(FPGA1_BASE | (0x194 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_2
-#define MOTO_DISPENSER_A1_2_TX_00 (*((volatile short *)(FPGA2_BASE | (0x198 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_2_TX_01 (*((volatile short *)(FPGA2_BASE | (0x199 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_2_RX_00 (*((volatile short *)(FPGA2_BASE | (0x19A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_2_RX_01 (*((volatile short *)(FPGA2_BASE | (0x19B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_2_TX_00 (*((volatile short *)(FPGA2_BASE | (0x198 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_2_TX_01 (*((volatile short *)(FPGA2_BASE | (0x199 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_2_RX_00 (*((volatile short *)(FPGA2_BASE | (0x19A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_2_RX_01 (*((volatile short *)(FPGA2_BASE | (0x19B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_2_WORDS (*((volatile short *)(FPGA1_BASE | (0x19C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_3
-#define MOTO_DISPENSER_A1_3_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1A0 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_3_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1A1 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_3_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1A2 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_3_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1A3 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_3_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1A0 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_3_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1A1 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_3_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1A2 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_3_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1A3 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_3_WORDS (*((volatile short *)(FPGA1_BASE | (0x1A4 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_4
-#define MOTO_DISPENSER_A1_4_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1A8 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_4_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1A9 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_4_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1AA * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_4_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1AB * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_4_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1A8 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_4_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1A9 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_4_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1AA * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_4_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1AB * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_4_WORDS (*((volatile short *)(FPGA1_BASE | (0x1AC * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_5
-#define MOTO_DISPENSER_A1_5_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1B0 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_5_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1B1 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_5_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1B2 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_5_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1B3 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_5_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1B0 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_5_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1B1 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_5_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1B2 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_5_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1B3 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_5_WORDS (*((volatile short *)(FPGA1_BASE | (0x1B4 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_6
-#define MOTO_DISPENSER_A1_6_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1B8 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_6_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1B9 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_6_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1BA * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_6_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1BB * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_6_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1B8 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_6_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1B9 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_6_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1BA * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_6_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1BB * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_6_WORDS (*((volatile short *)(FPGA1_BASE | (0x1BC * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_7
-#define MOTO_DISPENSER_A1_7_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1C0 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_7_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1C1 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_7_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1C2 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_7_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1C3 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_7_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1C0 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_7_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1C1 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_7_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1C2 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_7_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1C3 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_7_WORDS (*((volatile short *)(FPGA1_BASE | (0x1C4 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//MOTO_DISPENSER_A1_8
-#define MOTO_DISPENSER_A1_8_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1C8 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_8_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1C9 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_DISPENSER_A1_8_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1CA * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_DISPENSER_A1_8_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1CB * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_8_TX_00 (*((volatile short *)(FPGA2_BASE | (0x1C8 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_8_TX_01 (*((volatile short *)(FPGA2_BASE | (0x1C9 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F2_MOTO_DISPENSER_A1_8_RX_00 (*((volatile short *)(FPGA2_BASE | (0x1CA * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F2_MOTO_DISPENSER_A1_8_RX_01 (*((volatile short *)(FPGA2_BASE | (0x1CB * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F2_MOTO_DISPENSER_A1_8_WORDS (*((volatile short *)(FPGA1_BASE | (0x1CC * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
+#define F2_Tacho_reg0 (*((volatile short *)(FPGA1_BASE | (0x1E0 * Word1OrByte2)))) //This Register stores the Tacho counter
+
//Prescaler
-#define F2_Prescaler1_reg1 (*((volatile short *)(FPGA2_BASE | (0x1f0 * WordOrByte)))) //Parameter for prescaler divisions
-#define F2_Prescaler1_reg2 (*((volatile short *)(FPGA2_BASE | (0x1f1 * WordOrByte)))) //Parameter for prescaler divisions
-#define F2_Prescaler1_reg3 (*((volatile short *)(FPGA2_BASE | (0x1f2 * WordOrByte)))) //Parameter for prescaler divisions
-#define F2_Prescaler1_reg4 (*((volatile short *)(FPGA2_BASE | (0x1f3 * WordOrByte)))) //Parameter for prescaler divisions
+#define F2_Prescaler1_reg0 (*((volatile short *)(FPGA1_BASE | (0x1F0 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi high duty cycle value for prescaler
+#define F2_Prescaler1_reg1 (*((volatile short *)(FPGA1_BASE | (0x1F1 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi low duty cycle value for prescaler
+#define F2_Prescaler1_reg2 (*((volatile short *)(FPGA1_BASE | (0x1F2 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi temp low duty cycle value for pmw
+#define F2_Prescaler1_reg3 (*((volatile short *)(FPGA1_BASE | (0x1F3 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi temp high duty cycle value for pmw
+#define F2_Prescaler1_reg4 (*((volatile short *)(FPGA1_BASE | (0x1F4 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto low duty cycle value for pmw
+#define F2_Prescaler1_reg5 (*((volatile short *)(FPGA1_BASE | (0x1F5 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto high duty cycle value for pmw
+#define F2_Prescaler1_reg6 (*((volatile short *)(FPGA1_BASE | (0x1F6 * Word1OrByte2)))) //Parameter for prescaler divisions - 8bit BLOWER low duty cycle value for pmw
+#define F2_Prescaler1_reg7 (*((volatile short *)(FPGA1_BASE | (0x1F7 * Word1OrByte2)))) //Parameter for prescaler divisions - 8bit BLOWER high duty cycle value for pmw
+
//Test
-#define FPGA2_Test (*((volatile short *)(FPGA2_BASE | (0x1f8 * WordOrByte)))) //Readback not - gives the inverse of the written to value
+#define F2_Test (*((volatile short *)(FPGA2_BASE | (0x1F8 * Word1OrByte2)))) //Readback not - gives the inverse of the written to value
// * * * * * * * * * * * * * * * * FPGA 3 * * * * * * * * * * * * * * * * //
//Version1
-#define FPGA3_Ver1_D (*((volatile short *)(FPGA3_BASE | (0x0 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA3_Ver1_L (*((volatile short *)(FPGA3_BASE | (0x1 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA3_Ver1_M (*((volatile short *)(FPGA3_BASE | (0x2 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_Ver1_D (*((volatile short *)(FPGA3_BASE | (0x0 * Word1OrByte2)))) //Version of Fpga is held here
//Version2
-#define FPGA3_Ver2_D (*((volatile short *)(FPGA3_BASE | (0x8 * WordOrByte)))) //Version of Fpga is held here
-#define FPGA3_Ver2_L (*((volatile short *)(FPGA3_BASE | (0x9 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define FPGA3_Ver2_M (*((volatile short *)(FPGA3_BASE | (0xa * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_Ver2_D (*((volatile short *)(FPGA3_BASE | (0x8 * Word1OrByte2)))) //Version of Fpga is held here
//GPI 01
-#define GPI_01_D (*((volatile short *)(FPGA3_BASE | (0x10 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define GPI_01_L (*((volatile short *)(FPGA3_BASE | (0x11 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define GPI_01_M (*((volatile short *)(FPGA3_BASE | (0x12 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_GPI_01_D (*((volatile short *)(FPGA3_BASE | (0x10 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_GPI_01_L (*((volatile short *)(FPGA3_BASE | (0x11 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_GPI_01_M (*((volatile short *)(FPGA3_BASE | (0x12 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
//MIDTANK 01
-#define MIDTANK_01_Direct (*((volatile short *)(FPGA3_BASE | (0x018 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define MIDTANK_01_Latched (*((volatile short *)(FPGA3_BASE | (0x019 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define MIDTANK_01_Mask (*((volatile short *)(FPGA3_BASE | (0x01a * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_MIDTANK_01_Direct (*((volatile short *)(FPGA3_BASE | (0x018 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_MIDTANK_01_Latched (*((volatile short *)(FPGA3_BASE | (0x019 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_MIDTANK_01_Mask (*((volatile short *)(FPGA3_BASE | (0x01a * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//MIDTANK 02
-#define MIDTANK_02_Direct (*((volatile short *)(FPGA3_BASE | (0x020 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define MIDTANK_02_Latched (*((volatile short *)(FPGA3_BASE | (0x021 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define MIDTANK_02_Mask (*((volatile short *)(FPGA3_BASE | (0x022 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_MIDTANK_02_Direct (*((volatile short *)(FPGA3_BASE | (0x020 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_MIDTANK_02_Latched (*((volatile short *)(FPGA3_BASE | (0x021 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_MIDTANK_02_Mask (*((volatile short *)(FPGA3_BASE | (0x022 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//DISPENSER_ROTENC_IN
-#define DISPENSER_ROTENC_IN_Direct (*((volatile short *)(FPGA3_BASE | (0x028 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define DISPENSER_ROTENC_IN_Latched (*((volatile short *)(FPGA3_BASE | (0x029 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define DISPENSER_ROTENC_IN_Mask (*((volatile short *)(FPGA3_BASE | (0x02A * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_DISPENSER_ROTENC_IN_Direct (*((volatile short *)(FPGA3_BASE | (0x028 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_DISPENSER_ROTENC_IN_Latched (*((volatile short *)(FPGA3_BASE | (0x029 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_DISPENSER_ROTENC_IN_Mask (*((volatile short *)(FPGA3_BASE | (0x02A * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//Moto_Driver_NBUSY_register1
-#define Moto_Driver_NBUSY1_Direct (*((volatile short *)(FPGA3_BASE | (0x030 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define Moto_Driver_NBUSY1_Latched (*((volatile short *)(FPGA3_BASE | (0x031 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define Moto_Driver_NBUSY1_Mask (*((volatile short *)(FPGA3_BASE | (0x032 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_Moto_Driver_NBUSY1_Direct (*((volatile short *)(FPGA3_BASE | (0x030 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_Moto_Driver_NBUSY1_Latched (*((volatile short *)(FPGA3_BASE | (0x031 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_Moto_Driver_NBUSY1_Mask (*((volatile short *)(FPGA3_BASE | (0x032 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//CARTx_PRES
-#define CARTx_PRES_02_Direct (*((volatile short *)(FPGA3_BASE | (0x038 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define CARTx_PRES_02_Latched (*((volatile short *)(FPGA3_BASE | (0x039 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define CARTx_PRES_02_Mask (*((volatile short *)(FPGA3_BASE | (0x03A * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_CARTx_PRES_02_Direct (*((volatile short *)(FPGA3_BASE | (0x038 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_CARTx_PRES_02_Latched (*((volatile short *)(FPGA3_BASE | (0x039 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_CARTx_PRES_02_Mask (*((volatile short *)(FPGA3_BASE | (0x03A * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//LS_01
-#define LS_01_Direct (*((volatile short *)(FPGA3_BASE | (0x040 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define LS_01_Latched (*((volatile short *)(FPGA3_BASE | (0x041 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define LS_01_Mask (*((volatile short *)(FPGA3_BASE | (0x042 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_LS_01_Direct (*((volatile short *)(FPGA3_BASE | (0x040 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_LS_01_Latched (*((volatile short *)(FPGA3_BASE | (0x041 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_LS_01_Mask (*((volatile short *)(FPGA3_BASE | (0x042 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//Spi_Busy_01
-#define busy_01_Direct (*((volatile short *)(FPGA3_BASE | (0x050 * WordOrByte)))) //Reads the direct values that are currently being sent to the fpga.
-#define busy_01_Latched (*((volatile short *)(FPGA3_BASE | (0x051 * WordOrByte)))) //Value of the latched shorterrupts that have occurred
-#define busy_01_Mask (*((volatile short *)(FPGA3_BASE | (0x052 * WordOrByte)))) //Value of the shorterrupt mask, Default is 0x0000
+#define F3_busy_01_Direct (*((volatile short *)(FPGA3_BASE | (0x050 * Word1OrByte2)))) //Reads the direct values that are currently being sent to the fpga.
+#define F3_busy_01_Latched (*((volatile short *)(FPGA3_BASE | (0x051 * Word1OrByte2)))) //Value of the latched shorterrupts that have occurred
+#define F3_busy_01_Mask (*((volatile short *)(FPGA3_BASE | (0x052 * Word1OrByte2)))) //Value of the shorterrupt mask, Default is 0x0000
+
//Moto_Driver_NSTBYRST_register1
-#define F3_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA3_BASE | (0x059 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F3_Moto_Driver_NSTBYRST1 (*((volatile short *)(FPGA3_BASE | (0x059 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//GPO_01
-#define /*F3_DISPENSER_VALVE_OUT*/GPO_01 (*((volatile short *)(FPGA3_BASE | (0x061 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F3_GPO_01_bus (*((volatile short *)(FPGA3_BASE | (0x061 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//Moto_Driver_SW_register1
-#define F3_Moto_Driver_SW1 (*((volatile short *)(FPGA3_BASE | (0x069 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F3_Moto_Driver_SW1 (*((volatile short *)(FPGA3_BASE | (0x069 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//VALVE_OUT
-#define VALVE_OUT (*((volatile short *)(FPGA3_BASE | (0x071 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F3_VALVE_OUT (*((volatile short *)(FPGA3_BASE | (0x071 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//DISPENSER_ROTENC_OUT
-#define DISPENSER_ROTENC_OUT (*((volatile short *)(FPGA3_BASE | (0x079 * WordOrByte)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+#define F3_DISPENSER_ROTENC_OUT (*((volatile short *)(FPGA3_BASE | (0x079 * Word1OrByte2)))) //Writes to values. Readback thevaluessthat are currently in the GPO register
+
//QEI_SCREW_ROTENC
-#define SPARE1_ROTENC_lsb (*((volatile short *)(FPGA3_BASE | (0x080 * WordOrByte)))) //Value of the lsb of the QEI register
-#define SPARE1_ROTENC_msb (*((volatile short *)(FPGA3_BASE | (0x081 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define SPARE1_ROTENC_index (*((volatile short *)(FPGA3_BASE | (0x082 * WordOrByte)))) //value of index counter
+#define F3_SPARE1_ROTENC_lsb (*((volatile short *)(FPGA3_BASE | (0x080 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F3_SPARE1_ROTENC_msb (*((volatile short *)(FPGA3_BASE | (0x081 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F3_SPARE1_ROTENC_index (*((volatile short *)(FPGA3_BASE | (0x082 * Word1OrByte2)))) //value of index counter
+
//QEI_RSPARE_ROTENC
-#define RSPARE_ROTENC_lsb (*((volatile short *)(FPGA3_BASE | (0x088 * WordOrByte)))) //Value of the lsb of the QEI register
-#define RSPARE_ROTENC_msb (*((volatile short *)(FPGA3_BASE | (0x089 * WordOrByte)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
-#define RSPARE_ROTENC_index (*((volatile short *)(FPGA3_BASE | (0x08a * WordOrByte)))) //value of index counter
+#define F3_RSPARE_ROTENC_lsb (*((volatile short *)(FPGA3_BASE | (0x088 * Word1OrByte2)))) //Value of the lsb of the QEI register
+#define F3_RSPARE_ROTENC_msb (*((volatile short *)(FPGA3_BASE | (0x089 * Word1OrByte2)))) //10bits Value of the Msb of the QEI register, 1bit Direction of movement, 5bits Reserved
+#define F3_RSPARE_ROTENC_index (*((volatile short *)(FPGA3_BASE | (0x08a * Word1OrByte2)))) //value of index counter
+
//SPI_MOTO_RLOADING_A1
-#define MOTO_SPARE1_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x100 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE1_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x101 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE1_1_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x102 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_SPARE1_1_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x103 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE1_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x100 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE1_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x101 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE1_1_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x102 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F3_MOTO_SPARE1_1_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x103 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE1_1_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x104 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_MOTO_RDRIVING_A1
-#define MOTO_SPARE1_2_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x108 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE1_2_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x109 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE1_2_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x10A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_SPARE1_2_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x10B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE1_2_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x108 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE1_2_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x109 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE1_2_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x10A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F3_MOTO_SPARE1_2_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x10B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE1_2_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x10C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_LDRIVING_A1
-#define MOTO_SPARE2_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x110 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE2_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x111 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE2_1_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x112 * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_SPARE2_1_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x113 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE2_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x110 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE2_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x111 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE2_1_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x112 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F3_MOTO_SPARE2_1_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x113 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE2_1_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x114 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SPI_F1_MOTO_LLOADING_A1
-#define MOTO_SPARE2_2_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x118 * WordOrByte)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE2_2_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x119 * WordOrByte)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
-#define MOTO_SPARE2_2_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x11A * WordOrByte)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
-#define MOTO_SPARE2_2_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x11B * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE2_2_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x118 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE2_2_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x119 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE2_2_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x11A * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F3_MOTO_SPARE2_2_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x11B * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE2_2_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x11C * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
+#define F3_MOTO_SPARE3_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | (0x120 * Word1OrByte2)))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE3_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | (0x120 * Word1OrByte2)))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
+#define F3_MOTO_SPARE3_1_A1_RX_00 (*((volatile short *)(FPGA3_BASE | (0x122 * Word1OrByte2)))) //The 8 msb bits of the shifted in bits. The 8 msb bits of this register are zeros.
+#define F3_MOTO_SPARE3_1_A1_RX_01 (*((volatile short *)(FPGA3_BASE | (0x123 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_MOTO_SPARE3_1_A1_WORDS (*((volatile short *)(FPGA1_BASE | (0x124 * Word1OrByte2)))) //The amount of spi words (usually byte sized) per transmission.
+
//SSI
-#define SPARE1_ROTENC_DATA_p_1_RX_msb (*((volatile short *)(FPGA3_BASE | (0x160 * WordOrByte)))) //16 bit MSB if nessesary
-#define SPARE1_ROTENC_DATA_p_1_RX_lsb (*((volatile short *)(FPGA3_BASE | (0x161 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
-#define SPARE2_ROTENC_DATA_p_2_RX_msb (*((volatile short *)(FPGA3_BASE | (0x168 * WordOrByte)))) //16 bit MSB if nessesary
-#define SPARE2_ROTENC_DATA_p_2_RX_lsb (*((volatile short *)(FPGA3_BASE | (0x169 * WordOrByte)))) //The 16 Lsb bits of the shifted in data.
+#define F3_SPARE1_ROTENC_DATA_p_1_RX_msb (*((volatile short *)(FPGA3_BASE | (0x160 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F3_SPARE1_ROTENC_DATA_p_1_RX_lsb (*((volatile short *)(FPGA3_BASE | (0x161 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_SPARE1_ROTENC_DATA_p_1_TX (*((volatile short *)(FPGA3_BASE | (0x167 * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F3_SPARE2_ROTENC_DATA_p_2_RX_msb (*((volatile short *)(FPGA3_BASE | (0x168 * Word1OrByte2)))) //16 bit MSB if nessesary
+#define F3_SPARE2_ROTENC_DATA_p_2_RX_lsb (*((volatile short *)(FPGA3_BASE | (0x169 * Word1OrByte2)))) //The 16 Lsb bits of the shifted in data.
+#define F3_SPARE2_ROTENC_DATA_p_1_TX (*((volatile short *)(FPGA3_BASE | (0x16F * Word1OrByte2)))) //This register triggers a TX transmission
+
+#define F3_SW_RESET_reg (*((volatile short *)(FPGA3_BASE | (0x1E8 * Word1OrByte2)))) //This register resets the MCU
+
//Prescaler
-#define F3_Prescaler1_reg1 (*((volatile short *)(FPGA3_BASE | (0x1f0 * WordOrByte)))) //Parameter for prescaler divisions
-#define F3_Prescaler1_reg2 (*((volatile short *)(FPGA3_BASE | (0x1f1 * WordOrByte)))) //Parameter for prescaler divisions
-#define F3_Prescaler1_reg3 (*((volatile short *)(FPGA3_BASE | (0x1f2 * WordOrByte)))) //Parameter for prescaler divisions
-#define F3_Prescaler1_reg4 (*((volatile short *)(FPGA3_BASE | (0x1f3 * WordOrByte)))) //Parameter for prescaler divisions
+#define F3_Prescaler1_reg1 (*((volatile short *)(FPGA3_BASE | (0x1F0 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi high duty cycle value for prescale
+#define F3_Prescaler1_reg2 (*((volatile short *)(FPGA3_BASE | (0x1F1 * Word1OrByte2)))) //Parameter for prescaler divisions - 6bit ssi low duty cycle value for prescaler
+#define F3_Prescaler1_reg3 (*((volatile short *)(FPGA3_BASE | (0x1F2 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto low duty cycle value for pmw
+#define F3_Prescaler1_reg4 (*((volatile short *)(FPGA3_BASE | (0x1F3 * Word1OrByte2)))) //Parameter for prescaler divisions - 3bit spi moto high duty cycle value for pmw
+
+#define F3_Prescaler1_reg5 (*((volatile short *)(FPGA3_BASE | (0x1F4 * Word1OrByte2)))) //Parameter for prescaler divisions
+#define F3_Prescaler1_reg6 (*((volatile short *)(FPGA3_BASE | (0x1F5 * Word1OrByte2)))) //Parameter for prescaler divisions
+#define F3_Prescaler1_reg7 (*((volatile short *)(FPGA3_BASE | (0x1F6 * Word1OrByte2)))) //Parameter for prescaler divisions
+#define F3_Prescaler1_reg8 (*((volatile short *)(FPGA3_BASE | (0x1F7 * Word1OrByte2)))) //Parameter for prescaler divisions
//Test
-#define FPGA3_Test (*((volatile short *)(FPGA3_BASE | (0x1f8 * WordOrByte)))) //Readback not - gives the inverse of the written to value
+#define F3_Test (*((volatile short *)(FPGA3_BASE | (0x1F8 * Word1OrByte2)))) //Readback not - gives the inverse of the written to value
//1 Version1_Direct
typedef union
diff --git a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_SPI_Comm.c b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_SPI_Comm.c
index 11e9231c7..ede011df6 100644
--- a/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_SPI_Comm.c
+++ b/Software/Code_Composer/twine_usblib_demo/drivers/FPGA/FPGA_SPI_Comm.c
@@ -10,181 +10,181 @@ uint8_t SPI_Transnit(SPI Spi)
INT2SHORT Int2Short;
//Check Busy register and see if the SPI desired is available
- while((SPI_Busy1_D != NOTBUSY ) || (SPI_Busy2_D != NOTBUSY ));
+ while((F1_SPI_Busy1_D != NOTBUSY ) || (F1_SPI_Busy2_D != NOTBUSY ));
Int2Short.uint = Spi.TX_MOSI;
switch(Spi.Type)
{
case RLOADING:
- MOTO_RLOADING_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_RLOADING_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_RLOADING_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_RLOADING_A1_TX_01);
//Send a write to TX_00
- MOTO_RLOADING_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_RLOADING_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_RLOADING_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_RLOADING_A1_TX_00);
break;
case RDRIVING:
- MOTO_RDRIVING_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_RDRIVING_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_RDRIVING_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_RDRIVING_A1_TX_01);
//Send a write to TX_00
- MOTO_RDRIVING_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_RDRIVING_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_RDRIVING_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_RDRIVING_A1_TX_00);
break;
case F1_LDRIVING:
- MOTO_LDRIVING_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_LDRIVING_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_LDRIVING_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_LDRIVING_A1_TX_01);
//Send a write to TX_00
- MOTO_LDRIVING_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_LDRIVING_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_LDRIVING_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_LDRIVING_A1_TX_00);
break;
case F1_LLOADING:
- MOTO_LLOADING_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_LLOADING_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_LLOADING_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_LLOADING_A1_TX_01);
//Send a write to TX_00
- MOTO_LLOADING_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_LLOADING_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_LLOADING_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_LLOADING_A1_TX_00);
break;
case F1_DRYER_LOADARM:
- MOTO_DRYER_LOADARM_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DRYER_LOADARM_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DRYER_LOADARM_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DRYER_LOADARM_A1_TX_01);
//Send a write to TX_00
- MOTO_DRYER_LOADARM_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DRYER_LOADARM_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DRYER_LOADARM_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DRYER_LOADARM_A1_TX_00);
break;
case F1_DRYER_DRIVING:
- MOTO_DRYER_DRIVING_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DRYER_DRIVING_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DRYER_DRIVING_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DRYER_DRIVING_A1_TX_01);
//Send a write to TX_00
- MOTO_DRYER_DRIVING_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DRYER_DRIVING_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DRYER_DRIVING_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DRYER_DRIVING_A1_TX_00);
break;
case F1_DH_CLEANHEAD:
- MOTO_DH_CLEANHEAD_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DH_CLEANHEAD_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DH_CLEANHEAD_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DH_CLEANHEAD_A1_TX_01);
//Send a write to TX_00
- MOTO_DH_CLEANHEAD_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DH_CLEANHEAD_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DH_CLEANHEAD_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DH_CLEANHEAD_A1_TX_00);
break;
case F1_DH_CLEANMECH:
- MOTO_DH_CLEANMECH_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DH_CLEANMECH_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DH_CLEANMECH_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DH_CLEANMECH_A1_TX_01);
//Send a write to TX_00
- MOTO_DH_CLEANMECH_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DH_CLEANMECH_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DH_CLEANMECH_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DH_CLEANMECH_A1_TX_00);
break;
case F1_SCREW:
- MOTO_SCREW_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_SCREW_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_SCREW_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_SCREW_A1_TX_01);
//Send a write to TX_00
- MOTO_SCREW_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_SCREW_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_SCREW_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_SCREW_A1_TX_00);
break;
case F1_WINDER:
- MOTO_WINDER_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_WINDER_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_WINDER_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_WINDER_A1_TX_01);
//Send a write to TX_00
- MOTO_WINDER_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_WINDER_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_WINDER_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_WINDER_A1_TX_00);
break;
case RLOADARM:
- MOTO_RLOADARM_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_RLOADARM_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_RLOADARM_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_RLOADARM_A1_TX_01);
//Send a write to TX_00
- MOTO_RLOADARM_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_RLOADARM_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_RLOADARM_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_RLOADARM_A1_TX_00);
break;
case RDANCER:
- MOTO_RDANCER_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_RDANCER_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_RDANCER_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_RDANCER_A1_TX_01);
//Send a write to TX_00
- MOTO_RDANCER_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_RDANCER_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_RDANCER_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_RDANCER_A1_TX_00);
break;
case LDANCER1:
- MOTO_LDANCER1_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_LDANCER1_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_LDANCER1_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_LDANCER1_A1_TX_01);
//Send a write to TX_00
- MOTO_LDANCER1_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_LDANCER1_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_LDANCER1_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_LDANCER1_A1_TX_00);
break;
case LDANCER2:
- MOTO_LDANCER2_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_LDANCER2_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_LDANCER2_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_LDANCER2_A1_TX_01);
//Send a write to TX_00
- MOTO_LDANCER2_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_LDANCER2_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_LDANCER2_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_LDANCER2_A1_TX_00);
break;
case DRYER_LID:
- MOTO_DRYER_LID_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DRYER_LID_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DRYER_LID_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DRYER_LID_A1_TX_01);
//Send a write to TX_00
- MOTO_DRYER_LID_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DRYER_LID_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DRYER_LID_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DRYER_LID_A1_TX_00);
break;
case DH_LID:
- MOTO_DH_LID_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_DH_LID_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_DH_LID_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_DH_LID_A1_TX_01);
//Send a write to TX_00
- MOTO_DH_LID_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_DH_LID_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_DH_LID_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_DH_LID_A1_TX_00);
break;
case LPIVOT1:
- MOTO_LPIVOT1_A1_TX_01 = Int2Short.ushort.MSB;
+ F1_MOTO_LPIVOT1_A1_TX_01 = Int2Short.ushort.MSB;
//Read the TX_01 register and make sure that the value was written properly.
- while( Int2Short.ushort.MSB != MOTO_LPIVOT1_A1_TX_01);
+ while( Int2Short.ushort.MSB != F1_MOTO_LPIVOT1_A1_TX_01);
//Send a write to TX_00
- MOTO_LPIVOT1_A1_TX_00 = Int2Short.ushort.LSB;
+ F1_MOTO_LPIVOT1_A1_TX_00 = Int2Short.ushort.LSB;
//Read the TX_00 register and make sure that the value was written properly.
- while( Int2Short.ushort.LSB != MOTO_LPIVOT1_A1_TX_00);
+ while( Int2Short.ushort.LSB != F1_MOTO_LPIVOT1_A1_TX_00);
break;
default:
break;
@@ -199,77 +199,77 @@ uint8_t SPI_Receive (SPI Spi)
INT2SHORT Int2Short;
//Check busy before trying to read RX registers.
- while((SPI_Busy1_D != NOTBUSY ) || (SPI_Busy2_D != NOTBUSY ));
+ while((F1_SPI_Busy1_D != NOTBUSY ) || (F1_SPI_Busy2_D != NOTBUSY ));
switch(Spi.Type)
{
case RLOADING:
- Int2Short.ushort.LSB = MOTO_RLOADING_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_RLOADING_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_RLOADING_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_RLOADING_A1_RX_01;
break;
case RDRIVING:
- Int2Short.ushort.LSB = MOTO_RDRIVING_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_RDRIVING_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_RDRIVING_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_RDRIVING_A1_RX_01;
break;
case F1_LDRIVING:
- Int2Short.ushort.LSB = MOTO_LDRIVING_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_LDRIVING_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_LDRIVING_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_LDRIVING_A1_RX_01;
break;
case F1_LLOADING:
- Int2Short.ushort.LSB = MOTO_LLOADING_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_LLOADING_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_LLOADING_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_LLOADING_A1_RX_01;
break;
case F1_DRYER_LOADARM:
- Int2Short.ushort.LSB = MOTO_DRYER_LOADARM_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DRYER_LOADARM_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DRYER_LOADARM_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DRYER_LOADARM_A1_RX_01;
break;
case F1_DRYER_DRIVING:
- Int2Short.ushort.LSB = MOTO_DRYER_DRIVING_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DRYER_DRIVING_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DRYER_DRIVING_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DRYER_DRIVING_A1_RX_01;
break;
case F1_DH_CLEANHEAD:
- Int2Short.ushort.LSB = MOTO_DH_CLEANHEAD_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DH_CLEANHEAD_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DH_CLEANHEAD_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DH_CLEANHEAD_A1_RX_01;
break;
case F1_DH_CLEANMECH:
- Int2Short.ushort.LSB = MOTO_DH_CLEANMECH_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DH_CLEANMECH_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DH_CLEANMECH_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DH_CLEANMECH_A1_RX_01;
break;
case F1_SCREW:
- Int2Short.ushort.LSB = MOTO_SCREW_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_SCREW_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_SCREW_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_SCREW_A1_RX_01;
break;
case F1_WINDER:
- Int2Short.ushort.LSB = MOTO_WINDER_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_WINDER_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_WINDER_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_WINDER_A1_RX_01;
break;
case RLOADARM:
- Int2Short.ushort.LSB = MOTO_RLOADARM_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_RLOADARM_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_RLOADARM_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_RLOADARM_A1_RX_01;
break;
case RDANCER:
- Int2Short.ushort.LSB = MOTO_RDANCER_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_RDANCER_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_RDANCER_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_RDANCER_A1_RX_01;
break;
case LDANCER1:
- Int2Short.ushort.LSB = MOTO_LDANCER1_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_LDANCER1_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_LDANCER1_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_LDANCER1_A1_RX_01;
break;
case LDANCER2:
- Int2Short.ushort.LSB = MOTO_LDANCER2_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_LDANCER2_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_LDANCER2_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_LDANCER2_A1_RX_01;
break;
case DRYER_LID:
- Int2Short.ushort.LSB = MOTO_DRYER_LID_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DRYER_LID_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DRYER_LID_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DRYER_LID_A1_RX_01;
break;
case DH_LID:
- Int2Short.ushort.LSB = MOTO_DH_LID_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_DH_LID_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_DH_LID_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_DH_LID_A1_RX_01;
break;
case LPIVOT1:
- Int2Short.ushort.LSB = MOTO_LPIVOT1_A1_RX_00;
- Int2Short.ushort.MSB = MOTO_LPIVOT1_A1_RX_01;
+ Int2Short.ushort.LSB = F1_MOTO_LPIVOT1_A1_RX_00;
+ Int2Short.ushort.MSB = F1_MOTO_LPIVOT1_A1_RX_01;
break;
default:
break;
diff --git a/Software/Code_Composer/twine_usblib_demo/drivers/SPI/SPI_Comm.c b/Software/Code_Composer/twine_usblib_demo/drivers/SPI/SPI_Comm.c
index d11555de1..b3a7728e0 100644
--- a/Software/Code_Composer/twine_usblib_demo/drivers/SPI/SPI_Comm.c
+++ b/Software/Code_Composer/twine_usblib_demo/drivers/SPI/SPI_Comm.c
@@ -427,6 +427,11 @@ void setup(StubMotorInitRequest* request)
while(SSIBusy(SSI2_BASE)){};
SetParam(x_FS_SPD, FSCalc(0x3FF));
+ //STALL threshold
+ while(SSIBusy(SSI2_BASE)){};
+ SetParam(x_STALL_TH, 0x1F);//187.5mA Reset Value 0x40 (2.03A) ---------------------
+
+
// Configure the acceleration rate, in steps/tick/tick. There is
// also a DEC register; both of them have a function (AccCalc()
// and DecCalc() respectively) that convert from steps/s/s into
@@ -549,7 +554,7 @@ void setup(StubMotorInitRequest* request)
void Mot_Run()
{
- while(SSIBusy(SSI2_BASE)){};
+ //while(SSIBusy(SSI2_BASE)){};
Run(Direction,Run_Value );
//Run_tx_test(Direction,Run_Value );
}
@@ -933,8 +938,8 @@ uint32_t Get_Param(byte param)//OK
{
uint32_t temp = 0;
uint32_t rx = 0;
- while(SSIBusy(SSI2_BASE)){};
- while(Check_SPI_Busy() == BUSY){};
+ //while(SSIBusy(SSI2_BASE)){};
+ // while(Check_SPI_Busy() == BUSY){};
/* Send GetParam operation code to dSPIN */
temp = Write_Byte((uint8_t)x_GET_PARAM | (uint8_t)param);
/* MSB which should be 0 */
@@ -944,8 +949,8 @@ uint32_t Get_Param(byte param)//OK
case x_ABS_POS: ;
case x_MARK: ;
case x_SPEED:
- while(SSIBusy(SSI2_BASE)){};
- while(Check_SPI_Busy() == BUSY){};
+ //while(SSIBusy(SSI2_BASE)){};
+ //while(Check_SPI_Busy() == BUSY){};
temp = Write_Byte((uint8_t)(0x00));
rx |= (temp & 0xFF) << 16;
case x_EL_POS: ;
@@ -957,13 +962,13 @@ uint32_t Get_Param(byte param)//OK
case x_INT_SPD: ;
case x_CONFIG: ;
case x_STATUS:
- while(SSIBusy(SSI2_BASE)){};
- while(Check_SPI_Busy() == BUSY){};
+ //while(SSIBusy(SSI2_BASE)){};
+ //while(Check_SPI_Busy() == BUSY){};
temp = Write_Byte((uint8_t)(0x00));
rx |= (temp & 0xFF) << 8;
default:
- while(SSIBusy(SSI2_BASE)){};
- while(Check_SPI_Busy() == BUSY){};
+ //while(SSIBusy(SSI2_BASE)){};
+ //while(Check_SPI_Busy() == BUSY){};
temp = Write_Byte((uint8_t)(0x00));
rx |= temp & 0xFF;
}
diff --git a/Software/PMR/Messages/Common/MessageType.proto b/Software/PMR/Messages/Common/MessageType.proto
index 52bde5b80..db1b3be76 100644
--- a/Software/PMR/Messages/Common/MessageType.proto
+++ b/Software/PMR/Messages/Common/MessageType.proto
@@ -63,6 +63,10 @@ enum MessageType
StubMotorSpeedResponse = 54;
StubMotorPositionRequest = 55;
StubMotorPositionResponse = 56;
+ StubHWVersionRequest = 57;
+ StubHWVersionResponse = 58;
+ StubF3Gpo01WriteRequest = 59;
+ StubF3Gpo01WriteResponse = 60;
//Integration
ExternalBridgeUdpDiscoveryPacket = 1000;
diff --git a/Software/PMR/Messages/Stubs/StubF3Gpo01WriteRequest.proto b/Software/PMR/Messages/Stubs/StubF3Gpo01WriteRequest.proto
new file mode 100644
index 000000000..689b5ff12
--- /dev/null
+++ b/Software/PMR/Messages/Stubs/StubF3Gpo01WriteRequest.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+package Tango.PMR.Stubs;
+option java_package = "com.twine.tango.pmr.stubs";
+
+message StubF3Gpo01WriteRequest
+{
+ bool F3_GPO_LED4 = 1;//value
+ bool Write_F3_GPO_LED4 = 2;//write
+ bool F3_GPO_LED3 = 3;
+ bool Write_F3_GPO_LED3 = 4;
+ bool F3_GPO_LED2 = 5;
+ bool Write_F3_GPO_LED2 = 6;
+ bool F3_GPO_LED1 = 7;
+ bool Write_F3_GPO_LED1 = 8;
+ bool F3_GPO_EXTWINDER_SSR11_CTRL = 9;
+ bool Write_F3_GPO_EXTWINDER_SSR11_CTRL = 10;
+ bool F3_GPO_BUZZER = 11;
+ bool Write_F3_GPO_BUZZER = 12;
+}
+
diff --git a/Software/PMR/Messages/Stubs/StubF3Gpo01WriteResponse.proto b/Software/PMR/Messages/Stubs/StubF3Gpo01WriteResponse.proto
new file mode 100644
index 000000000..f0cce6215
--- /dev/null
+++ b/Software/PMR/Messages/Stubs/StubF3Gpo01WriteResponse.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+package Tango.PMR.Stubs;
+option java_package = "com.twine.tango.pmr.stubs";
+
+message StubF3Gpo01WriteResponse
+{
+ string Status = 1; // Passed/Failed
+ uint32 StatusWord = 2; // Error number/bit when the status is Failed
+} \ No newline at end of file
diff --git a/Software/PMR/Messages/Stubs/StubHWVersionRequest.proto b/Software/PMR/Messages/Stubs/StubHWVersionRequest.proto
new file mode 100644
index 000000000..9257354a2
--- /dev/null
+++ b/Software/PMR/Messages/Stubs/StubHWVersionRequest.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+package Tango.PMR.Stubs;
+option java_package = "com.twine.tango.pmr.stubs";
+
+message StubHWVersionRequest
+{
+
+} \ No newline at end of file
diff --git a/Software/PMR/Messages/Stubs/StubHWVersionResponse.proto b/Software/PMR/Messages/Stubs/StubHWVersionResponse.proto
new file mode 100644
index 000000000..826d1c126
--- /dev/null
+++ b/Software/PMR/Messages/Stubs/StubHWVersionResponse.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+package Tango.PMR.Stubs;
+option java_package = "com.twine.tango.pmr.stubs";
+
+message StubHWVersionResponse
+{
+ uint32 BRD_ID = 1;
+ uint32 ASSY_ID = 2;
+ string Status = 3; // Passed/Failed
+ uint32 StatusWord = 4; // Error number/bit when the status is Failed
+} \ No newline at end of file
diff --git a/Software/PMR/Messages/Stubs/StubMotorRunResponse.proto b/Software/PMR/Messages/Stubs/StubMotorRunResponse.proto
index 5ea4edf29..de881033f 100644
--- a/Software/PMR/Messages/Stubs/StubMotorRunResponse.proto
+++ b/Software/PMR/Messages/Stubs/StubMotorRunResponse.proto
@@ -12,5 +12,6 @@ message StubMotorRunResponse
uint32 Mot_Status = 5; //Stopped / Acceleration / Deceleration / Constant speed
bool STEP_LOSS_A = 6;
bool STEP_LOSS_B = 7;
+ bool BUSY = 8;
} \ No newline at end of file
diff --git a/Software/PMR/Messages/Stubs/StubMotorStopResponse.proto b/Software/PMR/Messages/Stubs/StubMotorStopResponse.proto
index efc4db1c2..acefff884 100644
--- a/Software/PMR/Messages/Stubs/StubMotorStopResponse.proto
+++ b/Software/PMR/Messages/Stubs/StubMotorStopResponse.proto
@@ -8,4 +8,5 @@ message StubMotorStopResponse
uint32 Motor_ID = 1;
uint32 Mot_Status = 2;// Stopped / Acceleration / Deceleration / Constant speed
bool HiZ = 3;// 1 - high impedance state.
+ bool BUSY = 4;
} \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/ColorMine/ColorMine.nuspec b/Software/Visual_Studio/SideChains/ColorMine/ColorMine.nuspec
deleted file mode 100644
index a8a40c98d..000000000
--- a/Software/Visual_Studio/SideChains/ColorMine/ColorMine.nuspec
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
- <metadata>
- <id>ColorMine</id>
- <version>1.1.3.0</version>
- <title>ColorMine</title>
- <authors>Joe Zack</authors>
- <licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
- <projectUrl>https://github.com/THEjoezack/ColorMine</projectUrl>
- <requireLicenseAcceptance>false</requireLicenseAcceptance>
- <description>Open source library that makes converting and comparing colors easy.
-
- ## Supported Color Models:
- * CMY
- * CMYK
- * HSL
- * HSB
- * HSV
- * CIE L*AB
- * Hunter LAB
- * LCH
- * LUV
- * sRGB
- * XYZ
- * YXY
-
- ## Supported Comparisons
- * CIE76
- * CMC l:c
- * CIE94
- * CIE2000
-
- Demonstrations at http://colormine.org.</description>
- <releaseNotes>1.1.3.0 - 04/02/2014
-Bumped .Net version down to 4.0
-Fixed HSB Calcuations
-
-1.1.2.1 - 03/12/2014
-Now strongly signed
-
-1.1.2 - 03/12/2014
-Fixed CIE2000 calculations</releaseNotes>
- <copyright>2014</copyright>
- <language />
- <tags>color delta-e rgb to lab</tags>
- </metadata>
- <files>
- <file src="bin\Release\ColorMine.dll" target="lib\ColorMine.dll" />
- </files>
-</package> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs
index 4811280d1..66e5d69b7 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(
- "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqREAoLTWVz",
+ "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiq5FQoLTWVz",
"c2FnZVR5cGUSCAoETm9uZRAAEhQKEENhbGN1bGF0ZVJlcXVlc3QQAxIVChFD",
"YWxjdWxhdGVSZXNwb25zZRAEEhMKD1Byb2dyZXNzUmVxdWVzdBAFEhQKEFBy",
"b2dyZXNzUmVzcG9uc2UQBhIcChhTdHViQ2FydHJpZGdlUmVhZFJlcXVlc3QQ",
@@ -44,32 +44,47 @@ namespace Tango.PMR.Common {
"ChBTdHViVmFsdmVSZXF1ZXN0EB8SFQoRU3R1YlZhbHZlUmVzcG9uc2UQIBIb",
"ChdTdHViRXh0Rmxhc2hSZWFkUmVxdWVzdBAhEhwKGFN0dWJFeHRGbGFzaFJl",
"YWRSZXNwb25zZRAiEhwKGFN0dWJFeHRGbGFzaFdyaXRlUmVxdWVzdBAjEh0K",
- "GVN0dWJFeHRGbGFzaFdyaXRlUmVzcG9uc2UQJBIlCiBFeHRlcm5hbEJyaWRn",
- "ZVVkcERpc2NvdmVyeVBhY2tldBDoBxIfChpFeHRlcm5hbENsaWVudExvZ2lu",
- "UmVxdWVzdBDpBxIgChtFeHRlcm5hbENsaWVudExvZ2luUmVzcG9uc2UQ6gcS",
- "IQocRGlyZWN0U3luY2hyb25pemF0aW9uUmVxdWVzdBDrBxIiCh1EaXJlY3RT",
- "eW5jaHJvbml6YXRpb25SZXNwb25zZRDsBxIcChdPdmVycmlkZURhdGFCYXNl",
- "UmVxdWVzdBDtBxIdChhPdmVycmlkZURhdGFCYXNlUmVzcG9uc2UQ7gcSFQoQ",
- "S2VlcEFsaXZlUmVxdWVzdBDvBxIWChFLZWVwQWxpdmVSZXNwb25zZRDwBxIb",
- "ChZQdXNoRGlhZ25vc3RpY3NSZXF1ZXN0ENAPEhwKF1B1c2hEaWFnbm9zdGlj",
- "c1Jlc3BvbnNlENEPEhwKF01vdG9yQWJvcnRIb21pbmdSZXF1ZXN0ENIPEh0K",
- "GE1vdG9yQWJvcnRIb21pbmdSZXNwb25zZRDTDxIXChJNb3RvckhvbWluZ1Jl",
- "cXVlc3QQ1A8SGAoTTW90b3JIb21pbmdSZXNwb25zZRDVDxIYChNNb3Rvckpv",
- "Z2dpbmdSZXF1ZXN0ENYPEhkKFE1vdG9ySm9nZ2luZ1Jlc3BvbnNlENcPEh0K",
- "GE1vdG9yQWJvcnRKb2dnaW5nUmVxdWVzdBDYDxIeChlNb3RvckFib3J0Sm9n",
- "Z2luZ1Jlc3BvbnNlENkPEiAKG0Rpc3BlbnNlckFib3J0SG9taW5nUmVxdWVz",
- "dBDaDxIhChxEaXNwZW5zZXJBYm9ydEhvbWluZ1Jlc3BvbnNlENsPEhsKFkRp",
- "c3BlbnNlckhvbWluZ1JlcXVlc3QQ3A8SHAoXRGlzcGVuc2VySG9taW5nUmVz",
- "cG9uc2UQ3Q8SHAoXRGlzcGVuc2VySm9nZ2luZ1JlcXVlc3QQ3g8SHQoYRGlz",
- "cGVuc2VySm9nZ2luZ1Jlc3BvbnNlEN8PEiEKHERpc3BlbnNlckFib3J0Sm9n",
- "Z2luZ1JlcXVlc3QQ4A8SIgodRGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVzcG9u",
- "c2UQ4Q8SGQoUU2V0RGlnaXRhbE91dFJlcXVlc3QQ4g8SGgoVU2V0RGlnaXRh",
- "bE91dFJlc3BvbnNlEOMPEhkKFFRocmVhZEpvZ2dpbmdSZXF1ZXN0EOQPEhoK",
- "FVRocmVhZEpvZ2dpbmdSZXNwb25zZRDlDxIeChlUaHJlYWRBYm9ydEpvZ2dp",
- "bmdSZXF1ZXN0EOYPEh8KGlRocmVhZEFib3J0Sm9nZ2luZ1Jlc3BvbnNlEOcP",
- "Eg8KCkpvYlJlcXVlc3QQuBcSEAoLSm9iUmVzcG9uc2UQuRcSFAoPQWJvcnRK",
- "b2JSZXF1ZXN0ELoXEhUKEEFib3J0Sm9iUmVzcG9uc2UQuxdCHAoaY29tLnR3",
- "aW5lLnRhbmdvLnBtci5jb21tb25iBnByb3RvMw=="));
+ "GVN0dWJFeHRGbGFzaFdyaXRlUmVzcG9uc2UQJBIeChpTdHViRlBHQVJlYWRC",
+ "YWNrUmVnUmVxdWVzdBAlEh8KG1N0dWJGUEdBUmVhZEJhY2tSZWdSZXNwb25z",
+ "ZRAmEh4KGlN0dWJGUEdBUmVhZFZlcnNpb25SZXF1ZXN0ECcSHwobU3R1YkZQ",
+ "R0FSZWFkVmVyc2lvblJlc3BvbnNlECgSGgoWU3R1Ykw2NDcwRHJpdmVyUmVx",
+ "dWVzdBApEhsKF1N0dWJMNjQ3MERyaXZlclJlc3BvbnNlECoSGAoUU3R1Yk1v",
+ "dG9ySW5pdFJlcXVlc3QQKxIZChVTdHViTW90b3JJbml0UmVzcG9uc2UQLBIX",
+ "ChNTdHViTW90b3JSdW5SZXF1ZXN0EC0SGAoUU3R1Yk1vdG9yUnVuUmVzcG9u",
+ "c2UQLhIYChRTdHViTW90b3JTdG9wUmVxdWVzdBAvEhkKFVN0dWJNb3RvclN0",
+ "b3BSZXNwb25zZRAwEhoKFlN0dWJNb3RvclN0YXR1c1JlcXVlc3QQMRIbChdT",
+ "dHViTW90b3JTdGF0dXNSZXNwb25zZRAyEhcKE1N0dWJNb3Rvck1vdlJlcXVl",
+ "c3QQMxIYChRTdHViTW90b3JNb3ZSZXNwb25zZRA0EhkKFVN0dWJNb3RvclNw",
+ "ZWVkUmVxdWVzdBA1EhoKFlN0dWJNb3RvclNwZWVkUmVzcG9uc2UQNhIcChhT",
+ "dHViTW90b3JQb3NpdGlvblJlcXVlc3QQNxIdChlTdHViTW90b3JQb3NpdGlv",
+ "blJlc3BvbnNlEDgSGAoUU3R1YkhXVmVyc2lvblJlcXVlc3QQORIZChVTdHVi",
+ "SFdWZXJzaW9uUmVzcG9uc2UQOhIbChdTdHViRjNHcG8wMVdyaXRlUmVxdWVz",
+ "dBA7EhwKGFN0dWJGM0dwbzAxV3JpdGVSZXNwb25zZRA8EiUKIEV4dGVybmFs",
+ "QnJpZGdlVWRwRGlzY292ZXJ5UGFja2V0EOgHEh8KGkV4dGVybmFsQ2xpZW50",
+ "TG9naW5SZXF1ZXN0EOkHEiAKG0V4dGVybmFsQ2xpZW50TG9naW5SZXNwb25z",
+ "ZRDqBxIhChxEaXJlY3RTeW5jaHJvbml6YXRpb25SZXF1ZXN0EOsHEiIKHURp",
+ "cmVjdFN5bmNocm9uaXphdGlvblJlc3BvbnNlEOwHEhwKF092ZXJyaWRlRGF0",
+ "YUJhc2VSZXF1ZXN0EO0HEh0KGE92ZXJyaWRlRGF0YUJhc2VSZXNwb25zZRDu",
+ "BxIVChBLZWVwQWxpdmVSZXF1ZXN0EO8HEhYKEUtlZXBBbGl2ZVJlc3BvbnNl",
+ "EPAHEhsKFlB1c2hEaWFnbm9zdGljc1JlcXVlc3QQ0A8SHAoXUHVzaERpYWdu",
+ "b3N0aWNzUmVzcG9uc2UQ0Q8SHAoXTW90b3JBYm9ydEhvbWluZ1JlcXVlc3QQ",
+ "0g8SHQoYTW90b3JBYm9ydEhvbWluZ1Jlc3BvbnNlENMPEhcKEk1vdG9ySG9t",
+ "aW5nUmVxdWVzdBDUDxIYChNNb3RvckhvbWluZ1Jlc3BvbnNlENUPEhgKE01v",
+ "dG9ySm9nZ2luZ1JlcXVlc3QQ1g8SGQoUTW90b3JKb2dnaW5nUmVzcG9uc2UQ",
+ "1w8SHQoYTW90b3JBYm9ydEpvZ2dpbmdSZXF1ZXN0ENgPEh4KGU1vdG9yQWJv",
+ "cnRKb2dnaW5nUmVzcG9uc2UQ2Q8SIAobRGlzcGVuc2VyQWJvcnRIb21pbmdS",
+ "ZXF1ZXN0ENoPEiEKHERpc3BlbnNlckFib3J0SG9taW5nUmVzcG9uc2UQ2w8S",
+ "GwoWRGlzcGVuc2VySG9taW5nUmVxdWVzdBDcDxIcChdEaXNwZW5zZXJIb21p",
+ "bmdSZXNwb25zZRDdDxIcChdEaXNwZW5zZXJKb2dnaW5nUmVxdWVzdBDeDxId",
+ "ChhEaXNwZW5zZXJKb2dnaW5nUmVzcG9uc2UQ3w8SIQocRGlzcGVuc2VyQWJv",
+ "cnRKb2dnaW5nUmVxdWVzdBDgDxIiCh1EaXNwZW5zZXJBYm9ydEpvZ2dpbmdS",
+ "ZXNwb25zZRDhDxIZChRTZXREaWdpdGFsT3V0UmVxdWVzdBDiDxIaChVTZXRE",
+ "aWdpdGFsT3V0UmVzcG9uc2UQ4w8SGQoUVGhyZWFkSm9nZ2luZ1JlcXVlc3QQ",
+ "5A8SGgoVVGhyZWFkSm9nZ2luZ1Jlc3BvbnNlEOUPEh4KGVRocmVhZEFib3J0",
+ "Sm9nZ2luZ1JlcXVlc3QQ5g8SHwoaVGhyZWFkQWJvcnRKb2dnaW5nUmVzcG9u",
+ "c2UQ5w8SDwoKSm9iUmVxdWVzdBC4FxIQCgtKb2JSZXNwb25zZRC5FxIUCg9B",
+ "Ym9ydEpvYlJlcXVlc3QQuhcSFQoQQWJvcnRKb2JSZXNwb25zZRC7F0IcChpj",
+ "b20udHdpbmUudGFuZ28ucG1yLmNvbW1vbmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null));
@@ -120,6 +135,30 @@ namespace Tango.PMR.Common {
[pbr::OriginalName("StubExtFlashReadResponse")] StubExtFlashReadResponse = 34,
[pbr::OriginalName("StubExtFlashWriteRequest")] StubExtFlashWriteRequest = 35,
[pbr::OriginalName("StubExtFlashWriteResponse")] StubExtFlashWriteResponse = 36,
+ [pbr::OriginalName("StubFPGAReadBackRegRequest")] StubFpgareadBackRegRequest = 37,
+ [pbr::OriginalName("StubFPGAReadBackRegResponse")] StubFpgareadBackRegResponse = 38,
+ [pbr::OriginalName("StubFPGAReadVersionRequest")] StubFpgareadVersionRequest = 39,
+ [pbr::OriginalName("StubFPGAReadVersionResponse")] StubFpgareadVersionResponse = 40,
+ [pbr::OriginalName("StubL6470DriverRequest")] StubL6470DriverRequest = 41,
+ [pbr::OriginalName("StubL6470DriverResponse")] StubL6470DriverResponse = 42,
+ [pbr::OriginalName("StubMotorInitRequest")] StubMotorInitRequest = 43,
+ [pbr::OriginalName("StubMotorInitResponse")] StubMotorInitResponse = 44,
+ [pbr::OriginalName("StubMotorRunRequest")] StubMotorRunRequest = 45,
+ [pbr::OriginalName("StubMotorRunResponse")] StubMotorRunResponse = 46,
+ [pbr::OriginalName("StubMotorStopRequest")] StubMotorStopRequest = 47,
+ [pbr::OriginalName("StubMotorStopResponse")] StubMotorStopResponse = 48,
+ [pbr::OriginalName("StubMotorStatusRequest")] StubMotorStatusRequest = 49,
+ [pbr::OriginalName("StubMotorStatusResponse")] StubMotorStatusResponse = 50,
+ [pbr::OriginalName("StubMotorMovRequest")] StubMotorMovRequest = 51,
+ [pbr::OriginalName("StubMotorMovResponse")] StubMotorMovResponse = 52,
+ [pbr::OriginalName("StubMotorSpeedRequest")] StubMotorSpeedRequest = 53,
+ [pbr::OriginalName("StubMotorSpeedResponse")] StubMotorSpeedResponse = 54,
+ [pbr::OriginalName("StubMotorPositionRequest")] StubMotorPositionRequest = 55,
+ [pbr::OriginalName("StubMotorPositionResponse")] StubMotorPositionResponse = 56,
+ [pbr::OriginalName("StubHWVersionRequest")] StubHwversionRequest = 57,
+ [pbr::OriginalName("StubHWVersionResponse")] StubHwversionResponse = 58,
+ [pbr::OriginalName("StubF3Gpo01WriteRequest")] StubF3Gpo01WriteRequest = 59,
+ [pbr::OriginalName("StubF3Gpo01WriteResponse")] StubF3Gpo01WriteResponse = 60,
/// <summary>
///Integration
/// </summary>
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteRequest.cs
new file mode 100644
index 000000000..2355a2665
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteRequest.cs
@@ -0,0 +1,480 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: StubF3Gpo01WriteRequest.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 StubF3Gpo01WriteRequest.proto</summary>
+ public static partial class StubF3Gpo01WriteRequestReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for StubF3Gpo01WriteRequest.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static StubF3Gpo01WriteRequestReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Ch1TdHViRjNHcG8wMVdyaXRlUmVxdWVzdC5wcm90bxIPVGFuZ28uUE1SLlN0",
+ "dWJzIt0CChdTdHViRjNHcG8wMVdyaXRlUmVxdWVzdBITCgtGM19HUE9fTEVE",
+ "NBgBIAEoCBIZChFXcml0ZV9GM19HUE9fTEVENBgCIAEoCBITCgtGM19HUE9f",
+ "TEVEMxgDIAEoCBIZChFXcml0ZV9GM19HUE9fTEVEMxgEIAEoCBITCgtGM19H",
+ "UE9fTEVEMhgFIAEoCBIZChFXcml0ZV9GM19HUE9fTEVEMhgGIAEoCBITCgtG",
+ "M19HUE9fTEVEMRgHIAEoCBIZChFXcml0ZV9GM19HUE9fTEVEMRgIIAEoCBIj",
+ "ChtGM19HUE9fRVhUV0lOREVSX1NTUjExX0NUUkwYCSABKAgSKQohV3JpdGVf",
+ "RjNfR1BPX0VYVFdJTkRFUl9TU1IxMV9DVFJMGAogASgIEhUKDUYzX0dQT19C",
+ "VVpaRVIYCyABKAgSGwoTV3JpdGVfRjNfR1BPX0JVWlpFUhgMIAEoCEIbChlj",
+ "b20udHdpbmUudGFuZ28ucG1yLnN0dWJzYgZwcm90bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubF3Gpo01WriteRequest), global::Tango.PMR.Stubs.StubF3Gpo01WriteRequest.Parser, new[]{ "F3GPOLED4", "WriteF3GPOLED4", "F3GPOLED3", "WriteF3GPOLED3", "F3GPOLED2", "WriteF3GPOLED2", "F3GPOLED1", "WriteF3GPOLED1", "F3GPOEXTWINDERSSR11CTRL", "WriteF3GPOEXTWINDERSSR11CTRL", "F3GPOBUZZER", "WriteF3GPOBUZZER" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class StubF3Gpo01WriteRequest : pb::IMessage<StubF3Gpo01WriteRequest> {
+ private static readonly pb::MessageParser<StubF3Gpo01WriteRequest> _parser = new pb::MessageParser<StubF3Gpo01WriteRequest>(() => new StubF3Gpo01WriteRequest());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<StubF3Gpo01WriteRequest> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.StubF3Gpo01WriteRequestReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteRequest(StubF3Gpo01WriteRequest other) : this() {
+ f3GPOLED4_ = other.f3GPOLED4_;
+ writeF3GPOLED4_ = other.writeF3GPOLED4_;
+ f3GPOLED3_ = other.f3GPOLED3_;
+ writeF3GPOLED3_ = other.writeF3GPOLED3_;
+ f3GPOLED2_ = other.f3GPOLED2_;
+ writeF3GPOLED2_ = other.writeF3GPOLED2_;
+ f3GPOLED1_ = other.f3GPOLED1_;
+ writeF3GPOLED1_ = other.writeF3GPOLED1_;
+ f3GPOEXTWINDERSSR11CTRL_ = other.f3GPOEXTWINDERSSR11CTRL_;
+ writeF3GPOEXTWINDERSSR11CTRL_ = other.writeF3GPOEXTWINDERSSR11CTRL_;
+ f3GPOBUZZER_ = other.f3GPOBUZZER_;
+ writeF3GPOBUZZER_ = other.writeF3GPOBUZZER_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteRequest Clone() {
+ return new StubF3Gpo01WriteRequest(this);
+ }
+
+ /// <summary>Field number for the "F3_GPO_LED4" field.</summary>
+ public const int F3GPOLED4FieldNumber = 1;
+ private bool f3GPOLED4_;
+ /// <summary>
+ ///value
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOLED4 {
+ get { return f3GPOLED4_; }
+ set {
+ f3GPOLED4_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_LED4" field.</summary>
+ public const int WriteF3GPOLED4FieldNumber = 2;
+ private bool writeF3GPOLED4_;
+ /// <summary>
+ ///write
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOLED4 {
+ get { return writeF3GPOLED4_; }
+ set {
+ writeF3GPOLED4_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "F3_GPO_LED3" field.</summary>
+ public const int F3GPOLED3FieldNumber = 3;
+ private bool f3GPOLED3_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOLED3 {
+ get { return f3GPOLED3_; }
+ set {
+ f3GPOLED3_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_LED3" field.</summary>
+ public const int WriteF3GPOLED3FieldNumber = 4;
+ private bool writeF3GPOLED3_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOLED3 {
+ get { return writeF3GPOLED3_; }
+ set {
+ writeF3GPOLED3_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "F3_GPO_LED2" field.</summary>
+ public const int F3GPOLED2FieldNumber = 5;
+ private bool f3GPOLED2_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOLED2 {
+ get { return f3GPOLED2_; }
+ set {
+ f3GPOLED2_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_LED2" field.</summary>
+ public const int WriteF3GPOLED2FieldNumber = 6;
+ private bool writeF3GPOLED2_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOLED2 {
+ get { return writeF3GPOLED2_; }
+ set {
+ writeF3GPOLED2_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "F3_GPO_LED1" field.</summary>
+ public const int F3GPOLED1FieldNumber = 7;
+ private bool f3GPOLED1_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOLED1 {
+ get { return f3GPOLED1_; }
+ set {
+ f3GPOLED1_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_LED1" field.</summary>
+ public const int WriteF3GPOLED1FieldNumber = 8;
+ private bool writeF3GPOLED1_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOLED1 {
+ get { return writeF3GPOLED1_; }
+ set {
+ writeF3GPOLED1_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "F3_GPO_EXTWINDER_SSR11_CTRL" field.</summary>
+ public const int F3GPOEXTWINDERSSR11CTRLFieldNumber = 9;
+ private bool f3GPOEXTWINDERSSR11CTRL_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOEXTWINDERSSR11CTRL {
+ get { return f3GPOEXTWINDERSSR11CTRL_; }
+ set {
+ f3GPOEXTWINDERSSR11CTRL_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_EXTWINDER_SSR11_CTRL" field.</summary>
+ public const int WriteF3GPOEXTWINDERSSR11CTRLFieldNumber = 10;
+ private bool writeF3GPOEXTWINDERSSR11CTRL_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOEXTWINDERSSR11CTRL {
+ get { return writeF3GPOEXTWINDERSSR11CTRL_; }
+ set {
+ writeF3GPOEXTWINDERSSR11CTRL_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "F3_GPO_BUZZER" field.</summary>
+ public const int F3GPOBUZZERFieldNumber = 11;
+ private bool f3GPOBUZZER_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool F3GPOBUZZER {
+ get { return f3GPOBUZZER_; }
+ set {
+ f3GPOBUZZER_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Write_F3_GPO_BUZZER" field.</summary>
+ public const int WriteF3GPOBUZZERFieldNumber = 12;
+ private bool writeF3GPOBUZZER_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool WriteF3GPOBUZZER {
+ get { return writeF3GPOBUZZER_; }
+ set {
+ writeF3GPOBUZZER_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as StubF3Gpo01WriteRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(StubF3Gpo01WriteRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (F3GPOLED4 != other.F3GPOLED4) return false;
+ if (WriteF3GPOLED4 != other.WriteF3GPOLED4) return false;
+ if (F3GPOLED3 != other.F3GPOLED3) return false;
+ if (WriteF3GPOLED3 != other.WriteF3GPOLED3) return false;
+ if (F3GPOLED2 != other.F3GPOLED2) return false;
+ if (WriteF3GPOLED2 != other.WriteF3GPOLED2) return false;
+ if (F3GPOLED1 != other.F3GPOLED1) return false;
+ if (WriteF3GPOLED1 != other.WriteF3GPOLED1) return false;
+ if (F3GPOEXTWINDERSSR11CTRL != other.F3GPOEXTWINDERSSR11CTRL) return false;
+ if (WriteF3GPOEXTWINDERSSR11CTRL != other.WriteF3GPOEXTWINDERSSR11CTRL) return false;
+ if (F3GPOBUZZER != other.F3GPOBUZZER) return false;
+ if (WriteF3GPOBUZZER != other.WriteF3GPOBUZZER) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (F3GPOLED4 != false) hash ^= F3GPOLED4.GetHashCode();
+ if (WriteF3GPOLED4 != false) hash ^= WriteF3GPOLED4.GetHashCode();
+ if (F3GPOLED3 != false) hash ^= F3GPOLED3.GetHashCode();
+ if (WriteF3GPOLED3 != false) hash ^= WriteF3GPOLED3.GetHashCode();
+ if (F3GPOLED2 != false) hash ^= F3GPOLED2.GetHashCode();
+ if (WriteF3GPOLED2 != false) hash ^= WriteF3GPOLED2.GetHashCode();
+ if (F3GPOLED1 != false) hash ^= F3GPOLED1.GetHashCode();
+ if (WriteF3GPOLED1 != false) hash ^= WriteF3GPOLED1.GetHashCode();
+ if (F3GPOEXTWINDERSSR11CTRL != false) hash ^= F3GPOEXTWINDERSSR11CTRL.GetHashCode();
+ if (WriteF3GPOEXTWINDERSSR11CTRL != false) hash ^= WriteF3GPOEXTWINDERSSR11CTRL.GetHashCode();
+ if (F3GPOBUZZER != false) hash ^= F3GPOBUZZER.GetHashCode();
+ if (WriteF3GPOBUZZER != false) hash ^= WriteF3GPOBUZZER.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 (F3GPOLED4 != false) {
+ output.WriteRawTag(8);
+ output.WriteBool(F3GPOLED4);
+ }
+ if (WriteF3GPOLED4 != false) {
+ output.WriteRawTag(16);
+ output.WriteBool(WriteF3GPOLED4);
+ }
+ if (F3GPOLED3 != false) {
+ output.WriteRawTag(24);
+ output.WriteBool(F3GPOLED3);
+ }
+ if (WriteF3GPOLED3 != false) {
+ output.WriteRawTag(32);
+ output.WriteBool(WriteF3GPOLED3);
+ }
+ if (F3GPOLED2 != false) {
+ output.WriteRawTag(40);
+ output.WriteBool(F3GPOLED2);
+ }
+ if (WriteF3GPOLED2 != false) {
+ output.WriteRawTag(48);
+ output.WriteBool(WriteF3GPOLED2);
+ }
+ if (F3GPOLED1 != false) {
+ output.WriteRawTag(56);
+ output.WriteBool(F3GPOLED1);
+ }
+ if (WriteF3GPOLED1 != false) {
+ output.WriteRawTag(64);
+ output.WriteBool(WriteF3GPOLED1);
+ }
+ if (F3GPOEXTWINDERSSR11CTRL != false) {
+ output.WriteRawTag(72);
+ output.WriteBool(F3GPOEXTWINDERSSR11CTRL);
+ }
+ if (WriteF3GPOEXTWINDERSSR11CTRL != false) {
+ output.WriteRawTag(80);
+ output.WriteBool(WriteF3GPOEXTWINDERSSR11CTRL);
+ }
+ if (F3GPOBUZZER != false) {
+ output.WriteRawTag(88);
+ output.WriteBool(F3GPOBUZZER);
+ }
+ if (WriteF3GPOBUZZER != false) {
+ output.WriteRawTag(96);
+ output.WriteBool(WriteF3GPOBUZZER);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (F3GPOLED4 != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOLED4 != false) {
+ size += 1 + 1;
+ }
+ if (F3GPOLED3 != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOLED3 != false) {
+ size += 1 + 1;
+ }
+ if (F3GPOLED2 != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOLED2 != false) {
+ size += 1 + 1;
+ }
+ if (F3GPOLED1 != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOLED1 != false) {
+ size += 1 + 1;
+ }
+ if (F3GPOEXTWINDERSSR11CTRL != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOEXTWINDERSSR11CTRL != false) {
+ size += 1 + 1;
+ }
+ if (F3GPOBUZZER != false) {
+ size += 1 + 1;
+ }
+ if (WriteF3GPOBUZZER != false) {
+ size += 1 + 1;
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(StubF3Gpo01WriteRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.F3GPOLED4 != false) {
+ F3GPOLED4 = other.F3GPOLED4;
+ }
+ if (other.WriteF3GPOLED4 != false) {
+ WriteF3GPOLED4 = other.WriteF3GPOLED4;
+ }
+ if (other.F3GPOLED3 != false) {
+ F3GPOLED3 = other.F3GPOLED3;
+ }
+ if (other.WriteF3GPOLED3 != false) {
+ WriteF3GPOLED3 = other.WriteF3GPOLED3;
+ }
+ if (other.F3GPOLED2 != false) {
+ F3GPOLED2 = other.F3GPOLED2;
+ }
+ if (other.WriteF3GPOLED2 != false) {
+ WriteF3GPOLED2 = other.WriteF3GPOLED2;
+ }
+ if (other.F3GPOLED1 != false) {
+ F3GPOLED1 = other.F3GPOLED1;
+ }
+ if (other.WriteF3GPOLED1 != false) {
+ WriteF3GPOLED1 = other.WriteF3GPOLED1;
+ }
+ if (other.F3GPOEXTWINDERSSR11CTRL != false) {
+ F3GPOEXTWINDERSSR11CTRL = other.F3GPOEXTWINDERSSR11CTRL;
+ }
+ if (other.WriteF3GPOEXTWINDERSSR11CTRL != false) {
+ WriteF3GPOEXTWINDERSSR11CTRL = other.WriteF3GPOEXTWINDERSSR11CTRL;
+ }
+ if (other.F3GPOBUZZER != false) {
+ F3GPOBUZZER = other.F3GPOBUZZER;
+ }
+ if (other.WriteF3GPOBUZZER != false) {
+ WriteF3GPOBUZZER = other.WriteF3GPOBUZZER;
+ }
+ }
+
+ [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: {
+ F3GPOLED4 = input.ReadBool();
+ break;
+ }
+ case 16: {
+ WriteF3GPOLED4 = input.ReadBool();
+ break;
+ }
+ case 24: {
+ F3GPOLED3 = input.ReadBool();
+ break;
+ }
+ case 32: {
+ WriteF3GPOLED3 = input.ReadBool();
+ break;
+ }
+ case 40: {
+ F3GPOLED2 = input.ReadBool();
+ break;
+ }
+ case 48: {
+ WriteF3GPOLED2 = input.ReadBool();
+ break;
+ }
+ case 56: {
+ F3GPOLED1 = input.ReadBool();
+ break;
+ }
+ case 64: {
+ WriteF3GPOLED1 = input.ReadBool();
+ break;
+ }
+ case 72: {
+ F3GPOEXTWINDERSSR11CTRL = input.ReadBool();
+ break;
+ }
+ case 80: {
+ WriteF3GPOEXTWINDERSSR11CTRL = input.ReadBool();
+ break;
+ }
+ case 88: {
+ F3GPOBUZZER = input.ReadBool();
+ break;
+ }
+ case 96: {
+ WriteF3GPOBUZZER = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteResponse.cs
new file mode 100644
index 000000000..5522c39d6
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubF3Gpo01WriteResponse.cs
@@ -0,0 +1,194 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: StubF3Gpo01WriteResponse.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 StubF3Gpo01WriteResponse.proto</summary>
+ public static partial class StubF3Gpo01WriteResponseReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for StubF3Gpo01WriteResponse.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static StubF3Gpo01WriteResponseReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Ch5TdHViRjNHcG8wMVdyaXRlUmVzcG9uc2UucHJvdG8SD1RhbmdvLlBNUi5T",
+ "dHVicyI+ChhTdHViRjNHcG8wMVdyaXRlUmVzcG9uc2USDgoGU3RhdHVzGAEg",
+ "ASgJEhIKClN0YXR1c1dvcmQYAiABKA1CGwoZY29tLnR3aW5lLnRhbmdvLnBt",
+ "ci5zdHVic2IGcHJvdG8z"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubF3Gpo01WriteResponse), global::Tango.PMR.Stubs.StubF3Gpo01WriteResponse.Parser, new[]{ "Status", "StatusWord" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class StubF3Gpo01WriteResponse : pb::IMessage<StubF3Gpo01WriteResponse> {
+ private static readonly pb::MessageParser<StubF3Gpo01WriteResponse> _parser = new pb::MessageParser<StubF3Gpo01WriteResponse>(() => new StubF3Gpo01WriteResponse());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<StubF3Gpo01WriteResponse> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.StubF3Gpo01WriteResponseReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteResponse(StubF3Gpo01WriteResponse other) : this() {
+ status_ = other.status_;
+ statusWord_ = other.statusWord_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubF3Gpo01WriteResponse Clone() {
+ return new StubF3Gpo01WriteResponse(this);
+ }
+
+ /// <summary>Field number for the "Status" field.</summary>
+ public const int StatusFieldNumber = 1;
+ private string status_ = "";
+ /// <summary>
+ /// Passed/Failed
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Status {
+ get { return status_; }
+ set {
+ status_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// <summary>Field number for the "StatusWord" field.</summary>
+ public const int StatusWordFieldNumber = 2;
+ private uint statusWord_;
+ /// <summary>
+ /// Error number/bit when the status is Failed
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public uint StatusWord {
+ get { return statusWord_; }
+ set {
+ statusWord_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as StubF3Gpo01WriteResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(StubF3Gpo01WriteResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Status != other.Status) return false;
+ if (StatusWord != other.StatusWord) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Status.Length != 0) hash ^= Status.GetHashCode();
+ if (StatusWord != 0) hash ^= StatusWord.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 (Status.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Status);
+ }
+ if (StatusWord != 0) {
+ output.WriteRawTag(16);
+ output.WriteUInt32(StatusWord);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Status.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Status);
+ }
+ if (StatusWord != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StatusWord);
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(StubF3Gpo01WriteResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Status.Length != 0) {
+ Status = other.Status;
+ }
+ if (other.StatusWord != 0) {
+ StatusWord = other.StatusWord;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ input.SkipLastField();
+ break;
+ case 10: {
+ Status = input.ReadString();
+ break;
+ }
+ case 16: {
+ StatusWord = input.ReadUInt32();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionRequest.cs
new file mode 100644
index 000000000..edc6cf464
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionRequest.cs
@@ -0,0 +1,131 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: StubHWVersionRequest.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 StubHWVersionRequest.proto</summary>
+ public static partial class StubHWVersionRequestReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for StubHWVersionRequest.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static StubHWVersionRequestReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChpTdHViSFdWZXJzaW9uUmVxdWVzdC5wcm90bxIPVGFuZ28uUE1SLlN0dWJz",
+ "IhYKFFN0dWJIV1ZlcnNpb25SZXF1ZXN0QhsKGWNvbS50d2luZS50YW5nby5w",
+ "bXIuc3R1YnNiBnByb3RvMw=="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubHWVersionRequest), global::Tango.PMR.Stubs.StubHWVersionRequest.Parser, null, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class StubHWVersionRequest : pb::IMessage<StubHWVersionRequest> {
+ private static readonly pb::MessageParser<StubHWVersionRequest> _parser = new pb::MessageParser<StubHWVersionRequest>(() => new StubHWVersionRequest());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<StubHWVersionRequest> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.StubHWVersionRequestReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionRequest(StubHWVersionRequest other) : this() {
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionRequest Clone() {
+ return new StubHWVersionRequest(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as StubHWVersionRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(StubHWVersionRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(StubHWVersionRequest other) {
+ if (other == null) {
+ return;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ input.SkipLastField();
+ break;
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionResponse.cs
new file mode 100644
index 000000000..203d37da8
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubHWVersionResponse.cs
@@ -0,0 +1,250 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: StubHWVersionResponse.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 StubHWVersionResponse.proto</summary>
+ public static partial class StubHWVersionResponseReflection {
+
+ #region Descriptor
+ /// <summary>File descriptor for StubHWVersionResponse.proto</summary>
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static StubHWVersionResponseReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChtTdHViSFdWZXJzaW9uUmVzcG9uc2UucHJvdG8SD1RhbmdvLlBNUi5TdHVi",
+ "cyJcChVTdHViSFdWZXJzaW9uUmVzcG9uc2USDgoGQlJEX0lEGAEgASgNEg8K",
+ "B0FTU1lfSUQYAiABKA0SDgoGU3RhdHVzGAMgASgJEhIKClN0YXR1c1dvcmQY",
+ "BCABKA1CGwoZY29tLnR3aW5lLnRhbmdvLnBtci5zdHVic2IGcHJvdG8z"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubHWVersionResponse), global::Tango.PMR.Stubs.StubHWVersionResponse.Parser, new[]{ "BRDID", "ASSYID", "Status", "StatusWord" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class StubHWVersionResponse : pb::IMessage<StubHWVersionResponse> {
+ private static readonly pb::MessageParser<StubHWVersionResponse> _parser = new pb::MessageParser<StubHWVersionResponse>(() => new StubHWVersionResponse());
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser<StubHWVersionResponse> Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Tango.PMR.Stubs.StubHWVersionResponseReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionResponse(StubHWVersionResponse other) : this() {
+ bRDID_ = other.bRDID_;
+ aSSYID_ = other.aSSYID_;
+ status_ = other.status_;
+ statusWord_ = other.statusWord_;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public StubHWVersionResponse Clone() {
+ return new StubHWVersionResponse(this);
+ }
+
+ /// <summary>Field number for the "BRD_ID" field.</summary>
+ public const int BRDIDFieldNumber = 1;
+ private uint bRDID_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public uint BRDID {
+ get { return bRDID_; }
+ set {
+ bRDID_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "ASSY_ID" field.</summary>
+ public const int ASSYIDFieldNumber = 2;
+ private uint aSSYID_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public uint ASSYID {
+ get { return aSSYID_; }
+ set {
+ aSSYID_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Status" field.</summary>
+ public const int StatusFieldNumber = 3;
+ private string status_ = "";
+ /// <summary>
+ /// Passed/Failed
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Status {
+ get { return status_; }
+ set {
+ status_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// <summary>Field number for the "StatusWord" field.</summary>
+ public const int StatusWordFieldNumber = 4;
+ private uint statusWord_;
+ /// <summary>
+ /// Error number/bit when the status is Failed
+ /// </summary>
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public uint StatusWord {
+ get { return statusWord_; }
+ set {
+ statusWord_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as StubHWVersionResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(StubHWVersionResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (BRDID != other.BRDID) return false;
+ if (ASSYID != other.ASSYID) return false;
+ if (Status != other.Status) return false;
+ if (StatusWord != other.StatusWord) return false;
+ return true;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (BRDID != 0) hash ^= BRDID.GetHashCode();
+ if (ASSYID != 0) hash ^= ASSYID.GetHashCode();
+ if (Status.Length != 0) hash ^= Status.GetHashCode();
+ if (StatusWord != 0) hash ^= StatusWord.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 (BRDID != 0) {
+ output.WriteRawTag(8);
+ output.WriteUInt32(BRDID);
+ }
+ if (ASSYID != 0) {
+ output.WriteRawTag(16);
+ output.WriteUInt32(ASSYID);
+ }
+ if (Status.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Status);
+ }
+ if (StatusWord != 0) {
+ output.WriteRawTag(32);
+ output.WriteUInt32(StatusWord);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (BRDID != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(BRDID);
+ }
+ if (ASSYID != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ASSYID);
+ }
+ if (Status.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Status);
+ }
+ if (StatusWord != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StatusWord);
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(StubHWVersionResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.BRDID != 0) {
+ BRDID = other.BRDID;
+ }
+ if (other.ASSYID != 0) {
+ ASSYID = other.ASSYID;
+ }
+ if (other.Status.Length != 0) {
+ Status = other.Status;
+ }
+ if (other.StatusWord != 0) {
+ StatusWord = other.StatusWord;
+ }
+ }
+
+ [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: {
+ BRDID = input.ReadUInt32();
+ break;
+ }
+ case 16: {
+ ASSYID = input.ReadUInt32();
+ break;
+ }
+ case 26: {
+ Status = input.ReadString();
+ break;
+ }
+ case 32: {
+ StatusWord = input.ReadUInt32();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorRunResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorRunResponse.cs
index ea8a714ec..2e6576323 100644
--- a/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorRunResponse.cs
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorRunResponse.cs
@@ -23,15 +23,15 @@ namespace Tango.PMR.Stubs {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChpTdHViTW90b3JSdW5SZXNwb25zZS5wcm90bxIPVGFuZ28uUE1SLlN0dWJz",
- "IpwBChRTdHViTW90b3JSdW5SZXNwb25zZRIQCghNb3Rvcl9JRBgBIAEoDRIN",
+ "IqoBChRTdHViTW90b3JSdW5SZXNwb25zZRIQCghNb3Rvcl9JRBgBIAEoDRIN",
"CgVTcGVlZBgCIAEoARISCgpTdGF0dXNfUmVnGAMgASgNEhEKCURpcmVjdGlv",
"bhgEIAEoCBISCgpNb3RfU3RhdHVzGAUgASgNEhMKC1NURVBfTE9TU19BGAYg",
- "ASgIEhMKC1NURVBfTE9TU19CGAcgASgIQhsKGWNvbS50d2luZS50YW5nby5w",
- "bXIuc3R1YnNiBnByb3RvMw=="));
+ "ASgIEhMKC1NURVBfTE9TU19CGAcgASgIEgwKBEJVU1kYCCABKAhCGwoZY29t",
+ "LnR3aW5lLnRhbmdvLnBtci5zdHVic2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubMotorRunResponse), global::Tango.PMR.Stubs.StubMotorRunResponse.Parser, new[]{ "MotorID", "Speed", "StatusReg", "Direction", "MotStatus", "STEPLOSSA", "STEPLOSSB" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubMotorRunResponse), global::Tango.PMR.Stubs.StubMotorRunResponse.Parser, new[]{ "MotorID", "Speed", "StatusReg", "Direction", "MotStatus", "STEPLOSSA", "STEPLOSSB", "BUSY" }, null, null, null)
}));
}
#endregion
@@ -69,6 +69,7 @@ namespace Tango.PMR.Stubs {
motStatus_ = other.motStatus_;
sTEPLOSSA_ = other.sTEPLOSSA_;
sTEPLOSSB_ = other.sTEPLOSSB_;
+ bUSY_ = other.bUSY_;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -159,6 +160,17 @@ namespace Tango.PMR.Stubs {
}
}
+ /// <summary>Field number for the "BUSY" field.</summary>
+ public const int BUSYFieldNumber = 8;
+ private bool bUSY_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool BUSY {
+ get { return bUSY_; }
+ set {
+ bUSY_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as StubMotorRunResponse);
@@ -179,6 +191,7 @@ namespace Tango.PMR.Stubs {
if (MotStatus != other.MotStatus) return false;
if (STEPLOSSA != other.STEPLOSSA) return false;
if (STEPLOSSB != other.STEPLOSSB) return false;
+ if (BUSY != other.BUSY) return false;
return true;
}
@@ -192,6 +205,7 @@ namespace Tango.PMR.Stubs {
if (MotStatus != 0) hash ^= MotStatus.GetHashCode();
if (STEPLOSSA != false) hash ^= STEPLOSSA.GetHashCode();
if (STEPLOSSB != false) hash ^= STEPLOSSB.GetHashCode();
+ if (BUSY != false) hash ^= BUSY.GetHashCode();
return hash;
}
@@ -230,6 +244,10 @@ namespace Tango.PMR.Stubs {
output.WriteRawTag(56);
output.WriteBool(STEPLOSSB);
}
+ if (BUSY != false) {
+ output.WriteRawTag(64);
+ output.WriteBool(BUSY);
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -256,6 +274,9 @@ namespace Tango.PMR.Stubs {
if (STEPLOSSB != false) {
size += 1 + 1;
}
+ if (BUSY != false) {
+ size += 1 + 1;
+ }
return size;
}
@@ -285,6 +306,9 @@ namespace Tango.PMR.Stubs {
if (other.STEPLOSSB != false) {
STEPLOSSB = other.STEPLOSSB;
}
+ if (other.BUSY != false) {
+ BUSY = other.BUSY;
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -323,6 +347,10 @@ namespace Tango.PMR.Stubs {
STEPLOSSB = input.ReadBool();
break;
}
+ case 64: {
+ BUSY = input.ReadBool();
+ break;
+ }
}
}
}
diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorStopResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorStopResponse.cs
index 59fc68fe2..f7d143168 100644
--- a/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorStopResponse.cs
+++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubMotorStopResponse.cs
@@ -23,13 +23,13 @@ namespace Tango.PMR.Stubs {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChtTdHViTW90b3JTdG9wUmVzcG9uc2UucHJvdG8SD1RhbmdvLlBNUi5TdHVi",
- "cyJKChVTdHViTW90b3JTdG9wUmVzcG9uc2USEAoITW90b3JfSUQYASABKA0S",
- "EgoKTW90X1N0YXR1cxgCIAEoDRILCgNIaVoYAyABKAhCGwoZY29tLnR3aW5l",
- "LnRhbmdvLnBtci5zdHVic2IGcHJvdG8z"));
+ "cyJYChVTdHViTW90b3JTdG9wUmVzcG9uc2USEAoITW90b3JfSUQYASABKA0S",
+ "EgoKTW90X1N0YXR1cxgCIAEoDRILCgNIaVoYAyABKAgSDAoEQlVTWRgEIAEo",
+ "CEIbChljb20udHdpbmUudGFuZ28ucG1yLnN0dWJzYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubMotorStopResponse), global::Tango.PMR.Stubs.StubMotorStopResponse.Parser, new[]{ "MotorID", "MotStatus", "HiZ" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubMotorStopResponse), global::Tango.PMR.Stubs.StubMotorStopResponse.Parser, new[]{ "MotorID", "MotStatus", "HiZ", "BUSY" }, null, null, null)
}));
}
#endregion
@@ -63,6 +63,7 @@ namespace Tango.PMR.Stubs {
motorID_ = other.motorID_;
motStatus_ = other.motStatus_;
hiZ_ = other.hiZ_;
+ bUSY_ = other.bUSY_;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -109,6 +110,17 @@ namespace Tango.PMR.Stubs {
}
}
+ /// <summary>Field number for the "BUSY" field.</summary>
+ public const int BUSYFieldNumber = 4;
+ private bool bUSY_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool BUSY {
+ get { return bUSY_; }
+ set {
+ bUSY_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as StubMotorStopResponse);
@@ -125,6 +137,7 @@ namespace Tango.PMR.Stubs {
if (MotorID != other.MotorID) return false;
if (MotStatus != other.MotStatus) return false;
if (HiZ != other.HiZ) return false;
+ if (BUSY != other.BUSY) return false;
return true;
}
@@ -134,6 +147,7 @@ namespace Tango.PMR.Stubs {
if (MotorID != 0) hash ^= MotorID.GetHashCode();
if (MotStatus != 0) hash ^= MotStatus.GetHashCode();
if (HiZ != false) hash ^= HiZ.GetHashCode();
+ if (BUSY != false) hash ^= BUSY.GetHashCode();
return hash;
}
@@ -156,6 +170,10 @@ namespace Tango.PMR.Stubs {
output.WriteRawTag(24);
output.WriteBool(HiZ);
}
+ if (BUSY != false) {
+ output.WriteRawTag(32);
+ output.WriteBool(BUSY);
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -170,6 +188,9 @@ namespace Tango.PMR.Stubs {
if (HiZ != false) {
size += 1 + 1;
}
+ if (BUSY != false) {
+ size += 1 + 1;
+ }
return size;
}
@@ -187,6 +208,9 @@ namespace Tango.PMR.Stubs {
if (other.HiZ != false) {
HiZ = other.HiZ;
}
+ if (other.BUSY != false) {
+ BUSY = other.BUSY;
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -209,6 +233,10 @@ namespace Tango.PMR.Stubs {
HiZ = input.ReadBool();
break;
}
+ case 32: {
+ BUSY = input.ReadBool();
+ break;
+ }
}
}
}
diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln
index f5fe8c1c0..3898d264d 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26430.16
+VisualStudioVersion = 15.0.27004.2010
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.Protobuf", "Tango.Protobuf\Tango.Protobuf.csproj", "{40073806-914E-4E78-97AB-FA9639308EBE}"
EndProject
@@ -1693,4 +1693,7 @@ Global
{5B954D98-4020-4AC6-939F-C52B5646E8E6} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
{FC337A7F-1214-41D8-9992-78092A3B961E} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8}
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6}
+ EndGlobalSection
EndGlobal