aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-09-09 11:58:16 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-09-09 11:58:16 +0300
commitadb75c06d7d75a6ebfaadab3c17c5b8296fd485d (patch)
tree67bcade177ad9f05349af468594ec21df86c4cd6 /Software/Embedded_SW/Embedded
parent738bebec92cfcec046821fe994f3a168df870978 (diff)
downloadTango-adb75c06d7d75a6ebfaadab3c17c5b8296fd485d.tar.gz
Tango-adb75c06d7d75a6ebfaadab3c17c5b8296fd485d.zip
USE BOTH HEATERS IN DRYER! machine calibration data. rfid tag content PPC<==>RFID transfer.
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c207
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RfidTagContent.h51
-rw-r--r--Software/Embedded_SW/Embedded/Communication/Container.c4
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c22
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h2
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.h77
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c38
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c13
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h51
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c2
18 files changed, 842 insertions, 67 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
index ca0b060ba..19b0c8ffa 100644
--- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
+++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
@@ -20,7 +20,7 @@ typedef struct
} TangoVersion_t;
-TangoVersion_t _gTangoVersion = {1,4,4,5};//remove AUTO_HOME_DISPENSERS + midtank pressure new calculation
+TangoVersion_t _gTangoVersion = {1,4,4,6};//remove AUTO_HOME_DISPENSERS + midtank pressure new calculation
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
new file mode 100644
index 000000000..17dc62bfd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
@@ -0,0 +1,207 @@
+/*
+ * RFIDTagHandling.c
+ *
+ * Created on: Sep 8, 2019
+ * Author: shlomo
+ */
+#include "include.h"
+
+#include "Modules/Waste/Waste.h"
+#include "Modules/IFS/ifs.h"
+#include "Modules/AlarmHandling/AlarmHandling.h"
+#include "CartridgeValidationRequest.pb-c.h"
+#include "CartridgeValidationResponse.pb-c.h"
+#include <PMR/Diagnostics/EventType.pb-c.h>
+#include <Utilities/RfidTagContent.h>
+#include "drivers/Valves/Valve.h"
+#include "Modules/Waste/Waste.h"
+#include "CartridgeSlot.pb-c.h"
+#include "CartridgeTagContent.pb-c.h"
+#include "Cartridge.pb-c.h"
+
+/*
+ typedef struct
+{
+ uint32_t UniqueId;
+ char SerialNumber[16];
+ char FactoryId[3];
+ int32_t FillingSystemId;
+ char ColorName[12];
+ int32_t ColorCategory;
+ int32_t ColorTypeRevision;
+ int32_t CartridgeSize;
+ int32_t FilledInkVolume;
+ char InkBatchNum[10];
+ char InkMFGDate[6];
+ char InkEOLDate[6];
+ char CartridgeFillingDate[6];
+ char WasteFilledDate[6];
+ int32_t PlugInCounter;
+ bool Inkfill;
+ bool InkUsed;
+ bool InkEmpty;
+ bool WasteEmpty;
+ bool WasteFilling;
+ bool WasteFull;
+ bool Blocked;
+ bool Fail;
+ int32_t WasteCounter;
+ char MachineIdInkUsed[16];
+ char MachineIdWasteUsed[16];
+}RfidTagContent;
+ struct _CartridgeTagContent
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_uniqueid;
+ uint32_t uniqueid;
+ char *serialnumber;
+ char *factoryid;
+ protobuf_c_boolean has_fillingsystemid;
+ int32_t fillingsystemid;
+ char *colorname;
+ protobuf_c_boolean has_colorcategory;
+ int32_t colorcategory;
+ protobuf_c_boolean has_colortyperevision;
+ int32_t colortyperevision;
+ protobuf_c_boolean has_cartridgesize;
+ int32_t cartridgesize;
+ protobuf_c_boolean has_filledinkvolume;
+ int32_t filledinkvolume;
+ char *inkbatchnum;
+ char *inkmfgdate;
+ char *inkeoldate;
+ char *cartridgefillingdate;
+ char *wastefilleddate;
+ protobuf_c_boolean has_plugincounter;
+ int32_t plugincounter;
+ protobuf_c_boolean has_inkfill;
+ protobuf_c_boolean inkfill;
+ protobuf_c_boolean has_inkused;
+ protobuf_c_boolean inkused;
+ protobuf_c_boolean has_inkempty;
+ protobuf_c_boolean inkempty;
+ protobuf_c_boolean has_wasteempty;
+ protobuf_c_boolean wasteempty;
+ protobuf_c_boolean has_wastefilling;
+ protobuf_c_boolean wastefilling;
+ protobuf_c_boolean has_wastefull;
+ protobuf_c_boolean wastefull;
+ protobuf_c_boolean has_blocked;
+ protobuf_c_boolean blocked;
+ protobuf_c_boolean has_fail;
+ protobuf_c_boolean fail;
+ protobuf_c_boolean has_wastecounter;
+ int32_t wastecounter;
+ char *machineidinkused;
+ char *machineidwasteused;
+};
+ */
+CartridgeTagContent * RFID_Tag2PPC(RfidTagContent *Tag)
+{
+ CartridgeTagContent *PpcTag = my_malloc(sizeof(CartridgeTagContent));
+
+ if (PpcTag == NULL)
+ return NULL;
+
+
+ cartridge_Tag_content__init(PpcTag);
+ PpcTag->has_uniqueid = true;
+ PpcTag->uniqueid = Tag->uniqueid;
+ PpcTag->serialnumber = Tag->serialnumber;
+ PpcTag->factoryid = Tag->factoryid;
+
+ PpcTag->has_fillingsystemid = true;
+ PpcTag->fillingsystemid = Tag->fillingsystemid;
+ PpcTag->colorname = Tag->colorname;
+ PpcTag->has_colorcategory = true;
+ PpcTag->colorcategory = Tag->colorcategory;
+ PpcTag->has_colortyperevision = true;
+ PpcTag->colortyperevision = Tag->colortyperevision;
+ PpcTag->has_cartridgesize = true;
+ PpcTag->cartridgesize = Tag->cartridgesize;
+ PpcTag->has_filledinkvolume = true;
+ PpcTag->filledinkvolume = Tag->filledinkvolume;
+ PpcTag->inkbatchnum = Tag->inkbatchnum;
+ PpcTag->inkmfgdate = Tag->inkmfgdate;
+ PpcTag->inkeoldate = Tag->inkeoldate;
+ PpcTag->cartridgefillingdate = Tag->cartridgefillingdate;
+ PpcTag->wastefilleddate = Tag->wastefilleddate;
+ PpcTag->has_plugincounter = true;
+ PpcTag->plugincounter = Tag->plugincounter;
+ PpcTag->has_inkfill = true;
+ PpcTag->inkfill = Tag->inkfill;
+ PpcTag->has_inkused = true;
+ PpcTag->inkused = Tag->inkused;
+ PpcTag->has_inkempty = true;
+ PpcTag->inkempty = Tag->inkempty;
+ PpcTag->has_wasteempty = true;
+ PpcTag->wasteempty = Tag->wasteempty;
+ PpcTag->has_wastefilling;
+ PpcTag->wastefilling = Tag->wastefilling;
+ PpcTag->has_wastefull = true;
+ PpcTag->wastefull = Tag->wastefull;
+ PpcTag->has_blocked = true;
+ PpcTag->blocked = Tag->blocked;
+ PpcTag->has_fail = true;
+ PpcTag->fail = Tag->fail;
+ PpcTag->has_wastecounter = true;
+ PpcTag->wastecounter = Tag->wastecounter;
+ PpcTag->machineidinkused = Tag->machineidinkused;
+ PpcTag->machineidwasteused = Tag->machineidwasteused;
+
+ return PpcTag;
+}
+RfidTagContent * RFID_PPC2Tag( CartridgeTagContent *PpcTag)
+{
+ RfidTagContent *Tag = my_malloc(sizeof(RfidTagContent));
+ if (Tag == NULL)
+ return NULL;
+ memset (Tag,0,sizeof(Tag));
+
+ if (PpcTag->has_uniqueid == true)
+ Tag->uniqueid = PpcTag->uniqueid;
+ memcpy(Tag->serialnumber , PpcTag->serialnumber,sizeof(Tag->serialnumber));
+ memcpy(Tag->factoryid , PpcTag->factoryid,sizeof(Tag->factoryid));
+
+ if (PpcTag->has_fillingsystemid == true)
+ Tag->fillingsystemid = PpcTag->fillingsystemid;
+ memcpy(Tag->colorname , PpcTag->colorname,sizeof(Tag->colorname));
+ if (PpcTag->has_colorcategory == true)
+ Tag->colorcategory = PpcTag->colorcategory;
+ if (PpcTag->has_colortyperevision == true)
+ Tag->colortyperevision = PpcTag->colortyperevision;
+ if (PpcTag->has_cartridgesize == true)
+ Tag->cartridgesize = PpcTag->cartridgesize;
+ if (PpcTag->has_filledinkvolume == true)
+ Tag->filledinkvolume = PpcTag->filledinkvolume;
+ memcpy(Tag->inkbatchnum , PpcTag->inkbatchnum,sizeof(Tag->inkbatchnum));
+ memcpy(Tag->inkmfgdate , PpcTag->inkmfgdate,sizeof(Tag->inkmfgdate));
+ memcpy(Tag->inkeoldate , PpcTag->inkeoldate,sizeof(Tag->inkeoldate));
+ memcpy(Tag->cartridgefillingdate , PpcTag->cartridgefillingdate,sizeof(Tag->cartridgefillingdate));
+ memcpy(Tag->wastefilleddate , PpcTag->wastefilleddate,sizeof(Tag->wastefilleddate));
+ if (PpcTag->has_plugincounter == true)
+ Tag->plugincounter = PpcTag->plugincounter;
+ if (PpcTag->has_inkfill == true)
+ Tag->inkfill = PpcTag->inkfill;
+ if (PpcTag->has_inkused == true)
+ Tag->inkused = PpcTag->inkused;
+ if (PpcTag->has_inkempty == true)
+ Tag->inkempty = PpcTag->inkempty;
+ if (PpcTag->has_wasteempty == true)
+ Tag->wasteempty = PpcTag->wasteempty;
+ if (PpcTag->has_wastefilling == true)
+ Tag->wastefilling = PpcTag->wastefilling;
+ if (PpcTag->has_wastefull == true)
+ Tag->wastefull = PpcTag->wastefull;
+ if (PpcTag->has_blocked == true)
+ Tag->blocked = PpcTag->blocked;
+ if (PpcTag->has_fail == true)
+ Tag->fail = PpcTag->fail;
+ if (PpcTag->has_wastecounter == true)
+ Tag->wastecounter = PpcTag->wastecounter;
+ memcpy(Tag->machineidinkused , PpcTag->machineidinkused,sizeof(Tag->machineidinkused));
+ memcpy(Tag->machineidwasteused , PpcTag->machineidwasteused,sizeof(Tag->machineidwasteused));
+
+ return Tag;
+
+}
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RfidTagContent.h b/Software/Embedded_SW/Embedded/Common/Utilities/RfidTagContent.h
new file mode 100644
index 000000000..e94392e49
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/RfidTagContent.h
@@ -0,0 +1,51 @@
+/*
+ * RfidTagContent.h
+ *
+ * Created on: Jul 8, 2019
+ * Author: shlomo
+ */
+
+#ifndef MODULES_IFS_RFIDTAGCONTENT_H_
+#define MODULES_IFS_RFIDTAGCONTENT_H_
+
+#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
+#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
+
+#include <DataDef.h>
+#include "include.h"
+
+
+#define MAX_CARTRIDGES (CARTRIDGE_SLOT__WasteLower+1)
+typedef struct
+{
+ uint32_t uniqueid;
+ char serialnumber[16];
+ char factoryid[3];
+ int32_t fillingsystemid;
+ char colorname[12];
+ int32_t colorcategory;
+ int32_t colortyperevision;
+ int32_t cartridgesize;
+ int32_t filledinkvolume;
+ char inkbatchnum[10];
+ char inkmfgdate[6];
+ char inkeoldate[6];
+ char cartridgefillingdate[6];
+ char wastefilleddate[6];
+ int32_t plugincounter;
+ bool inkfill;
+ bool inkused;
+ bool inkempty;
+ bool wasteempty;
+ bool wastefilling;
+ bool wastefull;
+ bool blocked;
+ bool fail;
+ int32_t wastecounter;
+ char machineidinkused[16];
+ char machineidwasteused[16];
+}RfidTagContent;
+
+
+
+#endif /* MODULES_IFS_RFIDTAGCONTENT_H_ */
diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c
index d7a669f1d..265047f8a 100644
--- a/Software/Embedded_SW/Embedded/Communication/Container.c
+++ b/Software/Embedded_SW/Embedded/Communication/Container.c
@@ -438,6 +438,10 @@ void receive_callback(char* buffer, size_t length)
case MESSAGE_TYPE__MidTankDataSetupRequest:
MidTankDataSetupFunc(requestContainer);
break;
+
+ case MESSAGE_TYPE__MachineCalibrationDataRequest:
+ MachineCalibrationDataRequestFunc(requestContainer);
+ break;
case MESSAGE_TYPE__StartMachineStatusUpdateRequest:
MachineUpdateInitFunc(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 e620643a7..2f8a86d66 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[221] =
+static const ProtobufCEnumValue message_type__enum_values_by_number[223] =
{
{ "None", "MESSAGE_TYPE__None", 0 },
{ "ErrorResponse", "MESSAGE_TYPE__ErrorResponse", 1 },
@@ -226,15 +226,17 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[221] =
{ "DispenserDataResponse", "MESSAGE_TYPE__DispenserDataResponse", 8001 },
{ "MidTankDataSetupRequest", "MESSAGE_TYPE__MidTankDataSetupRequest", 8002 },
{ "MidTankDataSetupResponse", "MESSAGE_TYPE__MidTankDataSetupResponse", 8003 },
+ { "MachineCalibrationDataRequest", "MESSAGE_TYPE__MachineCalibrationDataRequest", 8004 },
+ { "MachineCalibrationDataResponse", "MESSAGE_TYPE__MachineCalibrationDataResponse", 8005 },
{ "StartMachineStatusUpdateRequest", "MESSAGE_TYPE__StartMachineStatusUpdateRequest", 9000 },
{ "StartMachineStatusUpdateResponse", "MESSAGE_TYPE__StartMachineStatusUpdateResponse", 9001 },
{ "StopMachineStatusUpdateRequest", "MESSAGE_TYPE__StopMachineStatusUpdateRequest", 9002 },
{ "StopMachineStatusUpdateResponse", "MESSAGE_TYPE__StopMachineStatusUpdateResponse", 9003 },
};
static const ProtobufCIntRange message_type__value_ranges[] = {
-{0, 0},{3, 2},{1000, 104},{2000, 119},{3000, 165},{4000, 175},{5000, 179},{6000, 183},{7000, 189},{8000, 213},{9000, 217},{0, 221}
+{0, 0},{3, 2},{1000, 104},{2000, 119},{3000, 165},{4000, 175},{5000, 179},{6000, 183},{7000, 189},{8000, 213},{9000, 219},{0, 223}
};
-static const ProtobufCEnumValueIndex message_type__enum_values_by_name[221] =
+static const ProtobufCEnumValueIndex message_type__enum_values_by_name[223] =
{
{ "AbortJobRequest", 167 },
{ "AbortJobResponse", 168 },
@@ -294,6 +296,8 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[221] =
{ "KeepAliveResponse", 184 },
{ "KillProcessRequest", 195 },
{ "KillProcessResponse", 196 },
+ { "MachineCalibrationDataRequest", 217 },
+ { "MachineCalibrationDataResponse", 218 },
{ "MidTankDataSetupRequest", 215 },
{ "MidTankDataSetupResponse", 216 },
{ "MotorAbortHomingRequest", 121 },
@@ -333,8 +337,8 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[221] =
{ "StartDiagnosticsResponse", 120 },
{ "StartEventsNotificationRequest", 149 },
{ "StartEventsNotificationResponse", 150 },
- { "StartMachineStatusUpdateRequest", 217 },
- { "StartMachineStatusUpdateResponse", 218 },
+ { "StartMachineStatusUpdateRequest", 219 },
+ { "StartMachineStatusUpdateResponse", 220 },
{ "StopApplicationLogsRequest", 115 },
{ "StopApplicationLogsResponse", 116 },
{ "StopCartridgesUpdateRequest", 161 },
@@ -345,8 +349,8 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[221] =
{ "StopDiagnosticsResponse", 148 },
{ "StopEventsNotificationRequest", 151 },
{ "StopEventsNotificationResponse", 152 },
- { "StopMachineStatusUpdateRequest", 219 },
- { "StopMachineStatusUpdateResponse", 220 },
+ { "StopMachineStatusUpdateRequest", 221 },
+ { "StopMachineStatusUpdateResponse", 222 },
{ "StubAbortJobRequest", 100 },
{ "StubAbortJobResponse", 101 },
{ "StubCartridgeReadRequest", 6 },
@@ -465,9 +469,9 @@ const ProtobufCEnumDescriptor message_type__descriptor =
"MessageType",
"MessageType",
"",
- 221,
+ 223,
message_type__enum_values_by_number,
- 221,
+ 223,
message_type__enum_values_by_name,
11,
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 c73022559..71e0db881 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
@@ -237,6 +237,8 @@ typedef enum _MessageType {
MESSAGE_TYPE__DispenserDataResponse = 8001,
MESSAGE_TYPE__MidTankDataSetupRequest = 8002,
MESSAGE_TYPE__MidTankDataSetupResponse = 8003,
+ MESSAGE_TYPE__MachineCalibrationDataRequest = 8004,
+ MESSAGE_TYPE__MachineCalibrationDataResponse = 8005,
MESSAGE_TYPE__StartMachineStatusUpdateRequest = 9000,
MESSAGE_TYPE__StartMachineStatusUpdateResponse = 9001,
MESSAGE_TYPE__StopMachineStatusUpdateRequest = 9002,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.c
new file mode 100644
index 000000000..0b27078d6
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationData.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MachineCalibrationData.pb-c.h"
+void machine_calibration_data__init
+ (MachineCalibrationData *message)
+{
+ static const MachineCalibrationData init_value = MACHINE_CALIBRATION_DATA__INIT;
+ *message = init_value;
+}
+size_t machine_calibration_data__get_packed_size
+ (const MachineCalibrationData *message)
+{
+ assert(message->base.descriptor == &machine_calibration_data__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t machine_calibration_data__pack
+ (const MachineCalibrationData *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &machine_calibration_data__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t machine_calibration_data__pack_to_buffer
+ (const MachineCalibrationData *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &machine_calibration_data__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MachineCalibrationData *
+ machine_calibration_data__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MachineCalibrationData *)
+ protobuf_c_message_unpack (&machine_calibration_data__descriptor,
+ allocator, len, data);
+}
+void machine_calibration_data__free_unpacked
+ (MachineCalibrationData *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &machine_calibration_data__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor machine_calibration_data__field_descriptors[4] =
+{
+ {
+ "DancerMiddlePoint",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(MachineCalibrationData, n_dancermiddlepoint),
+ offsetof(MachineCalibrationData, dancermiddlepoint),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MidTankInfo",
+ 2,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(MachineCalibrationData, n_midtankinfo),
+ offsetof(MachineCalibrationData, midtankinfo),
+ &mid_tank_data__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MachineSerialNumber",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(MachineCalibrationData, machineserialnumber),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MACAddress",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(MachineCalibrationData, macaddress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned machine_calibration_data__field_indices_by_name[] = {
+ 0, /* field[0] = DancerMiddlePoint */
+ 3, /* field[3] = MACAddress */
+ 2, /* field[2] = MachineSerialNumber */
+ 1, /* field[1] = MidTankInfo */
+};
+static const ProtobufCIntRange machine_calibration_data__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor machine_calibration_data__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MachineCalibrationData",
+ "MachineCalibrationData",
+ "MachineCalibrationData",
+ "",
+ sizeof(MachineCalibrationData),
+ 4,
+ machine_calibration_data__field_descriptors,
+ machine_calibration_data__field_indices_by_name,
+ 1, machine_calibration_data__number_ranges,
+ (ProtobufCMessageInit) machine_calibration_data__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.h
new file mode 100644
index 000000000..f0a86f429
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationData.pb-c.h
@@ -0,0 +1,77 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationData.proto */
+
+#ifndef PROTOBUF_C_MachineCalibrationData_2eproto__INCLUDED
+#define PROTOBUF_C_MachineCalibrationData_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 "MidTankData.pb-c.h"
+
+typedef struct _MachineCalibrationData MachineCalibrationData;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MachineCalibrationData
+{
+ ProtobufCMessage base;
+ size_t n_dancermiddlepoint;
+ uint32_t *dancermiddlepoint;
+ size_t n_midtankinfo;
+ MidTankData **midtankinfo;
+ char *machineserialnumber;
+ char *macaddress;
+};
+#define MACHINE_CALIBRATION_DATA__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&machine_calibration_data__descriptor) \
+ , 0,NULL, 0,NULL, NULL, NULL }
+
+
+/* MachineCalibrationData methods */
+void machine_calibration_data__init
+ (MachineCalibrationData *message);
+size_t machine_calibration_data__get_packed_size
+ (const MachineCalibrationData *message);
+size_t machine_calibration_data__pack
+ (const MachineCalibrationData *message,
+ uint8_t *out);
+size_t machine_calibration_data__pack_to_buffer
+ (const MachineCalibrationData *message,
+ ProtobufCBuffer *buffer);
+MachineCalibrationData *
+ machine_calibration_data__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void machine_calibration_data__free_unpacked
+ (MachineCalibrationData *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MachineCalibrationData_Closure)
+ (const MachineCalibrationData *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor machine_calibration_data__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MachineCalibrationData_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.c
new file mode 100644
index 000000000..6c130bd01
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationDataRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MachineCalibrationDataRequest.pb-c.h"
+void machine_calibration_data_request__init
+ (MachineCalibrationDataRequest *message)
+{
+ static const MachineCalibrationDataRequest init_value = MACHINE_CALIBRATION_DATA_REQUEST__INIT;
+ *message = init_value;
+}
+size_t machine_calibration_data_request__get_packed_size
+ (const MachineCalibrationDataRequest *message)
+{
+ assert(message->base.descriptor == &machine_calibration_data_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t machine_calibration_data_request__pack
+ (const MachineCalibrationDataRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &machine_calibration_data_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t machine_calibration_data_request__pack_to_buffer
+ (const MachineCalibrationDataRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &machine_calibration_data_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MachineCalibrationDataRequest *
+ machine_calibration_data_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MachineCalibrationDataRequest *)
+ protobuf_c_message_unpack (&machine_calibration_data_request__descriptor,
+ allocator, len, data);
+}
+void machine_calibration_data_request__free_unpacked
+ (MachineCalibrationDataRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &machine_calibration_data_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define machine_calibration_data_request__field_descriptors NULL
+#define machine_calibration_data_request__field_indices_by_name NULL
+#define machine_calibration_data_request__number_ranges NULL
+const ProtobufCMessageDescriptor machine_calibration_data_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MachineCalibrationDataRequest",
+ "MachineCalibrationDataRequest",
+ "MachineCalibrationDataRequest",
+ "",
+ sizeof(MachineCalibrationDataRequest),
+ 0,
+ machine_calibration_data_request__field_descriptors,
+ machine_calibration_data_request__field_indices_by_name,
+ 0, machine_calibration_data_request__number_ranges,
+ (ProtobufCMessageInit) machine_calibration_data_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h
new file mode 100644
index 000000000..0e66d728e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationDataRequest.proto */
+
+#ifndef PROTOBUF_C_MachineCalibrationDataRequest_2eproto__INCLUDED
+#define PROTOBUF_C_MachineCalibrationDataRequest_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 _MachineCalibrationDataRequest MachineCalibrationDataRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MachineCalibrationDataRequest
+{
+ ProtobufCMessage base;
+};
+#define MACHINE_CALIBRATION_DATA_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&machine_calibration_data_request__descriptor) \
+ }
+
+
+/* MachineCalibrationDataRequest methods */
+void machine_calibration_data_request__init
+ (MachineCalibrationDataRequest *message);
+size_t machine_calibration_data_request__get_packed_size
+ (const MachineCalibrationDataRequest *message);
+size_t machine_calibration_data_request__pack
+ (const MachineCalibrationDataRequest *message,
+ uint8_t *out);
+size_t machine_calibration_data_request__pack_to_buffer
+ (const MachineCalibrationDataRequest *message,
+ ProtobufCBuffer *buffer);
+MachineCalibrationDataRequest *
+ machine_calibration_data_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void machine_calibration_data_request__free_unpacked
+ (MachineCalibrationDataRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MachineCalibrationDataRequest_Closure)
+ (const MachineCalibrationDataRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor machine_calibration_data_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MachineCalibrationDataRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.c
new file mode 100644
index 000000000..a91062773
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationDataResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MachineCalibrationDataResponse.pb-c.h"
+void machine_calibration_data_response__init
+ (MachineCalibrationDataResponse *message)
+{
+ static const MachineCalibrationDataResponse init_value = MACHINE_CALIBRATION_DATA_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t machine_calibration_data_response__get_packed_size
+ (const MachineCalibrationDataResponse *message)
+{
+ assert(message->base.descriptor == &machine_calibration_data_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t machine_calibration_data_response__pack
+ (const MachineCalibrationDataResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &machine_calibration_data_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t machine_calibration_data_response__pack_to_buffer
+ (const MachineCalibrationDataResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &machine_calibration_data_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MachineCalibrationDataResponse *
+ machine_calibration_data_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MachineCalibrationDataResponse *)
+ protobuf_c_message_unpack (&machine_calibration_data_response__descriptor,
+ allocator, len, data);
+}
+void machine_calibration_data_response__free_unpacked
+ (MachineCalibrationDataResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &machine_calibration_data_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor machine_calibration_data_response__field_descriptors[1] =
+{
+ {
+ "MachineCalibrationData",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(MachineCalibrationDataResponse, machinecalibrationdata),
+ &machine_calibration_data__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned machine_calibration_data_response__field_indices_by_name[] = {
+ 0, /* field[0] = MachineCalibrationData */
+};
+static const ProtobufCIntRange machine_calibration_data_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor machine_calibration_data_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MachineCalibrationDataResponse",
+ "MachineCalibrationDataResponse",
+ "MachineCalibrationDataResponse",
+ "",
+ sizeof(MachineCalibrationDataResponse),
+ 1,
+ machine_calibration_data_response__field_descriptors,
+ machine_calibration_data_response__field_indices_by_name,
+ 1, machine_calibration_data_response__number_ranges,
+ (ProtobufCMessageInit) machine_calibration_data_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h
new file mode 100644
index 000000000..a1c83a7c4
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MachineCalibrationDataResponse.proto */
+
+#ifndef PROTOBUF_C_MachineCalibrationDataResponse_2eproto__INCLUDED
+#define PROTOBUF_C_MachineCalibrationDataResponse_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 "MachineCalibrationData.pb-c.h"
+
+typedef struct _MachineCalibrationDataResponse MachineCalibrationDataResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MachineCalibrationDataResponse
+{
+ ProtobufCMessage base;
+ MachineCalibrationData *machinecalibrationdata;
+};
+#define MACHINE_CALIBRATION_DATA_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&machine_calibration_data_response__descriptor) \
+ , NULL }
+
+
+/* MachineCalibrationDataResponse methods */
+void machine_calibration_data_response__init
+ (MachineCalibrationDataResponse *message);
+size_t machine_calibration_data_response__get_packed_size
+ (const MachineCalibrationDataResponse *message);
+size_t machine_calibration_data_response__pack
+ (const MachineCalibrationDataResponse *message,
+ uint8_t *out);
+size_t machine_calibration_data_response__pack_to_buffer
+ (const MachineCalibrationDataResponse *message,
+ ProtobufCBuffer *buffer);
+MachineCalibrationDataResponse *
+ machine_calibration_data_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void machine_calibration_data_response__free_unpacked
+ (MachineCalibrationDataResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MachineCalibrationDataResponse_Closure)
+ (const MachineCalibrationDataResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor machine_calibration_data_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MachineCalibrationDataResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 8bece8b61..c2e71995e 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -33,6 +33,8 @@
#include "PMR/EmbeddedParameters/MidTankDataSetupRequest.pb-c.h"
#include "PMR/EmbeddedParameters/MidTankDataSetupResponse.pb-c.h"
#include "PMR/EmbeddedParameters/ConfigurationParameters.pb-c.h"
+#include "PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h"
+#include "PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h"
#include "PMR/Hardware/SystemResetRequest.pb-c.h"
#include "PMR/Hardware/SystemResetResponse.pb-c.h"
@@ -310,7 +312,7 @@ uint32_t EmbeddedParametersInit(void)
checkTamperAlarms = (EmbeddedParameters->generalparameters[2] < 0.5)?false:true;
checkMotorAlarms = (EmbeddedParameters->generalparameters[3] < 0.5)?false:true;
AlarmHandlingSetFlags(checkHardLimitAlarms,checkCurrentAlarms,checkTamperAlarms,checkMotorAlarms);
-// AlarmHandlingSetCurrentLimits(EmbeddedParameters->currentalarmhighlimit,EmbeddedParameters->currentalarmlowlimit);
+ //AlarmHandlingSetCurrentLimits(EmbeddedParameters->currentalarmhighlimit,EmbeddedParameters->currentalarmlowlimit);
}
if (EmbeddedParameters->n_generalparameters >= 5)
SetWinderBackToBaseTime((uint32_t) EmbeddedParameters->generalparameters[4]);
@@ -487,6 +489,40 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest)
return OK;
}
char Serial[21];
+
+uint32_t MachineCalibrationDataRequestFunc(MessageContainer* requestContainer)
+{
+// MachineCalibrationData MachineData =MACHINE_CALIBRATION_DATA__INIT;
+ MessageContainer responseContainer;
+ MachineCalibrationDataRequest *request = machine_calibration_data_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+/* for (i = 0;i<8;i++)
+ {
+ float a=0,b=0;
+ a = MCU_E2PromReadMidtank_A(i);
+ b = MCU_E2PromReadMidtank_B(i);
+ Report("MidTankData Read", __FILE__,__LINE__,(int)(a*1000), RpMessage, (int)(b*1000), 0);
+ }
+ //debug only
+ Task_sleep(1000);
+ MCU_E2PromSerialNumProgram ("Take me to the sky");
+ memset (Serial,0,20);
+ MCU_E2PromSerialNumRead(&Serial);
+ Report(Serial, __FILE__,__LINE__,22, RpMessage, 21, 0);
+*/
+
+ MachineCalibrationDataResponse response = MACHINE_CALIBRATION_DATA_RESPONSE__INIT;
+ machine_calibration_data__init(&response.machinecalibrationdata);
+
+ responseContainer = createContainer(MESSAGE_TYPE__MachineCalibrationDataResponse, requestContainer->token, true, &response, &machine_calibration_data_response__pack, &machine_calibration_data_response__get_packed_size);
+ //-------------------------------------------------------------------------------------------
+ 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);
+ SendChars((char*)container_buffer, container_size);
+
+ return OK;
+
+}
uint32_t MidTankDataSetupFunc(MessageContainer* requestContainer)
{
MessageContainer responseContainer;
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h
index 68dbf82fa..538204f0b 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h
@@ -11,6 +11,7 @@ extern ConfigurationParameters *EmbeddedParameters;
extern uint32_t HWConfigurationFunc(MessageContainer* requestContainer);
extern uint32_t MidTankDataSetupFunc(MessageContainer* requestContainer);
+extern uint32_t MachineCalibrationDataRequestFunc(MessageContainer* requestContainer);
extern void HWSystemResetRequest(MessageContainer* requestContainer);
uint32_t HWConfigurationInit(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 050bb65b8..73b3321df 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1370,10 +1370,17 @@ uint32_t HeatersControlLoop(uint32_t tick)
//Activate HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain
ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain);
//DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary
- DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary);
+ //DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary);
+ }
+ if (HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] == false)
+ {
+#warning trial use both heaters in drier
+ ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary);
+ //DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary
+ //DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary);
}
}
- else if (TimeSliceAllocation[SliceCounter] == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary)
+ /*else if (TimeSliceAllocation[SliceCounter] == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary)
{
if (HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] == false)
{
@@ -1383,7 +1390,7 @@ uint32_t HeatersControlLoop(uint32_t tick)
//Activate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary
ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary);
}
- }
+ }*/
else
{
//DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h b/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h
deleted file mode 100644
index 57659616e..000000000
--- a/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * RfidTagContent.h
- *
- * Created on: Jul 8, 2019
- * Author: shlomo
- */
-
-#ifndef MODULES_IFS_RFIDTAGCONTENT_H_
-#define MODULES_IFS_RFIDTAGCONTENT_H_
-
-#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
-#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
-
-#include <DataDef.h>
-#include "include.h"
-
-
-#define MAX_CARTRIDGES (CARTRIDGE_SLOT__WasteLower+1)
-typedef struct
-{
- uint32_t UniqueId;
- char SerialNumber[16];
- char FactoryId[3];
- int32_t FillingSystemId;
- char ColorName[12];
- int32_t ColorCategory;
- int32_t ColorTypeRevision;
- int32_t CartridgeSize;
- int32_t FilledInkVolume;
- char InkBatchNum[10];
- char InkMFGDate[6];
- char InkEOLDate[6];
- char CartridgeFillingDate[6];
- char WasteFilledDate[6];
- int32_t PlugInCounter;
- bool Inkfill;
- bool InkUsed;
- bool InkEmpty;
- bool WasteEmpty;
- bool WasteFilling;
- bool WasteFull;
- bool Blocked;
- bool Fail;
- int32_t WasteCounter;
- char MachineIdInkUsed[16];
- char MachineIdWasteUsed[16];
-}RfidTagContent;
-
-
-
-#endif /* MODULES_IFS_RFIDTAGCONTENT_H_ */
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 0e18ffdad..d51dc6748 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -10,7 +10,7 @@
#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
-#include "RfidTagContent.h"
+#include "common/utilities/RfidTagContent.h"
#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include <DataDef.h>
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index c8084c9ad..3265fb56b 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -7,7 +7,7 @@
#include "drivers/Valves/Valve.h"
#include "Common/report/report.h"
#include "Modules/Waste/Waste.h"
-#include "Modules/IFS/RfidTagContent.h"
+#include "common/utilities/RfidTagContent.h"
#include <PMR/Diagnostics/EventType.pb-c.h>
#include "Modules/AlarmHandling/AlarmHandling.h"