From b5faeb1e17925e4c28c336ea28656a69b431575b Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 25 May 2020 19:14:12 +0300 Subject: machine status with spool, WHS EEPROM interface, cartridges state in diagnostics, --- .../Embedded/Modules/Diagnostics/Diagnostics.c | 24 ++++++++++++++++++++-- .../Embedded/Modules/General/MachineStatus.c | 10 +++++++++ Software/Embedded_SW/Embedded/Modules/IFS/ifs.c | 5 +++++ Software/Embedded_SW/Embedded/Modules/IFS/ifs.h | 2 ++ .../Embedded/Modules/Thread/Thread_Winder.c | 9 +++++--- 5 files changed, 45 insertions(+), 5 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 71475ca41..3f9811636 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -47,6 +47,7 @@ #include #include "StateMachines/Printing/PrintingSTM.h" +#include "StateMachines/Initialization/InitSequence.h" #include @@ -129,7 +130,7 @@ DoubleArray DiagnosticsMidTankInkLevel[MAX_SYSTEM_DISPENSERS]; HeaterState **heatersstates; HeaterState HeaterInfo[HEATER_TYPE_MAX_HEATERS]; -#define NUM_OF_INTERFACE_IOS 23 +#define NUM_OF_INTERFACE_IOS 26 DigitalInterfaceState **digitalinterfacestates; DigitalInterfaceState DigitalOutputState[NUM_OF_INTERFACE_IOS]; /*double dispenser1motorfrequency[DIAGNOSTICS_LIMIT+1]; @@ -339,6 +340,15 @@ uint32_t DiagnosticsLoadDigitalValues(void) DigitalOutputState[index].interfaceio = INTERFACE_IOS__GPO_TFEED_BREAK_1; /*Secondary Pump Active*/ DigitalOutputState[index++].value = SecondaryPumpActive; + DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART1; /*Secondary Pump Active*/ + DigitalOutputState[index++].value = IFS_CartridgeLowerPresent(); + + DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART2; /*Secondary Pump Active*/ + DigitalOutputState[index++].value = WHS_WasteCartridgeMiddlePresent(); + + DigitalOutputState[index].interfaceio = INTERFACE_IOS__CART3; /*Secondary Pump Active*/ + DigitalOutputState[index++].value = WHS_WasteCartridgeLowerPresent(); + return index; } void DiagnosticLoadTemperature(int HeaterId, int temperature) @@ -724,8 +734,18 @@ void DiagnosticOneSecCollection(void) tempFlow = HeadFlowMeter; } WasteLevel = GetWHSWasteTankLevelMiliLiter(); + static double InitCounter = 0; + if (GetMachineState() 0); diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h index 5304edd93..e89efdb13 100644 --- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h +++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h @@ -55,6 +55,8 @@ void ResponseDemo(int MidtankId); bool IFS_MidTankFilling(void); MidTank_t IFS_MidTankIsActive(void); +bool IFS_CartridgeLowerPresent(); + bool CartridgeValidationResponseFunc(MessageContainer* requestContainer); uint32_t MidTankReading(void); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 41ef9e480..9ee2e1f37 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -149,9 +149,12 @@ uint32_t Winder_Prepare(void *JobDetails) if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT) { REPORT_MSG(LIMIT, "No cone in winder"); - //PrepareReady(Module_Winder,ModuleFail); - //AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true); - //return ERROR; + if (Is_PP_Machine()) + { + PrepareReady(Module_Winder,ModuleFail); + AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true); + return ERROR; + } } #ifdef READ_SCREW_ENCODER -- cgit v1.3.1