aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-05-13 18:47:54 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-05-13 18:47:54 +0300
commit3f3783fa8a4f103126bdef5e664e5bbd226307ce (patch)
treecce80c4c00d99c22c873b098598b426be54a19b7 /Software/Embedded_SW/Embedded/Modules
parentcd750d626d3780990797faf09446033bbaa4311c (diff)
downloadTango-3f3783fa8a4f103126bdef5e664e5bbd226307ce.tar.gz
Tango-3f3783fa8a4f103126bdef5e664e5bbd226307ce.zip
waste level measurement improved, fix heating up on gradient job (file checking took too much time)
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c8
4 files changed, 28 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index a8e0c3138..01d372aae 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -814,16 +814,25 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
int pri = Task_getPri(TaskHandle1);
ACTIVITY_GREEN_LED_ON;
- Task_setPri(TaskHandle1, 3);
+ Task_setPri(TaskHandle1, 2);
+ Task_sleep(10);
Report("Task_setPri", __FILE__, pri, 3, RpWarning, (int)TaskHandle1, 0);
IDS_MapDispenserUsedinJob(CurrentJob);
Task_setPri(TaskHandle1, pri);
Report("Task_setPri", __FILE__, __LINE__, pri, RpWarning, (int)Task_self(), 0);
+ Task_sleep(10);
ACTIVITY_GREEN_LED_OFF;
if (n_segments == 0)
+ {
+ ReportWithPackageFilter(AlarmFilter,"no segments in the job", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, AlarmItem[Alarm_i].DeviceId, 0);
return JOB_OK;
+ }
if (AlarmItem == NULL)
+ {
+ ReportWithPackageFilter(AlarmFilter,"missing alarm file", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, AlarmItem[Alarm_i].DeviceId, 0);
+ usnprintf(AlarmReasonStr, 100, "No alarm file in the machine",111);
return JOB_UNSPECIFIED_ERROR;
+ }
/*for (Segment_i=0;Segment_i<JobTicket->n_segments;Segment_i++)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index e0d1e38de..fab0831fe 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -737,7 +737,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
WHS_Blower_Avarege(DRIER_FLOW_METER);
WHS_Start_Blower_Control_Closed_Loop ();
- static uint8_t Whs_emptying_cycle = 0;
+ /* static uint8_t Whs_emptying_cycle = 0;
// #warning TBD need to define the timing
if(Whs_emptying_cycle >= 2)
@@ -749,7 +749,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
{
Whs_emptying_cycle++;
}
-
+ */
}
}
if (Tensecond_Tick)
@@ -774,7 +774,8 @@ uint32_t MillisecLowLoop(uint32_t tick)
/*if (WHS_Type == WHS_TYPE_UNKNOWN)
Gas_PPM_Info = Calculate_Gas_Power_Consumption();*/
if (WHS_Type == WHS_TYPE_NEW)
- ReportWithPackageFilter(ThreadFilter,"waste tank calculate level",__FILE__,__LINE__,(int)(GetWHSWasteTankLevelMiliLiter()*1000),RpWarning,(int) msec_millisecondCounter,0);
+ waste_seq_step1();// include 1Sec delay
+// ReportWithPackageFilter(ThreadFilter,"waste tank calculate level",__FILE__,__LINE__,(int)(GetWHSWasteTankLevelMiliLiter()*1000),RpWarning,(int) msec_millisecondCounter,0);
//Trigger_WHS_MAX11614_Read_allADC();
#ifdef CONTROL_DEBUG
ResetControlTime();
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index ae6751693..32895f307 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -282,6 +282,12 @@ JobDescriptionFileBrushStop *FirstBrushStop = NULL;
SendJobProgress(0.0,0,false, "Processing file");
Control_WD(ENABLE,55); //activate heaters/dispenser watchdog, 0.5 seconds
}
+ if ((brushCounter % 1000)==0)
+ {
+ Task_sleep(200);
+ Report("Sleep in file parsing",__FILE__, BrushStop->index, brushCounter, RpWarning, Segment->brushstopscount, 0);
+ Control_WD(ENABLE,55); //activate heaters/dispenser watchdog, 0.5 seconds
+ }
brushCounter++;
if (BrushStop->n_dispensers)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index 87b8100cd..922da21b1 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -18,6 +18,7 @@
#include "Modules/General/buttons.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>
//
//#define CARTRIDGE_INK_TIMEOUT 60
//#define CARTRIDGE_INK_TIMEOUTx2 120
@@ -68,6 +69,7 @@ bool RdWasteTankEmptySensor();
bool RdCartridgeParam(cartridge_name cart_name);
bool CartridgeAuthentication(cartridge_name cart_name);
bool SetActiveWastCartridge();
+void SetWasteLevelEmptyingLimit(double value);
@@ -407,7 +409,10 @@ U8 CartridgeWasteFilling(bool status)
//WHS_info.WHS_pump.time = 0;
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, false);
if (WHS_Type == WHS_TYPE_NEW)
+ {
SetWasteLevelEmptyingLimit(GetWHSWasteTankLevelMiliLiter());
+ waste_seq_step1_cont();
+ }
ret=OK;
}
else // stop Waste cartridge filling
@@ -417,7 +422,10 @@ U8 CartridgeWasteFilling(bool status)
if (WHS_Type == WHS_TYPE_UNKNOWN)
Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve);
else //new WHS
+ {
Trigger_SetWHSValveWatseCartridge(WHS_info.WHS_valve);
+ waste_seq_cont_stop();
+ }
AlarmHandlingSetAlarm( EVENT_TYPE__ALL_WASTE_CARTRIDGES_FULL, true);