aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-14 00:01:30 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-10-14 00:01:30 +0300
commit24de6b5327fc26a47964e2e39ce764eb555bae8c (patch)
tree1c0dfaf068a3b67d779120a9e99589f1984de29c /Software/Embedded_SW/Embedded
parentfbcbb53bf8a04a5d487bf0a2cc497f69490f4bdb (diff)
downloadTango-24de6b5327fc26a47964e2e39ce764eb555bae8c.tar.gz
Tango-24de6b5327fc26a47964e2e39ce764eb555bae8c.zip
heaters prepare - cancel heater ready, LFN test
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/.cproject2
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/RFIDTagHandling.c104
-rw-r--r--Software/Embedded_SW/Embedded/DataDef.h12
-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/Embedded.cfg2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c35
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt32
10 files changed, 171 insertions, 126 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 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..548f725e1 100644
--- a/Software/Embedded_SW/Embedded/DataDef.h
+++ b/Software/Embedded_SW/Embedded/DataDef.h
@@ -20,7 +20,7 @@
#define NO_INITIAL_HEATING
#define MAX_STRING_LEN 255 //Embedded version + filter.c
-#define WATCHDOG
+//#define WATCHDOG
//#define DISPESER_TEST
//#define FPGA_WATCHDOG_DISABLE
@@ -33,7 +33,7 @@
//#define EMC_FORCE_MOT_CLOCK_INTERNAL
//#define VAC_TEST
-//#define DISPENSER_VALVES_OPEN
+#define DISPENSER_VALVES_OPEN
//#define USE_TUNNEL_PT100
//#define SPECIAL_DISPENSERS
@@ -43,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
@@ -70,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/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/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 de45cacaa..50c3e0b46 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -37,6 +37,7 @@
#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>
@@ -1326,7 +1327,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/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 9e5b75c83..4b3f555f4 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -235,6 +235,8 @@ return OK;
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;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 93548683f..b61201992 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1385,7 +1385,6 @@ 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;
@@ -1546,30 +1545,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 NOTReady",__FILE__,index,readValue,RpWarning,(HeaterCmd[index].targettemperatue), 0);
+ HeaterAtTemp[index] = false;
+ HeaterPrepareReady();
}
-
- }
}
if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0))
{
@@ -1753,6 +1739,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))
{
diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt
index d9e695600..32df32c54 100644
--- a/Software/Embedded_SW/Embedded/Software Release Notes.txt
+++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt
@@ -1,18 +1,24 @@
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.
-Machine status - cartridges state. 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
+*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
=============================================================