aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-10-15 17:03:53 +0300
committerAvi Levkovich <avi@twine-s.com>2020-10-15 17:03:53 +0300
commitfd4f2d63b097dc9e189c9d30682bd6d5cc584d48 (patch)
tree8b911df6ec6f7c29ac85aa1dd8e331ed86f1e6bf /Software/Embedded_SW
parent6a3361f3a9e08b63b39589add64f5802932022f3 (diff)
parent1b2dfd51ae086f40bba2934e550d9d4b8cca9cce (diff)
downloadTango-fd4f2d63b097dc9e189c9d30682bd6d5cc584d48.tar.gz
Tango-fd4f2d63b097dc9e189c9d30682bd6d5cc584d48.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/.cproject2
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c122
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.h2
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/reportInit.c8
-rw-r--r--Software/Embedded_SW/Embedded/Communication/Container.c10
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c242
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h10
-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/StartCartridgesUpdateRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.c59
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.h54
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.h78
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.h73
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c19
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h4
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c45
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h8
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c19
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h4
-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/DataDef.h14
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c1
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/ff.c8
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h97
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c19
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c8
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h2
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c9
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c15
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c117
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c314
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_Cleaning.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c69
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c14
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c18
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c22
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c66
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt20
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c4
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c18
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c33
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c2
72 files changed, 2122 insertions, 1089 deletions
diff --git a/Software/Embedded_SW/Embedded/.cproject b/Software/Embedded_SW/Embedded/.cproject
index 88f4e5215..ecfc74bc3 100644
--- a/Software/Embedded_SW/Embedded/.cproject
+++ b/Software/Embedded_SW/Embedded/.cproject
@@ -288,7 +288,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="builds also the PMR" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;org.eclipse.cdt.core.GmakeErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.87225697.838615887" name="debug_w_pmr" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="&quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin&quot; &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; &quot;${CG_TOOL_ROOT}/bin/armofd&quot; &quot;${CG_TOOL_ROOT}/bin/armhex&quot; &quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin&quot;;" prebuildStep="&quot;../../../Visual_Studio/Build/utilities/Debug/proto-tc.exe&quot; -m -i ../../../PMR/Messages -o ../Communication/PMR -l C -c&quot;Common,Connection,Diagnostics,Hardware,Printing,Debugging,Stubs,IO,FirmwareUpgrade,EmbeddedParameters,MachineStatus,Power,ThreadLoading&quot;;">
+ <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="builds also the PMR" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;org.eclipse.cdt.core.GmakeErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.87225697.838615887" name="debug_w_pmr" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="&quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin&quot; &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; &quot;${CG_TOOL_ROOT}/bin/armofd&quot; &quot;${CG_TOOL_ROOT}/bin/armhex&quot; &quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin&quot;;" prebuildStep="&quot;../../../Visual_Studio/Build/utilities/Debug/proto-tc.exe&quot; -m -i ../../../PMR/Messages -o ../Communication/PMR -l C -c&quot;Common,Connection,Diagnostics,Hardware,Printing,Debugging,Stubs,IO,FirmwareUpgrade,EmbeddedParameters,MachineStatus,Power,ThreadLoading,IFS&quot;;">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.87225697.838615887." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.DebugToolchain.374121404" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerDebug.2015775392">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1715586318" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
index f6bc50a7e..7bc1c2e54 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
{
@@ -152,56 +170,56 @@ CartridgeTagContent * NFCTag_Tag2PPC(NFCTag_t *Tag)
cartridge_tag_content__init(PpcTag);
- strncpy(PpcTag->taguniqueid , Tag->TagUniqueID,sizeof(Tag->TagUniqueID));
- strncpy(PpcTag->cartsn , Tag->CartSN,sizeof(Tag->CartSN));
- strncpy(PpcTag->workorder , Tag->WorkOrder,sizeof(Tag->WorkOrder));
- strncpy(PpcTag->colorname , Tag->ColorName,sizeof(Tag->ColorName));
- strncpy(PpcTag->inkbatchno , Tag->InkBatchNo,sizeof(Tag->InkBatchNo));
- strncpy(PpcTag->inkmfgdate , Tag->InkMFGDate,sizeof(Tag->InkMFGDate));
- strncpy(PpcTag->inkeoldate , Tag->InkEOLDate,sizeof(Tag->InkEOLDate));
+ strncpy(PpcTag->taguniqueid , Tag->tagId,sizeof(Tag->tagId));
+ strncpy(PpcTag->cartsn , Tag->Serial,sizeof(Tag->Serial));
+ strncpy(PpcTag->workorder , Tag->workOrder,sizeof(Tag->workOrder));
+ strncpy(PpcTag->colorname , Tag->colorName,sizeof(Tag->colorName));
+ strncpy(PpcTag->inkbatchno , Tag->inkBatch,sizeof(Tag->inkBatch));
+ strncpy(PpcTag->inkmfgdate , Tag->inkMfgDate,sizeof(Tag->inkMfgDate));
+ strncpy(PpcTag->inkeoldate , Tag->inkEolDate,sizeof(Tag->inkEolDate));
strncpy(PpcTag->cartfilldate , Tag->CartFillDate,sizeof(Tag->CartFillDate));
strncpy(PpcTag->wastefilldate , Tag->WasteFillDate,sizeof(Tag->WasteFillDate));
- strncpy(PpcTag->machineidinl , Tag->MachineIdINL,sizeof(Tag->MachineIdINL));
- strncpy(PpcTag->machineidwst , Tag->MachineIdWST,sizeof(Tag->MachineIdWST));
- strncpy(PpcTag->spare , Tag->Spare,sizeof(Tag->Spare));
+ strncpy(PpcTag->machineidinl , Tag->MachineIdInl,sizeof(Tag->MachineIdInl));
+ strncpy(PpcTag->machineidwst , Tag->MachineIdWst,sizeof(Tag->MachineIdWst));
+ strncpy(PpcTag->spare , Tag->reserved,sizeof(Tag->reserved));
strncpy(PpcTag->hashvalue , Tag->HashValue,sizeof(Tag->HashValue));
PpcTag->has_inkfactoryid = true;
- PpcTag->inkfactoryid = Tag->InkFactoryID;
+ PpcTag->inkfactoryid = (uint32_t)Tag->factoryID;
PpcTag->has_fillsysid = true;
- PpcTag->fillsysid = Tag->FillSysID;
+ PpcTag->fillsysid = Tag->fillingSystem;
PpcTag->has_inkcategory = true;
- PpcTag->inkcategory = Tag->InkCategory;
+ PpcTag->inkcategory = Tag->catagory;
PpcTag->has_type_rev = true;
- PpcTag->type_rev = Tag->Type_Rev;
+ PpcTag->type_rev = Tag->type;
PpcTag->has_cartridgesize = true;
- PpcTag->cartridgesize = Tag->CartridgeSize;
+ PpcTag->cartridgesize = Tag->cartSize;
PpcTag->has_filedinkvol = true;
- PpcTag->filedinkvol = Tag->FiledInkVol;
+ PpcTag->filedinkvol = Tag->inkVolume;
PpcTag->has_misc = true;
PpcTag->misc = Tag->Misc;
PpcTag->has_plugincounter = true;
- PpcTag->plugincounter = Tag->PluginCounter;
+ PpcTag->plugincounter = Tag->pluginCounter;
PpcTag->has_inkfillstatus = true;
- PpcTag->inkfillstatus = Tag->InkFillStatus;
+ PpcTag->inkfillstatus = Tag->inkFill;
PpcTag->has_inkusedstatus = true;
- PpcTag->inkusedstatus = Tag->InkUsedStatus;
+ PpcTag->inkusedstatus = Tag->inkUsed;
PpcTag->has_inkemptystatus = true;
- PpcTag->inkemptystatus = Tag->InkEmptyStatus;
+ PpcTag->inkemptystatus = Tag->inkEmpty;
PpcTag->has_inkemptystatus = true;
- PpcTag->inkemptystatus = Tag->WasteEmptyStatus;
+ PpcTag->inkemptystatus = Tag->wasteEmpty;
PpcTag->has_wastefillingstatus = true;
- PpcTag->wastefillingstatus = Tag->WasteFillingStatus;
+ PpcTag->wastefillingstatus = Tag->wasteFilling;
PpcTag->has_wastefullstatus = true;
- PpcTag->wastefullstatus = Tag->WasteFullStatus;
+ PpcTag->wastefullstatus = Tag->wasteFull;
PpcTag->has_blocked = true;
- PpcTag->blocked = Tag->Blocked;
+ PpcTag->blocked = Tag->blocked;
PpcTag->has_fail = true;
- PpcTag->fail = Tag->Fail;
+ PpcTag->fail = Tag->fail;
PpcTag->has_wastecounter = true;
- PpcTag->wastecounter = Tag->WasteCounter;
+ PpcTag->wastecounter = Tag->counter;
return PpcTag;
}
@@ -212,50 +230,50 @@ CartridgeTagContent * NFCTag_Tag2PPC(NFCTag_t *Tag)
return NULL;
memset (Tag,0,sizeof(Tag));
- strncpy(Tag->TagUniqueID , PpcTag->taguniqueid,sizeof(Tag->TagUniqueID));
- strncpy(Tag->CartSN , PpcTag->cartsn,sizeof(Tag->CartSN));
+ strncpy(Tag->tagId , PpcTag->taguniqueid,sizeof(Tag->tagId));
+ strncpy(Tag->Serial , PpcTag->cartsn,sizeof(Tag->Serial));
if (PpcTag->has_inkfactoryid == true)
- Tag->InkFactoryID = PpcTag->inkfactoryid;
+ memcpy(Tag->factoryID,PpcTag->inkfactoryid,3);
if (PpcTag->has_fillsysid == true)
- Tag->FillSysID = PpcTag->fillsysid;
- strncpy(Tag->ColorName , PpcTag->colorname,sizeof(Tag->ColorName));
- strncpy(Tag->WorkOrder , PpcTag->workorder ,sizeof(Tag->WorkOrder));
+ Tag->fillingSystem = PpcTag->fillsysid;
+ strncpy(Tag->colorName , PpcTag->colorname,sizeof(Tag->colorName));
+ strncpy(Tag->workOrder , PpcTag->workorder ,sizeof(Tag->workOrder));
if (PpcTag->has_inkcategory == true)
- Tag->InkCategory = PpcTag->inkcategory;
+ memcpy( Tag->catagory, PpcTag->inkcategory,sizeof(Tag->catagory));
if (PpcTag->has_type_rev == true)
- Tag->Type_Rev = PpcTag->type_rev;
+ Tag->type = PpcTag->type_rev;
if (PpcTag->has_cartridgesize == true)
- Tag->CartridgeSize = PpcTag->cartridgesize;
+ Tag->cartSize = PpcTag->cartridgesize;
if (PpcTag->has_filedinkvol == true)
- Tag->FiledInkVol = PpcTag->filedinkvol;
- strncpy(Tag->InkBatchNo , PpcTag->inkbatchno,sizeof(Tag->InkBatchNo));
- strncpy(Tag->InkMFGDate , PpcTag->inkmfgdate,sizeof(Tag->InkMFGDate));
- strncpy(Tag->InkEOLDate , PpcTag->inkeoldate,sizeof(Tag->InkEOLDate));
+ Tag->inkVolume = PpcTag->filedinkvol;
+ strncpy(Tag->inkBatch , PpcTag->inkbatchno,sizeof(Tag->inkBatch));
+ strncpy(Tag->inkMfgDate , PpcTag->inkmfgdate,sizeof(Tag->inkMfgDate));
+ strncpy(Tag->inkEolDate , PpcTag->inkeoldate,sizeof(Tag->inkEolDate));
strncpy(Tag->CartFillDate , PpcTag->cartfilldate,sizeof(Tag->CartFillDate));
strncpy(Tag->WasteFillDate , PpcTag->wastefilldate,sizeof(Tag->WasteFillDate));
if (PpcTag->has_plugincounter == true)
- Tag->PluginCounter = PpcTag->plugincounter;
+ Tag->pluginCounter = PpcTag->plugincounter;
if (PpcTag->has_inkfillstatus == true)
- Tag->InkFillStatus = PpcTag->inkfillstatus;
+ Tag->inkFill = PpcTag->inkfillstatus;
if (PpcTag->has_inkusedstatus == true)
- Tag->InkUsedStatus = PpcTag->inkusedstatus;
+ Tag->inkUsed = PpcTag->inkusedstatus;
if (PpcTag->has_inkemptystatus == true)
- Tag->InkEmptyStatus = PpcTag->inkemptystatus;
+ Tag->inkEmpty = PpcTag->inkemptystatus;
if (PpcTag->has_wasteemptystatus == true)
- Tag->WasteEmptyStatus = PpcTag->wasteemptystatus;
+ Tag->wasteEmpty = PpcTag->wasteemptystatus;
if (PpcTag->has_wastefillingstatus == true)
- Tag->WasteFillingStatus = PpcTag->wastefillingstatus;
+ Tag->wasteFilling = PpcTag->wastefillingstatus;
if (PpcTag->has_wastefullstatus == true)
- Tag->WasteFullStatus = PpcTag->wastefullstatus;
+ Tag->wasteFull = PpcTag->wastefullstatus;
if (PpcTag->has_blocked == true)
- Tag->Blocked = PpcTag->blocked;
+ Tag->blocked = PpcTag->blocked;
if (PpcTag->has_fail == true)
- Tag->Fail = PpcTag->fail;
+ Tag->fail = PpcTag->fail;
if (PpcTag->has_wastecounter == true)
- Tag->WasteCounter = PpcTag->wastecounter;
- strncpy(Tag->MachineIdINL , PpcTag->machineidinl,sizeof(Tag->MachineIdINL));
- strncpy(Tag->MachineIdWST , PpcTag->machineidwst,sizeof(Tag->MachineIdWST));
- strncpy(Tag->Spare,PpcTag->spare ,sizeof(Tag->Spare));
+ Tag->wasteCounter = PpcTag->wastecounter;
+ strncpy(Tag->MachineIdInl , PpcTag->machineidinl,sizeof(Tag->MachineIdInl));
+ strncpy(Tag->MachineIdWst , PpcTag->machineidwst,sizeof(Tag->MachineIdWst));
+ strncpy(Tag->reserved,PpcTag->spare ,sizeof(Tag->reserved));
strncpy(Tag->HashValue,PpcTag->hashvalue ,sizeof(Tag->HashValue));
return Tag;
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/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
index d466432b1..82c8b8099 100644
--- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c
+++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
@@ -64,6 +64,10 @@ PackageHandle FPGAFilter;
PackageHandle LoadFilter;
PackageHandle InitFilter;
PackageHandle MaintFilter;
+PackageHandle IFSFilter;
+PackageHandle FilesFilter;
+PackageHandle I2CFilter;
+PackageHandle MotorFilter;
char LogPath[50] = "0://ErrFile.txt";
@@ -498,6 +502,10 @@ STATUS ReportInit(ReportInitParams InitParams)
LoadFilter = ReportAddFilterPackage("Load");
InitFilter = ReportAddFilterPackage("Init");
MaintFilter = ReportAddFilterPackage("Maint");
+ IFSFilter = ReportAddFilterPackage("IFS");
+ FilesFilter = ReportAddFilterPackage("Files");
+ I2CFilter = ReportAddFilterPackage("I2C");
+ MotorFilter = ReportAddFilterPackage("Motor");
// Filter = ReportAddFilterPackage("");
ReportSwitchPackageFilter(IDSFilter,REPORT_OFF);
ReportSwitchPackageFilter(WasteFilter,REPORT_OFF);
diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c
index 307e4eecb..aa7807d1b 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"
@@ -460,15 +461,12 @@ void receive_callback(char* buffer, size_t length)
case MESSAGE_TYPE__DispenserDataRequest:
DispenserDataRequestFunc(requestContainer);
break;
- case MESSAGE_TYPE__StartCartridgesUpdateRequest:
- LOG_ERROR (requestContainer->type,"MESSAGE_TYPE__StartCartridgesUpdateRequest");
- break;
- case MESSAGE_TYPE__StopCartridgesUpdateRequest:
- LOG_ERROR (requestContainer->type,"MESSAGE_TYPE__StopCartridgesUpdateRequest");
- break;
case MESSAGE_TYPE__CartridgeValidationResponse:
CartridgeValidationResponseFunc(requestContainer);
break;
+ case MESSAGE_TYPE__StartInkFillingStatusRequest:
+ StartInkFillingStatusRequestFunc(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..fc3d91279 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
@@ -121,6 +121,8 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 110 },
{ "", "", 111 },
{ "", "", 112 },
+ { "", "", 113 },
+ { "", "", 114 },
{ "", "", 1000 },
{ "", "", 1001 },
{ "", "", 1002 },
@@ -182,10 +184,6 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 2037 },
{ "", "", 2038 },
{ "", "", 2039 },
- { "", "", 2040 },
- { "", "", 2041 },
- { "", "", 2042 },
- { "", "", 2043 },
{ "", "", 2044 },
{ "", "", 2045 },
{ "", "", 3000 },
@@ -272,153 +270,153 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[263] =
{ "", "", 11005 },
{ "", "", 11006 },
{ "", "", 11007 },
+ { "", "", 12000 },
+ { "", "", 12001 },
};
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},{2044, 175},{3000, 177},{4000, 191},{5000, 199},{6000, 203},{7000, 209},{8000, 233},{9000, 241},{10000, 245},{11000, 253},{12000, 261},{0, 263}
};
static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
{
- { "", 191 },
- { "", 192 },
- { "", 181 },
- { "", 182 },
- { "", 249 },
- { "", 250 },
- { "", 253 },
- { "", 254 },
- { "", 233 },
- { "", 234 },
+ { "", 189 },
+ { "", 190 },
+ { "", 179 },
+ { "", 180 },
+ { "", 247 },
+ { "", 248 },
+ { "", 251 },
+ { "", 252 },
+ { "", 231 },
+ { "", 232 },
{ "", 2 },
{ "", 3 },
- { "", 177 },
- { "", 178 },
- { "", 125 },
- { "", 126 },
- { "", 131 },
- { "", 132 },
- { "", 207 },
- { "", 208 },
- { "", 257 },
- { "", 258 },
+ { "", 175 },
+ { "", 176 },
+ { "", 127 },
+ { "", 128 },
+ { "", 133 },
+ { "", 134 },
+ { "", 205 },
+ { "", 206 },
+ { "", 255 },
+ { "", 256 },
+ { "", 217 },
+ { "", 218 },
+ { "", 183 },
+ { "", 184 },
{ "", 219 },
{ "", 220 },
- { "", 185 },
- { "", 186 },
- { "", 221 },
- { "", 222 },
- { "", 117 },
- { "", 118 },
- { "", 209 },
- { "", 210 },
- { "", 143 },
- { "", 144 },
- { "", 149 },
- { "", 150 },
- { "", 235 },
- { "", 236 },
+ { "", 119 },
+ { "", 120 },
+ { "", 207 },
+ { "", 208 },
{ "", 145 },
{ "", 146 },
+ { "", 151 },
+ { "", 152 },
+ { "", 233 },
+ { "", 234 },
{ "", 147 },
{ "", 148 },
+ { "", 149 },
+ { "", 150 },
{ "", 1 },
- { "", 215 },
- { "", 216 },
- { "", 113 },
- { "", 114 },
- { "", 115 },
- { "", 116 },
- { "", 112 },
- { "", 229 },
- { "", 230 },
{ "", 213 },
{ "", 214 },
+ { "", 115 },
+ { "", 116 },
+ { "", 117 },
+ { "", 118 },
+ { "", 114 },
{ "", 227 },
{ "", 228 },
{ "", 211 },
{ "", 212 },
- { "", 129 },
- { "", 130 },
{ "", 225 },
{ "", 226 },
+ { "", 209 },
+ { "", 210 },
+ { "", 131 },
+ { "", 132 },
{ "", 223 },
{ "", 224 },
- { "", 179 },
- { "", 180 },
- { "", 205 },
- { "", 206 },
- { "", 217 },
- { "", 218 },
- { "", 239 },
- { "", 240 },
- { "", 241 },
- { "", 242 },
+ { "", 221 },
+ { "", 222 },
+ { "", 177 },
+ { "", 178 },
+ { "", 203 },
+ { "", 204 },
+ { "", 215 },
+ { "", 216 },
{ "", 237 },
{ "", 238 },
- { "", 135 },
- { "", 136 },
- { "", 141 },
- { "", 142 },
+ { "", 239 },
+ { "", 240 },
+ { "", 235 },
+ { "", 236 },
{ "", 137 },
{ "", 138 },
+ { "", 143 },
+ { "", 144 },
{ "", 139 },
{ "", 140 },
+ { "", 141 },
+ { "", 142 },
{ "", 0 },
- { "", 119 },
- { "", 120 },
+ { "", 121 },
+ { "", 122 },
{ "", 4 },
{ "", 5 },
+ { "", 161 },
+ { "", 162 },
+ { "", 185 },
+ { "", 186 },
+ { "", 171 },
+ { "", 172 },
{ "", 159 },
{ "", 160 },
- { "", 187 },
- { "", 188 },
+ { "", 195 },
+ { "", 196 },
+ { "", 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 },
+ { "", 197 },
+ { "", 198 },
{ "", 123 },
{ "", 124 },
- { "", 175 },
- { "", 176 },
- { "", 195 },
- { "", 196 },
- { "", 161 },
- { "", 162 },
+ { "", 191 },
+ { "", 192 },
+ { "", 135 },
+ { "", 136 },
{ "", 165 },
{ "", 166 },
+ { "", 187 },
+ { "", 188 },
+ { "", 261 },
+ { "", 262 },
+ { "", 241 },
+ { "", 242 },
{ "", 245 },
{ "", 246 },
- { "", 259 },
- { "", 260 },
+ { "", 249 },
+ { "", 250 },
+ { "", 253 },
+ { "", 254 },
+ { "", 125 },
+ { "", 126 },
+ { "", 193 },
+ { "", 194 },
+ { "", 163 },
+ { "", 164 },
+ { "", 167 },
+ { "", 168 },
+ { "", 243 },
+ { "", 244 },
+ { "", 257 },
+ { "", 258 },
{ "", 100 },
{ "", 101 },
{ "", 6 },
@@ -461,6 +459,8 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
{ "", 21 },
{ "", 56 },
{ "", 57 },
+ { "", 112 },
+ { "", 113 },
{ "", 22 },
{ "", 23 },
{ "", 62 },
@@ -525,22 +525,22 @@ static const ProtobufCEnumValueIndex message_type__enum_values_by_name[263] =
{ "", 31 },
{ "", 106 },
{ "", 107 },
- { "", 203 },
- { "", 204 },
- { "", 155 },
- { "", 156 },
- { "", 153 },
- { "", 154 },
- { "", 261 },
- { "", 262 },
- { "", 127 },
- { "", 128 },
{ "", 201 },
{ "", 202 },
- { "", 183 },
- { "", 184 },
- { "", 231 },
- { "", 232 },
+ { "", 157 },
+ { "", 158 },
+ { "", 155 },
+ { "", 156 },
+ { "", 259 },
+ { "", 260 },
+ { "", 129 },
+ { "", 130 },
+ { "", 199 },
+ { "", 200 },
+ { "", 181 },
+ { "", 182 },
+ { "", 229 },
+ { "", 230 },
};
const ProtobufCEnumDescriptor message_type__descriptor =
{
@@ -553,7 +553,7 @@ const ProtobufCEnumDescriptor message_type__descriptor =
message_type__enum_values_by_number,
263,
message_type__enum_values_by_name,
- 13,
+ 15,
message_type__value_ranges,
NULL,NULL,NULL,NULL /* reserved[1234] */
};
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..a9dd51ca9 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,
@@ -193,10 +195,6 @@ typedef enum _MessageType {
MESSAGE_TYPE__SetBlowerStateResponse = 2037,
MESSAGE_TYPE__SetValveStateRequest = 2038,
MESSAGE_TYPE__SetValveStateResponse = 2039,
- MESSAGE_TYPE__StartCartridgesUpdateRequest = 2040,
- MESSAGE_TYPE__StartCartridgesUpdateResponse = 2041,
- MESSAGE_TYPE__StopCartridgesUpdateRequest = 2042,
- MESSAGE_TYPE__StopCartridgesUpdateResponse = 2043,
MESSAGE_TYPE__CartridgeValidationRequest = 2044,
MESSAGE_TYPE__CartridgeValidationResponse = 2045,
MESSAGE_TYPE__JobRequest = 3000,
@@ -282,7 +280,9 @@ typedef enum _MessageType {
MESSAGE_TYPE__StopThreadLoadingRequest = 11004,
MESSAGE_TYPE__StopThreadLoadingResponse = 11005,
MESSAGE_TYPE__TryThreadLoadingRequest = 11006,
- MESSAGE_TYPE__TryThreadLoadingResponse = 11007
+ MESSAGE_TYPE__TryThreadLoadingResponse = 11007,
+ MESSAGE_TYPE__StartInkFillingStatusRequest = 12000,
+ MESSAGE_TYPE__StartInkFillingStatusResponse = 12001
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MESSAGE_TYPE)
} MessageType;
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/StartCartridgesUpdateRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.c
deleted file mode 100644
index f6b0cfdee..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StartCartridgesUpdateRequest.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "StartCartridgesUpdateRequest.pb-c.h"
-void start_cartridges_update_request__init
- (StartCartridgesUpdateRequest *message)
-{
- static const StartCartridgesUpdateRequest init_value = START_CARTRIDGES_UPDATE_REQUEST__INIT;
- *message = init_value;
-}
-size_t start_cartridges_update_request__get_packed_size
- (const StartCartridgesUpdateRequest *message)
-{
- assert(message->base.descriptor == &start_cartridges_update_request__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t start_cartridges_update_request__pack
- (const StartCartridgesUpdateRequest *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &start_cartridges_update_request__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t start_cartridges_update_request__pack_to_buffer
- (const StartCartridgesUpdateRequest *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &start_cartridges_update_request__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-StartCartridgesUpdateRequest *
- start_cartridges_update_request__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (StartCartridgesUpdateRequest *)
- protobuf_c_message_unpack (&start_cartridges_update_request__descriptor,
- allocator, len, data);
-}
-void start_cartridges_update_request__free_unpacked
- (StartCartridgesUpdateRequest *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &start_cartridges_update_request__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-#define start_cartridges_update_request__field_descriptors NULL
-#define start_cartridges_update_request__field_indices_by_name NULL
-#define start_cartridges_update_request__number_ranges NULL
-const ProtobufCMessageDescriptor start_cartridges_update_request__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "",
- "",
- "",
- "",
- sizeof(StartCartridgesUpdateRequest),
- 0,
- start_cartridges_update_request__field_descriptors,
- start_cartridges_update_request__field_indices_by_name,
- 0, start_cartridges_update_request__number_ranges,
- (ProtobufCMessageInit) start_cartridges_update_request__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.h
deleted file mode 100644
index f8f2dcf3b..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateRequest.pb-c.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StartCartridgesUpdateRequest.proto */
-
-#ifndef PROTOBUF_C_StartCartridgesUpdateRequest_2eproto__INCLUDED
-#define PROTOBUF_C_StartCartridgesUpdateRequest_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 _StartCartridgesUpdateRequest StartCartridgesUpdateRequest;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _StartCartridgesUpdateRequest
-{
- ProtobufCMessage base;
-};
-#define START_CARTRIDGES_UPDATE_REQUEST__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&start_cartridges_update_request__descriptor) \
- }
-
-
-/* StartCartridgesUpdateRequest methods */
-void start_cartridges_update_request__init
- (StartCartridgesUpdateRequest *message);
-size_t start_cartridges_update_request__get_packed_size
- (const StartCartridgesUpdateRequest *message);
-size_t start_cartridges_update_request__pack
- (const StartCartridgesUpdateRequest *message,
- uint8_t *out);
-size_t start_cartridges_update_request__pack_to_buffer
- (const StartCartridgesUpdateRequest *message,
- ProtobufCBuffer *buffer);
-StartCartridgesUpdateRequest *
- start_cartridges_update_request__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void start_cartridges_update_request__free_unpacked
- (StartCartridgesUpdateRequest *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*StartCartridgesUpdateRequest_Closure)
- (const StartCartridgesUpdateRequest *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor start_cartridges_update_request__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_StartCartridgesUpdateRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.c
deleted file mode 100644
index 0aa54e7ab..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StartCartridgesUpdateResponse.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "StartCartridgesUpdateResponse.pb-c.h"
-void start_cartridges_update_response__init
- (StartCartridgesUpdateResponse *message)
-{
- static const StartCartridgesUpdateResponse init_value = START_CARTRIDGES_UPDATE_RESPONSE__INIT;
- *message = init_value;
-}
-size_t start_cartridges_update_response__get_packed_size
- (const StartCartridgesUpdateResponse *message)
-{
- assert(message->base.descriptor == &start_cartridges_update_response__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t start_cartridges_update_response__pack
- (const StartCartridgesUpdateResponse *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &start_cartridges_update_response__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t start_cartridges_update_response__pack_to_buffer
- (const StartCartridgesUpdateResponse *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &start_cartridges_update_response__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-StartCartridgesUpdateResponse *
- start_cartridges_update_response__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (StartCartridgesUpdateResponse *)
- protobuf_c_message_unpack (&start_cartridges_update_response__descriptor,
- allocator, len, data);
-}
-void start_cartridges_update_response__free_unpacked
- (StartCartridgesUpdateResponse *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &start_cartridges_update_response__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-static const ProtobufCFieldDescriptor start_cartridges_update_response__field_descriptors[2] =
-{
- {
- "",
- 1,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_MESSAGE,
- 0, /* quantifier_offset */
- offsetof(StartCartridgesUpdateResponse, cartridge),
- &cartridge__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_ENUM,
- offsetof(StartCartridgesUpdateResponse, has_action),
- offsetof(StartCartridgesUpdateResponse, action),
- &cartridge_action__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
-};
-static const unsigned start_cartridges_update_response__field_indices_by_name[] = {
- 1, /* field[1] = Action */
- 0, /* field[0] = Cartridge */
-};
-static const ProtobufCIntRange start_cartridges_update_response__number_ranges[1 + 1] =
-{
- { 1, 0 },
- { 0, 2 }
-};
-const ProtobufCMessageDescriptor start_cartridges_update_response__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "",
- "",
- "",
- "",
- sizeof(StartCartridgesUpdateResponse),
- 2,
- start_cartridges_update_response__field_descriptors,
- start_cartridges_update_response__field_indices_by_name,
- 1, start_cartridges_update_response__number_ranges,
- (ProtobufCMessageInit) start_cartridges_update_response__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.h
deleted file mode 100644
index 409c8ff3f..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StartCartridgesUpdateResponse.pb-c.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StartCartridgesUpdateResponse.proto */
-
-#ifndef PROTOBUF_C_StartCartridgesUpdateResponse_2eproto__INCLUDED
-#define PROTOBUF_C_StartCartridgesUpdateResponse_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 "CartridgeAction.pb-c.h"
-
-typedef struct _StartCartridgesUpdateResponse StartCartridgesUpdateResponse;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _StartCartridgesUpdateResponse
-{
- ProtobufCMessage base;
- Cartridge *cartridge;
- protobuf_c_boolean has_action;
- CartridgeAction action;
-};
-#define START_CARTRIDGES_UPDATE_RESPONSE__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&start_cartridges_update_response__descriptor) \
- , NULL, 0, CARTRIDGE_ACTION__Inserted }
-
-
-/* StartCartridgesUpdateResponse methods */
-void start_cartridges_update_response__init
- (StartCartridgesUpdateResponse *message);
-size_t start_cartridges_update_response__get_packed_size
- (const StartCartridgesUpdateResponse *message);
-size_t start_cartridges_update_response__pack
- (const StartCartridgesUpdateResponse *message,
- uint8_t *out);
-size_t start_cartridges_update_response__pack_to_buffer
- (const StartCartridgesUpdateResponse *message,
- ProtobufCBuffer *buffer);
-StartCartridgesUpdateResponse *
- start_cartridges_update_response__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void start_cartridges_update_response__free_unpacked
- (StartCartridgesUpdateResponse *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*StartCartridgesUpdateResponse_Closure)
- (const StartCartridgesUpdateResponse *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor start_cartridges_update_response__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_StartCartridgesUpdateResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.c
deleted file mode 100644
index 729dd6298..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StopCartridgesUpdateRequest.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "StopCartridgesUpdateRequest.pb-c.h"
-void stop_cartridges_update_request__init
- (StopCartridgesUpdateRequest *message)
-{
- static const StopCartridgesUpdateRequest init_value = STOP_CARTRIDGES_UPDATE_REQUEST__INIT;
- *message = init_value;
-}
-size_t stop_cartridges_update_request__get_packed_size
- (const StopCartridgesUpdateRequest *message)
-{
- assert(message->base.descriptor == &stop_cartridges_update_request__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t stop_cartridges_update_request__pack
- (const StopCartridgesUpdateRequest *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &stop_cartridges_update_request__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t stop_cartridges_update_request__pack_to_buffer
- (const StopCartridgesUpdateRequest *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &stop_cartridges_update_request__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-StopCartridgesUpdateRequest *
- stop_cartridges_update_request__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (StopCartridgesUpdateRequest *)
- protobuf_c_message_unpack (&stop_cartridges_update_request__descriptor,
- allocator, len, data);
-}
-void stop_cartridges_update_request__free_unpacked
- (StopCartridgesUpdateRequest *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &stop_cartridges_update_request__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-#define stop_cartridges_update_request__field_descriptors NULL
-#define stop_cartridges_update_request__field_indices_by_name NULL
-#define stop_cartridges_update_request__number_ranges NULL
-const ProtobufCMessageDescriptor stop_cartridges_update_request__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "",
- "",
- "",
- "",
- sizeof(StopCartridgesUpdateRequest),
- 0,
- stop_cartridges_update_request__field_descriptors,
- stop_cartridges_update_request__field_indices_by_name,
- 0, stop_cartridges_update_request__number_ranges,
- (ProtobufCMessageInit) stop_cartridges_update_request__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.h
deleted file mode 100644
index 5a1b486c9..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateRequest.pb-c.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StopCartridgesUpdateRequest.proto */
-
-#ifndef PROTOBUF_C_StopCartridgesUpdateRequest_2eproto__INCLUDED
-#define PROTOBUF_C_StopCartridgesUpdateRequest_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 _StopCartridgesUpdateRequest StopCartridgesUpdateRequest;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _StopCartridgesUpdateRequest
-{
- ProtobufCMessage base;
-};
-#define STOP_CARTRIDGES_UPDATE_REQUEST__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&stop_cartridges_update_request__descriptor) \
- }
-
-
-/* StopCartridgesUpdateRequest methods */
-void stop_cartridges_update_request__init
- (StopCartridgesUpdateRequest *message);
-size_t stop_cartridges_update_request__get_packed_size
- (const StopCartridgesUpdateRequest *message);
-size_t stop_cartridges_update_request__pack
- (const StopCartridgesUpdateRequest *message,
- uint8_t *out);
-size_t stop_cartridges_update_request__pack_to_buffer
- (const StopCartridgesUpdateRequest *message,
- ProtobufCBuffer *buffer);
-StopCartridgesUpdateRequest *
- stop_cartridges_update_request__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void stop_cartridges_update_request__free_unpacked
- (StopCartridgesUpdateRequest *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*StopCartridgesUpdateRequest_Closure)
- (const StopCartridgesUpdateRequest *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor stop_cartridges_update_request__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_StopCartridgesUpdateRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.c
deleted file mode 100644
index fc499aa79..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StopCartridgesUpdateResponse.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "StopCartridgesUpdateResponse.pb-c.h"
-void stop_cartridges_update_response__init
- (StopCartridgesUpdateResponse *message)
-{
- static const StopCartridgesUpdateResponse init_value = STOP_CARTRIDGES_UPDATE_RESPONSE__INIT;
- *message = init_value;
-}
-size_t stop_cartridges_update_response__get_packed_size
- (const StopCartridgesUpdateResponse *message)
-{
- assert(message->base.descriptor == &stop_cartridges_update_response__descriptor);
- return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
-}
-size_t stop_cartridges_update_response__pack
- (const StopCartridgesUpdateResponse *message,
- uint8_t *out)
-{
- assert(message->base.descriptor == &stop_cartridges_update_response__descriptor);
- return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
-}
-size_t stop_cartridges_update_response__pack_to_buffer
- (const StopCartridgesUpdateResponse *message,
- ProtobufCBuffer *buffer)
-{
- assert(message->base.descriptor == &stop_cartridges_update_response__descriptor);
- return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
-}
-StopCartridgesUpdateResponse *
- stop_cartridges_update_response__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data)
-{
- return (StopCartridgesUpdateResponse *)
- protobuf_c_message_unpack (&stop_cartridges_update_response__descriptor,
- allocator, len, data);
-}
-void stop_cartridges_update_response__free_unpacked
- (StopCartridgesUpdateResponse *message,
- ProtobufCAllocator *allocator)
-{
- if(!message)
- return;
- assert(message->base.descriptor == &stop_cartridges_update_response__descriptor);
- protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
-}
-#define stop_cartridges_update_response__field_descriptors NULL
-#define stop_cartridges_update_response__field_indices_by_name NULL
-#define stop_cartridges_update_response__number_ranges NULL
-const ProtobufCMessageDescriptor stop_cartridges_update_response__descriptor =
-{
- PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
- "",
- "",
- "",
- "",
- sizeof(StopCartridgesUpdateResponse),
- 0,
- stop_cartridges_update_response__field_descriptors,
- stop_cartridges_update_response__field_indices_by_name,
- 0, stop_cartridges_update_response__number_ranges,
- (ProtobufCMessageInit) stop_cartridges_update_response__init,
- NULL,NULL,NULL /* reserved[123] */
-};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.h
deleted file mode 100644
index f173eaa69..000000000
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/StopCartridgesUpdateResponse.pb-c.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Generated by the protocol buffer compiler. DO NOT EDIT! */
-/* Generated from: StopCartridgesUpdateResponse.proto */
-
-#ifndef PROTOBUF_C_StopCartridgesUpdateResponse_2eproto__INCLUDED
-#define PROTOBUF_C_StopCartridgesUpdateResponse_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 _StopCartridgesUpdateResponse StopCartridgesUpdateResponse;
-
-
-/* --- enums --- */
-
-
-/* --- messages --- */
-
-struct _StopCartridgesUpdateResponse
-{
- ProtobufCMessage base;
-};
-#define STOP_CARTRIDGES_UPDATE_RESPONSE__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&stop_cartridges_update_response__descriptor) \
- }
-
-
-/* StopCartridgesUpdateResponse methods */
-void stop_cartridges_update_response__init
- (StopCartridgesUpdateResponse *message);
-size_t stop_cartridges_update_response__get_packed_size
- (const StopCartridgesUpdateResponse *message);
-size_t stop_cartridges_update_response__pack
- (const StopCartridgesUpdateResponse *message,
- uint8_t *out);
-size_t stop_cartridges_update_response__pack_to_buffer
- (const StopCartridgesUpdateResponse *message,
- ProtobufCBuffer *buffer);
-StopCartridgesUpdateResponse *
- stop_cartridges_update_response__unpack
- (ProtobufCAllocator *allocator,
- size_t len,
- const uint8_t *data);
-void stop_cartridges_update_response__free_unpacked
- (StopCartridgesUpdateResponse *message,
- ProtobufCAllocator *allocator);
-/* --- per-message closures --- */
-
-typedef void (*StopCartridgesUpdateResponse_Closure)
- (const StopCartridgesUpdateResponse *message,
- void *closure_data);
-
-/* --- services --- */
-
-
-/* --- descriptors --- */
-
-extern const ProtobufCMessageDescriptor stop_cartridges_update_response__descriptor;
-
-PROTOBUF_C__END_DECLS
-
-
-#endif /* PROTOBUF_C_StopCartridgesUpdateResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.c
new file mode 100644
index 000000000..2c68013f3
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.c
@@ -0,0 +1,59 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CartridgeState.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CartridgeState.pb-c.h"
+static const ProtobufCEnumValue cartridge_state__enum_values_by_number[13] =
+{
+ { "", "", 0 },
+ { "", "", 1 },
+ { "", "", 2 },
+ { "", "", 3 },
+ { "", "", 4 },
+ { "", "", 5 },
+ { "", "", 6 },
+ { "", "", 10 },
+ { "", "", 11 },
+ { "", "", 12 },
+ { "", "", 20 },
+ { "", "", 21 },
+ { "", "", 22 },
+};
+static const ProtobufCIntRange cartridge_state__value_ranges[] = {
+{0, 0},{10, 7},{20, 10},{0, 13}
+};
+static const ProtobufCEnumValueIndex cartridge_state__enum_values_by_name[13] =
+{
+ { "", 1 },
+ { "", 4 },
+ { "", 10 },
+ { "", 11 },
+ { "", 12 },
+ { "", 6 },
+ { "", 7 },
+ { "", 8 },
+ { "", 9 },
+ { "", 5 },
+ { "", 3 },
+ { "", 0 },
+ { "", 2 },
+};
+const ProtobufCEnumDescriptor cartridge_state__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ 13,
+ cartridge_state__enum_values_by_number,
+ 13,
+ cartridge_state__enum_values_by_name,
+ 3,
+ cartridge_state__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.h
new file mode 100644
index 000000000..381762161
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeState.pb-c.h
@@ -0,0 +1,54 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CartridgeState.proto */
+
+#ifndef PROTOBUF_C_CartridgeState_2eproto__INCLUDED
+#define PROTOBUF_C_CartridgeState_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 _CartridgeState {
+ CARTRIDGE_STATE__None = 0,
+ CARTRIDGE_STATE__Absent = 1,
+ CARTRIDGE_STATE__Present = 2,
+ CARTRIDGE_STATE__Inserted = 3,
+ CARTRIDGE_STATE__Empty = 4,
+ CARTRIDGE_STATE__Full = 5,
+ CARTRIDGE_STATE__Error = 6,
+ CARTRIDGE_STATE__Filling = 10,
+ CARTRIDGE_STATE__FillingCompleted = 11,
+ CARTRIDGE_STATE__FillingFailed = 12,
+ CARTRIDGE_STATE__Emptying = 20,
+ CARTRIDGE_STATE__EmptyingCompleted = 21,
+ CARTRIDGE_STATE__EmpyingFailed = 22
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CARTRIDGE_STATE)
+} CartridgeState;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor cartridge_state__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CartridgeState_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.c
new file mode 100644
index 000000000..4c4e67fb6
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CartridgeStatus.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CartridgeStatus.pb-c.h"
+void cartridge_status__init
+ (CartridgeStatus *message)
+{
+ static const CartridgeStatus init_value = CARTRIDGE_STATUS__INIT;
+ *message = init_value;
+}
+size_t cartridge_status__get_packed_size
+ (const CartridgeStatus *message)
+{
+ assert(message->base.descriptor == &cartridge_status__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t cartridge_status__pack
+ (const CartridgeStatus *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &cartridge_status__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t cartridge_status__pack_to_buffer
+ (const CartridgeStatus *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &cartridge_status__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+CartridgeStatus *
+ cartridge_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (CartridgeStatus *)
+ protobuf_c_message_unpack (&cartridge_status__descriptor,
+ allocator, len, data);
+}
+void cartridge_status__free_unpacked
+ (CartridgeStatus *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &cartridge_status__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor cartridge_status__field_descriptors[4] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(CartridgeStatus, cartridge),
+ &cartridge__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(CartridgeStatus, has_state),
+ offsetof(CartridgeStatus, state),
+ &cartridge_state__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CartridgeStatus, has_progresspercentage),
+ offsetof(CartridgeStatus, progresspercentage),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(CartridgeStatus, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned cartridge_status__field_indices_by_name[] = {
+ 0, /* field[0] = Cartridge */
+ 3, /* field[3] = Message */
+ 2, /* field[2] = ProgressPercentage */
+ 1, /* field[1] = State */
+};
+static const ProtobufCIntRange cartridge_status__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor cartridge_status__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(CartridgeStatus),
+ 4,
+ cartridge_status__field_descriptors,
+ cartridge_status__field_indices_by_name,
+ 1, cartridge_status__number_ranges,
+ (ProtobufCMessageInit) cartridge_status__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.h
new file mode 100644
index 000000000..e3e511e13
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/CartridgeStatus.pb-c.h
@@ -0,0 +1,78 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CartridgeStatus.proto */
+
+#ifndef PROTOBUF_C_CartridgeStatus_2eproto__INCLUDED
+#define PROTOBUF_C_CartridgeStatus_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 "CartridgeState.pb-c.h"
+
+typedef struct _CartridgeStatus CartridgeStatus;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _CartridgeStatus
+{
+ ProtobufCMessage base;
+ Cartridge *cartridge;
+ protobuf_c_boolean has_state;
+ CartridgeState state;
+ protobuf_c_boolean has_progresspercentage;
+ double progresspercentage;
+ char *message;
+};
+#define CARTRIDGE_STATUS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&cartridge_status__descriptor) \
+ , NULL, 0, CARTRIDGE_STATE__None, 0, 0, NULL }
+
+
+/* CartridgeStatus methods */
+void cartridge_status__init
+ (CartridgeStatus *message);
+size_t cartridge_status__get_packed_size
+ (const CartridgeStatus *message);
+size_t cartridge_status__pack
+ (const CartridgeStatus *message,
+ uint8_t *out);
+size_t cartridge_status__pack_to_buffer
+ (const CartridgeStatus *message,
+ ProtobufCBuffer *buffer);
+CartridgeStatus *
+ cartridge_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void cartridge_status__free_unpacked
+ (CartridgeStatus *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*CartridgeStatus_Closure)
+ (const CartridgeStatus *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor cartridge_status__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CartridgeStatus_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.c
new file mode 100644
index 000000000..0054a4146
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InkFillingStatus.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "InkFillingStatus.pb-c.h"
+void ink_filling_status__init
+ (InkFillingStatus *message)
+{
+ static const InkFillingStatus init_value = INK_FILLING_STATUS__INIT;
+ *message = init_value;
+}
+size_t ink_filling_status__get_packed_size
+ (const InkFillingStatus *message)
+{
+ assert(message->base.descriptor == &ink_filling_status__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t ink_filling_status__pack
+ (const InkFillingStatus *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &ink_filling_status__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t ink_filling_status__pack_to_buffer
+ (const InkFillingStatus *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &ink_filling_status__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+InkFillingStatus *
+ ink_filling_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (InkFillingStatus *)
+ protobuf_c_message_unpack (&ink_filling_status__descriptor,
+ allocator, len, data);
+}
+void ink_filling_status__free_unpacked
+ (InkFillingStatus *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &ink_filling_status__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor ink_filling_status__field_descriptors[1] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(InkFillingStatus, n_cartridgesstatuses),
+ offsetof(InkFillingStatus, cartridgesstatuses),
+ &cartridge_status__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned ink_filling_status__field_indices_by_name[] = {
+ 0, /* field[0] = CartridgesStatuses */
+};
+static const ProtobufCIntRange ink_filling_status__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor ink_filling_status__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(InkFillingStatus),
+ 1,
+ ink_filling_status__field_descriptors,
+ ink_filling_status__field_indices_by_name,
+ 1, ink_filling_status__number_ranges,
+ (ProtobufCMessageInit) ink_filling_status__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.h
new file mode 100644
index 000000000..61e9317a5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/InkFillingStatus.pb-c.h
@@ -0,0 +1,73 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: InkFillingStatus.proto */
+
+#ifndef PROTOBUF_C_InkFillingStatus_2eproto__INCLUDED
+#define PROTOBUF_C_InkFillingStatus_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 "CartridgeStatus.pb-c.h"
+
+typedef struct _InkFillingStatus InkFillingStatus;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _InkFillingStatus
+{
+ ProtobufCMessage base;
+ size_t n_cartridgesstatuses;
+ CartridgeStatus **cartridgesstatuses;
+};
+#define INK_FILLING_STATUS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&ink_filling_status__descriptor) \
+ , 0,NULL }
+
+
+/* InkFillingStatus methods */
+void ink_filling_status__init
+ (InkFillingStatus *message);
+size_t ink_filling_status__get_packed_size
+ (const InkFillingStatus *message);
+size_t ink_filling_status__pack
+ (const InkFillingStatus *message,
+ uint8_t *out);
+size_t ink_filling_status__pack_to_buffer
+ (const InkFillingStatus *message,
+ ProtobufCBuffer *buffer);
+InkFillingStatus *
+ ink_filling_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void ink_filling_status__free_unpacked
+ (InkFillingStatus *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*InkFillingStatus_Closure)
+ (const InkFillingStatus *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor ink_filling_status__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_InkFillingStatus_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.c
new file mode 100644
index 000000000..f0d651073
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingStatusRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartInkFillingStatusRequest.pb-c.h"
+void start_ink_filling_status_request__init
+ (StartInkFillingStatusRequest *message)
+{
+ static const StartInkFillingStatusRequest init_value = START_INK_FILLING_STATUS_REQUEST__INIT;
+ *message = init_value;
+}
+size_t start_ink_filling_status_request__get_packed_size
+ (const StartInkFillingStatusRequest *message)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_ink_filling_status_request__pack
+ (const StartInkFillingStatusRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_ink_filling_status_request__pack_to_buffer
+ (const StartInkFillingStatusRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartInkFillingStatusRequest *
+ start_ink_filling_status_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartInkFillingStatusRequest *)
+ protobuf_c_message_unpack (&start_ink_filling_status_request__descriptor,
+ allocator, len, data);
+}
+void start_ink_filling_status_request__free_unpacked
+ (StartInkFillingStatusRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_ink_filling_status_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define start_ink_filling_status_request__field_descriptors NULL
+#define start_ink_filling_status_request__field_indices_by_name NULL
+#define start_ink_filling_status_request__number_ranges NULL
+const ProtobufCMessageDescriptor start_ink_filling_status_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartInkFillingStatusRequest),
+ 0,
+ start_ink_filling_status_request__field_descriptors,
+ start_ink_filling_status_request__field_indices_by_name,
+ 0, start_ink_filling_status_request__number_ranges,
+ (ProtobufCMessageInit) start_ink_filling_status_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.h
new file mode 100644
index 000000000..863a8df2f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingStatusRequest.proto */
+
+#ifndef PROTOBUF_C_StartInkFillingStatusRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StartInkFillingStatusRequest_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 _StartInkFillingStatusRequest StartInkFillingStatusRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartInkFillingStatusRequest
+{
+ ProtobufCMessage base;
+};
+#define START_INK_FILLING_STATUS_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_ink_filling_status_request__descriptor) \
+ }
+
+
+/* StartInkFillingStatusRequest methods */
+void start_ink_filling_status_request__init
+ (StartInkFillingStatusRequest *message);
+size_t start_ink_filling_status_request__get_packed_size
+ (const StartInkFillingStatusRequest *message);
+size_t start_ink_filling_status_request__pack
+ (const StartInkFillingStatusRequest *message,
+ uint8_t *out);
+size_t start_ink_filling_status_request__pack_to_buffer
+ (const StartInkFillingStatusRequest *message,
+ ProtobufCBuffer *buffer);
+StartInkFillingStatusRequest *
+ start_ink_filling_status_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_ink_filling_status_request__free_unpacked
+ (StartInkFillingStatusRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartInkFillingStatusRequest_Closure)
+ (const StartInkFillingStatusRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_ink_filling_status_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartInkFillingStatusRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.c
new file mode 100644
index 000000000..e5d5c2303
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingStatusResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StartInkFillingStatusResponse.pb-c.h"
+void start_ink_filling_status_response__init
+ (StartInkFillingStatusResponse *message)
+{
+ static const StartInkFillingStatusResponse init_value = START_INK_FILLING_STATUS_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t start_ink_filling_status_response__get_packed_size
+ (const StartInkFillingStatusResponse *message)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t start_ink_filling_status_response__pack
+ (const StartInkFillingStatusResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t start_ink_filling_status_response__pack_to_buffer
+ (const StartInkFillingStatusResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &start_ink_filling_status_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StartInkFillingStatusResponse *
+ start_ink_filling_status_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StartInkFillingStatusResponse *)
+ protobuf_c_message_unpack (&start_ink_filling_status_response__descriptor,
+ allocator, len, data);
+}
+void start_ink_filling_status_response__free_unpacked
+ (StartInkFillingStatusResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &start_ink_filling_status_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor start_ink_filling_status_response__field_descriptors[1] =
+{
+ {
+ "",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(StartInkFillingStatusResponse, status),
+ &ink_filling_status__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned start_ink_filling_status_response__field_indices_by_name[] = {
+ 0, /* field[0] = Status */
+};
+static const ProtobufCIntRange start_ink_filling_status_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor start_ink_filling_status_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "",
+ "",
+ "",
+ "",
+ sizeof(StartInkFillingStatusResponse),
+ 1,
+ start_ink_filling_status_response__field_descriptors,
+ start_ink_filling_status_response__field_indices_by_name,
+ 1, start_ink_filling_status_response__number_ranges,
+ (ProtobufCMessageInit) start_ink_filling_status_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.h
new file mode 100644
index 000000000..f81547859
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/IFS/StartInkFillingStatusResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StartInkFillingStatusResponse.proto */
+
+#ifndef PROTOBUF_C_StartInkFillingStatusResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StartInkFillingStatusResponse_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 "InkFillingStatus.pb-c.h"
+
+typedef struct _StartInkFillingStatusResponse StartInkFillingStatusResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StartInkFillingStatusResponse
+{
+ ProtobufCMessage base;
+ InkFillingStatus *status;
+};
+#define START_INK_FILLING_STATUS_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&start_ink_filling_status_response__descriptor) \
+ , NULL }
+
+
+/* StartInkFillingStatusResponse methods */
+void start_ink_filling_status_response__init
+ (StartInkFillingStatusResponse *message);
+size_t start_ink_filling_status_response__get_packed_size
+ (const StartInkFillingStatusResponse *message);
+size_t start_ink_filling_status_response__pack
+ (const StartInkFillingStatusResponse *message,
+ uint8_t *out);
+size_t start_ink_filling_status_response__pack_to_buffer
+ (const StartInkFillingStatusResponse *message,
+ ProtobufCBuffer *buffer);
+StartInkFillingStatusResponse *
+ start_ink_filling_status_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void start_ink_filling_status_response__free_unpacked
+ (StartInkFillingStatusResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StartInkFillingStatusResponse_Closure)
+ (const StartInkFillingStatusResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor start_ink_filling_status_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StartInkFillingStatusResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c
index a27a2202e..44acaa3ad 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c
@@ -52,7 +52,7 @@ void process_parameters__free_unpacked
assert(message->base.descriptor == &process_parameters__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor process_parameters__field_descriptors[31] =
+static const ProtobufCFieldDescriptor process_parameters__field_descriptors[32] =
{
{
"",
@@ -426,8 +426,21 @@ static const ProtobufCFieldDescriptor process_parameters__field_descriptors[31]
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "",
+ 32,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_archeadcleaningmotorspeed),
+ offsetof(ProcessParameters, archeadcleaningmotorspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned process_parameters__field_indices_by_name[] = {
+ 31, /* field[31] = ArcHeadCleaningMotorSpeed */
13, /* field[13] = DryerAirFlow */
17, /* field[17] = DryerBufferLength */
14, /* field[14] = DryerZone1Temp */
@@ -463,7 +476,7 @@ static const unsigned process_parameters__field_indices_by_name[] = {
static const ProtobufCIntRange process_parameters__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 31 }
+ { 0, 32 }
};
const ProtobufCMessageDescriptor process_parameters__descriptor =
{
@@ -473,7 +486,7 @@ const ProtobufCMessageDescriptor process_parameters__descriptor =
"",
"",
sizeof(ProcessParameters),
- 31,
+ 32,
process_parameters__field_descriptors,
process_parameters__field_indices_by_name,
1, process_parameters__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h
index 9a6453221..aa762a3d6 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h
@@ -88,10 +88,12 @@ struct _ProcessParameters
double lblowertemp;
protobuf_c_boolean has_pressurebuildup;
double pressurebuildup;
+ protobuf_c_boolean has_archeadcleaningmotorspeed;
+ double archeadcleaningmotorspeed;
};
#define PROCESS_PARAMETERS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&process_parameters__descriptor) \
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
/* ProcessParameters methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c
index 3a3aadd3b..b151bea09 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c
@@ -52,7 +52,7 @@ void progress_request__free_unpacked
assert(message->base.descriptor == &progress_request__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor progress_request__field_descriptors[5] =
+static const ProtobufCFieldDescriptor progress_request__field_descriptors[2] =
{
{
"",
@@ -78,54 +78,15 @@ static const ProtobufCFieldDescriptor progress_request__field_descriptors[5] =
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
- {
- "",
- 3,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(ProgressRequest, has_param1),
- offsetof(ProgressRequest, param1),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "",
- 4,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(ProgressRequest, has_param2),
- offsetof(ProgressRequest, param2),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "",
- 5,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(ProgressRequest, has_param3),
- offsetof(ProgressRequest, param3),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
};
static const unsigned progress_request__field_indices_by_name[] = {
0, /* field[0] = Amount */
1, /* field[1] = Delay */
- 2, /* field[2] = Param1 */
- 3, /* field[3] = Param2 */
- 4, /* field[4] = Param3 */
};
static const ProtobufCIntRange progress_request__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 5 }
+ { 0, 2 }
};
const ProtobufCMessageDescriptor progress_request__descriptor =
{
@@ -135,7 +96,7 @@ const ProtobufCMessageDescriptor progress_request__descriptor =
"",
"",
sizeof(ProgressRequest),
- 5,
+ 2,
progress_request__field_descriptors,
progress_request__field_indices_by_name,
1, progress_request__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h
index da8eac4f1..1ce2b6d6b 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h
@@ -30,16 +30,10 @@ struct _ProgressRequest
int32_t amount;
protobuf_c_boolean has_delay;
int32_t delay;
- protobuf_c_boolean has_param1;
- uint32_t param1;
- protobuf_c_boolean has_param2;
- uint32_t param2;
- protobuf_c_boolean has_param3;
- uint32_t param3;
};
#define PROGRESS_REQUEST__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&progress_request__descriptor) \
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ , 0, 0, 0, 0 }
/* ProgressRequest methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c
index ff0667e61..537f8e763 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c
@@ -52,7 +52,7 @@ void progress_response__free_unpacked
assert(message->base.descriptor == &progress_response__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor progress_response__field_descriptors[2] =
+static const ProtobufCFieldDescriptor progress_response__field_descriptors[1] =
{
{
"",
@@ -66,27 +66,14 @@ static const ProtobufCFieldDescriptor progress_response__field_descriptors[2] =
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
- {
- "",
- 2,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(ProgressResponse, has_info),
- offsetof(ProgressResponse, info),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
};
static const unsigned progress_response__field_indices_by_name[] = {
- 1, /* field[1] = Info */
0, /* field[0] = Progress */
};
static const ProtobufCIntRange progress_response__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 2 }
+ { 0, 1 }
};
const ProtobufCMessageDescriptor progress_response__descriptor =
{
@@ -96,7 +83,7 @@ const ProtobufCMessageDescriptor progress_response__descriptor =
"",
"",
sizeof(ProgressResponse),
- 2,
+ 1,
progress_response__field_descriptors,
progress_response__field_indices_by_name,
1, progress_response__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h
index bd1a3141a..de5201ee5 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h
@@ -28,12 +28,10 @@ struct _ProgressResponse
ProtobufCMessage base;
protobuf_c_boolean has_progress;
double progress;
- protobuf_c_boolean has_info;
- uint32_t info;
};
#define PROGRESS_RESPONSE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&progress_response__descriptor) \
- , 0, 0, 0, 0 }
+ , 0, 0 }
/* ProgressResponse methods */
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/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h
index 400f981bb..8a97b0001 100644
--- a/Software/Embedded_SW/Embedded/DataDef.h
+++ b/Software/Embedded_SW/Embedded/DataDef.h
@@ -25,13 +25,15 @@
//#define FPGA_WATCHDOG_DISABLE
//#define FOUR_WINDERS
-
+#ifdef FOUR_WINDERS
+#define BTSR_NO_TFU
+#endif
//#define USE_POWERSTEP01 -NA
//#define EMC_FORCE_MOT_CLOCK_INTERNAL
//#define VAC_TEST
-
+//#define DISPENSER_VALVES_OPEN
//#define USE_TUNNEL_PT100
//#define SPECIAL_DISPENSERS
@@ -41,6 +43,7 @@ extern bool Special_Dispensers;
#define USE_OLD_HEAD_EEPROM
+//#define USE_RFID
//#define USE_VOC_BUZZER_ALARM
#define I2C_2_Data_Transfer_Rate_400kbps
@@ -68,6 +71,13 @@ enum
VERIFIED = 255
};
+typedef enum Status_Enum
+{
+ S_NA,
+ S_SUCCEEDED,
+ S_FAILED
+}STATUS_ENUM;
+
#define OK 0
#define ERROR 1
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
index 21056e162..95651eba2 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
@@ -434,7 +434,6 @@ uint32_t Read_Speed_Sensor_TypeII()//must be delay between Set_Speed_Sensor_Type
temp1/=F1_Prescaler1_reg6;
Speed_Hz = temp1;
#endif
- #warning change the speed from Hz to Cm/Sec
return Speed_Hz;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/ff.c b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/ff.c
index 3247e7960..00cc64c94 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/ff.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/ff.c
@@ -111,7 +111,10 @@
#error Wrong include file (ff.h).
#endif
-
+#ifdef _USE_LFN
+#undef _USE_LFN
+#define _USE_LFN 2
+#endif
/* Definitions on sector size */
#if _MAX_SS != 512 && _MAX_SS != 1024 && _MAX_SS != 2048 && _MAX_SS != 4096
#error Wrong sector size.
@@ -4033,6 +4036,7 @@ FRESULT f_mkfs (
return (disk_ioctl(pdrv, CTRL_SYNC, 0) == RES_OK) ? FR_OK : FR_DISK_ERR;
}
+#ifdef 0
#if _MULTI_PARTITION
/*-----------------------------------------------------------------------*/
@@ -4326,6 +4330,6 @@ int f_printf (
va_end(arp);
return (cc == EOF) ? cc : res;
}
-
+#endif
#endif /* !_FS_READONLY */
#endif /* _USE_STRFUNC */
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h
index 1df9f3949..70e82cb39 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h
@@ -10,45 +10,74 @@
typedef struct
{
- char TagUniqueID[8]; //RFID Tag unique ID
- char CartSN[16]; //Cartridge serial number
- uint32_t InkFactoryID:24; //Ink factory ID
- uint32_t FillSysID:16; //Filling system ID number
- char WorkOrder[10]; //Color description / ID
- char ColorName[12]; //Color description / ID
- uint32_t InkCategory:16; //Ink category (TBD)
- uint32_t Type_Rev; //TBD – can be formulation #
- uint32_t CartridgeSize; //Size in cc
- uint32_t FiledInkVol; //Size in cc
- char InkBatchNo[10]; //MFG batch No’
- char InkMFGDate[8]; //Date Ink was manufactured (20L container bar-code)
- char InkEOLDate[8]; //Ink end of life date
- char CartFillDate[8]; //Date cartridge was filled with ink (CFS)
- char WasteFillDate[8]; //Date cartridge was filled with waste (Machine)
- uint32_t Misc;
- uint32_t PluginCounter:16; //Number of times cartridge was plugged in INK Slot
- char InkFillStatus; //State indicator - successful state change when starting to fill mid. tank
- char InkUsedStatus;
- char InkEmptyStatus;
- char WasteEmptyStatus;
- char WasteFillingStatus;
- char WasteFullStatus;
- char Blocked;
- char Fail;
- uint32_t WasteCounter:16;
- char MachineIdINL[16];
- char MachineIdWST[16];
- char Spare[13];
- uint32_t Counter;
- char TagValid;
- char HashValue[32];
- uint32_t Checksum_CRC16:16;
+ uint8_t tagId[8]; //RFID Tag unique ID
+ uint8_t Serial[16]; //Cartridge serial number
+ uint8_t factoryID[3]; //Ink factory ID
+ uint8_t Padding_1_8bit; //** NA ** Union Padding for 32 bit
+ //----------------------
+ uint16_t fillingSystem; //Filling system ID number
+ uint8_t workOrder[10]; //Color description / ID
+ //----------------------
+ uint8_t colorName[12]; //Color description / ID
+ //----------------------
+ uint8_t catagory[2]; //Ink category (TBD)
+ uint16_t Paddind_1_16bit; //** NA ** Union Padding for 32 bit
+ //----------------------
+ uint32_t type; //TBD – can be formulation #
+ //----------------------
+ uint32_t cartSize; //Size in cc
+ //----------------------
+ uint32_t inkVolume; //Size in cc
+ //----------------------
+ uint8_t inkBatch[10]; //MFG batch No’
+ uint16_t Paddind_2_16bit; //** NA ** Union Padding for 32 bit
+ //----------------------
+ uint8_t inkMfgDate[8]; //Date Ink was manufactured (20L container bar-code)
+ //----------------------
+ uint8_t inkEolDate[8]; //Ink end of life date
+ //----------------------
+ uint8_t CartFillDate[8]; //Date cartridge was filled with ink (CFS)
+ //----------------------
+ uint8_t WasteFillDate[8];//Date cartridge was filled with waste (Machine)
+ //----------------------
+ uint32_t Misc;
+ //----------------------
+ uint16_t pluginCounter; //Number of times cartridge was plugged in INK Slot
+ uint8_t inkFill; //State indicator - successful state change when starting to fill mid. tank
+ uint8_t inkUsed;
+ //----------------------
+ uint8_t inkEmpty;
+ uint8_t wasteEmpty;
+ uint8_t wasteFilling;
+ uint8_t wasteFull;
+ //----------------------
+ uint8_t blocked;
+ uint8_t fail;
+ uint16_t wasteCounter;
+ //----------------------
+ uint8_t MachineIdInl[16];
+ //----------------------
+ uint8_t MachineIdWst[16];
+ //----------------------
+ uint8_t reserved[13];
+ uint8_t Paddind_2_8bit; //** NA ** Union Padding for 32 bit
+ uint16_t Paddind_3_16bit; //** NA ** Union Padding for 32 bit
+ //----------------------
+ uint32_t counter;
+ //----------------------
+ uint8_t tagValid;
+ uint8_t Paddind_3_8bit; //** NA ** Union Padding for 32 bit
+ uint16_t Paddind_4_16bit; //** NA ** Union Padding for 32 bit
+ //----------------------
+ uint8_t HashValue[16];
+ //----------------------
+ uint64_t Checksum_CRC16; //16 bit?
}NFCTag_t;
typedef union
{
NFCTag_t Struct;
- char Buf[sizeof(NFCTag_t)];
+ uint8_t Buf[sizeof(NFCTag_t)];
}NFC_Tag;
#endif /* DRIVERS_I2C_COMMUNICATION_RFID_NFC_RFIDTAGINFO_H_ */
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
index f7253a2e2..fff11f493 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
@@ -396,8 +396,6 @@ double GetWHSAirFlow(uint8_t OR_Id)
//------------------------------ waste volume measurement ------------------------------
-#warning need to update low and high limits and to read the eeprom on the initialization
-
double DefaultCoefficient = 10.5;//Coefficient is 10.5mV/mm for TI (not water). 9.72//TBD
double Coefficient_LowLimit = 0;//TBD
double Coefficient_HighLimit = 255;//TBD
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
index 764ef0d44..4484f1932 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
@@ -175,7 +175,6 @@ bool WHS_init_Blower()
bool LDACn_value = true;
bool AUXn_value = true;
bool update = 0;
- int i;
/* ---- config the WHS card 9555 configuration ----*/
@@ -391,6 +390,8 @@ bool IFS_Clearing_Suction = false;
bool IFS_Clearing_SuctionWaiting = false;
int midtank_cleared = NUM_OF_MIDTANKS;
+bool JobEndSuction = false;
+
void WHS_Set_IFS_Clearing_Suction (int midtank)
{
if (JobIsActive())
@@ -405,6 +406,12 @@ void WHS_Set_IFS_Clearing_Suction (int midtank)
}
Report("------------ WHS_Set_IFS_Clearing_Suction :-----------------", __FILE__,__LINE__, (int) IFS_Clearing_Suction, RpMessage, (int)JobIsActive(), 0);
}
+#define JobEndSuctionTime 30
+void WHS_Set_JobEndSuction (void)
+{
+ JobEndSuction = true;
+ Report("------------ WHS_Set_JobEndSuction :-----------------", __FILE__,__LINE__, (int) JobEndSuction, RpMessage, (int)JobIsActive(), 0);
+}
#define MAX_ALLOWED_BLOWER_VOLTAGE 4300
#define MIN_ALLOWED_BLOWER_VOLTAGE 2400
@@ -482,6 +489,14 @@ bool WHS_Set_Blower_Control_Closed_Loop(double Q_value)
}
}
+ if (JobEndSuction == true)
+ {
+ JobEndSuction = false;
+ Report("------------ Job end Clearing Suction -----------------", __FILE__,__LINE__, (int)4000, RpMessage, (int)JobEndSuctionTime, 0);
+ Control_Voltage_To_Blower(4000);
+ close_loop_time = JobEndSuctionTime;
+ return OK;
+ }
volt = getBlowerState();
WHS_Pid_Testing_Func(Q_value,current_dying_head_flow_Q);
//close_loop_time = 1;
@@ -614,7 +629,7 @@ uint32_t WHS_Pid_Testing_Func(double setParam,double measuredParam)
{
float calculated_speed;
//float avreageSampleValue = 0;
- int i;
+ //int i;
/*WhsBlowerSamples[WhsBlowerSamplesPointer] = measuredParam;//(-1 * TranslatedReadValue);
WhsBlowerSamplesPointer++;
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h
index f5bc52858..3033d6d06 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h
@@ -28,6 +28,8 @@ double get_average_Q(WHS_Flow_Meter ORF_id);
bool WHS_Set_Blower_Control_Closed_Loop(double Q_value);
void WHS_Start_Blower_Control_Closed_Loop (void);
void WHS_Set_IFS_Clearing_Suction (int midtank);
+void WHS_Set_JobEndSuction (void);
+
double WHS_Get_Blower_Control_Closed_Loop_SetPoint(void);
void WHS_Set_SetPoint_Q_value(double value);
void WHS_enable_control_loop(bool value);
diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
index 2ae3da453..f5c9c09b5 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
@@ -111,7 +111,7 @@ bool Validate_Valve(Valves_t Valve_Id)
return true;
}
bool IgnoreMidTank = false;
-
+#ifdef 0
bool MidTankMitigation = false;
int MidTankMitigationOn = 20,MidTankMitigationOff = 10;
uint32_t MidtankMitigationControlId[NUM_OF_VALVES] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
@@ -148,8 +148,9 @@ uint32_t ValveCallback(uint32_t deviceID, uint32_t ReadValue)
MidtankMitigationCounter[deviceID] = 0;
}
}
+ return OK;
}
-
+#endif
void Valve_Command(Valves_t Valve_Id) //1 - OPEN, 0 - CLOSE
{
if (Validate_Valve(Valve_Id) == false)
@@ -421,6 +422,7 @@ void Valve_Set(Valves_t Valve_Id, bool Direction)
Report("Mid Tank Valve command ignored - bypass",__FILE__,__LINE__,(int)Valve_Id,RpWarning,Direction,0);
return;
}
+#ifdef 0
if (MidTankMitigation == true)
{
Report("Mid Tank Valve command mitigation",__FILE__,Valve_Id,(int)Valve_Id,RpWarning,Direction,0);
@@ -438,8 +440,8 @@ void Valve_Set(Valves_t Valve_Id, bool Direction)
MidtankMitigationControlId[Valve_Id] = 0xFF;
}
}
+#endif
}
-
ValveRequest[Valve_Id].Direction = Direction;
Valve_Command( Valve_Id);
#endif
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
index bb171dda4..12598ed07 100644
--- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
+++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
@@ -33,7 +33,7 @@ typedef enum {
EEPROM_STORAGE_MIDTANK_8_B,
//EEPROM_STORAGE_SERIAL_NUM,
//EEPROM_STORAGE_MAC_ADDR,
- EEPROM_STORAGE_DRYER_BACKLASH,
+ EEPROM_STORAGE_WINDER_CALIBRATION,
EEPROM_STORAGE_EMBEDDED_VERSION,
EEPROM_ALARM_SUPPORT,
EEPROM_ORIFICE1_ZERO_VALUE,
diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg
index f41e56966..f79d85b99 100644
--- a/Software/Embedded_SW/Embedded/Embedded.cfg
+++ b/Software/Embedded_SW/Embedded/Embedded.cfg
@@ -171,7 +171,7 @@ Program.global.Diagnostics = Task.create("&DiagnosticsTask", DiagnosticsTaskPara
var MillisecLowTaskParams = new Task.Params();
MillisecLowTaskParams.instance.name = "MilliSecondLow";
-MillisecLowTaskParams.stackSize = 2048;
+MillisecLowTaskParams.stackSize = 4096;
MillisecLowTaskParams.priority = 3;
Program.global.millisecLow = Task.create("&MillisecLowTask", MillisecLowTaskParams);
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index ca6c4d51f..990465fb1 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -29,12 +29,15 @@
#include "drivers/I2C_Communication/Dispenser_Card/IO_Ports/Dispenser_IO.h"
#include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h>
#include "drivers/I2C_Communication/Head_Card/ADC/Head_ADC.h"
+#include <Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.h>
#include "Common/SWUpdate/FileSystem.h"
#include "drivers/Flash_ram/MCU_E2Prom.h"
#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 "modules/General/process.h"
#include <PMR/Diagnostics/Event.pb-c.h>
#include <PMR/Diagnostics/EventType.pb-c.h>
#include <PMR/Diagnostics/StartEventsNotificationRequest.pb-c.h>
@@ -970,9 +973,9 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
}
}
}
- if (Configured[Module_Waste])
+ if ((IFS_Availability[1] == IFS_RECOGNIZED_INIT_PASSED)&&(IFS_Availability[2] == IFS_RECOGNIZED_INIT_PASSED)) //ifs installed -check cartridges
{
- FoundReason = Waste_Prepare();
+ FoundReason = Waste_CheckState();
}
if ((AlarmState[Alarm_i].Status == true)&&(FoundReason == JOB_OK))
{
@@ -1005,7 +1008,10 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
{
JobEndReason = getEndReason(AlarmId);
if (JobEndReason!=FoundReason)
+ {
ReportWithPackageFilter(AlarmFilter,"end reason mismatch!!!", __FILE__,AlarmId,JobEndReason, RpMessage, FoundReason, 0);
+ JobEndReason=FoundReason;
+ }
//AbortJob(AlarmReasonStr);
//PrepareReady(Module_Alarms,ModuleFail);
ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,__LINE__,AlarmId, RpMessage, DEBUG_LOG_CATEGORY__Error, 0);
@@ -1324,7 +1330,7 @@ uint32_t AlarmHandlingLoop(uint32_t tick)
case ALARM_SOURCE_TYPE__MotorAlarm:
if (CheckMotorAlarms)
{
- if (FPGA_WD_Occurred == true)
+ if ((FPGA_WD_Occurred == true)||(MachineReadyForHeating == false))
{
Status = false;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index 4cd91443b..091df1a3f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -578,6 +578,13 @@ uint32_t Diagnostics_Dryer_MovetoEncoderPosition_Callback(uint32_t MotorId, uint
{
MessageContainer responseContainer;
MotorHomingResponse response = MOTOR_HOMING_RESPONSE__INIT;
+ ReportWithPackageFilter(DiagnosticsFilter,"Diagnostics_Dryer_MovetoEncoderPosition_Callback time",__FILE__,__LINE__,msec_millisecondCounter,RpMessage,0,0);
+ if (HomingControlId[MotorId] != 0xff)
+ {
+ ReportWithPackageFilter(DiagnosticsFilter,"MotorHomingProgressReport stopped",__FILE__,__LINE__,MotorId,RpMessage,HomingCounter[MotorId],0);
+ RemoveControlCallback(HomingControlId[MotorId],MotorHomingProgressReport);
+ HomingControlId[MotorId] = 0xff;
+ }
ReportWithPackageFilter(DiagnosticsFilter,"Store angle of arm drier - ended",__FILE__,__LINE__,(int)(Calculate_Arm_Angle(Drier_Center_read,ReadValue)*360),RpMessage,D_numberOfCycles,0);
//ReportWithPackageFilter(DiagnosticsFilter,"Diagnostics_Dryer_MovetoEncoderPosition_Callback",__FILE__,__LINE__,0,RpMessage,CallbackCounter,0);
@@ -624,6 +631,7 @@ uint32_t Diagnostics_Dryer_Loading_Callback(uint32_t MotorId, uint32_t ReadValue
ReportWithPackageFilter(DiagnosticsFilter,"Loading drier - halted",__FILE__,__LINE__,D_numberOfCycles,RpMessage,LoadArmRounds,0);
ReportWithPackageFilter(DiagnosticsFilter,"Store angle of arm drier - halted",__FILE__,__LINE__,(int)(Calculate_Arm_Angle(Drier_Center_read,ReadValue)*360),RpMessage,D_numberOfCycles,0);
MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, 200);
+ Diagnostics_Dryer_MovetoEncoderPosition_Callback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,0);
}
return OK;
}
@@ -631,7 +639,6 @@ uint32_t Diagnostics_Dryer_Loading_Callback(uint32_t MotorId, uint32_t ReadValue
uint32_t Diagnostics_Dryer_Loading(void)
{
//float Calc_angle;
-#warning assuming loading starts from 0
if (dryerbufferlength)
LoadArmRounds = (int)dryerbufferlength;
MCU_E2PromRead(EEPROM_STORAGE_DRYER_CENTER,&D_DrierPrevLocation);
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 6f5b5fe23..774fd105b 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -243,7 +243,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
EmbeddedParameters->has_startheatingoninitsequence = true;
EmbeddedParameters->startheatingoninitsequence = true; //set to true shlomo 14/5/2019
- EmbeddedParameters->n_generalparameters = 8;
+ EmbeddedParameters->n_generalparameters = 9;
EmbeddedParameters->generalparameters = malloc (sizeof(double)*10);
if (EmbeddedParameters->generalparameters)
{
@@ -255,6 +255,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
EmbeddedParameters->generalparameters[5] = 1000.0; //Dispenser initial pressure speed
EmbeddedParameters->generalparameters[6] = Diagnostic_Extended_Mode; //Diagnostic Mode SetDiagnosticMode
EmbeddedParameters->generalparameters[7] = AutoHoming_JobEnd_PowerOn_off; //
+ EmbeddedParameters->generalparameters[8] = false; //
}
EmbeddedParameters->has_currentalarmlowlimit = true;
@@ -394,6 +395,11 @@ uint32_t EmbeddedParametersInit(void)
else if (EmbeddedParameters->generalparameters[7]< 3.5) IDS_Dispenser_SetAutoHoming_Config(AutoHoming_JobEnd_PowerOn_off);
else Report("SetAutoHoming_Config error", __FILE__,__LINE__,(int)(EmbeddedParameters->generalparameters[7]*100), RpMessage, 0, 0);
}
+ if (EmbeddedParameters->n_generalparameters >= 9)
+ {
+ if (EmbeddedParameters->generalparameters[9]< 0.5) setPowerOffDisableCleaning(false);
+ else setPowerOffDisableCleaning(true);
+ }
PowerIdleSetParameters(EmbeddedParameters->switchtoidletimeinseconds,EmbeddedParameters->idledriertemperature,EmbeddedParameters->idleheadtemperature,EmbeddedParameters->idlemixertemperature);
return Fresult;
@@ -837,10 +843,11 @@ void FlashInitAndLoad(void)
uint32_t Bytes = 0;
ConfigurationParameters *Params = NULL;
- ProcessParameters* ProcessParams = NULL;
- UploadProcessParametersRequest* request = NULL;
+ //ProcessParameters* ProcessParams = NULL;
+ //UploadProcessParametersRequest* request = NULL;
+
+ //char ProcessParamsPath[50] = "0://SysInfo//ProcessP.cfg";
- char ProcessParamsPath[50] = "0://SysInfo//ProcessP.cfg";
#ifdef WATCHDOG
ROM_WatchdogResetDisable(WATCHDOG0_BASE);
uint32_t timeout = 0xFFFFFFFFU;
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 9297d3bb8..4b3f555f4 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -20,6 +20,11 @@
#include "PMR/MachineStatus/MachineState.pb-c.h"
#include "PMR/MachineStatus/IDSPackLevel.pb-c.h"
+#include "PMR/IFS/CartridgeStatus.pb-c.h"
+#include "PMR/IFS/InkFillingStatus.pb-c.h"
+#include "PMR/IFS/StartInkFillingStatusRequest.pb-c.h"
+#include "PMR/IFS/StartInkFillingStatusResponse.pb-c.h"
+
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
#include "Drivers/Heater/TemperatureSensor.h"
#include "drivers/Motors/Motor.h"
@@ -27,8 +32,11 @@
#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"
+#include "modules/ifs/ifs.h"
MachineState StoredMachineStatus = MACHINE_STATE__PowerUp;
bool SetMAchineStateProblem = false;
@@ -78,6 +86,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 +98,20 @@ 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.overalltemperature = usetemp;
- MachineStatus.has_overalltemperature = true;
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
@@ -135,7 +147,6 @@ int MachineUpdateResponseFunc(void)
return ERROR;
-
responseContainer = /*MachineUpdate*/createContainer(MESSAGE_TYPE__StartMachineStatusUpdateResponse, MachineUpdateToken, false, &response, &start_machine_status_update_response__pack, &start_machine_status_update_response__get_packed_size);
responseContainer.has_continuous = true;
responseContainer.continuous = true;
@@ -204,4 +215,104 @@ uint32_t StopMachineUpdateFunc(MessageContainer* requestContainer)
return OK;
}
+/*struct _Cartridge
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_slot;
+ CartridgeSlot slot;
+ CartridgeTagContent *tag;
+ protobuf_c_boolean has_index;
+ int32_t index;
+};
+ typedef enum _CartridgeSlot {
+ CARTRIDGE_SLOT__Ink = 0,
+ CARTRIDGE_SLOT__WasteMiddle = 1,
+ CARTRIDGE_SLOT__WasteLower = 2
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CARTRIDGE_SLOT)
+} CartridgeSlot;
+ * */
+
+char WasteEmptyingToken[36+1] = {0};
+uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State)
+{
+ if (WasteEmptyingToken[0] == 0)
+ return ERROR;
+ uint32_t status = NOT_SUPPORTED,i;
+ MessageContainer responseContainer;
+ CartridgeStatus CartridgeStatus = CARTRIDGE_STATUS__INIT;
+ Cartridge CartData = CARTRIDGE__INIT;
+ StartInkFillingStatusResponse response = START_INK_FILLING_STATUS_RESPONSE__INIT;
+ response.status->n_cartridgesstatuses = MAX_CARTRIDGES;
+ response.status->cartridgesstatuses[0] = &CartridgeStatus;
+ CartridgeStatus.has_state = true;
+ CartridgeStatus.state = State;
+ CartridgeStatus.cartridge = &CartData;
+ CartData.has_slot = true;
+ CartData.slot = Slot;
+
+
+
+
+ /*
+struct _CartridgeStatus
+{
+ ProtobufCMessage base;
+ Cartridge *cartridge;
+ protobuf_c_boolean has_state;
+ CartridgeState state;
+ protobuf_c_boolean has_progresspercentage;
+ double progresspercentage;
+ char *message;
+};
+ size_t n_cartridgesstatuses;
+ CartridgeStatus **cartridgesstatuses;
+typedef enum _CartridgeState {
+ CARTRIDGE_STATE__None = 0,
+ CARTRIDGE_STATE__Absent = 1,
+ CARTRIDGE_STATE__Exists = 2,
+ CARTRIDGE_STATE__Inserted = 3,
+ CARTRIDGE_STATE__Filling = 4,
+ CARTRIDGE_STATE__FillingCompleted = 5,
+ CARTRIDGE_STATE__Emptying = 6,
+ CARTRIDGE_STATE__EmptyingCompleted = 7,
+ CARTRIDGE_STATE__Empty = 8,
+ CARTRIDGE_STATE__Full = 9,
+ CARTRIDGE_STATE__Error = 10
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CARTRIDGE_STATE)
+} CartridgeState;
+ */
+
+ responseContainer = createContainer(MESSAGE_TYPE__StartInkFillingStatusResponse, WasteEmptyingToken, false, &response, &start_ink_filling_status_response__pack, &start_ink_filling_status_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 StartInkFillingStatusRequestFunc(MessageContainer* requestContainer)
+{
+ uint32_t status = NOT_SUPPORTED;
+ //MessageContainer responseContainer;
+
+// MachineUpdateInitParams InitParams;
+
+ Report("StartInkFillingStatusRequestFunc",__FILE__,__LINE__,(int)0,RpWarning,(int)0,0);
+ StartInkFillingStatusRequest* request = start_ink_filling_status_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ ustrncpy (WasteEmptyingToken, requestContainer->token,36);
+
+ CartridgeStateUpdate(CARTRIDGE_SLOT__Ink,CARTRIDGE_STATE__None);
+ CartridgeStateUpdate(CARTRIDGE_SLOT__WasteMiddle,CARTRIDGE_STATE__None);
+ CartridgeStateUpdate(CARTRIDGE_SLOT__WasteLower,CARTRIDGE_STATE__None);
+ start_ink_filling_status_request__free_unpacked(request,NULL);
+ return status;
+// case MESSAGE_TYPE__StartWasteEmptyingRequest:
+
+}
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
index 489a8f638..b421785cc 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
@@ -9,11 +9,16 @@
#define MODULES_GENERAL_MACHINESTATUS_H_
#include <PMR/Common/MessageContainer.pb-c.h>
#include "PMR/MachineStatus/MachineState.pb-c.h"
+#include "PMR/IFS/CartridgeState.pb-c.h"
+#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
uint32_t MachineUpdateInitFunc(MessageContainer* requestContainer);
uint32_t StopMachineUpdateFunc(MessageContainer* requestContainer);
void SetMachineStatus (MachineState State);
int MachineUpdateResponseFunc(void);
+uint32_t StartInkFillingStatusRequestFunc(MessageContainer* requestContainer);
+
+uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State);
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index e5595a965..4538d0336 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -42,6 +42,7 @@ double pressurebuildup = 0;
double dryerzone1temp = 0;
int32_t tableindex = 0;
double headBlowersFlow[2] = {1.0,1.0};
+double ArcCleaningMotorSpeed = 0.0;
double dryerbufferMeters = 0;
double dryerbufferCentimeters = 0;
@@ -149,6 +150,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
dryerbufferCentimeters = dryerbufferlength*76+90;
+
mininkuptake = ProcessParams->mininkuptake;
feedertension = ProcessParams->feedertension;
pullertension = ProcessParams->pullertension;
@@ -157,6 +159,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
dryerairflow = ProcessParams->dryerairflow;
pressurebuildup = ProcessParams->pressurebuildup;
dryerzone1temp = ProcessParams->dryerzone1temp;
+ ArcCleaningMotorSpeed = ProcessParams->archeadcleaningmotorspeed;
if (MachineReadyForHeating == false)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.h b/Software/Embedded_SW/Embedded/Modules/General/process.h
index f7f16d11e..4a1583aa8 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.h
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.h
@@ -20,6 +20,7 @@ extern double dryerairflow;
extern double pressurebuildup;
extern double dryerzone1temp;
extern double headBlowersFlow[2];
+extern double ArcCleaningMotorSpeed;
extern int32_t tableindex;
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/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 2abcc2b31..38379d094 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -55,6 +55,7 @@
#define UNDERHEAT_COUNT_LIMIT 3
#define MIN_ALLOWED_PWM 0
#define MAX_ALLOWED_PWM 255
+#define ARC_ALARM_LIMIT 3
int Overheat_Count_Limit = OVERHEAT_COUNT_LIMIT;
int Underheat_Count_Limit = UNDERHEAT_COUNT_LIMIT;
@@ -107,6 +108,7 @@ HeaterCommand HeaterCmd[HEATER_TYPE_MAX_HEATERS];
uint32_t ControlIdtoHeaterId [HEATER_TYPE_MAX_HEATERS] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
uint32_t ControlIdtoMaxHeaterId [HEATER_TYPE_MAX_HEATERS] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
uint32_t OverHeatCounter [HEATER_TYPE_MAX_HEATERS] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+uint32_t BlowerOverHeatCounter[HEATER_TYPE_MAX_HEATERS] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
uint32_t UnderHeatCounter [HEATER_TYPE_MAX_HEATERS] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
uint32_t MainDryerHeaterMaxTempControl = 0xFF;
uint32_t SecondDryerHeaterMaxTempControl = 0xFF;
@@ -1110,12 +1112,12 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
}
return ERROR;
}
+
uint32_t HeaterBlowerMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
{
uint32_t BlowerPt100Read = 0;
int index=HEATER_TYPE_MAX_HEATERS;
- int32_t MaxreadValue;
if (IfIndex>>8 != IfTypeHeaters)
{
@@ -1143,34 +1145,19 @@ uint32_t HeaterBlowerMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
}
}
- if ((BlowerPt100Read >= HeaterControl[index].sensormaxvalue) || (BlowerPt100Read > 25500))
+ if (BlowerPt100Read > 25500)
{
- if(OverHeatCounter[index]++ >= Overheat_Count_Limit)
+ if(BlowerOverHeatCounter[index]++ >= Overheat_Count_Limit)
{
- OverHeatCounter[index] = Overheat_Count_Limit;
- //?????HeaterReady[index] = false;
- if (JobIsActive()&&(HeaterReady[index]==true))
+ BlowerOverHeatCounter[index] = Overheat_Count_Limit;
+
+ if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue))
{
- JobEndReason = JOB_TEMPERATURE_ALARM;
- SendJobProgress(0.0,0,false, "Temperature Error");
- AbortJob("Over Temperature Error");
- //SegmentReady(Module_Heaters,ModuleFail);
- ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
- return OK;
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0);
}
- //if (getIdleState() == false)
- //not idle, not cooling to temp
+ else
{
- if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue))
- {
- ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0);
- }
- else
- {
- ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
- ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
- AlarmHandlingSetAlarm(HeaterEventType[index], true);
- }
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
}
}
if (index == HEATER_TYPE__HeadCoverHeater1)
@@ -1184,34 +1171,110 @@ uint32_t HeaterBlowerMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterRecalculateHeaterParams(HEATER_TYPE__HeadCoverHeater2,0);
}
HeaterMaxTempFlag[index] = true;
- //ReportWithPackageFilter(HeatersFilter,(MinreadValue/100), "Heater Over the max temperature, turned off");
- return OK;
- }
- if (BlowerPt100Read <= (HeaterControl[index].sensormaxvalue-HeaterControl[index].sensorminvalue)) //was MinreadValue
- {
- if (HeaterControl[index].sensorminvalue > 0)
+ } else {
+ if (BlowerOverHeatCounter[index])
{
- if (HeaterMaxTempFlag[index] == true)
+ if (BlowerPt100Read <= 25300)
{
- /* ActivateHeater(HEATER_TYPE__DryerMainHeater);
- if (HeaterReady[HEATER_TYPE__DryerAirHeater]==false)
+ BlowerOverHeatCounter[index]--;
+ if (BlowerOverHeatCounter[index]==0)
{
- ActivateHeater(HEATER_TYPE__DryerSecondaryHeater);
- }*/
- //ReportWithPackageFilter(HeatersFilter, "Heater Cooled Off max temperature, turned on",__FILE__,__LINE__,(MinreadValue/100),RpError, 0,0);
+ HeaterMaxTempFlag[index] = false;
+ }
}
- HeaterMaxTempFlag[index] = false;
}
- return OK;
}
+ // alarm handling
+ if ((HeaterPreviousRead[index] >= HeaterControl[index].sensormaxvalue) && (HeaterCmd[index].targettemperatue))
+ {
+ if(OverHeatCounter[index]++ >=Overheat_Count_Limit)
+ {
+ OverHeatCounter[index] = Overheat_Count_Limit;
+ if (JobIsActive()&&(HeaterReady[index]==true))
+ {
+ JobEndReason = JOB_TEMPERATURE_ALARM;
+ SendJobProgress(0.0,0,false, "Temperature Error");
+ AbortJob("Over Temperature Error");
+ ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
+ return OK;
+ }
- return ERROR;
+ if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue))
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0);
+ }
+ else
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
+ ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
+ AlarmHandlingSetAlarm(HeaterEventType[index], true);
+ }
+ }
+ }
+ else if ((HeaterPreviousRead[index] < HeaterControl[index].sensormaxvalue) && (!HeaterCmd[index].targettemperatue))
+ {
+ if(OverHeatCounter[index]++ >=Overheat_Count_Limit)
+ {
+ OverHeatCounter[index] = Overheat_Count_Limit;
+ AlarmHandlingSetAlarm(HeaterEventType[index], false);
+ }
+ }
+ else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue))
+ {
+ if (HeaterReady[index]==true)
+ {
+ ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature",__FILE__,index,UnderHeatCounter[index],RpWarning,HeaterControl[index].sensorminvalue, 0);
+ ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature more info",__FILE__,HeaterReady[index],GetHeaterState(index),RpWarning,HeaterPreviousRead[index], 0);
+ }
+ if(UnderHeatCounter[index]++ >= Underheat_Count_Limit)
+ {
+ UnderHeatCounter[index] = Underheat_Count_Limit;
+ if (JobIsActive()&&(HeaterReady[index]==true))
+ {
+ JobEndReason = JOB_TEMPERATURE_ALARM;
+ SendJobProgress(0.0,0,false, "Temperature Error");
+ AbortJob("Under Temperature Error");
+ ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
+ return OK;
+ }
+ if (HeaterReady[index]==false)
+ AlarmHandlingSetAlarm(HeaterUnderEventType[index], true);
+ else
+ AlarmHandlingSetAlarm(HeaterUnderEventType_B[index], true);
+ }
+ }
+ else //temperature within limits
+ {
+ if(UnderHeatCounter[index] )
+ {
+ UnderHeatCounter[index]--;
+ if (UnderHeatCounter[index]==0)
+ {
+ if (HeaterReady[index]==false)
+ AlarmHandlingSetAlarm(HeaterUnderEventType[index], false);
+ else
+ AlarmHandlingSetAlarm(HeaterUnderEventType_B[index], false);
+ }
+ }
+ if(OverHeatCounter[index] )
+ {
+ if ((HeaterPreviousRead[index]) <= (HeaterControl[index].sensormaxvalue-2))
+ {
+ OverHeatCounter[index]--;
+ if (OverHeatCounter[index]==0)
+ {
+ AlarmHandlingSetAlarm(HeaterEventType[index], false);
+ }
+ }
+ }
+ }
+ return OK;
}
+
uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
{
int index=HEATER_TYPE_MAX_HEATERS;
-
if (IfIndex>>8 != IfTypeHeaters)
{
ReportWithPackageFilter(HeatersFilter, "Wrong Interface type",__FILE__,__LINE__,IfIndex,RpError, 0,0);
@@ -1221,7 +1284,53 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
//int32_t readValue = MillisecGetTemperatures(HeaterId2PT100Id[index]);
if (HeaterControl[index].sensormaxvalue == 0)
return OK;
- if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue))
+ if ((HeaterPreviousRead[index]) >= HeaterControl[index].sensormaxvalue)
+ {
+ if(OverHeatCounter[index]++ >=Overheat_Count_Limit)
+ {
+ OverHeatCounter[index] = Overheat_Count_Limit;
+ //?????HeaterReady[index] = false;
+ if (JobIsActive()&&(HeaterReady[index]==true))
+ {
+ JobEndReason = JOB_TEMPERATURE_ALARM;
+ SendJobProgress(0.0,0,false, "Temperature Error");
+ AbortJob("Over Temperature Error");
+ //SegmentReady(Module_Heaters,ModuleFail);
+ ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
+ return OK;
+ }
+ //if (getIdleState() == false)
+ //not idle, not cooling to temp
+ {
+ if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue))
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0);
+ }
+ else
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
+ ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
+ AlarmHandlingSetAlarm(HeaterEventType[index], true);
+ }
+ }
+ }
+ if (index == HEATER_TYPE__DryerAirHeater)
+ {
+ DeActivateHeater(HEATER_TYPE__DryerMainHeater);
+ HeaterRecalculateSharedHeatersParams(HEATER_TYPE__DryerMainHeater,0);
+ DeActivateHeater(HEATER_TYPE__DryerSecondaryHeater);
+ HeaterRecalculateSharedHeatersParams(HEATER_TYPE__DryerSecondaryHeater,0);
+ }
+ else
+ {
+ DeActivateHeater(index);
+ HeaterRecalculateHeaterParams(index, 0);
+ }
+ HeaterMaxTempFlag[index] = true;
+ //ReportWithPackageFilter(HeatersFilter,(MinreadValue/100), "Heater Over the max temperature, turned off");
+ return OK;
+ }
+ else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue))
{
if (HeaterReady[index]==true)
{
@@ -1276,7 +1385,7 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
}
return ERROR;
}
-bool IncreaseBlower = false;
+
uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
{
int index=HEATER_TYPE_MAX_HEATERS;
@@ -1437,30 +1546,17 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
ReportWithPackageFilter(HeatersFilter,"AC Ready",__FILE__,index,readValue,RpWarning,(HeaterCmd[index].targettemperatue), 0);
HeaterAtTemp[index] = true;
HeaterPrepareReady();
- IncreaseBlower = false;
}
}
- if ( (readValue > (HeaterCmd[index].targettemperatue * ((100-HeaterControl[index].outputproportionalband+2)/100)))
- && (readValue < (HeaterCmd[index].targettemperatue * ((100+HeaterControl[index].outputproportionalband)/100))))
+ else
{
- if (IncreaseBlower == false)
- {
- IncreaseBlower = true;
- if (BlowerCfg.enabled == true)
+ if ((readValue < (HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000))||(readValue > (HeaterCmd[index].targettemperatue * AcHeatersUpperoperationLimit/1000)))//read value within 0.5 percent from target
{
- if(Head_Type > HEAD_TYPE_FLAT_WITHOUT_CARD)
- {
- WHS_Set_SetPoint_Q_value(headairflow);
- }
- else
- {
- Turn_the_Blower_On();//Turn on with the Default_Voltage
- if (BlowerCfg.voltage)
- Control_Voltage_To_Blower(BlowerCfg.voltage);
- }
+ //InitialHeating = false;
+ ReportWithPackageFilter(HeatersFilter,"AC NOT Ready",__FILE__,index,readValue,RpWarning,(HeaterCmd[index].targettemperatue), 0);
+ HeaterAtTemp[index] = false;
+ HeaterPrepareReady();
}
-
- }
}
if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0))
{
@@ -1606,7 +1702,8 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
}
if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100))
{
- ActivateHeater(index);
+ if (HeaterMaxTempFlag[index] == false)
+ ActivateHeater(index);
//HeaterRecalculateHeaterParams(index, 100);
//Heaters OFF until coming into the proportional band
//ReportWithPackageFilter(HeatersFilter,"DC HEATER Under temperature ", __FILE__,__LINE__,index, RpMessage, readValue, 0);
@@ -1643,6 +1740,15 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterPrepareReady();
}
}
+ else
+ {
+ if ((readValue < (HeaterCmd[index].targettemperatue * DcHeatersLoweroperationLimit/1000))||(readValue > (HeaterCmd[index].targettemperatue * DcHeatersUpperoperationLimit/1000)))//read value within 0.5 percent from target
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC NOT Ready",__FILE__,index,readValue,RpWarning,(HeaterCmd[index].targettemperatue), 0);
+ HeaterAtTemp[index] = false;
+ HeaterPrepareReady();
+ }
+ }
if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0))
{
@@ -2095,10 +2201,12 @@ uint32_t HeadBlowerPidFunc(double setParam,double measuredParam, int blowerId)
HeadBlowersCloseLoopTime[blowerId] = HeadBlowerControl[blowerId].m_params.dt;
if (calculatedPwm < MIN_ALLOWED_PWM) {
+ //ReportWithPackageFilter(HeatersFilter,"calculatedPwm < MIN_ALLOWED_PWM",__FILE__,__LINE__,calculatedPwm,RpError, MIN_ALLOWED_PWM,0);
HeadBlowerControl[blowerId].m_integral = 0;
calculatedPwm = MIN_ALLOWED_PWM;
}
if (calculatedPwm > MAX_ALLOWED_PWM) {
+ //ReportWithPackageFilter(HeatersFilter,"calculatedPwm > MAX_ALLOWED_PWM",__FILE__,__LINE__,calculatedPwm,RpError, MAX_ALLOWED_PWM,0);
HeadBlowerControl[blowerId].m_integral = 0;
calculatedPwm = MAX_ALLOWED_PWM;
}
@@ -2136,63 +2244,105 @@ uint32_t HeadBlowersOffGet()
void ArcHeadAlarms(void)
{
double currentFlow = 0.0;
+ static int8_t count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0;
+ static int8_t count6 = 0, count7 = 0, count8 = 0, count9 = 0, count10 = 0;
if (FPGA_Read_limit_Switches(I2C_HEADCARD_COVER_LS_ARC) != LIMIT) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_ARC_LID_IS_OPEN, true);
+ if (++count9 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_ARC_LID_IS_OPEN, true);
+ count9 = (count9 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count9);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_ARC_LID_IS_OPEN, false);
+ if (--count9 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_ARC_LID_IS_OPEN, false);
+ count9 = (count9 < 0)?(0):(count9);
}
if (FPGA_Read_limit_Switches(I2C_HEADCARD_COVER_LS_TUNNEL_ARC) != LIMIT) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_TUNNEL_LID_IS_OPEN, true);
+ if (++count10 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_TUNNEL_LID_IS_OPEN, true);
+ count10 = (count10 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count10);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_TUNNEL_LID_IS_OPEN, false);
+ if (--count10 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_TUNNEL_LID_IS_OPEN, false);
+ count10 = (count10 < 0)?(0):(count10);
}
if (Head_Fan_Tach[0] == 0x1FFE) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_STOPPED, true);
+ if (++count1 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_STOPPED, true);
+ count1 = (count1 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count1);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_STOPPED, false);
+ if (--count1 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_STOPPED, false);
+ count1 = (count1 < 0)?(0):(count1);
}
if (Head_Fan_Tach[1] == 0x1FFE) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_STOPPED, true);
+ if (++count2 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_STOPPED, true);
+ count2 = (count2 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count2);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_STOPPED, false);
+ if (--count2 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_STOPPED, false);
+ count2 = (count2 < 0)?(0):(count2);
}
if (HeadBlowersGetRPM(0) < 2000) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_RPM_TOO_LOW, true);
+ if (++count3 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_RPM_TOO_LOW, true);
+ count3 = (count3 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count3);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_RPM_TOO_LOW, false);
+ if (--count3 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FAN_RPM_TOO_LOW, false);
+ count3 = (count3 < 0)?(0):(count3);
}
if (HeadBlowersGetRPM(1) < 2000) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_RPM_TOO_LOW, true);
+ if (++count4 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_RPM_TOO_LOW, true);
+ count4 = (count4 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count4);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_RPM_TOO_LOW, false);
+ if (--count4 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FAN_RPM_TOO_LOW, false);
+ count4 = (count4 < 0)?(0):(count4);
}
currentFlow = PressureSensorGetPressure(HEAD_PT100_ZONE_5_0X84_0);
if (currentFlow > 5.0) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_HIGH, true);
+ if (++count5 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_HIGH, true);
+ count5 = (count5 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count5);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_HIGH, false);
+ if (--count5 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_HIGH, false);
+ count5 = (count5 < 0)?(0):(count5);
}
if (currentFlow < 1.0) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_LOW, true);
+ if (++count6 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_LOW, true);
+ count6 = (count6 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count6);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_LOW, false);
+ if (--count6 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_1_FLOW_TOO_LOW, false);
+ count6 = (count6 < 0)?(0):(count6);
}
currentFlow = PressureSensorGetPressure(HEAD_PT100_ZONE_7_0X86_0);
if (currentFlow > 5.0) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_HIGH, true);
+ if (++count7 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_HIGH, true);
+ count7 = (count7 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count7);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_HIGH, false);
+ if (--count7 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_HIGH, false);
+ count7 = (count7 < 0)?(0):(count7);
}
if (currentFlow < 1.0) {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_LOW, true);
+ if (++count8 == ARC_ALARM_LIMIT)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_LOW, true);
+ count8 = (count8 > ARC_ALARM_LIMIT)?(ARC_ALARM_LIMIT):(count8);
} else {
- AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_LOW, false);
+ if (--count8 == 0)
+ AlarmHandlingSetAlarm(EVENT_TYPE__DYEING_HEAD_BLOWER_2_FLOW_TOO_LOW, false);
+ count8 = (count8 < 0)?(0):(count8);
}
}
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_Cleaning.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_Cleaning.c
index c06e79311..2e3d61f0c 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_Cleaning.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_Cleaning.c
@@ -8,6 +8,7 @@
#include "ids.h"
#include "ids_ex.h"
#include "../control/control.h"
+#include "modules/General/process.h"
#include "../control/pidalgo.h"
#include "../thread/thread.h"
#include "PMR/Hardware/Hardwaremotor.pb-c.h"
@@ -96,8 +97,11 @@ uint32_t IDS_Cleaning_Move_Actuators()
}
} else { //arc
if (CleaningStageCounter == 0) {
- MotorSetSpeed(MotorId, 750);
- ReportWithPackageFilter(IDSFilter,"IDS_Cleaning_Motor_Run", __FILE__, __LINE__, 1, RpWarning, CleaningStageCounter, 0);
+ if (ArcCleaningMotorSpeed>1)
+ MotorSetSpeed(MotorId, ArcCleaningMotorSpeed);
+ else
+ MotorSetSpeed(MotorId, 750);
+ ReportWithPackageFilter(IDSFilter,"IDS_Cleaning_Motor_Run", __FILE__, __LINE__, 750, RpWarning, (int)ArcCleaningMotorSpeed, 0);
}
}
CleaningStageCounter++;
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
index c55f10277..991f4ecc0 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
@@ -217,6 +217,10 @@ uint32_t IDS_HomeDispenserCallback(uint32_t motorId, uint32_t ReadValue)
HomingActive[DispenserId]= false;
PrimingActive[DispenserId]= false;
Control_TCA9534ByPass(DispenserId,DISABLE);// use ENABLE or DISABLE
+#ifdef DISPENSER_VALVES_OPEN
+ if (JobIsActive()==false)
+ Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+#endif
//close dry air valve in the dispenser
Valve_Set(IDS_Id_to_AirValve[DispenserId], Atm_MidTank_OFF);
@@ -336,6 +340,10 @@ uint32_t IDS_StopHomeDispenser (uint32_t DispenserId)
HomingActive[DispenserId] = false;
PrimingActive[DispenserId] = false;
Control_TCA9534ByPass(DispenserId,DISABLE);// use ENABLE or DISABLE
+#ifdef DISPENSER_VALVES_OPEN
+ if (JobIsActive()==false)
+ Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+#endif
if (Extended_Motor_Param[MotorId] == true)
Power_Step_01_Dispenser_Mode(DispenserId,Voltage);
//MotorSetMicroStep(MotorId, KeepMicrostep[DispenserId]);
@@ -564,7 +572,11 @@ void IDS_Dispenser_Init(uint8_t DispenserId)
HomingActive[DispenserId]= false;
PrimingActive[DispenserId]= false;
Valve_Set(IDS_Id_to_AirValve[DispenserId], Atm_MidTank_OFF);
+#ifdef DISPENSER_VALVES_OPEN
+ Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+#else
Control3WayValvesWithCallback ((Valves_t)DispenserId, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+#endif
//if (Special_Dispensers == true)
{
if (ControlIdtoInactiveDispenserId[DispenserId] == 0xFF)
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 0d81e5447..2ad8db9d6 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -142,7 +142,7 @@ void IDS_Dispenser_SetPreSegmentWFCFValues(double dispenserpresegmentwfcf, doubl
uint32_t IDS_DispenserPidRequestMessage(HardwarePidControl* request)
{
- int Dispenser_i,i;
+ /*int Dispenser_i,i;
//int temp;
for (i=0;i<MAX_SYSTEM_DISPENSERS;i++)
{
@@ -177,7 +177,7 @@ uint32_t IDS_DispenserPidRequestMessage(HardwarePidControl* request)
DispenserControlConfig[Dispenser_i].m_preError = 0;
DispenserControlConfig[Dispenser_i].m_SetParam = DispensersCtrl[Dispenser_i].outputproportionalcycletime;//need to update SetParams on presegment stage
-
+ */
return OK;
}
uint32_t DispenserPidControlId[MAX_SYSTEM_DISPENSERS] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
@@ -558,7 +558,6 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
int i;
int NumofReadyDispensers = 0;
TimerMotors_t HW_Motor_Id;
- float updatedSpeed,tempSpeed;
JobDispenser **Dispensers;
//set the speed only before the first segment, speed is constant accros job
int Dispenser_i,n_dispensers;
@@ -790,29 +789,29 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
for (Motor_i = 0;Motor_i < MAX_SYSTEM_DISPENSERS;Motor_i++)
{
TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[Motor_i];
- Pid_Id = Motor_i;/*IDSMotorIdToControlId[Motor_i];*/
- DispenserControlConfig[Motor_i].m_params.MAX = 1;
- DispenserControlConfig[Motor_i].m_params.MIN = DispensersControl[Pid_Id].outputproportionalpowerlimit*-1;
- DispenserControlConfig[Motor_i].m_params.Kd = DispensersControl[Pid_Id].derivativetime;
- DispenserControlConfig[Motor_i].m_params.Kp = DispensersControl[Pid_Id].proportionalgain;
- DispenserControlConfig[Motor_i].m_params.Ki = DispensersControl[Pid_Id].integraltime;
- DispenserControlConfig[Motor_i].m_params.epsilon = 0.01;
- DispenserControlConfig[Motor_i].m_params.dt = eHundredMillisecond;
- DispenserControlConfig[Motor_i].m_calculatedError = 0;
- DispenserControlConfig[Motor_i].m_integral = 0;
- DispenserControlConfig[Motor_i].m_isEnabled = true;
- DispenserControlConfig[Motor_i].m_isReady = true;
- DispenserControlConfig[Motor_i].m_mesuredParam = 0;
- DispenserControlConfig[Motor_i].m_preError = 0;
- DispenserControlConfig[Motor_i].m_SetParam = 0;//need to update SetParams on presegment stage
-
- MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize); //set the dispenser to the
- /*Start the dispensers to build initial pressure
- * check different handling for dispensers that participate in the first segment and idle dispensers
- * start control for initial pressure
- *
- */
- //ValveCommand (Enable,MixerDirection);
+ /*Pid_Id = Motor_i;//IDSMotorIdToControlId[Motor_i];
+ DispenserControlConfig[Motor_i].m_params.MAX = 1;
+ DispenserControlConfig[Motor_i].m_params.MIN = DispensersControl[Pid_Id].outputproportionalpowerlimit*-1;
+ DispenserControlConfig[Motor_i].m_params.Kd = DispensersControl[Pid_Id].derivativetime;
+ DispenserControlConfig[Motor_i].m_params.Kp = DispensersControl[Pid_Id].proportionalgain;
+ DispenserControlConfig[Motor_i].m_params.Ki = DispensersControl[Pid_Id].integraltime;
+ DispenserControlConfig[Motor_i].m_params.epsilon = 0.01;
+ DispenserControlConfig[Motor_i].m_params.dt = eHundredMillisecond;
+ DispenserControlConfig[Motor_i].m_calculatedError = 0;
+ DispenserControlConfig[Motor_i].m_integral = 0;
+ DispenserControlConfig[Motor_i].m_isEnabled = true;
+ DispenserControlConfig[Motor_i].m_isReady = true;
+ DispenserControlConfig[Motor_i].m_mesuredParam = 0;
+ DispenserControlConfig[Motor_i].m_preError = 0;
+ DispenserControlConfig[Motor_i].m_SetParam = 0;//need to update SetParams on presegment stage
+ */
+ MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize); //set the dispenser to the
+ /*Start the dispensers to build initial pressure
+ * check different handling for dispensers that participate in the first segment and idle dispensers
+ * start control for initial pressure
+ *
+ */
+ //ValveCommand (Enable,MixerDirection);
}
if (HeaterCheckReady() == true)
@@ -866,6 +865,13 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
ReportWithPackageFilter(IDSFilter,"Inactive dispenser already homing",__FILE__,i,HomingActive[i],RpWarning,PrimingActive[i],0);
}
}
+#ifdef DISPENSER_VALVES_OPEN
+ else // turn inactive dispenser valve toward the midtank during job
+ {
+ if (HomingActive[i] == false)
+ Control3WayValvesWithCallback ((Valves_t)i, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+ }
+#endif
}
}
if (NumOfActiveDispensers)
@@ -1230,7 +1236,7 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback);
}
if (segmentfirst_speed > MINIMAL_MOTOR_SPEED)
{
- char IdMessage[100];
+ //char IdMessage[100];
segmentfirst_speed *= (100+WFCF);
segmentfirst_speed /= 100;
DispenserSegmentReady[DispenserId] = false;
@@ -1872,7 +1878,11 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
{
MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz);
}
- Control3WayValvesWithCallback (Dispenser_i, MidTank_Dispenser, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
+#ifdef DISPENSER_VALVES_OPEN
+ Control3WayValvesWithCallback (Dispenser_i, Dispenser_Mixer, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
+#else
+ Control3WayValvesWithCallback (Dispenser_i, MidTank_Dispenser, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
+#endif
CurrentDispenserSpeed[Dispenser_i] = 0;
//IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_EndValveReady);
@@ -1881,6 +1891,9 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
{
// RemoveControlCallback(ControlIdtoInactiveDispenserId[Dispenser_i], IDS_Check_Pressure_Callback );
// ControlIdtoInactiveDispenserId[Dispenser_i] = 0xFF;
+#ifdef DISPENSER_VALVES_OPEN
+ Control3WayValvesWithCallback (Dispenser_i, Dispenser_Mixer, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
+#endif
IDS_Valve_EndValveReady(Dispenser_i,false);
}
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 747df1a61..d62ad3a43 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -11,10 +11,13 @@
#include <DataDef.h>
#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
+#include <PMR/Diagnostics/EventType.pb-c.h>
+#include "PMR/IFS/CartridgeState.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"
@@ -22,7 +25,6 @@
#include "Modules/AlarmHandling/AlarmHandling.h"
#include "CartridgeValidationRequest.pb-c.h"
#include "CartridgeValidationResponse.pb-c.h"
-#include <PMR/Diagnostics/EventType.pb-c.h>
#include "drivers/Valves/Valve.h"
#include "../control/control.h"
#include "Modules/General/buttons.h"
@@ -145,6 +147,7 @@ bool CartridgeInkFull()
//currently sensor work properly only until 1.6 - 1.8 Liter (TBD)
Report("DetectIfCartridgeFinished", __FILE__,__LINE__,int_MidTank_Pressure_1000, RpMessage, int_MidTank_Pressure_1000, 0);
//return true;
+ //IFS_State = CARTRIDGE_STATE__FillingCompleted;
}
}
return false;
@@ -229,7 +232,6 @@ bool CartridgeValidationResponseFunc(MessageContainer* requestContainer)
}
return OK;
}
-
void ResponseDemo(int MidtankId)
{
inkAuthenticationPass = true;
@@ -274,6 +276,7 @@ void midTankStateMachine(void)
break;
}
//check RFID? (TBD)
+ //IFS_State = CARTRIDGE_STATE__Inserted;
// send request for validation to ppc
inkAuthenticationPass = 2; //not defined
@@ -295,11 +298,13 @@ void midTankStateMachine(void)
Report("MidTank Cartridge authentication wait...", __FILE__, __LINE__, authenticationTimeOutCounter, RpMessage, 0, 0);
if (authenticationTimeOutCounter > 60) {
midTankState = MidTankStateIdle;
+ //IFS_State = CARTRIDGE_STATE__Error;
}
break;
}
if (inkAuthenticationPass == false) {
Report("MidTank Cartridge authentication fail", __FILE__, __LINE__, 0, RpMessage, 0, 0);
+ //IFS_State = CARTRIDGE_STATE__Error;
midTankState = MidTankStateIdle;
break;
}
@@ -311,11 +316,13 @@ void midTankStateMachine(void)
cart1.color = fastBILNK;
Report("Mid-tank not empty", __FILE__, __LINE__, midTankCapacity, RpMessage, MidTankEmptyLimit, 0);
midTankState = MidTankStateIdle;
+ //IFS_State = CARTRIDGE_STATE__Exists;
break;
}
Report("Mid-tank filling in process", __FILE__,__LINE__,(int)(MidTankEmptyLimit*1000), RpMessage, (int)(midTankCapacity*1000), 0);
Pannel_Leds(CART_1, MODE_ON);
cart1.color = BLINK;
+ //IFS_State = CARTRIDGE_STATE__Filling;
if (midTankCartColor == MIDTANK_8)
{
@@ -340,6 +347,7 @@ void midTankStateMachine(void)
Report("Cartridge extracted during filling!!!", __FILE__, __LINE__, midTankState, RpMessage, 0, 0);
Report("Mid-tank # filling fail", __FILE__, __LINE__, midTankState, RpMessage, 0, 0);
midTankState = MidTankStateIdle;
+ //IFS_State = CARTRIDGE_STATE__Absent;
}
// if time out or emptying done - idle
if (midTankTimeoutCounter++ > CartridgeInkTimeout) {
@@ -349,6 +357,7 @@ void midTankStateMachine(void)
MidTankValvesAction(Cartridge_MidTank_OFF);
Report("Mid-tank # filling fail", __FILE__, __LINE__, midTankState, RpMessage, 0, 0);
Report("Call customer support", __FILE__, __LINE__, midTankState, RpMessage, 0, 0);
+ //IFS_State = CARTRIDGE_STATE__Error;
midTankState = MidTankStateIdle;
} else if (CartridgeInkFull()) {
midTankTimeoutCounter = 0;
@@ -357,6 +366,7 @@ void midTankStateMachine(void)
MidTankValvesAction(Cartridge_MidTank_OFF);
Report("Mid-tank # filling done", __FILE__, __LINE__, midTankState, RpMessage, 0, 0);
midTankState = MidTankStateIdle;
+ //IFS_State = CARTRIDGE_STATE__FillingCompleted;
}
break;
default:
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index e4a573e7b..ed5f5e560 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -1041,7 +1041,6 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.progress = (double)MCU_E2PromProgram(EEPROM_STORAGE_DRYER_CYCLES,request->delay);
response.has_progress = true;
}
-
else
if(request->amount == 0xB3) //fast refresh for pressure
{
@@ -1207,6 +1206,14 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.has_progress = true;
}
else
+ if(request->amount == 0xB20) //Set loading arm cycles
+ {
+ LOG_ERROR(request->delay,"Set winding calibration data");
+
+ response.progress = (double)MCU_E2PromProgram(EEPROM_STORAGE_WINDER_CALIBRATION,request->delay);
+ response.has_progress = true;
+ }
+ else
if(request->amount == 0xC3) //suspend I2C task
{
if (request->delay == 0)
@@ -1234,6 +1241,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.progress = request->delay;
response.has_progress = true;
}
+#ifdef 0
else
if(request->amount == 0xC12)
{
@@ -1261,6 +1269,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.progress = request->delay;
response.has_progress = true;
}
+#endif
else
if((request->amount == 0xDF) && (request->delay == 0xDF)) //Power off
{
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/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index f4d34284d..0440d2241 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -17,7 +17,7 @@
#include "Common/report/report.h"
#include "drivers/FPGA/FPGA.h"
-
+#include "drivers/Flash_ram/MCU_E2Prom.h"
#include "drivers/FPGA/FPGA_SPI_Comm.h"
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"
@@ -102,18 +102,25 @@ char ScrewStr[150];
uint32_t InternalWindingConfigMessage(JobSpool* request)
{
uint32_t status = PASSED;
+ int limitswitchstartpointoffset = 0;
InternalWinderCfg.segmentoffsetpulses = request->segmentoffsetpulses;
InternalWinderCfg.spoolbackingrate = request->backingrate;
InternalWinderCfg.startoffsetpulses = request->startoffsetpulses;
if (request->has_limitswitchstartpointoffset)
{
- InternalWinderCfg.startoffsetpulses += request->limitswitchstartpointoffset;
+ //InternalWinderCfg.startoffsetpulses += request->limitswitchstartpointoffset;
Report("limit switch start point offset",__FILE__,__LINE__,(int)(request->startoffsetpulses),RpWarning,(int)(request->limitswitchstartpointoffset), 0);
}
+ status |= MCU_E2PromRead(EEPROM_STORAGE_WINDER_CALIBRATION,&limitswitchstartpointoffset);
+ if ((status!= OK )||(limitswitchstartpointoffset == 0xFFFF))
+ limitswitchstartpointoffset = 0;
+ Report("limit switch start point offset",__FILE__,(int)(request->startoffsetpulses),(int)(limitswitchstartpointoffset),RpWarning,status, 0);
+ InternalWinderCfg.startoffsetpulses += limitswitchstartpointoffset;
+
InternalWinderCfg.SpoolBottomBackingRate = request->bottombackingrate;
InternalWinderCfg.NumberOfRotationPerPassage = 3.1415926*3;//request->rotationsperpassage;
- if (request->rotationsperpassage > 6.1)
+ if (request->rotationsperpassage > 5.1)
InternalWinderCfg.NumberOfRotationPerPassage = request->rotationsperpassage;
if (NumberOfRotationPerPassage > 1)
{
@@ -241,6 +248,7 @@ uint32_t Winder_PrepareStage2(uint32_t deviceID, uint32_t ReadValue)
LOG_ERROR(deviceID,"Screw failed to reach the limit switch!!");
//returned with a timeout
Winder_ScrewAtOffsetCallback(0,0);
+ PrepareReady(Module_Winder, ModuleFail);
}
else //short jog, etc
{
@@ -356,7 +364,9 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
{
//uint32_t Steps;
double temp,tempScrewSpeed;
- int i,tempmot;
+#ifdef FOUR_WINDERS
+ int tempmot;
+#endif
//double screw_horizontal_speed = 0;
//double RotationsPerSecond;
if (WinderMotorSpeedCounter++>=MAX_WINDER_SPEED_CALCULATION)
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index e7336cc9d..25f322b2e 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -337,7 +337,7 @@ uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue)
}**/
//}
-#ifdef FOUR_WINDERS
+#ifdef BTSR_NO_TFU
if (CurrentControlledSpeed[WINDER_MOTOR]>100)
length = dyeingspeed/10;
#endif
@@ -560,7 +560,6 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
//extern int MotorSamplePointer[MAX_THREAD_MOTORS_NUM];
//read value is the dancer angle
int i,index=MAX_THREAD_MOTORS_NUM;
- int len;
int DancerId;
int32_t TranslatedReadValue, avreageSampleValue = 0;//,avreageMotorSampleValue = 0;
//double tempcalcspeed = 0;
@@ -747,7 +746,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
if (index >= WINDER_MOTOR)
{
// FirstCalcInJob = false;
- len = usnprintf(ATMessage[index], 150, "index %d read %d avg %d error(6) %d integral(9) %d,delta(9) %d, calc(3) %d speed %d %d",index-WINDER_MOTOR+1,
+ usnprintf(ATMessage[index], 150, "index %d read %d avg %d error(6) %d integral(9) %d,delta(9) %d, calc(3) %d speed %d %d",index-WINDER_MOTOR+1,
TranslatedReadValue,avreageSampleValue,(int)(MotorControlConfig[index].m_mesuredParam*1000000),
(int)(MotorControlConfig[index].m_integral*1000000000),(int)((MotorControlConfig[index].m_mesuredParam*MotorControlConfig[index].m_params.dt)*1000000000),
(int)(MotorControlConfig[index].m_calculatedError*1000),(int)calculated_speed, (int)(InitialDryerSpeed*100/OriginalMotorSpd_2PPS[DRYER_MOTOR]));
@@ -784,7 +783,6 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
ReportWithPackageFilter(ThreadFilter,"MotorSpeedUpdated",__FILE__,index,(int)OriginalMotorSpd_2PPS[index],RpWarning,(int)CurrentControlledSpeed[index],0);
}*/
#ifdef TEST_PID_THREAD
- int len;
if ((JobCounter % 2000) == index*100)
//if (keepdata == true)
{
@@ -796,7 +794,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
NormError[controlIndex] = MotorControlConfig[index].m_mesuredParam;
mIntegral[controlIndex] = MotorControlConfig[index].m_integral;
timestamp[controlIndex] = msec_millisecondCounter;*/
- len = usnprintf(TMessage, 150, "read %d avg %d error(6) %d integral(9) %d,delta(9) %d, calc(3) %d speed %d",
+ usnprintf(TMessage, 150, "read %d avg %d error(6) %d integral(9) %d,delta(9) %d, calc(3) %d speed %d",
ReadValue,avreageSampleValue,(int)(MotorControlConfig[index].m_mesuredParam*1000000),
(int)(MotorControlConfig[index].m_integral*1000000000),(int)((MotorControlConfig[index].m_mesuredParam*MotorControlConfig[index].m_params.dt)*1000000000),
(int)(MotorControlConfig[index].m_calculatedError*1000),(int)calculated_speed);
@@ -916,7 +914,7 @@ uint32_t Release_Right_TFU_TensionCallback(uint32_t deviceID, uint32_t BusyFlag)
uint32_t Release_Right_TFU_Tension()
{
uint32_t status = OK;
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
if (RTFU_Up == true)
{
Report("Release_Right_TFU_Tension",__FILE__,__LINE__,HARDWARE_MOTOR_TYPE__MOTO_RDANCER,RpMessage,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].pulseperround/4,0);
@@ -930,7 +928,7 @@ int SecondFeederCorrection = 4;
int PrepareWaitCount = 0;
uint32_t Adjust_Right_TFU_Tension_2nd_Callback(uint32_t MotorId, uint32_t ReadValue)
{
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
MotorStop (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,Soft_Stop); //per L6470 errata between mov and run commands
Report("Adjust_Right_TFU_Tension_2ndCallback x more steps",__FILE__,__LINE__,MotorId,RpMessage,SecondFeederCorrection,0);
if (JobIsActive()==false)
@@ -954,7 +952,7 @@ uint32_t Adjust_Right_TFU_Tension_2nd_Callback(uint32_t MotorId, uint32_t ReadVa
}
uint32_t Adjust_Right_TFU_Tension_Callback(uint32_t MotorId, uint32_t ReadValue)
{
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
Report("Adjust_Right_TFU_Tension_Callback",__FILE__,__LINE__,MotorId,RpMessage,0,0);
MotorMoveWithCallback(HARDWARE_MOTOR_TYPE__MOTO_RDANCER, 1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize,SecondFeederCorrection* MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].microstep, Adjust_Right_TFU_Tension_2nd_Callback,1000);
RTFU_Up = true;
@@ -965,7 +963,7 @@ uint32_t Adjust_Right_TFU_Tension_Callback(uint32_t MotorId, uint32_t ReadValue)
uint32_t Adjust_Right_TFU_Tension(double tension)
{
uint32_t status = OK;
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
if (tension > 0.5) //0 = lower position, 1 = high position
{
if (FPGA_Read_limit_Switches(GPI_LS_RDANCER_UP) == NO_LIMIT)
@@ -1092,7 +1090,7 @@ uint32_t ThreadPrepareState(void *JobDetails)
IntersegmentLength = JobTicket->intersegmentlength;
PrepareWaitCount = 0;
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__LeftDancer, windertension);
ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Winder",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,PrepareWaitCount,RpWarning,(int)windertension,0);
status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__MiddleDancer, pullertension);
@@ -1214,7 +1212,7 @@ uint32_t ThreadPrepareState(void *JobDetails)
/////////////////////////////////////////////////////
MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize);
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
if (Motor_i == FEEDER_MOTOR) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled
{
ReportWithPackageFilter(ThreadFilter,"Feeder Control",__FILE__,Motor_i,MotorControlConfig[Motor_i].m_params.Kp,RpWarning,MotorControlConfig[Motor_i].m_params.Ki,0);
@@ -1241,7 +1239,7 @@ uint32_t ThreadPrepareState(void *JobDetails)
PoolerLengthCalculationMultiplier = (MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].pulleyradius*2*PI)/(MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].pulseperround*MotorsCfg[ThreadMotorIdToMotorId[Motor_i]].microstep);
PoolerSpeedControlId = AddControlCallback(NULL,PoolerThreadLengthCBFunction, eHundredMillisecond,MotorGetPositionFromFPGA,(IfTypeThread*0x100+Motor_i),ThreadMotorIdToMotorId[Motor_i],Motor_i);
}
-#ifndef FOUR_WINDERS
+#ifndef BTSR_NO_TFU
if (Motor_i == FEEDER_MOTOR) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled
{
if (ControlIdtoMotorId[Motor_i] != 0xFF)
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
index 996191b63..cebfba762 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h
@@ -44,9 +44,11 @@ bool WHS_IsContainerFull();
bool WHS_WasteCartridgeLowerPresent();
bool WHS_WasteCartridgeMiddlePresent();
bool WHS_IsEmptying();
+uint32_t Waste_CheckState(void);
uint32_t Waste_Prepare(void);
bool WHS_IsVocPpmOverAlarmLimit();
+
extern bool ReadingVocEverySec;
#endif
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
index 28a5720ab..267a4e7be 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
@@ -6,11 +6,13 @@
#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/IFS/CartridgeState.pb-c.h"
#include <PMR/Diagnostics/EventType.pb-c.h>
#include "Modules/AlarmHandling/AlarmHandling.h"
@@ -19,6 +21,7 @@
#include "CartridgeValidationRequest.pb-c.h"
#include "CartridgeValidationResponse.pb-c.h"
#include "Modules/General/buttons.h"
+#include "modules/General/process.h"
#include "Modules/IFS/ifs.h"
#include <Drivers/I2C_Communication/I2C_Task.h>
#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
@@ -329,7 +332,6 @@ uint32_t Waste_DoorOpenDuringEmptying(uint32_t IfIndex, uint32_t ReadValue)
}
}
return OK;
-#warning add alarm on door open
}
void Waste_StateMachine_OneSecond_Call(void)
@@ -501,7 +503,7 @@ void Waste_StateMachine(void)
break;
}
}
-uint32_t Waste_Prepare(void)
+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
if (wasteLevel > wasteLevelOverflow)
@@ -528,6 +530,62 @@ uint32_t Waste_Prepare(void)
return JOB_WASTE_HANDLING_PROBLEM;
}
}
+bool WHS_FlowReady = false,HeadIn_FlowReady = false,HeadOut_FlowReady = false;
+uint32_t WasteReadyControlId = 0xFF;
+uint32_t Waste_PrepareCallbak(uint32_t IfIndex, uint32_t ReadValue)
+{
+ bool ready = false, headready = false,whsready = false;
+ double HeadFlow = GetWHSAirFlow(HEAD_FLOW_METER);
+ double HeadIn_Flow = PressureSensorGetPressure(HEAD_PT100_ZONE_5_0X84_0);
+ double HeadOut_Flow = PressureSensorGetPressure(HEAD_PT100_ZONE_7_0X86_0);
+ if ((HeadFlow<(headairflow*1.07))&&(HeadFlow>(headairflow*0.93)))
+ {
+ if (WHS_FlowReady == false)
+ Report("Module waste WHS_FlowReady ready", __FILE__, __LINE__, (int)(HeadFlow*100), RpMessage, WHS_FlowReady, 0);
+ WHS_FlowReady = true;
+ }
+ if ((HeadIn_Flow<(headBlowersFlow[0]*1.07))&&(HeadIn_Flow>(headBlowersFlow[0]*0.93)))
+ {
+ if (HeadIn_FlowReady == false)
+ Report("Module waste HeadIn_FlowReady ready", __FILE__, __LINE__, (int)(HeadIn_Flow*100), RpMessage, HeadIn_FlowReady, 0);
+ HeadIn_FlowReady = true;
+ }
+ if ((HeadOut_Flow<(headBlowersFlow[1]*1.07))&&(HeadOut_Flow>(headBlowersFlow[1]*0.93)))
+ {
+ if (HeadOut_FlowReady == false)
+ Report("Module waste HeadOut_FlowReady ready", __FILE__, __LINE__, (int)(HeadOut_Flow*100), RpMessage, WHS_FlowReady, 0);
+ HeadOut_FlowReady = true;
+ }
+ if (Head_Type <HEAD_TYPE_FLAT)
+ headready = true;
+ else if ((HeadIn_FlowReady == true)&&(HeadOut_FlowReady == true))
+ headready = true;
+ if (WHS_Type == WHS_TYPE_UNKNOWN)
+ whsready = true;
+ else if (WHS_FlowReady == true)
+ whsready = true;
+ if ((headready == true)&&(whsready == true))
+ ready = true;
+ if (ready == true)
+ {
+ SafeRemoveControlCallback(WasteReadyControlId,Waste_PrepareCallbak);
+ WasteReadyControlId = 0xFF;
+ Report("Module waste prepare ready!", __FILE__, __LINE__, headready, RpMessage, headready, 0);
+ PrepareReady(Module_Waste,ModuleDone);
+ }
+ Report("Module waste prepare", __FILE__, __LINE__, headready, RpMessage, whsready, 0);
+ return OK;
+}
+uint32_t Waste_Prepare(void)
+{
+ WHS_FlowReady = false;HeadIn_FlowReady = false;HeadOut_FlowReady = false;
+ if (WasteReadyControlId != 0xFF)
+ RemoveControlCallback(WasteReadyControlId,Waste_PrepareCallbak);
+ //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()
{
@@ -565,3 +623,5 @@ bool WHS_IsVocPpmOverAlarmLimit()
return false;
}
+
+
diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt
index 8a41d40de..32df32c54 100644
--- a/Software/Embedded_SW/Embedded/Software Release Notes.txt
+++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt
@@ -1,5 +1,25 @@
Embedded SW Release note - Version 1.5.0.1 - Pack 3
=============================================================
+*ARC head: Identification, Initialization, Configuration, Heaters, Blowers, temperature and air flow control, cleaning, Alarm handling
+**RFID: readers connection, Initialization, Configuration, tags Identfication, reading, writing, system handling in Waste and Ink modules, PPC interface, Alarm handling
+*Logs - log file while report is disconnected. additional filters, negative numbers.
+*Machine status - improved machine temperature.
+*Keepalive handling MCU==>PPC
+*Winder calibration moves to MCU
+**4 winders option
+*VOC sensor - Initialization, Configuration, Alarm handling
+*New improved drier arm reset (thread loading)
+*Shinko reading
+**Waste module job prepare - air flow of WHS, Arc head tunnel. read WHS flow sensor 2
+**Working with open valves when not in a job
+*Increased blower activity after job to removed ink residues
+**Work without LTFU and RTFU (replaced by BTSRs)
+**job prepare - check flow and temerature WITHIN LIMITS
+
+* ready to check
+** ready to check with special compilation
+-Not started
+
Embedded SW Release note - Version 1.4.6.44 - Pack Mid alpha
=============================================================
IDS - running dispensers up at prepare stage - improved
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
index 57da1574b..604324948 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
@@ -187,7 +187,7 @@ bool getIdleState (void) {return powerIdleState;}
uint32_t OutOfIdleUpdate(bool last)
{
uint32_t status = NOT_SUPPORTED;
-
+/*
double calculate;
int result = 0;
MessageContainer responseContainer;
@@ -197,7 +197,7 @@ uint32_t OutOfIdleUpdate(bool last)
if (PowerUpToken[0] == 0)
return OK;
-/* response.has_state = true;
+ response.has_state = true;
response.has_progresspercentage = true;
if (last == false)
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
index 15f363b9a..d3ef81a50 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
{
@@ -70,6 +71,12 @@ bool PowerOffInProcess = false;
#define POWER_OFF_TEMP_THRESHOLD 5000 //50 celsious
int32_t PowerOffTemperatureThreshold = POWER_OFF_TEMP_THRESHOLD;
+bool PowerOffDisableCleaning = false;
+void setPowerOffDisableCleaning (bool value)
+{
+ PowerOffDisableCleaning = value;
+ REPORT_MSG(PowerOffDisableCleaning, "Set PowerOffDisableCleaning");
+}
bool PowerOffInProcessGetState(void)
{
return PowerOffInProcess;
@@ -139,6 +146,13 @@ uint32_t PowerOffHeadClean(void)
//TBD
if (AutoHoming_Config >= AutoHoming_PowerOff )
AutoHoming_Config = AutoHoming_JobEnd_PowerOn_off;
+ if (PowerOffDisableCleaning == true)
+ {
+ LOG_ERROR(0,"Clean job skipped!!!!!!!");
+ PowerOffMachineState++;
+ SetMachineStatus(MACHINE_STATE__PowerOff);
+ return OK;
+ }
if (ThreadCleaningJob(50) == OK)
{
if (PowerOffHeadCleanControlId != 0xFF)
@@ -286,7 +300,7 @@ uint32_t PowerOffWaitForProcessesCallback(uint32_t IfIndex, uint32_t BusyFlag)
}
}
if ((WHS_IsEmptying()||
- //MidTankFillingActive()||
+ IFS_MidTankFilling()||
ThreadLoadingActive()||
SwUpgradeActive()||
(HomingActive == true))&&
@@ -321,7 +335,7 @@ uint32_t PowerOffWaitForProcesses(void)
}
if (WHS_IsEmptying()||
- //MidTankFillingActive()||
+ IFS_MidTankFilling()||
ThreadLoadingActive()||
SwUpgradeActive()||
(HomingActive == true))
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h
index 5f347c5ba..10dd4c71e 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h
@@ -35,6 +35,7 @@ void PowerOffSetTemperatureThreshold (int32_t temperature); //celsius temperatur
bool PowerOffInProcessGetState(void);
uint32_t PowerOffHeatersOff(void);
+void setPowerOffDisableCleaning (bool value);
uint32_t PowerDownUpdateFunc(MessageContainer* requestContainer);
uint32_t AbortPowerDownFunc(MessageContainer* requestContainer);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index c217a68b3..e74054a3c 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"
@@ -209,10 +210,10 @@ static ReturnCode PrepareState(void *JobDetails)
{
PrepareWaiting[Module_Thread] = ModuleWaiting;
}
- /*if (Configured[Module_Waste])
+ if (Configured[Module_Waste])
{
- PrepareWaiting[Module_Waste] = ModuleWaiting;
- }*/
+ // PrepareWaiting[Module_Waste] = ModuleWaiting;
+ }
if (Configured[Module_Winder])
{
PrepareWaiting[Module_Winder] = ModuleWaiting;
@@ -246,7 +247,7 @@ static ReturnCode PrepareState(void *JobDetails)
}
}
//if (Configured[Module_Waste])
- // Waste_Prepare();
+ // Waste_Prepare();
return retcode;
}
@@ -1406,12 +1407,10 @@ Void jobTask(UArg arg0, UArg arg1)
CurrentJob = NULL;
if (IFS_Clearing_SuctionWaiting == true)
WHS_Set_IFS_Clearing_Suction(NUM_OF_MIDTANKS);
- //if (CurrentRequest!= NULL)
- // job_request__free_unpacked(CurrentRequest,NULL);
- //CurrentRequest = NULL;
- SuspendLargeMessages = false;
- LOG_ERROR(4,"ResumeLargeMessages PrintingResultsOk");
- //DiagnosticsStart();
+ WHS_Set_JobEndSuction();
+ SuspendLargeMessages = false;
+ Report("Job Ended PrintingResultsOk",__FILE__,__LINE__, 4,RpMessage,0,0);
+ //DiagnosticsStart();
//CleanState(CurrentJob);
break;
case PrintingResultsFail:
@@ -1422,15 +1421,11 @@ Void jobTask(UArg arg0, UArg arg1)
SetMachineStatus(MACHINE_STATE__Ready);
resetIdleCounter();
CurrentJob = NULL;
- //if (CurrentRequest!= NULL)
- // job_request__free_unpacked(CurrentRequest,NULL);
- //CurrentRequest = NULL;
- SuspendLargeMessages = false;
- if (IFS_Clearing_SuctionWaiting == true)
- WHS_Set_IFS_Clearing_Suction(NUM_OF_MIDTANKS);
- LOG_ERROR(3,"ResumeLargeMessages PrintingResultsFail");
- //DiagnosticsStart();
-
+ SuspendLargeMessages = false;
+ if (IFS_Clearing_SuctionWaiting == true)
+ WHS_Set_IFS_Clearing_Suction(NUM_OF_MIDTANKS);
+ WHS_Set_JobEndSuction();
+ Report("Job Ended PrintingResultsFail",__FILE__,__LINE__, 4,RpError,JobEndReason,0);
//send message data as a validation error message to host
ExitState(Message.messageData);
break;
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
index 177fac0b2..d65dbadd9 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
@@ -308,7 +308,7 @@ uint32_t PrintingHWConfiguration(void *Configuration)
HardwareConfiguration *request = Configuration;
if (request->n_winders == 1)
Configured[Module_Winder] = true;
- if ((IFS_Availability[1] == IFS_RECOGNIZED_INIT_PASSED)&&(IFS_Availability[2] == IFS_RECOGNIZED_INIT_PASSED)) //ifs installed -check cartridges
+ //if ((IFS_Availability[1] == IFS_RECOGNIZED_INIT_PASSED)&&(IFS_Availability[2] == IFS_RECOGNIZED_INIT_PASSED)) //ifs installed -check cartridges
Configured[Module_Waste] = true;
if (request->n_motors)