diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-13 18:47:54 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-13 18:47:54 +0300 |
| commit | 3f3783fa8a4f103126bdef5e664e5bbd226307ce (patch) | |
| tree | cce80c4c00d99c22c873b098598b426be54a19b7 /Software/Embedded_SW/Embedded/Modules | |
| parent | cd750d626d3780990797faf09446033bbaa4311c (diff) | |
| download | Tango-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')
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); |
