aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c104
-rw-r--r--Software/Embedded_SW/Embedded/DataDef.h7
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h97
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c3
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c13
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.h1
-rw-r--r--Software/PMR/Messages/Diagnostics/CartridgeTagContent.proto4
-rw-r--r--Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs5
10 files changed, 153 insertions, 91 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
index 2bb073bf8..7bc1c2e54 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c
@@ -170,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;
}
@@ -230,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/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h
index e8410aaa6..cfd8660da 100644
--- a/Software/Embedded_SW/Embedded/DataDef.h
+++ b/Software/Embedded_SW/Embedded/DataDef.h
@@ -70,6 +70,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/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/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/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 3f5e4f5b2..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;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index c37617037..0440d2241 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -120,7 +120,7 @@ uint32_t InternalWindingConfigMessage(JobSpool* request)
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)
{
@@ -248,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
{
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
index 8f6f2a781..d3ef81a50 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
@@ -71,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;
@@ -140,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)
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/PMR/Messages/Diagnostics/CartridgeTagContent.proto b/Software/PMR/Messages/Diagnostics/CartridgeTagContent.proto
index 37931ae0c..3ed18713c 100644
--- a/Software/PMR/Messages/Diagnostics/CartridgeTagContent.proto
+++ b/Software/PMR/Messages/Diagnostics/CartridgeTagContent.proto
@@ -12,10 +12,10 @@ message CartridgeTagContent
string WorkOrder = 5; //Color description / ID
string ColorName = 6; //Color description / ID
uint32 InkCategory = 7; //Ink category (TBD)
- uint32 Type_Rev = 8; //TBD – can be formulation #
+ uint32 Type_Rev = 8; //TBD – can be formulation #
uint32 CartridgeSize = 9; //Size in cc
uint32 FiledInkVol = 10; //Size in cc
- string InkBatchNo = 11; //MFG batch No’
+ string InkBatchNo = 11; //MFG batch No’
string InkMFGDate = 12; //Date Ink was manufactured (20L container bar-code)
string InkEOLDate = 13; //Ink end of life date
string CartFillDate = 14; //Date cartridge was filled with ink (CFS)
diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs
index 0f8794799..d0d78f61e 100644
--- a/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs
+++ b/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs
@@ -136,6 +136,11 @@ Double SetAutoFill = new Double();
SetAutoFill = 3.0;
configurationParameters.GeneralParameters.Add(SetAutoFill);
+double PowerOffDisableCleaning = new Double();
+PowerOffDisableCleaning = 0.0
+configurationParameters.GeneralParameters.Add(PowerOffDisableCleaning);
+
+
File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");