From b8aef0537ad419b20efba682bfd06caeb53fe444 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 3 Sep 2019 14:35:49 +0300 Subject: improve winding, logs, pressure handling --- .../Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c | 2 +- Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 16 ++++++++++++++-- .../Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 2 +- Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c | 4 ++-- .../Embedded/StateMachines/Printing/PrintingSTM.c | 3 ++- 5 files changed, 20 insertions(+), 7 deletions(-) (limited to 'Software/Embedded_SW/Embedded') diff --git a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c index 7eccf5c58..71a7ef034 100644 --- a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c +++ b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c @@ -23,7 +23,7 @@ uint16_t VOC_Index = 0; uint8_t Gas_PPM[MAX_VOC_SAMPLES] = {0}; -uint32_t VOC_Slope=0,VOC_AverageLimit=0, VOC_Slope_Time=0; +uint32_t VOC_Slope=2,VOC_AverageLimit=0, VOC_Slope_Time=10; bool VOC_TimeAlarm = false,VOC_SlopeAlarm = false; void VOCAlarmsInit(void) diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index 746182def..70c86d843 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -979,6 +979,12 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); //IDS_Cleaning_Center_And_Stop_Rockers (int timeout,callback_fptr callback); } } + if (FileBrushStop == NULL) + { + //cleaning + return OK; + } + if ((InterSegmentStartWFCFDispensers > 12000)&&(InterSegmentStartWFCFDispensers == (InterSegmentStepsCount+12000))) { //start prepare 4 seconds before wcf @@ -1305,7 +1311,7 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers) //Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer MotorSetSpeed(HW_Motor_Id, segmentfirst_speed); CurrentDispenserSpeed[DispenserId] = segmentfirst_speed; - usnprintf(IdMessage, 80, + usnprintf(IdsMessage, 80, "Dispenser %d nl/sec %d nl/pulse %d speed %d steps %d/%d", DispenserId, (int) Dispensers[Dispenser_i]->nanolitterpersecond, @@ -1321,7 +1327,7 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers) //IDS_Dispenser_Close_Valve_And_Stop_Motor(DispenserId,NULL);*/ MotorStop(HW_Motor_Id, Hard_Hiz); CurrentDispenserSpeed[DispenserId] = 0; - Report("inActive dispenser stopped", __FILE__, __LINE__, DispenserId, RpWarning, segmentfirst_speed, 0); + //Report("inActive dispenser stopped", __FILE__, __LINE__, DispenserId, RpWarning, segmentfirst_speed, 0); } } } @@ -1463,10 +1469,14 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId) DispenserDistanceToSpoolReady[Dispenser_i] = false; MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz); Control3WayValvesWithCallback ((Valves_t)Dispenser_i, MidTank_Dispenser, IDS_Valve_DistanceToSpoolValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer + CurrentDispenserSpeed[Dispenser_i] = 0; //IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_DistanceToSpoolValveReady); } //cleaning + if (FileBrushStop) + FreeBrushStopFileData(FileBrushStop); + FileBrushStop = NULL; lInterSegmentLength = (dryerbufferCentimeters*1000/dyeingspeed); lInterSegmentLength-=(lInterSegmentLength%100); //round to a 100 multiplication @@ -1523,6 +1533,8 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId) { MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz); Control3WayValvesWithCallback (Dispenser_i, MidTank_Dispenser, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer + CurrentDispenserSpeed[Dispenser_i] = 0; + //IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_EndValveReady); } else diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index e01d12a05..20045e5fb 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -322,7 +322,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) #ifdef READ_SCREW_ENCODER int WinderRun; WinderRun = abs(ScrewLocationRun[1] - ScrewLocationRun[0]); - if ((WinderRun < 50000)&&(Add100 == false)) + if /*((WinderRun < 50000)&&(Add100 == false))*/(Add100 == false) { WinderRunSum+=WinderRun; WinderRunSamples++; diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c index 62b8288bf..b4bf61219 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c @@ -1074,10 +1074,10 @@ WHS_sensor CartridgeCoverCallBackFunction() { REPORT_MSG(parameter," ------------ Mid-tank Filling : Close cartridge cover ----------------- "); } - else if(WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN) + /*else if(WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN) { REPORT_MSG(parameter," ------------ Mid-tank Filling : Cartridge door open ----------------- "); - } + }*/ return ret; } diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c index 8606d68d3..876d50da8 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c @@ -266,7 +266,7 @@ JobDescriptionFileBrushStop *GetNextBrushStopFromJobFile() } void FreeBrushStopFileData(JobDescriptionFileBrushStop *BrushStop) { - REPORT_MSG(BrushStop->index,"Free BrushStop file Read Index"); + //REPORT_MSG(BrushStop->index,"Free BrushStop file Read Index"); if (BrushStop) job_description_file_brush_stop__free_unpacked (BrushStop,NULL); BrushStop = NULL; @@ -788,6 +788,7 @@ void PrintSTMMsgHandler(void * msg) EndState(CurrentJob, "Job Distance t Spool Failed"); break; case PrintSystemFailure: + Report("PrintSystemFailure - Job aborted",__FILE__,__LINE__, SegmentId,RpMessage,n_segments,0); EndState(CurrentJob, Message->messageData); break; default: -- cgit v1.3.1