aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-09 16:46:20 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-10-09 16:46:20 +0300
commit07276289ff121853256bb894bc3040c4f5bfb2b0 (patch)
tree369835914beffe3330a3f16150e8a6ce70f10b46 /Software
parent67bfd778a15597bb213c94fa5c2f5495fafd7c66 (diff)
downloadTango-07276289ff121853256bb894bc3040c4f5bfb2b0.tar.gz
Tango-07276289ff121853256bb894bc3040c4f5bfb2b0.zip
ifs filling / waste emptying interface
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c18
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h2
-rw-r--r--Software/Embedded_SW/Embedded/Communication/Container.c7
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c264
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h6
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.c8
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.h8
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.c45
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.h47
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.h78
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.h78
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c32
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h7
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.c43
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.h46
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.h81
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c51
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c51
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c55
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c1
-rw-r--r--Software/PMR/Messages/Common/MessageType.proto7
-rw-r--r--Software/PMR/Messages/Diagnostics/StartInkFillingRequest.proto2
-rw-r--r--Software/PMR/Messages/Diagnostics/StartInkFillingResponse.proto2
-rw-r--r--Software/PMR/Messages/Diagnostics/StartWasteEmptyingRequest.proto2
-rw-r--r--Software/PMR/Messages/Diagnostics/StartWasteEmptyingResponse.proto2
41 files changed, 1636 insertions, 148 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
index f6bc50a7e..2bb073bf8 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
@@ -18,6 +18,24 @@
#include "CartridgeTagContent.pb-c.h"
#include "Cartridge.pb-c.h"
+uint32_t LoadCartridgeData(PANEL_BUTTON_OR_CRAT_ID Cart,void *CartridgePtr)
+{
+ if (CartridgePtr == NULL) return ERROR;
+ if (Cart>CART_3) return ERROR;
+ Cartridge *Cartridge = CartridgePtr;
+ /*
+ ProtobufCMessage base;
+ protobuf_c_boolean has_slot;
+ CartridgeSlot slot;
+ CartridgeTagContent *tag;
+ protobuf_c_boolean has_index;
+ int32_t index;
+ * */
+ Cartridge->has_slot = true;
+ Cartridge->slot = Cart-1;
+ //Cartridge->tag = NFCTag_Tag2PPC(NFC_TagRead[Cart-1].Struct);
+ return OK;
+}
/*
typedef struct
{
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h
index 496b1aae3..0eee787f4 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h
@@ -11,4 +11,6 @@
CartridgeTagContent * NFCTag_Tag2PPC(NFCTag_t *Tag);
NFCTag_t * NFCTag_PPC2Tag( CartridgeTagContent *PpcTag);
+ uint32_t LoadCartridgeData(PANEL_BUTTON_OR_CRAT_ID Cart,void *CartridgePtr);
+
diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c
index 307e4eecb..546f4bb58 100644
--- a/Software/Embedded_SW/Embedded/Communication/Container.c
+++ b/Software/Embedded_SW/Embedded/Communication/Container.c
@@ -42,6 +42,7 @@
#include "Modules/General/process.h"
#include "Modules/Thread/Thread_ex.h"
#include "Modules/Ids/Ids_ex.h"
+#include "Modules/waste/waste_ex.h"
#include "Modules/Ifs/Ifs.h"
#include "Common/SWUpdate/FileSystem.h"
@@ -469,6 +470,12 @@ void receive_callback(char* buffer, size_t length)
case MESSAGE_TYPE__CartridgeValidationResponse:
CartridgeValidationResponseFunc(requestContainer);
break;
+ case MESSAGE_TYPE__StartWasteEmptyingRequest:
+ StartWasteEmptyingRequestFunc(requestContainer);
+ break;
+ case MESSAGE_TYPE__StartInkFillingRequest:
+ StartInkFillingRequestFunc(requestContainer);
+ break;
case MESSAGE_TYPE__MidTankDataSetupRequest:
MidTankDataSetupFunc(requestContainer);
break;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c
index d6c0259e2..a59dccb97 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c
@@ -7,7 +7,7 @@
#endif
#include "MessageType.pb-c.h"
-static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
+static const ProtobufCEnumValue message_type__enum_values_by_number[269] =
{
{ "", "", 0 },
{ "", "", 1 },
@@ -121,6 +121,8 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 110 },
{ "", "", 111 },
{ "", "", 112 },
+ { "", "", 113 },
+ { "", "", 114 },
{ "", "", 1000 },
{ "", "", 1001 },
{ "", "", 1002 },
@@ -188,6 +190,10 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 2043 },
{ "", "", 2044 },
{ "", "", 2045 },
+ { "", "", 2046 },
+ { "", "", 2047 },
+ { "", "", 2048 },
+ { "", "", 2049 },
{ "", "", 3000 },
{ "", "", 3001 },
{ "", "", 3002 },
@@ -274,151 +280,155 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 11007 },
};
static const ProtobufCIntRange message_type__value_ranges[] = {
-{0, 0},{3, 2},{1000, 112},{2000, 133},{3000, 179},{4000, 193},{5000, 201},{6000, 205},{7000, 211},{8000, 235},{9000, 243},{10000, 247},{11000, 255},{0, 263}
+{0, 0},{3, 2},{1000, 114},{2000, 135},{3000, 185},{4000, 199},{5000, 207},{6000, 211},{7000, 217},{8000, 241},{9000, 249},{10000, 253},{11000, 261},{0, 269}
};
-static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
+static const ProtobufCEnumValueIndex message_type__enum_values_by_name[269] =
{
- { "", 191 },
- { "", 192 },
- { "", 181 },
- { "", 182 },
- { "", 249 },
- { "", 250 },
- { "", 253 },
- { "", 254 },
- { "", 233 },
- { "", 234 },
+ { "", 197 },
+ { "", 198 },
+ { "", 187 },
+ { "", 188 },
+ { "", 255 },
+ { "", 256 },
+ { "", 259 },
+ { "", 260 },
+ { "", 239 },
+ { "", 240 },
{ "", 2 },
{ "", 3 },
- { "", 177 },
- { "", 178 },
- { "", 125 },
- { "", 126 },
- { "", 131 },
- { "", 132 },
- { "", 207 },
- { "", 208 },
- { "", 257 },
- { "", 258 },
- { "", 219 },
- { "", 220 },
- { "", 185 },
- { "", 186 },
- { "", 221 },
- { "", 222 },
- { "", 117 },
- { "", 118 },
- { "", 209 },
- { "", 210 },
- { "", 143 },
- { "", 144 },
- { "", 149 },
- { "", 150 },
- { "", 235 },
- { "", 236 },
+ { "", 179 },
+ { "", 180 },
+ { "", 127 },
+ { "", 128 },
+ { "", 133 },
+ { "", 134 },
+ { "", 213 },
+ { "", 214 },
+ { "", 263 },
+ { "", 264 },
+ { "", 225 },
+ { "", 226 },
+ { "", 191 },
+ { "", 192 },
+ { "", 227 },
+ { "", 228 },
+ { "", 119 },
+ { "", 120 },
+ { "", 215 },
+ { "", 216 },
{ "", 145 },
{ "", 146 },
+ { "", 151 },
+ { "", 152 },
+ { "", 241 },
+ { "", 242 },
{ "", 147 },
{ "", 148 },
+ { "", 149 },
+ { "", 150 },
{ "", 1 },
- { "", 215 },
- { "", 216 },
- { "", 113 },
- { "", 114 },
+ { "", 221 },
+ { "", 222 },
{ "", 115 },
{ "", 116 },
- { "", 112 },
+ { "", 117 },
+ { "", 118 },
+ { "", 114 },
+ { "", 235 },
+ { "", 236 },
+ { "", 219 },
+ { "", 220 },
+ { "", 233 },
+ { "", 234 },
+ { "", 217 },
+ { "", 218 },
+ { "", 131 },
+ { "", 132 },
+ { "", 231 },
+ { "", 232 },
{ "", 229 },
{ "", 230 },
- { "", 213 },
- { "", 214 },
- { "", 227 },
- { "", 228 },
+ { "", 185 },
+ { "", 186 },
{ "", 211 },
{ "", 212 },
- { "", 129 },
- { "", 130 },
- { "", 225 },
- { "", 226 },
{ "", 223 },
{ "", 224 },
- { "", 179 },
- { "", 180 },
- { "", 205 },
- { "", 206 },
- { "", 217 },
- { "", 218 },
- { "", 239 },
- { "", 240 },
- { "", 241 },
- { "", 242 },
- { "", 237 },
- { "", 238 },
- { "", 135 },
- { "", 136 },
- { "", 141 },
- { "", 142 },
+ { "", 245 },
+ { "", 246 },
+ { "", 247 },
+ { "", 248 },
+ { "", 243 },
+ { "", 244 },
{ "", 137 },
{ "", 138 },
+ { "", 143 },
+ { "", 144 },
{ "", 139 },
{ "", 140 },
+ { "", 141 },
+ { "", 142 },
{ "", 0 },
- { "", 119 },
- { "", 120 },
+ { "", 121 },
+ { "", 122 },
{ "", 4 },
{ "", 5 },
+ { "", 161 },
+ { "", 162 },
+ { "", 193 },
+ { "", 194 },
+ { "", 171 },
+ { "", 172 },
{ "", 159 },
{ "", 160 },
- { "", 187 },
- { "", 188 },
+ { "", 203 },
+ { "", 204 },
+ { "", 153 },
+ { "", 154 },
{ "", 169 },
{ "", 170 },
- { "", 157 },
- { "", 158 },
- { "", 197 },
- { "", 198 },
- { "", 151 },
- { "", 152 },
- { "", 167 },
- { "", 168 },
- { "", 171 },
- { "", 172 },
- { "", 199 },
- { "", 200 },
- { "", 121 },
- { "", 122 },
{ "", 173 },
{ "", 174 },
- { "", 193 },
- { "", 194 },
- { "", 133 },
- { "", 134 },
- { "", 163 },
- { "", 164 },
- { "", 189 },
- { "", 190 },
- { "", 243 },
- { "", 244 },
- { "", 247 },
- { "", 248 },
- { "", 251 },
- { "", 252 },
- { "", 255 },
- { "", 256 },
+ { "", 205 },
+ { "", 206 },
{ "", 123 },
{ "", 124 },
{ "", 175 },
{ "", 176 },
- { "", 195 },
- { "", 196 },
- { "", 161 },
- { "", 162 },
+ { "", 199 },
+ { "", 200 },
+ { "", 135 },
+ { "", 136 },
{ "", 165 },
{ "", 166 },
- { "", 245 },
- { "", 246 },
- { "", 259 },
- { "", 260 },
+ { "", 195 },
+ { "", 196 },
+ { "", 183 },
+ { "", 184 },
+ { "", 249 },
+ { "", 250 },
+ { "", 253 },
+ { "", 254 },
+ { "", 257 },
+ { "", 258 },
+ { "", 261 },
+ { "", 262 },
+ { "", 181 },
+ { "", 182 },
+ { "", 125 },
+ { "", 126 },
+ { "", 177 },
+ { "", 178 },
+ { "", 201 },
+ { "", 202 },
+ { "", 163 },
+ { "", 164 },
+ { "", 167 },
+ { "", 168 },
+ { "", 251 },
+ { "", 252 },
+ { "", 265 },
+ { "", 266 },
{ "", 100 },
{ "", 101 },
{ "", 6 },
@@ -461,6 +471,8 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
{ "", 21 },
{ "", 56 },
{ "", 57 },
+ { "", 112 },
+ { "", 113 },
{ "", 22 },
{ "", 23 },
{ "", 62 },
@@ -525,22 +537,22 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
{ "", 31 },
{ "", 106 },
{ "", 107 },
- { "", 203 },
- { "", 204 },
+ { "", 209 },
+ { "", 210 },
+ { "", 157 },
+ { "", 158 },
{ "", 155 },
{ "", 156 },
- { "", 153 },
- { "", 154 },
- { "", 261 },
- { "", 262 },
- { "", 127 },
- { "", 128 },
- { "", 201 },
- { "", 202 },
- { "", 183 },
- { "", 184 },
- { "", 231 },
- { "", 232 },
+ { "", 267 },
+ { "", 268 },
+ { "", 129 },
+ { "", 130 },
+ { "", 207 },
+ { "", 208 },
+ { "", 189 },
+ { "", 190 },
+ { "", 237 },
+ { "", 238 },
};
const ProtobufCEnumDescriptor message_type__descriptor =
{
@@ -549,9 +561,9 @@ const ProtobufCEnumDescriptor message_type__descriptor =
"",
"",
"",
- 263,
+ 269,
message_type__enum_values_by_number,
- 263,
+ 269,
message_type__enum_values_by_name,
13,
message_type__value_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h
index 58bd2112c..6df8fa5f9 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h
@@ -132,6 +132,8 @@ typedef enum _MessageType {
MESSAGE_TYPE__StubMainCardEEpromReadResponse = 110,
MESSAGE_TYPE__StubMainCardEEpromWriteRequest = 111,
MESSAGE_TYPE__StubMainCardEEpromWriteResponse = 112,
+ MESSAGE_TYPE__StubHeadEEpromRequest = 113,
+ MESSAGE_TYPE__StubHeadEEpromResponse = 114,
MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket = 1000,
MESSAGE_TYPE__ExternalBridgeLoginRequest = 1001,
MESSAGE_TYPE__ExternalBridgeLoginResponse = 1002,
@@ -199,6 +201,10 @@ typedef enum _MessageType {
MESSAGE_TYPE__StopCartridgesUpdateResponse = 2043,
MESSAGE_TYPE__CartridgeValidationRequest = 2044,
MESSAGE_TYPE__CartridgeValidationResponse = 2045,
+ MESSAGE_TYPE__StartWasteEmptyingRequest = 2046,
+ MESSAGE_TYPE__StartWasteEmptyingResponse = 2047,
+ MESSAGE_TYPE__StartInkFillingRequest = 2048,
+ MESSAGE_TYPE__StartInkFillingResponse = 2049,
MESSAGE_TYPE__JobRequest = 3000,
MESSAGE_TYPE__JobResponse = 3001,
MESSAGE_TYPE__AbortJobRequest = 3002,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.c
index 855480fa4..2640767b6 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.c
@@ -82,7 +82,7 @@ static const ProtobufCFieldDescriptor start_debug_log_response__field_descriptor
"",
3,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
+ PROTOBUF_C_TYPE_INT32,
offsetof(StartDebugLogResponse, has_linenumber),
offsetof(StartDebugLogResponse, linenumber),
NULL,
@@ -94,7 +94,7 @@ static const ProtobufCFieldDescriptor start_debug_log_response__field_descriptor
"",
4,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
+ PROTOBUF_C_TYPE_INT32,
offsetof(StartDebugLogResponse, has_filter),
offsetof(StartDebugLogResponse, filter),
NULL,
@@ -118,7 +118,7 @@ static const ProtobufCFieldDescriptor start_debug_log_response__field_descriptor
"",
6,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
+ PROTOBUF_C_TYPE_INT32,
offsetof(StartDebugLogResponse, has_moduleid),
offsetof(StartDebugLogResponse, moduleid),
NULL,
@@ -130,7 +130,7 @@ static const ProtobufCFieldDescriptor start_debug_log_response__field_descriptor
"",
7,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
+ PROTOBUF_C_TYPE_INT32,
offsetof(StartDebugLogResponse, has_parameter),
offsetof(StartDebugLogResponse, parameter),
NULL,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.h
index ec58375ac..5a58da7ea 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/StartDebugLogResponse.pb-c.h
@@ -31,14 +31,14 @@ struct _StartDebugLogResponse
DebugLogCategory category;
char *filename;
protobuf_c_boolean has_linenumber;
- uint32_t linenumber;
+ int32_t linenumber;
protobuf_c_boolean has_filter;
- uint32_t filter;
+ int32_t filter;
char *message;
protobuf_c_boolean has_moduleid;
- uint32_t moduleid;
+ int32_t moduleid;
protobuf_c_boolean has_parameter;
- uint32_t parameter;
+ int32_t parameter;
};
#define START_DEBUG_LOG_RESPONSE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&start_debug_log_response__descriptor) \
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.c
new file mode 100644
index 000000000..686c3c58f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.c
@@ -0,0 +1,45 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: FillingAction.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "FillingAction.pb-c.h"
+static const ProtobufCEnumValue filling_action__enum_values_by_number[6] =
+{
+ { "", "", 0 },
+ { "", "", 1 },
+ { "", "", 2 },
+ { "", "", 3 },
+ { "", "", 4 },
+ { "", "", 5 },
+};
+static const ProtobufCIntRange filling_action__value_ranges[] = {
+{0, 0},{0, 6}
+};
+static const ProtobufCEnumValueIndex filling_action__enum_values_by_name[6] =
+{
+ { "", 5 },
+ { "", 3 },
+ { "", 4 },
+ { "", 2 },
+ { "", 1 },
+ { "", 0 },
+};
+const ProtobufCEnumDescriptor filling_action__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ 6,
+ filling_action__enum_values_by_number,
+ 6,
+ filling_action__enum_values_by_name,
+ 1,
+ filling_action__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.h
new file mode 100644
index 000000000..e48f99397
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/FillingAction.pb-c.h
@@ -0,0 +1,47 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: FillingAction.proto */
+
+#ifndef PROTOBUF_C_FillingAction_2eproto__INCLUDED
+#define PROTOBUF_C_FillingAction_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 _FillingAction {
+ FILLING_ACTION__None = 0,
+ FILLING_ACTION__Inserted = 1,
+ FILLING_ACTION__Filling = 2,
+ FILLING_ACTION__End = 3,
+ FILLING_ACTION__Error = 4,
+ FILLING_ACTION__Ejected = 5
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(FILLING_ACTION)
+} FillingAction;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor filling_action__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_FillingAction_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.c
new file mode 100644
index 000000000..b56884185
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartInkFillingRequest.pb-c.h"
+void start_ink_filling_request__init
+ (StartInkFillingRequest *message)
+{
+ static const StartInkFillingRequest init_value = START_INK_FILLING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t start_ink_filling_request__get_packed_size
+ (const StartInkFillingRequest *message)
+{
+ assert(message->base.descriptor == &start_ink_filling_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_ink_filling_request__pack
+ (const StartInkFillingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_ink_filling_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_ink_filling_request__pack_to_buffer
+ (const StartInkFillingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_ink_filling_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartInkFillingRequest *
+ start_ink_filling_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartInkFillingRequest *)
+ protobuf_c_message_unpack (&start_ink_filling_request__descriptor,
+ allocator, len, data);
+}
+void start_ink_filling_request__free_unpacked
+ (StartInkFillingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_ink_filling_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define start_ink_filling_request__field_descriptors NULL
+#define start_ink_filling_request__field_indices_by_name NULL
+#define start_ink_filling_request__number_ranges NULL
+const ProtobufCMessageDescriptor start_ink_filling_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartInkFillingRequest),
+ 0,
+ start_ink_filling_request__field_descriptors,
+ start_ink_filling_request__field_indices_by_name,
+ 0, start_ink_filling_request__number_ranges,
+ (ProtobufCMessageInit) start_ink_filling_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.h
new file mode 100644
index 000000000..bda7b4229
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingRequest.proto */
+
+#ifndef PROTOBUF_C_StartInkFillingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StartInkFillingRequest_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 _StartInkFillingRequest StartInkFillingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartInkFillingRequest
+{
+ ProtobufCMessage base;
+};
+#define START_INK_FILLING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_ink_filling_request__descriptor) \
+ }
+
+
+/* StartInkFillingRequest methods */
+void start_ink_filling_request__init
+ (StartInkFillingRequest *message);
+size_t start_ink_filling_request__get_packed_size
+ (const StartInkFillingRequest *message);
+size_t start_ink_filling_request__pack
+ (const StartInkFillingRequest *message,
+ uint8_t *out);
+size_t start_ink_filling_request__pack_to_buffer
+ (const StartInkFillingRequest *message,
+ ProtobufCBuffer *buffer);
+StartInkFillingRequest *
+ start_ink_filling_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_ink_filling_request__free_unpacked
+ (StartInkFillingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartInkFillingRequest_Closure)
+ (const StartInkFillingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_ink_filling_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartInkFillingRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.c
new file mode 100644
index 000000000..d68ad33e7
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartInkFillingResponse.pb-c.h"
+void start_ink_filling_response__init
+ (StartInkFillingResponse *message)
+{
+ static const StartInkFillingResponse init_value = START_INK_FILLING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t start_ink_filling_response__get_packed_size
+ (const StartInkFillingResponse *message)
+{
+ assert(message->base.descriptor == &start_ink_filling_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_ink_filling_response__pack
+ (const StartInkFillingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_ink_filling_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_ink_filling_response__pack_to_buffer
+ (const StartInkFillingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_ink_filling_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartInkFillingResponse *
+ start_ink_filling_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartInkFillingResponse *)
+ protobuf_c_message_unpack (&start_ink_filling_response__descriptor,
+ allocator, len, data);
+}
+void start_ink_filling_response__free_unpacked
+ (StartInkFillingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_ink_filling_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor start_ink_filling_response__field_descriptors[4] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(StartInkFillingResponse, cartridge),
+ &cartridge__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(StartInkFillingResponse, has_action),
+ offsetof(StartInkFillingResponse, action),
+ &filling_action__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StartInkFillingResponse, has_progresspercentage),
+ offsetof(StartInkFillingResponse, progresspercentage),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StartInkFillingResponse, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned start_ink_filling_response__field_indices_by_name[] = {
+ 1, /* field[1] = Action */
+ 0, /* field[0] = Cartridge */
+ 3, /* field[3] = Message */
+ 2, /* field[2] = ProgressPercentage */
+};
+static const ProtobufCIntRange start_ink_filling_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor start_ink_filling_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartInkFillingResponse),
+ 4,
+ start_ink_filling_response__field_descriptors,
+ start_ink_filling_response__field_indices_by_name,
+ 1, start_ink_filling_response__number_ranges,
+ (ProtobufCMessageInit) start_ink_filling_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.h
new file mode 100644
index 000000000..5c1c7ddb2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartInkFillingResponse.pb-c.h
@@ -0,0 +1,78 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingResponse.proto */
+
+#ifndef PROTOBUF_C_StartInkFillingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StartInkFillingResponse_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 "Cartridge.pb-c.h"
+#include "FillingAction.pb-c.h"
+
+typedef struct _StartInkFillingResponse StartInkFillingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartInkFillingResponse
+{
+ ProtobufCMessage base;
+ Cartridge *cartridge;
+ protobuf_c_boolean has_action;
+ FillingAction action;
+ protobuf_c_boolean has_progresspercentage;
+ double progresspercentage;
+ char *message;
+};
+#define START_INK_FILLING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_ink_filling_response__descriptor) \
+ , NULL, 0, FILLING_ACTION__None, 0, 0, NULL }
+
+
+/* StartInkFillingResponse methods */
+void start_ink_filling_response__init
+ (StartInkFillingResponse *message);
+size_t start_ink_filling_response__get_packed_size
+ (const StartInkFillingResponse *message);
+size_t start_ink_filling_response__pack
+ (const StartInkFillingResponse *message,
+ uint8_t *out);
+size_t start_ink_filling_response__pack_to_buffer
+ (const StartInkFillingResponse *message,
+ ProtobufCBuffer *buffer);
+StartInkFillingResponse *
+ start_ink_filling_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_ink_filling_response__free_unpacked
+ (StartInkFillingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartInkFillingResponse_Closure)
+ (const StartInkFillingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_ink_filling_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartInkFillingResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.c
new file mode 100644
index 000000000..1b9c856fa
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartWasteEmptyingRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartWasteEmptyingRequest.pb-c.h"
+void start_waste_emptying_request__init
+ (StartWasteEmptyingRequest *message)
+{
+ static const StartWasteEmptyingRequest init_value = START_WASTE_EMPTYING_REQUEST__INIT;
+ *message = init_value;
+}
+size_t start_waste_emptying_request__get_packed_size
+ (const StartWasteEmptyingRequest *message)
+{
+ assert(message->base.descriptor == &start_waste_emptying_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_waste_emptying_request__pack
+ (const StartWasteEmptyingRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_waste_emptying_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_waste_emptying_request__pack_to_buffer
+ (const StartWasteEmptyingRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_waste_emptying_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartWasteEmptyingRequest *
+ start_waste_emptying_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartWasteEmptyingRequest *)
+ protobuf_c_message_unpack (&start_waste_emptying_request__descriptor,
+ allocator, len, data);
+}
+void start_waste_emptying_request__free_unpacked
+ (StartWasteEmptyingRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_waste_emptying_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define start_waste_emptying_request__field_descriptors NULL
+#define start_waste_emptying_request__field_indices_by_name NULL
+#define start_waste_emptying_request__number_ranges NULL
+const ProtobufCMessageDescriptor start_waste_emptying_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartWasteEmptyingRequest),
+ 0,
+ start_waste_emptying_request__field_descriptors,
+ start_waste_emptying_request__field_indices_by_name,
+ 0, start_waste_emptying_request__number_ranges,
+ (ProtobufCMessageInit) start_waste_emptying_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.h
new file mode 100644
index 000000000..44a104321
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartWasteEmptyingRequest.proto */
+
+#ifndef PROTOBUF_C_StartWasteEmptyingRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StartWasteEmptyingRequest_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 _StartWasteEmptyingRequest StartWasteEmptyingRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartWasteEmptyingRequest
+{
+ ProtobufCMessage base;
+};
+#define START_WASTE_EMPTYING_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_waste_emptying_request__descriptor) \
+ }
+
+
+/* StartWasteEmptyingRequest methods */
+void start_waste_emptying_request__init
+ (StartWasteEmptyingRequest *message);
+size_t start_waste_emptying_request__get_packed_size
+ (const StartWasteEmptyingRequest *message);
+size_t start_waste_emptying_request__pack
+ (const StartWasteEmptyingRequest *message,
+ uint8_t *out);
+size_t start_waste_emptying_request__pack_to_buffer
+ (const StartWasteEmptyingRequest *message,
+ ProtobufCBuffer *buffer);
+StartWasteEmptyingRequest *
+ start_waste_emptying_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_waste_emptying_request__free_unpacked
+ (StartWasteEmptyingRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartWasteEmptyingRequest_Closure)
+ (const StartWasteEmptyingRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_waste_emptying_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartWasteEmptyingRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.c
new file mode 100644
index 000000000..55ca27102
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartWasteEmptyingResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartWasteEmptyingResponse.pb-c.h"
+void start_waste_emptying_response__init
+ (StartWasteEmptyingResponse *message)
+{
+ static const StartWasteEmptyingResponse init_value = START_WASTE_EMPTYING_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t start_waste_emptying_response__get_packed_size
+ (const StartWasteEmptyingResponse *message)
+{
+ assert(message->base.descriptor == &start_waste_emptying_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_waste_emptying_response__pack
+ (const StartWasteEmptyingResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_waste_emptying_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_waste_emptying_response__pack_to_buffer
+ (const StartWasteEmptyingResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_waste_emptying_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartWasteEmptyingResponse *
+ start_waste_emptying_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartWasteEmptyingResponse *)
+ protobuf_c_message_unpack (&start_waste_emptying_response__descriptor,
+ allocator, len, data);
+}
+void start_waste_emptying_response__free_unpacked
+ (StartWasteEmptyingResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_waste_emptying_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor start_waste_emptying_response__field_descriptors[4] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(StartWasteEmptyingResponse, cartridge),
+ &cartridge__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(StartWasteEmptyingResponse, has_action),
+ offsetof(StartWasteEmptyingResponse, action),
+ &filling_action__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StartWasteEmptyingResponse, has_progresspercentage),
+ offsetof(StartWasteEmptyingResponse, progresspercentage),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StartWasteEmptyingResponse, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned start_waste_emptying_response__field_indices_by_name[] = {
+ 1, /* field[1] = Action */
+ 0, /* field[0] = Cartridge */
+ 3, /* field[3] = Message */
+ 2, /* field[2] = ProgressPercentage */
+};
+static const ProtobufCIntRange start_waste_emptying_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor start_waste_emptying_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartWasteEmptyingResponse),
+ 4,
+ start_waste_emptying_response__field_descriptors,
+ start_waste_emptying_response__field_indices_by_name,
+ 1, start_waste_emptying_response__number_ranges,
+ (ProtobufCMessageInit) start_waste_emptying_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.h
new file mode 100644
index 000000000..11254b220
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.h
@@ -0,0 +1,78 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartWasteEmptyingResponse.proto */
+
+#ifndef PROTOBUF_C_StartWasteEmptyingResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StartWasteEmptyingResponse_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 "Cartridge.pb-c.h"
+#include "FillingAction.pb-c.h"
+
+typedef struct _StartWasteEmptyingResponse StartWasteEmptyingResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartWasteEmptyingResponse
+{
+ ProtobufCMessage base;
+ Cartridge *cartridge;
+ protobuf_c_boolean has_action;
+ FillingAction action;
+ protobuf_c_boolean has_progresspercentage;
+ double progresspercentage;
+ char *message;
+};
+#define START_WASTE_EMPTYING_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_waste_emptying_response__descriptor) \
+ , NULL, 0, FILLING_ACTION__None, 0, 0, NULL }
+
+
+/* StartWasteEmptyingResponse methods */
+void start_waste_emptying_response__init
+ (StartWasteEmptyingResponse *message);
+size_t start_waste_emptying_response__get_packed_size
+ (const StartWasteEmptyingResponse *message);
+size_t start_waste_emptying_response__pack
+ (const StartWasteEmptyingResponse *message,
+ uint8_t *out);
+size_t start_waste_emptying_response__pack_to_buffer
+ (const StartWasteEmptyingResponse *message,
+ ProtobufCBuffer *buffer);
+StartWasteEmptyingResponse *
+ start_waste_emptying_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_waste_emptying_response__free_unpacked
+ (StartWasteEmptyingResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartWasteEmptyingResponse_Closure)
+ (const StartWasteEmptyingResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_waste_emptying_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartWasteEmptyingResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
index ad257ca79..7b73b08b9 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.c
@@ -52,7 +52,7 @@ void machine_status__free_unpacked
assert(message->base.descriptor == &machine_status__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor machine_status__field_descriptors[4] =
+static const ProtobufCFieldDescriptor machine_status__field_descriptors[6] =
{
{
"",
@@ -102,9 +102,35 @@ static const ProtobufCFieldDescriptor machine_status__field_descriptors[4] =
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MachineStatus, has_middlecartridgestate),
+ offsetof(MachineStatus, middlecartridgestate),
+ &waste_cartridge_state__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MachineStatus, has_lowercartridgestate),
+ offsetof(MachineStatus, lowercartridgestate),
+ &waste_cartridge_state__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned machine_status__field_indices_by_name[] = {
1, /* field[1] = IDSPacksLevels */
+ 5, /* field[5] = LowerCartridgeState */
+ 4, /* field[4] = MiddleCartridgeState */
2, /* field[2] = OverallTemperature */
3, /* field[3] = SpoolState */
0, /* field[0] = State */
@@ -112,7 +138,7 @@ static const unsigned machine_status__field_indices_by_name[] = {
static const ProtobufCIntRange machine_status__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 4 }
+ { 0, 6 }
};
const ProtobufCMessageDescriptor machine_status__descriptor =
{
@@ -122,7 +148,7 @@ const ProtobufCMessageDescriptor machine_status__descriptor =
"",
"",
sizeof(MachineStatus),
- 4,
+ 6,
machine_status__field_descriptors,
machine_status__field_indices_by_name,
1, machine_status__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
index 003fcd09c..a8e12e87f 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/MachineStatus.pb-c.h
@@ -17,6 +17,7 @@ PROTOBUF_C__BEGIN_DECLS
#include "MachineState.pb-c.h"
#include "IDSPackLevel.pb-c.h"
#include "SpoolState.pb-c.h"
+#include "WasteCartridgeState.pb-c.h"
typedef struct _MachineStatus MachineStatus;
@@ -37,10 +38,14 @@ struct _MachineStatus
double overalltemperature;
protobuf_c_boolean has_spoolstate;
SpoolState spoolstate;
+ protobuf_c_boolean has_middlecartridgestate;
+ WasteCartridgeState middlecartridgestate;
+ protobuf_c_boolean has_lowercartridgestate;
+ WasteCartridgeState lowercartridgestate;
};
#define MACHINE_STATUS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&machine_status__descriptor) \
- , 0, MACHINE_STATE__PowerUp, 0,NULL, 0, 0, 0, SPOOL_STATE__Absent }
+ , 0, MACHINE_STATE__PowerUp, 0,NULL, 0, 0, 0, SPOOL_STATE__Absent, 0, WASTE_CARTRIDGE_STATE__CartAbsent, 0, WASTE_CARTRIDGE_STATE__CartAbsent }
/* MachineStatus methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.c
new file mode 100644
index 000000000..f179ce199
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.c
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: WasteCartridgeState.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "WasteCartridgeState.pb-c.h"
+static const ProtobufCEnumValue waste_cartridge_state__enum_values_by_number[5] =
+{
+ { "", "", 0 },
+ { "", "", 1 },
+ { "", "", 2 },
+ { "", "", 3 },
+ { "", "", 4 },
+};
+static const ProtobufCIntRange waste_cartridge_state__value_ranges[] = {
+{0, 0},{0, 5}
+};
+static const ProtobufCEnumValueIndex waste_cartridge_state__enum_values_by_name[5] =
+{
+ { "", 0 },
+ { "", 1 },
+ { "", 4 },
+ { "", 2 },
+ { "", 3 },
+};
+const ProtobufCEnumDescriptor waste_cartridge_state__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ 5,
+ waste_cartridge_state__enum_values_by_number,
+ 5,
+ waste_cartridge_state__enum_values_by_name,
+ 1,
+ waste_cartridge_state__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.h
new file mode 100644
index 000000000..c100d36d8
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/MachineStatus/WasteCartridgeState.pb-c.h
@@ -0,0 +1,46 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: WasteCartridgeState.proto */
+
+#ifndef PROTOBUF_C_WasteCartridgeState_2eproto__INCLUDED
+#define PROTOBUF_C_WasteCartridgeState_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 _WasteCartridgeState {
+ WASTE_CARTRIDGE_STATE__CartAbsent = 0,
+ WASTE_CARTRIDGE_STATE__CartEmpty = 1,
+ WASTE_CARTRIDGE_STATE__CartFilling = 2,
+ WASTE_CARTRIDGE_STATE__CartFull = 3,
+ WASTE_CARTRIDGE_STATE__CartError = 4
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WASTE_CARTRIDGE_STATE)
+} WasteCartridgeState;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor waste_cartridge_state__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_WasteCartridgeState_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.c
new file mode 100644
index 000000000..5334c1193
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubAllHardwareRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubAllHardwareRequest.pb-c.h"
+void stub_all_hardware_request__init
+ (StubAllHardwareRequest *message)
+{
+ static const StubAllHardwareRequest init_value = STUB_ALL_HARDWARE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_all_hardware_request__get_packed_size
+ (const StubAllHardwareRequest *message)
+{
+ assert(message->base.descriptor == &stub_all_hardware_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_all_hardware_request__pack
+ (const StubAllHardwareRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_all_hardware_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_all_hardware_request__pack_to_buffer
+ (const StubAllHardwareRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_all_hardware_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubAllHardwareRequest *
+ stub_all_hardware_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubAllHardwareRequest *)
+ protobuf_c_message_unpack (&stub_all_hardware_request__descriptor,
+ allocator, len, data);
+}
+void stub_all_hardware_request__free_unpacked
+ (StubAllHardwareRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_all_hardware_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define stub_all_hardware_request__field_descriptors NULL
+#define stub_all_hardware_request__field_indices_by_name NULL
+#define stub_all_hardware_request__number_ranges NULL
+const ProtobufCMessageDescriptor stub_all_hardware_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StubAllHardwareRequest),
+ 0,
+ stub_all_hardware_request__field_descriptors,
+ stub_all_hardware_request__field_indices_by_name,
+ 0, stub_all_hardware_request__number_ranges,
+ (ProtobufCMessageInit) stub_all_hardware_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.h
new file mode 100644
index 000000000..d22bddaaf
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubAllHardwareRequest.proto */
+
+#ifndef PROTOBUF_C_StubAllHardwareRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubAllHardwareRequest_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 _StubAllHardwareRequest StubAllHardwareRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubAllHardwareRequest
+{
+ ProtobufCMessage base;
+};
+#define STUB_ALL_HARDWARE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_all_hardware_request__descriptor) \
+ }
+
+
+/* StubAllHardwareRequest methods */
+void stub_all_hardware_request__init
+ (StubAllHardwareRequest *message);
+size_t stub_all_hardware_request__get_packed_size
+ (const StubAllHardwareRequest *message);
+size_t stub_all_hardware_request__pack
+ (const StubAllHardwareRequest *message,
+ uint8_t *out);
+size_t stub_all_hardware_request__pack_to_buffer
+ (const StubAllHardwareRequest *message,
+ ProtobufCBuffer *buffer);
+StubAllHardwareRequest *
+ stub_all_hardware_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_all_hardware_request__free_unpacked
+ (StubAllHardwareRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubAllHardwareRequest_Closure)
+ (const StubAllHardwareRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_all_hardware_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubAllHardwareRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.c
new file mode 100644
index 000000000..898aea50b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubAllHardwareResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubAllHardwareResponse.pb-c.h"
+void stub_all_hardware_response__init
+ (StubAllHardwareResponse *message)
+{
+ static const StubAllHardwareResponse init_value = STUB_ALL_HARDWARE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_all_hardware_response__get_packed_size
+ (const StubAllHardwareResponse *message)
+{
+ assert(message->base.descriptor == &stub_all_hardware_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_all_hardware_response__pack
+ (const StubAllHardwareResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_all_hardware_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_all_hardware_response__pack_to_buffer
+ (const StubAllHardwareResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_all_hardware_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubAllHardwareResponse *
+ stub_all_hardware_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubAllHardwareResponse *)
+ protobuf_c_message_unpack (&stub_all_hardware_response__descriptor,
+ allocator, len, data);
+}
+void stub_all_hardware_response__free_unpacked
+ (StubAllHardwareResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_all_hardware_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_all_hardware_response__field_descriptors[5] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubAllHardwareResponse, mcu_serial),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(StubAllHardwareResponse, headeeprom),
+ &stub_head_eeprom_data__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(StubAllHardwareResponse, whseeprom),
+ &stub_whs_eeprom_data__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 4,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(StubAllHardwareResponse, n_maincardeepromdata),
+ offsetof(StubAllHardwareResponse, maincardeepromdata),
+ &stub_main_card_eeprom_read_response__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 5,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(StubAllHardwareResponse, n_dispensereepromdata),
+ offsetof(StubAllHardwareResponse, dispensereepromdata),
+ &stub_dispenser_eeprom_response__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_all_hardware_response__field_indices_by_name[] = {
+ 4, /* field[4] = DispenserEEpromData */
+ 1, /* field[1] = HeadEEprom */
+ 0, /* field[0] = MCU_Serial */
+ 3, /* field[3] = MainCardEEpromData */
+ 2, /* field[2] = WhsEEprom */
+};
+static const ProtobufCIntRange stub_all_hardware_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_all_hardware_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StubAllHardwareResponse),
+ 5,
+ stub_all_hardware_response__field_descriptors,
+ stub_all_hardware_response__field_indices_by_name,
+ 1, stub_all_hardware_response__number_ranges,
+ (ProtobufCMessageInit) stub_all_hardware_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.h
new file mode 100644
index 000000000..2678952fa
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubAllHardwareResponse.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubAllHardwareResponse.proto */
+
+#ifndef PROTOBUF_C_StubAllHardwareResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubAllHardwareResponse_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 "StubHeadEEpromData.pb-c.h"
+#include "StubWhsEEpromData.pb-c.h"
+#include "StubDispenserEEpromResponse.pb-c.h"
+#include "StubMainCardEEpromReadResponse.pb-c.h"
+
+typedef struct _StubAllHardwareResponse StubAllHardwareResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubAllHardwareResponse
+{
+ ProtobufCMessage base;
+ char *mcu_serial;
+ StubHeadEEpromData *headeeprom;
+ StubWhsEEpromData *whseeprom;
+ size_t n_maincardeepromdata;
+ StubMainCardEEpromReadResponse **maincardeepromdata;
+ size_t n_dispensereepromdata;
+ StubDispenserEEpromResponse **dispensereepromdata;
+};
+#define STUB_ALL_HARDWARE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_all_hardware_response__descriptor) \
+ , NULL, NULL, NULL, 0,NULL, 0,NULL }
+
+
+/* StubAllHardwareResponse methods */
+void stub_all_hardware_response__init
+ (StubAllHardwareResponse *message);
+size_t stub_all_hardware_response__get_packed_size
+ (const StubAllHardwareResponse *message);
+size_t stub_all_hardware_response__pack
+ (const StubAllHardwareResponse *message,
+ uint8_t *out);
+size_t stub_all_hardware_response__pack_to_buffer
+ (const StubAllHardwareResponse *message,
+ ProtobufCBuffer *buffer);
+StubAllHardwareResponse *
+ stub_all_hardware_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_all_hardware_response__free_unpacked
+ (StubAllHardwareResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubAllHardwareResponse_Closure)
+ (const StubAllHardwareResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_all_hardware_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubAllHardwareResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
index 2ae3da453..841a8d1da 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
@@ -148,6 +148,7 @@ uint32_t ValveCallback(uint32_t deviceID, uint32_t ReadValue)
MidtankMitigationCounter[deviceID] = 0;
}
}
+ return OK;
}
void Valve_Command(Valves_t Valve_Id) //1 - OPEN, 0 - CLOSE
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 120df71df..de45cacaa 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -36,6 +36,7 @@
#include "modules/thread/thread_ex.h"
#include "modules/heaters/heaters_ex.h"
#include "modules/ids/ids_ex.h"
+#include "modules/waste/waste_ex.h"
#include <PMR/Diagnostics/Event.pb-c.h>
#include <PMR/Diagnostics/EventType.pb-c.h>
#include <PMR/Diagnostics/StartEventsNotificationRequest.pb-c.h>
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 9297d3bb8..b9bcc1624 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -27,7 +27,9 @@
#include "StateMachines/Initialization/InitSequence.h"
#include "Modules/General/MachineStatus.h"
+#include "Modules/AlarmHandling/AlarmHandling.h"
#include "Modules/Control/MillisecTask.h"
+#include "modules/waste/waste_ex.h"
#include "modules/ids/ids_ex.h"
MachineState StoredMachineStatus = MACHINE_STATE__PowerUp;
@@ -78,6 +80,7 @@ int MachineUpdateResponseFunc(void)
int1valid = false;
if((internaltemp2<=MINIMUM_HEATER_READ*100)||(MAXIMUM_HEATER_READ*100<=internaltemp2))
int2valid = false;
+ MachineStatus.has_overalltemperature = true;
if ((int2valid == true)&&(int1valid == true))
{
usetemp = (max(internaltemp1,internaltemp2))/100;
@@ -89,17 +92,19 @@ int MachineUpdateResponseFunc(void)
}
else
{
- AlarmHandlingSetAlarm(EVENT_TYPE__TEMPERATURE_MEASUREMENT_ERROR, true);
+ //AlarmHandlingSetAlarm(EVENT_TYPE__TEMPERATURE_MEASUREMENT_ERROR, true);
temp_measure_alarm = true;
if ((int2valid == false)&&(int1valid == true))
usetemp = internaltemp1/100;
else if ((int2valid == false)&&(int1valid == false))
+ {
+ MachineStatus.has_overalltemperature = FALSE;
usetemp = 0;
+ }
else if ((int1valid == false)&&(int2valid == true))
usetemp = internaltemp2/100;
}
- MachineStatus.has_overalltemperature = true;
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
@@ -133,7 +138,47 @@ int MachineUpdateResponseFunc(void)
}
else
return ERROR;
-
+ MachineStatus.has_middlecartridgestate = true;
+ switch (cartGetState(WasteCartridge_middle))
+ {
+ case CartridgeStateOUT:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ case CartridgeStateIN:
+ case CartridgeStateSELECTED:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartEmpty;
+ break;
+ case CartridgeStateACTIVE:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartFilling;
+ break;
+ case CartridgeStateFULL:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartFull;
+ break;
+ default:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ }
+ MachineStatus.has_lowercartridgestate = true;
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ switch (cartGetState(WasteCartridge_lower))
+ {
+ case CartridgeStateOUT:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ case CartridgeStateIN:
+ case CartridgeStateSELECTED:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartEmpty;
+ break;
+ case CartridgeStateACTIVE:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartFilling;
+ break;
+ case CartridgeStateFULL:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartFull;
+ break;
+ default:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ }
responseContainer = /*MachineUpdate*/createContainer(MESSAGE_TYPE__StartMachineStatusUpdateResponse, MachineUpdateToken, false, &response, &start_machine_status_update_response__pack, &start_machine_status_update_response__get_packed_size);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
index 6d50eb926..e85694c48 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
@@ -47,6 +47,7 @@ double PressureSensorGetPressure(uint8_t SensorId);
int HeadBlowersGetRPM(uint8_t fanId);
double PressureSensorInit();
void HeadBlowersInit();
+uint32_t HeadBlowerPidRequestMessage(void* request, int BlowerId);
void HeadBlowersCfg();
void HeadBlowersControlLoop ();
uint32_t HeadBlowerCommandRequestMessage(int blowerId, float flow);
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 747df1a61..abad051cb 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -11,10 +11,14 @@
#include <DataDef.h>
#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
+#include "PMR/Diagnostics/StartInkFillingRequest.pb-c.h"
+#include "PMR/Diagnostics/StartInkFillingResponse.pb-c.h"
+#include "PMR/Diagnostics/FillingAction.pb-c.h"
#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"//#include "FPGA_GPIO.h" // use for FPGA IO
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
#include "StateMachines/Initialization/PowerOffSequence.h"
+#include <Utilities/RfidTagHandling.h>
#include "include.h"
#include "Modules/IDS/ids_ex.h"
@@ -229,7 +233,54 @@ bool CartridgeValidationResponseFunc(MessageContainer* requestContainer)
}
return OK;
}
+char InkFillingToken[36+1] = {0};
+uint32_t InkFillingUpdate(POWER_OFF_STAGES_ENUM stage)
+{
+ uint32_t status = NOT_SUPPORTED;
+ MessageContainer responseContainer;
+
+ StartInkFillingResponse response = START_INK_FILLING_RESPONSE__INIT;
+ Cartridge Cartridge = CARTRIDGE__INIT;
+ response.action = FILLING_ACTION__None;
+ response.has_action = true;
+ response.cartridge = LoadCartridgeData(CART_1,&Cartridge);
+
+ response.cartridge = NULL;
+ response.has_progresspercentage = true;
+ response.progresspercentage = 0.0;
+ response.message = NULL;
+
+ responseContainer = createContainer(MESSAGE_TYPE__StartInkFillingResponse, InkFillingToken, false, &response, &start_ink_filling_response__pack, &start_ink_filling_response__get_packed_size);
+ responseContainer.has_continuous = true;
+ responseContainer.continuous = true;
+ uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
+ size_t container_size = message_container__pack(&responseContainer, container_buffer);
+ my_free(responseContainer.data.data);
+ //USBCDCD_sendData(container_buffer, container_size,10);
+
+ SendChars((char*)container_buffer, container_size);
+ //MessageContainer responseContainer;
+
+ return status;
+}
+
+uint32_t StartInkFillingRequestFunc(MessageContainer* requestContainer)
+{
+ uint32_t status = NOT_SUPPORTED;
+ //MessageContainer responseContainer;
+// MachineUpdateInitParams InitParams;
+
+ Report("StartInkFillingRequestFunc",__FILE__,__LINE__,(int)0,RpWarning,(int)0,0);
+ StartInkFillingRequest* request = start_ink_filling_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ ustrncpy (InkFillingToken, requestContainer->token,36);
+
+ InkFillingUpdate(POWER_OFF_INIT);
+ start_ink_filling_request__free_unpacked(request,NULL);
+ return status;
+// case MESSAGE_TYPE__StartWasteEmptyingRequest:
+
+}
void ResponseDemo(int MidtankId)
{
inkAuthenticationPass = true;
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
index 0f95fb2e2..dec1544ec 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
@@ -28,5 +28,6 @@ bool IFS_MidTankFilling(void);
MidTank_t IFS_MidTankIsActive(void);
bool IFS_CartridgeLowerPresent();
bool CartridgeValidationResponseFunc(MessageContainer* requestContainer);
+uint32_t StartInkFillingRequestFunc(MessageContainer* requestContainer);
#endif /* MODULES_IFS_IFS_H_ */
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index 6edc5b3f2..d0d2c1ef7 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -16,7 +16,7 @@
#include "Modules/Control/control.h"
#include "Modules/General/process.h"
#include "Modules/control/pidalgo.h"
-
+#include "Modules/AlarmHandling/AlarmHandling.h"
#include "Modules/heaters/heaters_ex.h"
#include "Modules/General/buttons.h"
#include "StateMachines/Initialization/InitSequence.h"
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
index 0a7534635..38e3236cc 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
@@ -47,6 +47,8 @@ bool WHS_IsEmptying();
uint32_t Waste_CheckState(void);
uint32_t Waste_Prepare(void);
bool WHS_IsVocPpmOverAlarmLimit();
+uint32_t StartWasteEmptyingRequestFunc(MessageContainer* requestContainer);
+
extern bool ReadingVocEverySec;
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
index 84609035a..6d338cbf7 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
@@ -6,13 +6,17 @@
#include "drivers/Valves/Valve.h"
#include "Common/report/report.h"
#include "Modules/Waste/Waste_ex.h"
+#include "modules/heaters/heaters_ex.h"
#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
#include <Drivers/I2C_Communication/RFID_NFC/NFC_MainBaord.h>
#include "Drivers/I2C_Communication/RFID_NFC/NFC.h"
-//#include <Utilities/RfidTagHandling.h>
+#include <Utilities/RfidTagHandling.h>
#include <PMR/Diagnostics/EventType.pb-c.h>
+#include "PMR/Diagnostics/FillingAction.pb-c.h"
+#include "PMR/Diagnostics/StartWasteEmptyingRequest.pb-c.h"
+#include "PMR/Diagnostics/StartWasteEmptyingResponse.pb-c.h"
#include "Modules/AlarmHandling/AlarmHandling.h"
#include "StateMachines/Initialization/PowerOffSequence.h"
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
@@ -501,6 +505,53 @@ void Waste_StateMachine(void)
break;
}
}
+char WasteEmptyingToken[36+1] = {0};
+uint32_t WasteEmptyingUpdate(POWER_OFF_STAGES_ENUM stage)
+{
+ uint32_t status = NOT_SUPPORTED;
+ MessageContainer responseContainer;
+
+ StartWasteEmptyingResponse response = START_WASTE_EMPTYING_RESPONSE__INIT;
+ response.action = FILLING_ACTION__None;
+ response.has_action = true;
+ //response.cartridge = LoadCartridgeData(); response.cartridge = LoadCartridgeData();
+
+ response.cartridge = NULL;
+ response.has_progresspercentage = true;
+ response.progresspercentage = 0.0;
+ response.message = NULL;
+
+ responseContainer = createContainer(MESSAGE_TYPE__StartWasteEmptyingResponse, WasteEmptyingToken, false, &response, &start_waste_emptying_response__pack, &start_waste_emptying_response__get_packed_size);
+ responseContainer.has_continuous = true;
+ responseContainer.continuous = true;
+ uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
+ size_t container_size = message_container__pack(&responseContainer, container_buffer);
+ my_free(responseContainer.data.data);
+ //USBCDCD_sendData(container_buffer, container_size,10);
+
+ SendChars((char*)container_buffer, container_size);
+ //MessageContainer responseContainer;
+
+ return status;
+}
+
+uint32_t StartWasteEmptyingRequestFunc(MessageContainer* requestContainer)
+{
+ uint32_t status = NOT_SUPPORTED;
+ //MessageContainer responseContainer;
+
+// MachineUpdateInitParams InitParams;
+
+ Report("StartWasteEmptyingRequestFunc",__FILE__,__LINE__,(int)0,RpWarning,(int)0,0);
+ StartWasteEmptyingRequest* request = start_waste_emptying_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ ustrncpy (WasteEmptyingToken, requestContainer->token,36);
+
+ WasteEmptyingUpdate(POWER_OFF_INIT);
+ start_waste_emptying_request__free_unpacked(request,NULL);
+ return status;
+// case MESSAGE_TYPE__StartWasteEmptyingRequest:
+
+}
uint32_t Waste_CheckState(void)
{
//check if the waste is ready to run - waste level not above overflow level and no cartridge in the slots
@@ -572,6 +623,7 @@ uint32_t Waste_PrepareCallbak(uint32_t IfIndex, uint32_t ReadValue)
PrepareReady(Module_Waste,ModuleDone);
}
Report("Module waste prepare", __FILE__, __LINE__, headready, RpMessage, whsready, 0);
+ return OK;
}
uint32_t Waste_Prepare(void)
{
@@ -581,6 +633,7 @@ uint32_t Waste_Prepare(void)
//check that blowers are within 10% of designated flow: WHS, head blowers
WasteReadyControlId = AddControlCallback("Cartridge Cover Door", Waste_PrepareCallbak, eOneSecond, TemplateDataReadCBFunction, 0, 0, 0);
Report("Module waste prepare", __FILE__, __LINE__, Head_Type, RpMessage, WHS_Type, 0);
+ return OK;
}
bool WHS_IsVocPpmOverAlarmLimit()
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
index 0a980159d..8f6f2a781 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
@@ -41,6 +41,7 @@
#include "InitSequence.h"
#include "PowerOffSequence.h"
#include "modules/waste/waste_ex.h"
+#include "modules/ifs/ifs.h"
/*
typedef enum
{
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index 86c8ef7da..235854b7a 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -55,6 +55,7 @@
#include "Modules/General/process.h"
#include "modules/Diagnostics/Diagnostics.h"
+#include "modules/waste/waste_ex.h"
#include "PMR/Stubs/StubJobRequest.pb-c.h"
#include "PMR/Stubs/StubJobResponse.pb-c.h"
diff --git a/Software/PMR/Messages/Common/MessageType.proto b/Software/PMR/Messages/Common/MessageType.proto
index 4f2147b02..593dcf547 100644
--- a/Software/PMR/Messages/Common/MessageType.proto
+++ b/Software/PMR/Messages/Common/MessageType.proto
@@ -123,6 +123,8 @@ enum MessageType
StubMainCardEEpromReadResponse = 110;
StubMainCardEEpromWriteRequest = 111;
StubMainCardEEpromWriteResponse = 112;
+ StubHeadEEpromRequest = 113;
+ StubHeadEEpromResponse = 114;
//------------------------------------
@@ -198,7 +200,10 @@ enum MessageType
StopCartridgesUpdateResponse = 2043;
CartridgeValidationRequest = 2044;
CartridgeValidationResponse = 2045;
-
+ StartWasteEmptyingRequest = 2046;
+ StartWasteEmptyingResponse = 2047;
+ StartInkFillingRequest = 2048;
+ StartInkFillingResponse = 2049;
//Printing
JobRequest = 3000;
diff --git a/Software/PMR/Messages/Diagnostics/StartInkFillingRequest.proto b/Software/PMR/Messages/Diagnostics/StartInkFillingRequest.proto
index ddb174ca4..9e574bf7f 100644
--- a/Software/PMR/Messages/Diagnostics/StartInkFillingRequest.proto
+++ b/Software/PMR/Messages/Diagnostics/StartInkFillingRequest.proto
@@ -4,6 +4,6 @@ syntax = "proto3";
package Tango.PMR.Diagnostics;
option java_package = "com.twine.tango.pmr.diagnostics";
-message InkFillingRequest
+message StartInkFillingRequest
{
} \ No newline at end of file
diff --git a/Software/PMR/Messages/Diagnostics/StartInkFillingResponse.proto b/Software/PMR/Messages/Diagnostics/StartInkFillingResponse.proto
index 877d82036..735275bdd 100644
--- a/Software/PMR/Messages/Diagnostics/StartInkFillingResponse.proto
+++ b/Software/PMR/Messages/Diagnostics/StartInkFillingResponse.proto
@@ -6,7 +6,7 @@ import "FillingAction.proto";
package Tango.PMR.Diagnostics;
option java_package = "com.twine.tango.pmr.diagnostics";
-message FillingActionResponse
+message StartInkFillingResponse
{
Cartridge Cartridge = 1;
FillingAction Action = 2;
diff --git a/Software/PMR/Messages/Diagnostics/StartWasteEmptyingRequest.proto b/Software/PMR/Messages/Diagnostics/StartWasteEmptyingRequest.proto
index 18b366e7c..e33afd08d 100644
--- a/Software/PMR/Messages/Diagnostics/StartWasteEmptyingRequest.proto
+++ b/Software/PMR/Messages/Diagnostics/StartWasteEmptyingRequest.proto
@@ -3,6 +3,6 @@ syntax = "proto3";
package Tango.PMR.Diagnostics;
option java_package = "com.twine.tango.pmr.diagnostics";
-message WasteEmptyingRequest
+message StartWasteEmptyingRequest
{
} \ No newline at end of file
diff --git a/Software/PMR/Messages/Diagnostics/StartWasteEmptyingResponse.proto b/Software/PMR/Messages/Diagnostics/StartWasteEmptyingResponse.proto
index 877d82036..caa7b0a4f 100644
--- a/Software/PMR/Messages/Diagnostics/StartWasteEmptyingResponse.proto
+++ b/Software/PMR/Messages/Diagnostics/StartWasteEmptyingResponse.proto
@@ -6,7 +6,7 @@ import "FillingAction.proto";
package Tango.PMR.Diagnostics;
option java_package = "com.twine.tango.pmr.diagnostics";
-message FillingActionResponse
+message StartWasteEmptyingResponse
{
Cartridge Cartridge = 1;
FillingAction Action = 2;