From e131de20ac8e179abc42a2dc173cf860d64a3bcd Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 7 Oct 2019 16:41:18 +0300 Subject: winding logs --- Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 32dea353a..50c1f6c33 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -126,6 +126,8 @@ uint32_t Winder_Prepare(void *JobDetails) //JobTicket* JobTicket = JobDetails; //float process_speed = JobTicket->processparameters->dyeingspeed; double ScrewSpeed = DEFAULT_SCREW_SPEED;//(process_speed*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].pulleyradius); // we will use pulley radius of the screw for this purpose, as of now + WinderMotorSpeedRollOver=false; + //MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,InternalWinderCfg.segmentoffsetpulses); //REPORT_MSG(ScrewSpeed, "Winder_Prepare"); /* -- cgit v1.3.1 From 48561099b141773d71438dcdf09c65ace4138b8b Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 10 Oct 2019 13:26:40 +0300 Subject: motor testing --- Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- .../Embedded_SW/Embedded/Drivers/Motors/MotorActions.c | 2 +- .../Embedded_SW/Embedded/Modules/Control/MillisecTask.c | 2 +- .../Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 15 +++++++++------ .../Embedded/StateMachines/Initialization/InitSequence.c | 3 +++ 5 files changed, 15 insertions(+), 9 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index de8e39ee1..3b20898dc 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,4,5,2};//remove AUTO_HOME_DISPENSERS + midtank pressure new calculation +TangoVersion_t _gTangoVersion = {1,4,5,4};//remove AUTO_HOME_DISPENSERS + midtank pressure new calculation #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c index 0fa76fe8f..d37fd9907 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c @@ -99,7 +99,7 @@ FPGA_GPI_ENUM Motor_Id_to_LS_IdUp[NUM_OF_MOTORS] = { // limit switch for nor MAX_GPI, //MOTO_LDRIVING = 18, GPI_LS_LLOADMOTOR_UP, //MOTO_LLOADING = 19, GPI_LS_LPIVOT_UP, //MOTO_LPIVOT1 = 20, - GPI_LS_RDANCER_LONG, //MOTO_RDANCER = 21, + GPI_LS_RDANCER_UP, //MOTO_RDANCER = 21, MAX_GPI, //MOTO_RDRIVING = 22, GPI_LS_RLOADRAM_UP, //MOTO_RLOADARM = 23, GPI_LS_RLOADMOTOR_UP, //MOTO_RLOADING = 24, diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 8e67de0f1..84ab1388d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -548,7 +548,7 @@ uint32_t MillisecLowLoop(uint32_t tick) { if (watchdogCriticalAlarm == false) { - Control_WD(ENABLE,5); //activate heaters/dispenser watchdog, 0.5 seconds + Control_WD(ENABLE,10); //activate heaters/dispenser watchdog, 0.5 seconds //LOG_ERROR (1111, "Control_WD"); } } diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 32dea353a..46ecb1d46 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -329,13 +329,16 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) if ((WinderRun < 30000)&&(WinderMotorSpeedRollOver == true)) { WinderRunSamples++; - WinderRunSum+=WinderRun; - WinderRunAverage = WinderRunSum/(WinderRunSamples); - if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) + if (WinderRunSamples>10) { - usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, - (int)(100*WinderRun/ScrewNumberOfSteps)); - Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); + WinderRunSum+=WinderRun; + WinderRunAverage = WinderRunSum/(WinderRunSamples); + if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) + { + usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, + (int)(100*WinderRun/ScrewNumberOfSteps)); + Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); + } } } else diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c index f08c4e9b7..f2dafd1b3 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c @@ -166,6 +166,8 @@ uint32_t InitSequenceMidTankCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag portId = (MidTankOperationCounter - MidTankCloseAir) ; //0-7 Disable_MidTank_Pressure_Reading(portId); Valve_Set(IDS_Id_to_AirValve[portId], Atm_MidTank_OFF ); //Atm_MidTank_OFF/ON + Control3WayValvesWithCallback ((Valves_t)portId, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer + } else if (MidTankOperationCounter >= MidTankReadPressure) { @@ -181,6 +183,7 @@ uint32_t InitSequenceMidTankCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag portId = (MidTankOperationCounter - MidTankOpenAir) ; //0-7 Enable_MidTank_Pressure_Reading(portId); Valve_Set(IDS_Id_to_AirValve[portId], Atm_MidTank_ON ); //Atm_MidTank_OFF/ON + Control3WayValvesWithCallback ((Valves_t)portId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer } MidTankOperationCounter++; return OK; -- cgit v1.3.1 From bd956ee825d2a4ce5305858558ce6f4a83bb9585 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 10 Oct 2019 18:30:20 +0300 Subject: improve thread loading --- .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h | 4 +- .../Embedded/Modules/Thread/ThreadLoad.c | 4 +- .../Embedded/Modules/Thread/Thread_Winder.c | 15 ++--- Software/Stubs Collection/stubs/MidTankRead.cs | 69 ++++++++++++++++++++++ Software/Stubs Collection/stubs/mot stop.cs | 11 ++-- 5 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 Software/Stubs Collection/stubs/MidTankRead.cs (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h index abd928f7d..4a5b14a5d 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h @@ -874,8 +874,8 @@ typedef union struct { bool F1_RSPARE_ROTENC_DATA_p_busy : 1; //0 - bool F1_RDANCER_ROTENC_DATA_p_busy : 1; //1 - bool F1_LSPARE_ROTENC_DATA_p_busy : 1; //2 + bool F1_LSPARE_ROTENC_DATA_p_busy : 1; //1 + bool F1_RDANCER_ROTENC_DATA_p_busy : 1; //2 bool F1_LDANCER2_ROTENC_DATA_p_busy : 1; //3 bool F1_LDANCER1_ROTENC_DATA_p_busy : 1; //4 bool F1_MOTO_RLOADING_A1_SDI_busy : 1; //5 diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index c68156e68..5935396a0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -375,9 +375,9 @@ { REPORT_MSG(LoadStages, "Thread Load State Machine step"); CallbackCounter++; - MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 15, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RDANCER], Thread_Load_HomingCallback,4000); + MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 15, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RDANCER], Thread_Load_HomingCallback,10000); CallbackCounter++; - MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, 500, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1], Thread_Load_HomingCallback,10000); + MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_LDANCER1,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1].directionthreadwize, 500, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_LDANCER1], Thread_Load_HomingCallback,25000); return OK; } diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index fdd17fed4..50c1f6c33 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -331,16 +331,13 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) if ((WinderRun < 30000)&&(WinderMotorSpeedRollOver == true)) { WinderRunSamples++; - if (WinderRunSamples>10) + WinderRunSum+=WinderRun; + WinderRunAverage = WinderRunSum/(WinderRunSamples); + if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) { - WinderRunSum+=WinderRun; - WinderRunAverage = WinderRunSum/(WinderRunSamples); - if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) - { - usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, - (int)(100*WinderRun/ScrewNumberOfSteps)); - Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); - } + usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, + (int)(100*WinderRun/ScrewNumberOfSteps)); + Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); } } else diff --git a/Software/Stubs Collection/stubs/MidTankRead.cs b/Software/Stubs Collection/stubs/MidTankRead.cs new file mode 100644 index 000000000..9a82365e1 --- /dev/null +++ b/Software/Stubs Collection/stubs/MidTankRead.cs @@ -0,0 +1,69 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.EmbeddedParameters; +using Tango.Stubs; + +public void OnExecute(StubManager stubManager) +{ + +MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest(); + +MidTankData midTankData = new MidTankData(); +midTankData.MidTankId = 0; +midTankData.InitialOffsetA =2.54414609375 ; +midTankData.SlopeB = 0.915453384418902 ; + +MidTankData midTankData1 = new MidTankData(); +midTankData1.MidTankId = 1; +midTankData1.InitialOffsetA = 2.53565 ; +midTankData1.SlopeB = 0.912075327649828; + +MidTankData midTankData2 = new MidTankData(); +midTankData2.MidTankId = 2; +midTankData2.InitialOffsetA = 2.96895078125 ; +midTankData2.SlopeB = 0.92228512609367; + +MidTankData midTankData3 = new MidTankData(); +midTankData3.MidTankId = 3; +midTankData3.InitialOffsetA = 2.9264703125 ; +midTankData3.SlopeB = 0.939819063852105; + +MidTankData midTankData4 = new MidTankData(); +midTankData4.MidTankId = 4; +midTankData4.InitialOffsetA = 2.614946875 ; +midTankData4.SlopeB = 0.92573937750226; + +MidTankData midTankData5 = new MidTankData(); +midTankData5.MidTankId = 5; +midTankData5.InitialOffsetA = 2.1561578125; +midTankData5.SlopeB = 0; + +MidTankData midTankData6 = new MidTankData(); +midTankData6.MidTankId = 6; +midTankData6.InitialOffsetA = 2.8924859375; +midTankData6.SlopeB = 0.932726089785296; + +MidTankData midTankData7 = new MidTankData(); +midTankData7.MidTankId = 7; +midTankData7.InitialOffsetA = 2.92080625; +midTankData7.SlopeB = 0.919540229; + +midTankDataSetupRequest.MidTankInfo.Add(midTankData); +midTankDataSetupRequest.MidTankInfo.Add(midTankData1); +midTankDataSetupRequest.MidTankInfo.Add(midTankData2); +midTankDataSetupRequest.MidTankInfo.Add(midTankData3); +midTankDataSetupRequest.MidTankInfo.Add(midTankData4); +midTankDataSetupRequest.MidTankInfo.Add(midTankData5); +midTankDataSetupRequest.MidTankInfo.Add(midTankData6); +midTankDataSetupRequest.MidTankInfo.Add(midTankData7); + +var response = stubManager.Run(midTankDataSetupRequest); + +} \ No newline at end of file diff --git a/Software/Stubs Collection/stubs/mot stop.cs b/Software/Stubs Collection/stubs/mot stop.cs index 24cfe16e6..37acf0806 100644 --- a/Software/Stubs Collection/stubs/mot stop.cs +++ b/Software/Stubs Collection/stubs/mot stop.cs @@ -8,7 +8,8 @@ using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; -using Tango.Stubs.UI; +using Tango.Stubs; + public void OnExecute(StubManager stubManager) { @@ -19,11 +20,11 @@ public void OnExecute(StubManager stubManager) //Thread.Sleep(1000); // without init - don't start with this command !!!!!!!!!!! - stubManager.Run("StubMotorStopRequest" ,14, 3); // 3 - SoftHiZ / 2 - HardHiZ / 1 - SoftStop / 0 - HardStop - stubManager.Run("StubMotorStopRequest" ,15, 3); + stubManager.Run("StubMotorStopRequest" ,5, 0); // 3 - SoftHiZ / 2 - HardHiZ / 1 - SoftStop / 0 - HardStop + //stubManager.Run("StubMotorStopRequest" ,15, 3); - stubManager.Run("StubMotorStopRequest" ,18, 3); + //stubManager.Run("StubMotorStopRequest" ,18, 3); - stubManager.Run("StubMotorStopRequest" ,12, 3); + //stubManager.Run("StubMotorStopRequest" ,12, 3); } -- cgit v1.3.1 From 12ae85673a4f4810c1de0c65dfb3b1b3d4b59692 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Fri, 11 Oct 2019 12:05:19 +0300 Subject: heater print bug - spike and low temp not handled --- Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c | 2 ++ .../Embedded/Drivers/Motors/MotorActions.c | 2 ++ Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c | 1 + .../Embedded/Modules/Heaters/Heaters_print.c | 20 +++++++++++++++++--- .../Embedded_SW/Embedded/Modules/IDS/IDS_maint.c | 2 +- .../Embedded/Modules/Thread/Thread_Winder.c | 4 ++-- 6 files changed, 25 insertions(+), 6 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c index 0ae31fcad..7ea2ea79a 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c @@ -106,6 +106,7 @@ uint32_t MotorGetDirection(TimerMotors_t _motorId) uint32_t MotorSetDirection(TimerMotors_t _motorId,bool _direction) { + //ReportWithPackageFilter(GeneralFilter,"MotorSetDirection",__FILE__,_direction,_motorId,RpMessage,0,0); #ifdef EVALUATION_BOARD Direction = _direction; @@ -121,6 +122,7 @@ uint32_t MotorSetDirection(TimerMotors_t _motorId,bool _direction) uint32_t MotorSetSpeed(TimerMotors_t _motorId, float _freq)//TODO MicroSteps? { uint32_t RunSpeed = SpdCalc(_freq); + //ReportWithPackageFilter(GeneralFilter,"MotorSetSpeed",__FILE__,(int)_freq,_motorId,RpMessage,RunSpeed,0); #ifdef EVALUATION_BOARD Run_Value = RunSpeed; Mot_Run(); diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c index d37fd9907..5cd061fdf 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c @@ -493,6 +493,8 @@ uint32_t MotorMovetoLimitSwitch (TimerMotors_t MotorId,bool direction, uint32_t //assert (callback); assert (LimitSwitchId<=MAX_GPI); + ReportWithPackageFilter(GeneralFilter,"MotorMovetoLimitSwitch",__FILE__,direction,MotorId,RpMessage,Freq,0); + if (MotorControlId[MotorId] != 0xFF) { RemoveControlCallback(MotorControlId[MotorId], MotorControlCallback[MotorId] ); diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c index 57f853483..66be6a21a 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c @@ -362,6 +362,7 @@ uint32_t Valve3WayCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) uint32_t Control3WayValvesWithCallback (Valves_t _ValveId, bool direction, callback_fptr callback) //direction: MidTank_Dispenser or Dispenser_Mixer { + //Report("Control3WayValvesWithCallback ",__FILE__,__LINE__,(int)_ValveId,RpWarning,(int)direction,0); if (Valve3WayControlId[_ValveId] != 0xFF) { Report("Control3WayValvesWithCallback called busy ",__FILE__,__LINE__,(int)_ValveId,RpWarning,(int)Valve3WayControlId[_ValveId],0); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 4755393d9..0fbbb39ff 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -563,6 +563,15 @@ void PrepareACHeater(int HeaterId,uint32_t Frequency, uint32_t SetTemperatue) return; } + } + else + { + ReportWithPackageFilter(HeatersFilter,"PrepareACHeater control still running",__FILE__,HeaterId,ControlIdtoHeaterId [HeaterId],RpError, HeaterCmd[HeaterId].targettemperatue,0); + HeaterPreviousRead[HeaterId] = MillisecGetTemperatures(HeaterId2PT100Id[HeaterId]);// + //ReportWithPackageFilter(HeatersFilter,"PrepareHeater AC Read", __FILE__,HeaterId, SetTemperatue, RpWarning,HeaterPreviousRead[HeaterId], 0); + HeaterPreviousRead[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain] = MillisecGetTemperatures(HeaterId2PT100Id[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain]);//MillisecGetTemperatures(HeaterId2PT100Id[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain]); + HeaterPreviousRead[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] = MillisecGetTemperatures(HeaterId2PT100Id[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary]);// = MillisecGetTemperatures(HeaterId2PT100Id[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary]); + } //turn all alarms off AlarmHandlingSetAlarm(HeaterUnderEventType[HeaterId], false); @@ -686,10 +695,10 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue) HeaterPIDConfig[HeaterId].m_SetParam = SetTemperatue*100;//need to update SetParams on presegment stage int band = 10; - /*if (HeaterControl[HeaterId].outputproportionalband) + if (HeaterControl[HeaterId].outputproportionalband) { band = HeaterControl[HeaterId].outputproportionalband; - }*/ + } temp = SetTemperatue*(100+band); //temp = SetTemperatue*110.0; HeaterControl[HeaterId].sensormaxvalue = (int)temp; @@ -781,6 +790,7 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) if (abs(readValue - HeaterPreviousRead[index])>2000) { ReportWithPackageFilter(HeatersFilter,"Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,readValue, index); + HeaterMaxTempFlag[index] = true; DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain,0); DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); @@ -848,6 +858,7 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) return OK; if ((HeaterPreviousRead[index]) >= HeaterControl[index].sensormaxvalue) { + ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,OverHeatCounter[index],index,RpWarning,HeaterControl[index].sensormaxvalue, 0); if(OverHeatCounter[index]++ >=Overheat_Count_Limit) { OverHeatCounter[index] = Overheat_Count_Limit; @@ -872,6 +883,10 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) } else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue)) { + if (HeaterReady[index]==true) + { + ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature",__FILE__,UnderHeatCounter[index],index,RpWarning,HeaterControl[index].sensorminvalue, 0); + } if(UnderHeatCounter[index]++ >=Underheat_Count_Limit) { UnderHeatCounter[index] = Underheat_Count_Limit; @@ -885,7 +900,6 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) return OK; } //HeaterMinTempFlag[index] = true; -// ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature",__FILE__,__LINE__,index,RpWarning,HeaterPreviousRead[index], HeaterControl[index].sensormaxvalue); if (HeaterReady[index]==false) AlarmHandlingSetAlarm(HeaterUnderEventType[index], true); else diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index a160a0d6a..cf6f35205 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -355,7 +355,7 @@ uint32_t IDS_StopHomeDispenserBuildPressure (uint32_t DispenserId) DispenserHomingControlId[DispenserId] = AddControlCallback( IDS_HomeDispenserBackMoveCallback, InitialDispenserTimeLag, GetDispenserPressure,motorId, motorId, 0 ); Task_sleep(10); MotorSetDirection(motorId,MotorsCfg[motorId].directionthreadwize); - + Task_sleep(10); MotorSetSpeed(motorId, 1000); CurrentDispenserSpeed[DispenserId] = 1000; //IDS_Dispenser_RefillEnded ( DispenserId, MotorsCfg[motorId].microstep); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 50c1f6c33..ac76e4dd1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -340,8 +340,8 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); } } - else - Report("winder run error value" ,__FILE__,WinderRun,ScrewLocationRun[0],RpWarning,ScrewLocationRun[1], 0); + //else + // Report("winder run error value" ,__FILE__,WinderRun,ScrewLocationRun[0],RpWarning,ScrewLocationRun[1], 0); //Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); //REPORT_MSG(abs(ScrewLocationRun[1] - ScrewLocationRun[0]), "Screw Run NumberOfSteps"); -- cgit v1.3.1 From 019464981d77a178c9937c42824047848910ec50 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 13 Oct 2019 09:58:00 +0300 Subject: fix load arm problem - remove hard stop in init --- Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c | 4 ++-- Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 2 ++ Software/Stubs Collection/stubs/ThreadLoad.cs | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c index 2645af25b..36d9c16bd 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c @@ -991,10 +991,10 @@ uint32_t FPGA_MotorConfig(TimerMotors_t _motorId, MotorDriverConfigStruc *MotorC uint32_t temp; temp = x_HARD_HIZ; - if (_motorId == HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM) + /*if (_motorId == HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM) { temp = x_HARD_STOP; - } + }*/ temp = temp << 24; MillisecWriteToMotor(_motorId, temp, 4, FPGA_MotorConfig_callback); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 59542ec38..47fc37081 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -729,6 +729,8 @@ uint32_t ThreadInitialTestStub(HardwareMotor * request) EnableIntersegment = JobTicket->enableintersegment; IntersegmentLength = JobTicket->intersegmentlength; + MotorStop(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, Hard_Stop); + //start thread control for all motors for (Motor_i = 0;Motor_i < MAX_THREAD_MOTORS_NUM;Motor_i++) diff --git a/Software/Stubs Collection/stubs/ThreadLoad.cs b/Software/Stubs Collection/stubs/ThreadLoad.cs index 5a9666411..428734f33 100644 --- a/Software/Stubs Collection/stubs/ThreadLoad.cs +++ b/Software/Stubs Collection/stubs/ThreadLoad.cs @@ -34,7 +34,7 @@ public void OnExecute(StubManager stubManager) }THREAD_LOAD_STAGES_ENUM;*/ StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest(); -stubHeatingTestRequest.DryerZone1Temp = 2; +stubHeatingTestRequest.DryerZone1Temp = 12; StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest(); -- cgit v1.3.1 From d27432fbfa2707bbe77704ad8eab80ccb68673d5 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 16 Oct 2019 13:48:33 +0300 Subject: fix parameters --- .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c | 17 +++++------------ .../Embedded/Modules/Diagnostics/Diagnostics.c | 2 +- .../Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c | 4 ++-- 3 files changed, 8 insertions(+), 15 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c index 13efd983a..e712187bd 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c @@ -418,6 +418,11 @@ void FPGA_SetMotorsInit() { uint8_t i=0; + for(i=0;i= Diagnostic_Extended_Mode) { - if (JobIsActive()) + //if (JobIsActive()) { DiagnosticLoadMotor(FEEDER_MOTOR, ThreadGetMotorSpeed (FEEDER_MOTOR)); DiagnosticLoadMotor(DRYER_MOTOR, ThreadGetMotorSpeed (DRYER_MOTOR)); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index 5935396a0..a860c553c 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -202,7 +202,7 @@ MotorStop(ThreadMotorIdToMotorId[FEEDER_MOTOR],Hard_Hiz);*/ MotorStop(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING,Hard_Hiz); - +//move to exact location? // Report("Thread Load State Machine Callback.",__FILE__,__LINE__,LoadStages,RpMessage,NumberOfDrierLoaderCycles,0); CallbackCounter = 0; Report("Thread_Load_Set_Load_Arm_To_Stopper_Callback",__FILE__,__LINE__,LoadStages,RpMessage,CallbackCounter,0); @@ -497,7 +497,7 @@ MotorControlConfig[FEEDER_MOTOR].m_SetParam = 0;//need to update SetParams on presegment stage MotorSetDirection(HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].directionthreadwize); - MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/4); + MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM, MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulseperround/4*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM].pulleyradius); LoadingControlId = AddControlCallback(ThreadLoadControlCBFunction, eOneMillisecond,Control_Read_Dancer_Position,(IfTypeThread*0x100+FEEDER_MOTOR),FEEDER_DANCER,FEEDER_MOTOR); Report("AddControlCallback feeder",__FILE__,__LINE__,LoadingControlId,RpMessage,IfTypeThread*0x100+FEEDER_MOTOR,0); -- cgit v1.3.1 From 657bfe0fa9204f593ffe7c0c37f4027a6b7c1af5 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 16 Oct 2019 16:52:25 +0300 Subject: minor fixes --- .../Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c | 6 +- Software/Embedded_SW/Embedded/EmbParam.cfg | Bin 0 -> 252 bytes .../Modules/Diagnostics/DiagnosticsJogging.c | 4 + .../Embedded/Modules/Heaters/Heaters_print.c | 1 + .../Embedded/Modules/Thread/Thread_Winder.c | 6 +- .../Embedded/embeddedparametersbuild.cs | 143 +++++++++++++++++++++ Software/Embedded_SW/Embedded/temp/EmbParam.cfg | Bin 0 -> 252 bytes .../stubs/embeddedparametersbuild.cs | 16 ++- 8 files changed, 164 insertions(+), 12 deletions(-) create mode 100644 Software/Embedded_SW/Embedded/EmbParam.cfg create mode 100644 Software/Embedded_SW/Embedded/embeddedparametersbuild.cs create mode 100644 Software/Embedded_SW/Embedded/temp/EmbParam.cfg (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c index 2619040a6..34a68667c 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c @@ -275,11 +275,13 @@ double Calc_Calibration_MidTank_Liquid(uint32_t VsampleInBits, MidTank_t MidTan VSensor = (1.96- VADC) * 4.64 + 1.96; if( ( Initial_Offset_A[MidTank_ID] > Max_Initial_Offset_A) || ( Initial_Offset_A[MidTank_ID] < Min_Initial_Offset_A) || - ( Slope_B[MidTank_ID] > Max_Initial_Offset_A) || ( Slope_B[MidTank_ID] < Min_Slope_B) ) + ( Slope_B[MidTank_ID] > Max_Slope_B) || ( Slope_B[MidTank_ID] < Min_Slope_B) ) { temp = VSensor - Deafault_Initial_Offset_A; LiquidLitter = temp * Deafault_Slope_B; - LOG_ERROR (MidTank_ID,"Wrong MidTank Calibration parameters"); + //LOG_ERROR (MidTank_ID,"Wrong MidTank Calibration parameters"); + Report("Wrong MidTank Calibration parameters",__FILE__,MidTank_ID,(int)(Initial_Offset_A[MidTank_ID]*100),RpMessage,(int)(Slope_B[MidTank_ID]*100),0); + } else { diff --git a/Software/Embedded_SW/Embedded/EmbParam.cfg b/Software/Embedded_SW/Embedded/EmbParam.cfg new file mode 100644 index 000000000..339804423 Binary files /dev/null and b/Software/Embedded_SW/Embedded/EmbParam.cfg differ diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c index aab2f3329..4ea029610 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c @@ -29,6 +29,7 @@ #include "drivers/Motors/Motor.h" #include "drivers/Valves/Valve.h" +#include "modules/ids/ids_ex.h" #include "StateMachines/Printing/PrintingSTM.h" /******************************************************************************** @@ -129,6 +130,7 @@ uint32_t MotorAbortJoggingRequestFunc(MessageContainer* requestContainer) /******************************************************************************** * Dispenser Jogging ********************************************************************************/ +extern int32_t CurrentDispenserSpeed[MAX_SYSTEM_DISPENSERS]; uint32_t DispenserJoggingRequestFunc(MessageContainer* requestContainer) { @@ -171,6 +173,7 @@ uint32_t DispenserJoggingRequestFunc(MessageContainer* requestContainer) } MotorSetDirection(MotorId,direction); MotorSetSpeed(MotorId, speed); + CurrentDispenserSpeed[request->index] = speed; } else { @@ -207,6 +210,7 @@ uint32_t DispenserAbortJoggingRequestFunc(MessageContainer* requestContainer) TimerMotors_t MotorId = (request->index)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; MotorStop(MotorId,Hard_Hiz); + CurrentDispenserSpeed[request->index] = 0; Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer if (request->index == LUBRICANT_DISPENSER) diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 56ea96529..2a67a9e58 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -886,6 +886,7 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) if (HeaterReady[index]==true) { ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature",__FILE__,UnderHeatCounter[index],index,RpWarning,HeaterControl[index].sensorminvalue, 0); + ReportWithPackageFilter(HeatersFilter,"Heater under the min temperature",__FILE__,HeaterReady[index],GetHeaterState(index),RpWarning,HeaterPreviousRead[index], 0); } if(UnderHeatCounter[index]++ >=Underheat_Count_Limit) { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index ac76e4dd1..3b5d2a3e9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -302,7 +302,6 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) LOG_ERROR(Add100, "Add100 = true"); } // WinderMotorSpeedCounter=0; - WinderMotorSpeedRollOver=true; } // } if (flipflop == 0) @@ -328,11 +327,11 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) #ifdef READ_SCREW_ENCODER int WinderRun; WinderRun = abs(ScrewLocationRun[1] - ScrewLocationRun[0]); - if ((WinderRun < 30000)&&(WinderMotorSpeedRollOver == true)) + if ((WinderRun < 30000)&&(ScrewDirectionChangeCounter >= 30)) { WinderRunSamples++; WinderRunSum+=WinderRun; - WinderRunAverage = WinderRunSum/(WinderRunSamples); + WinderRunAverage = WinderRunSum/WinderRunSamples; if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) { usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, @@ -357,6 +356,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) { ScrewNumberOfSteps += 100; Add100 = false; + WinderMotorSpeedRollOver=true; } if ((CalculationDirectionChangeCounter/2)%InternalWinderCfg.spoolbackingrate == 0) diff --git a/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs b/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs new file mode 100644 index 000000000..da7237183 --- /dev/null +++ b/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs @@ -0,0 +1,143 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; +using Google.Protobuf; +using Tango.PMR.EmbeddedParameters; +using System.IO; +using Tango.PMR.IO; + + +public void OnExecute(StubManager stubManager) +{ + + +ConfigurationParameters configurationParameters = new ConfigurationParameters(); + +configurationParameters.BreakSensorLimit = 10; + +//how many samples to collect in diagnostics before sending +configurationParameters.DiagnosticCollectionLimit = 1; + +//how many consecutive readout before declaring DC over/underheat alarm +configurationParameters.OverHeatCountLimit = 3; +configurationParameters.UnderHeatCountLimit = 3; + +// time of motor activity before opening the valve or after closing the valve, in milliseconds +configurationParameters.CloseValveTimeout = 10; +configurationParameters.OpenValveTimeout = 10; + +//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) +configurationParameters.InitialDispenserPressure = 1.05; +configurationParameters.InitialDispenserTimeout = 60000; //20 seconds +configurationParameters.InitialDispenserTimeLag = 100; + +//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed +configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000 +configurationParameters.DispenserBuildPressureLimit = 0.35; +configurationParameters.DispenserBuildPressureTimeout = 80000; +configurationParameters.DispenserBuildPressureLag = 50; + +//temperature band 1000 = 100% - thresholds for job start around target temprature - AC +configurationParameters.ACHeatersLowerOperationLimit = 995; +configurationParameters.ACHeatersUpperOperationLimit = 1005; + +//temperature band 1000 = 100% - thresholds for job start around target temprature - DC +configurationParameters.DCHeatersLowerOperationLimit = 978; +configurationParameters.DCHeatersUpperOperationLimit = 1005; + +// mid tank reading offset to add to the readout (OBSOLETE!) +configurationParameters.MidTankPressureCorrection = 0.0; + +//waste factor for intersegment pressure building +configurationParameters.DispenserPresegmentWFCF = 40; +//how much time to start the WFCF process (pressure buildup) before segment start +configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000; + +//flag: start heaters according to saved process parameters upon init? +configurationParameters.StartHeatingOnInitSequence = true; + +// current test for the heaters - alarm thresholds +configurationParameters.CurrentAlarmLowLimit = 0.80; +configurationParameters.CurrentAlarmHighLimit = 1.07; + +configurationParameters.IDSSegmentRefillTimeout = 5000; +configurationParameters.IDSPreSegmentBuildupTime = 5000; +//cleaning!!!!!!!!!! +configurationParameters.IDSCleaningSpeed = 800; +configurationParameters.IDSCleaningStopBeforeSegmentTime = 3000; +configurationParameters.IDSCleaningStartSprayPreSegmentTime = 1000; + +configurationParameters.IDSLeftCleaningMotorSpeed = 30; +configurationParameters.IDSRightCleaningMotorSpeed = 23; +configurationParameters.SwitchToIdleTimeinSeconds = 3600; +configurationParameters.IdleDrierTemperature = 80; +configurationParameters.IdleHeadTemperature = 80; +configurationParameters.IdleMixerTemperature = 0; +configurationParameters.PowerOffTemperatureLimit = 50; + +//general parameters, ORDER MUST BE PRESERVED!!!! +//check the dispensers hard limit alarms +/*1*/ +Double checkHardLimitAlarms = new Double(); +checkHardLimitAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkHardLimitAlarms); + +/*2*/ +Double checkCurrentAlarms = new Double(); +checkCurrentAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkCurrentAlarms); +//check the tamper alarms + +/*3*/ +Double checkTamperAlarms = new Double(); +checkTamperAlarms = 0.0; +configurationParameters.GeneralParameters.Add(checkTamperAlarms); + +/*4*/ +Double checkMotorAlarms = new Double(); +checkMotorAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkMotorAlarms); + +/*5*/ +Double WinderBackToBaseTime = new Double(); +WinderBackToBaseTime = 800.0; +configurationParameters.GeneralParameters.Add(WinderBackToBaseTime); + +/*6*/ +Double DispenserInitialPressureSpeed = new Double(); +DispenserInitialPressureSpeed = 800.0; +configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed); + +/*7*/ +Double SetDiagnosticMode = new Double(); +SetDiagnosticMode = 1.0; +configurationParameters.GeneralParameters.Add(SetDiagnosticMode); + +/*8*/ +Double SetAutoFill = new Double(); +SetAutoFill = 3.0; +configurationParameters.GeneralParameters.Add(SetAutoFill); + +File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); + +byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg"); + + +var config = ConfigurationParameters.Parser.ParseFrom(fileBytes); + + stubManager.Write( config); + +/* +13:46:42.38: Executing script 'embeddedparametersbuild.cs'... +{ "BreakSensorLimit": 10, "DiagnosticCollectionLimit": 1, "OverHeatCountLimit": 3, "UnderHeatCountLimit": 3, "CloseValveTimeout": 255, "OpenValveTimeout": 255, "InitialDispenserPressure": 1.5, "InitialDispenserTimeout": 60000, "InitialDispenserTimeLag": 100, "DispenserBuildPressureSpeed": 800, "DispenserBuildPressureLimit": 0.9, "DispenserBuildPressureTimeout": 80000, "DispenserBuildPressureLag": 50, "ACHeatersLowerOperationLimit": 995, "ACHeatersUpperOperationLimit": 1005, "DCHeatersLowerOperationLimit": 978, "DCHeatersUpperOperationLimit": 1005, "DispenserPresegmentWFCF": 80, "StartHeatingOnInitSequence": true, "GeneralParameters": [ 1, 1, 1, 1, 800, 1000 ], "CurrentAlarmLowLimit": 0.8, "CurrentAlarmHighLimit": 1.07, "IDSSegmentRefillTimeout": 5000, "IDSPreSegmentBuildupTime": 5000, "IDSCleaningSpeed": 50, "IDSCleaningStopBeforeSegmentTime": 3000, "IDSCleaningStartSprayPreSegmentTime": 1000, "IDSLeftCleaningMotorSpeed": 30, "IDSRightCleaningMotorSpeed": 23, "SwitchToIdleTimeinSeconds": 3600, "IdleDrierTemperature": 80, "IdleHeadTemperature": 80, "PowerOffTemperatureLimit": 50, "IDSPreSegmentWFCFTimeBeforeSegment": 1500 } */ + + +} \ No newline at end of file diff --git a/Software/Embedded_SW/Embedded/temp/EmbParam.cfg b/Software/Embedded_SW/Embedded/temp/EmbParam.cfg new file mode 100644 index 000000000..339804423 Binary files /dev/null and b/Software/Embedded_SW/Embedded/temp/EmbParam.cfg differ diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs index 50af48f35..da7237183 100644 --- a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs +++ b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs @@ -31,8 +31,8 @@ configurationParameters.OverHeatCountLimit = 3; configurationParameters.UnderHeatCountLimit = 3; // time of motor activity before opening the valve or after closing the valve, in milliseconds -configurationParameters.CloseValveTimeout = 50; -configurationParameters.OpenValveTimeout = 50; +configurationParameters.CloseValveTimeout = 10; +configurationParameters.OpenValveTimeout = 10; //backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) configurationParameters.InitialDispenserPressure = 1.05; @@ -41,7 +41,7 @@ configurationParameters.InitialDispenserTimeLag = 100; //job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000 -configurationParameters.DispenserBuildPressureLimit = 1.05; +configurationParameters.DispenserBuildPressureLimit = 0.35; configurationParameters.DispenserBuildPressureTimeout = 80000; configurationParameters.DispenserBuildPressureLag = 50; @@ -62,7 +62,7 @@ configurationParameters.DispenserPresegmentWFCF = 40; configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000; //flag: start heaters according to saved process parameters upon init? -configurationParameters.StartHeatingOnInitSequence = false; +configurationParameters.StartHeatingOnInitSequence = true; // current test for the heaters - alarm thresholds configurationParameters.CurrentAlarmLowLimit = 0.80; @@ -70,9 +70,11 @@ configurationParameters.CurrentAlarmHighLimit = 1.07; configurationParameters.IDSSegmentRefillTimeout = 5000; configurationParameters.IDSPreSegmentBuildupTime = 5000; +//cleaning!!!!!!!!!! configurationParameters.IDSCleaningSpeed = 800; configurationParameters.IDSCleaningStopBeforeSegmentTime = 3000; configurationParameters.IDSCleaningStartSprayPreSegmentTime = 1000; + configurationParameters.IDSLeftCleaningMotorSpeed = 30; configurationParameters.IDSRightCleaningMotorSpeed = 23; configurationParameters.SwitchToIdleTimeinSeconds = 3600; @@ -111,17 +113,17 @@ configurationParameters.GeneralParameters.Add(WinderBackToBaseTime); /*6*/ Double DispenserInitialPressureSpeed = new Double(); -DispenserInitialPressureSpeed = 1000.0; +DispenserInitialPressureSpeed = 800.0; configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed); /*7*/ Double SetDiagnosticMode = new Double(); -SetDiagnosticMode =3.0; +SetDiagnosticMode = 1.0; configurationParameters.GeneralParameters.Add(SetDiagnosticMode); /*8*/ Double SetAutoFill = new Double(); -SetAutoFill = 1.0; +SetAutoFill = 3.0; configurationParameters.GeneralParameters.Add(SetAutoFill); File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); -- cgit v1.3.1 From 73f790b35fce16f59b969eb8258e485c2fd3fbd3 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 16 Oct 2019 17:11:31 +0300 Subject: remove file writing in dispenser data --- Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- .../Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_VOC_Sensor.c | 2 +- Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 3 ++- Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c | 8 ++++---- Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index b3005a7fe..60dfd6703 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,4,5,5}; +TangoVersion_t _gTangoVersion = {1,4,5,6}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d 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 a17bff871..e6a20904e 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 @@ -171,9 +171,9 @@ uint8_t Calculate_Gas_Power_Consumption() // WHS if (VOC_Index%60 == 0) { CalculateVOCAlarms(); + Report("Calculate_Gas_Data Sample,VADC,Vsense",__FILE__,VsampleInBits,(int)VADC,RpWarning,(int)(VSensor*1000),0); } //Report("Calculate_Gas_Power_Consumption",__FILE__,__LINE__,(int)i,RpWarning,VOC_Index,0); - Report("Calculate_Gas_Data Sample,VADC,Vsense",__FILE__,VsampleInBits,(int)VADC,RpWarning,(int)(VSensor*1000),0); return i;//PPM } diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 2a67a9e58..574cc2573 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -998,6 +998,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) //Heaters OFF until coming into the proportional band HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain,0); HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary,0); + ReportWithPackageFilter(HeatersFilter, "AC OverHeat - turned off",__FILE__,readValue,HeaterReady[index],RpError, HeaterAtTemp[index],0); return OK; } if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) @@ -1195,7 +1196,7 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) DeActivateHeater(index); HeaterRecalculateHeaterParams(index, 0); //Heaters OFF until coming into the proportional band - //ReportWithPackageFilter(HeatersFilter,"DC HEATER Over temperature ", __FILE__,__LINE__,index, RpMessage, readValue, 0); + ReportWithPackageFilter(HeatersFilter,"HEATER Over temperature ", __FILE__,__LINE__,index, RpMessage, readValue, 0); return OK; } if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index 8f1c0d565..b9ab97714 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -248,7 +248,7 @@ void IDS_Dispenser_Content_Init (void) StoredDispenserData = (DispenserRunningData*)(DISPENSERS_MAP_IN_FLASH+4); havedata = true; } - else + /*else { Fresult = FileRead(DispenserStorePath, &Bytes, &buffer); if (Fresult == FR_OK) @@ -256,7 +256,7 @@ void IDS_Dispenser_Content_Init (void) StoredDispenserData = (DispenserRunningData*)buffer; havedata = true; } - } + }*/ if (havedata == true) { for(i=0;i= 30)) + if ((WinderRun < 30000)&&(WinderMotorSpeedRollOver == true)) { WinderRunSamples++; WinderRunSum+=WinderRun; -- cgit v1.3.1 From ffbbc56bd5935cc4cb65e635c7360735578952fe Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 22 Oct 2019 17:56:36 +0300 Subject: winder avg --- Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c | 2 +- Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index 0d0e3a65b..1302d262a 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -303,7 +303,7 @@ uint32_t IDS_StopHomeDispenser (uint32_t DispenserId) if ((HomingActive[DispenserId] == false)&&( PrimingActive[DispenserId] == false)) { LOG_ERROR (DispenserId,"Homing not active"); - return ERROR; + return OK; } TimerMotors_t MotorId = (DispenserId)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index bf0f361fd..9d57cd29f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -47,6 +47,7 @@ uint32_t CalculationDirectionChangeCounter = 1; //holds the current number of ru double WinderMotorSpeed[MAX_WINDER_SPEED_CALCULATION]; uint16_t WinderMotorSpeedCounter = 0; bool WinderMotorSpeedRollOver = false; +int StartWinderCalculation = 0; #define DEFAULT_SCREW_SPEED 1200 double ScrewSpeed = DEFAULT_SCREW_SPEED; double ScrewRunningTime = 0; @@ -127,7 +128,7 @@ uint32_t Winder_Prepare(void *JobDetails) //float process_speed = JobTicket->processparameters->dyeingspeed; double ScrewSpeed = DEFAULT_SCREW_SPEED;//(process_speed*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].pulleyradius); // we will use pulley radius of the screw for this purpose, as of now WinderMotorSpeedRollOver=false; - + StartWinderCalculation = 0; //MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,InternalWinderCfg.segmentoffsetpulses); //REPORT_MSG(ScrewSpeed, "Winder_Prepare"); /* @@ -299,7 +300,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) if (WinderMotorSpeedRollOver == false) { Add100 = true; - LOG_ERROR(Add100, "Add100 = true"); + //LOG_ERROR(Add100, "Add100 = true"); } // WinderMotorSpeedCounter=0; } @@ -327,7 +328,9 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) #ifdef READ_SCREW_ENCODER int WinderRun; WinderRun = abs(ScrewLocationRun[1] - ScrewLocationRun[0]); - if ((WinderRun < 30000)&&(WinderMotorSpeedRollOver == true)) + if (WinderMotorSpeedRollOver == true) + StartWinderCalculation++; + if ((WinderRun < 30000)&&(StartWinderCalculation >= 2)) { WinderRunSamples++; WinderRunSum+=WinderRun; -- cgit v1.3.1 From 31096fb03e434d52738b07acd881b87516c3c3d5 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 24 Oct 2019 12:48:54 +0300 Subject: disable current reading. fix thread loading. fix power off cleaning job --- .../Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c | 2 +- .../Embedded/Modules/Control/MillisecTask.c | 2 +- .../Embedded_SW/Embedded/Modules/General/buttons.c | 1 + .../Embedded/Modules/Thread/ThreadLoad.c | 33 +++++++++++----------- .../Embedded/Modules/Thread/Thread_ex.h | 25 ++++++++-------- .../Embedded/StateMachines/Printing/JobSTM.c | 2 +- .../Embedded/embeddedparametersbuild.cs | 2 +- Software/Stubs Collection/stubs/ThreadLoad.cs | 27 +++++++++--------- 8 files changed, 46 insertions(+), 48 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c index 34a68667c..331913816 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c @@ -406,7 +406,7 @@ uint32_t Heaters_Current_Bits[9];//just for debug void Enable_Reading_Heaters_Current(HEATERS_CURRENT Heater_ID) //0-8 { assert (Heater_IDlength = 200.0; + TSegment->length = 10.0; TSegment->n_brushstops = 1; TSegment->brushstops = my_malloc(sizeof(TSegment->brushstops)); TSegment->brushstops[0] = TbrushStop; diff --git a/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs b/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs index 3b2ff042b..4aad16764 100644 --- a/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs +++ b/Software/Embedded_SW/Embedded/embeddedparametersbuild.cs @@ -81,7 +81,7 @@ configurationParameters.SwitchToIdleTimeinSeconds = 3600; configurationParameters.IdleDrierTemperature = 80; configurationParameters.IdleHeadTemperature = 80; configurationParameters.IdleMixerTemperature = 0; -configurationParameters.PowerOffTemperatureLimit = 50; +configurationParameters.PowerOffTemperatureLimit = 100; //general parameters, ORDER MUST BE PRESERVED!!!! //check the dispensers hard limit alarms diff --git a/Software/Stubs Collection/stubs/ThreadLoad.cs b/Software/Stubs Collection/stubs/ThreadLoad.cs index 428734f33..00d307224 100644 --- a/Software/Stubs Collection/stubs/ThreadLoad.cs +++ b/Software/Stubs Collection/stubs/ThreadLoad.cs @@ -17,24 +17,23 @@ public void OnExecute(StubManager stubManager) 0 THREAD_LOAD_INIT, 1 THREAD_LOAD_REDUCE_HEAT, //HEATERS OFF, DRYER BLOWER OFF, BLOWER LOW, 2 THREAD_LOAD_SET_LOAD_ARM_TO_START_POSITION, //USE NOTATION HOW MANY ROTATIONS IN THE DRYER, OR CHECK AGAINST STOPPER. MOVE SLOWLY - 3 THREAD_LOAD_CENTER_HEAD_ROCKERS, //puthead cleaning rockers to middle position - 4 THREAD_LOAD_OPEN_COVERS, //OPEN DYEING HEAD COVER AND DRYER LID - 5 THREAD_LOAD_LIFT_DANCERS, - 6 THREAD_LOAD_LIFT_ROCKERS, //MACHINE IS READY. SEND MESSAGE, START TIMER TO CLOSE LIDS, WAIT FOR OPERATOR RESPONSE - 7 THREAD_LOAD_INITIAL_TENSION, //CHECK SPOOL PRESENCERUN WINDER UNTIL BREAK SENSOR IS IDENTIFIEING MOVEMENT FOR A SECOND - 8 THREAD_LOAD_CLOSE_ROCKERS, - 9 THREAD_LOAD_CLOSE_DANCERS, //SEND DANCER MOTORS TO PRESET LOCATION, CHECK THAT THE DANCERS ARE ON THE THREAD - 10 THREAD_LOAD_CLOSE_LIDS, - 11 THREAD_LOAD_JOG_FEEDER_TO_MIDDLE_POINT, //JOG THE FEEDER MOTOR UNTIL THE FEEDER DANCER IS AT MIDDLE POSITION - 12 THREAD_LOAD_DRYER_LOADING, //START FEEDER PID, ROTATE LOADING ARM COUNTER THREAD DIRECTION X CIRCLES ACCORDING TO RML. FEEDER SPEED IS 40 + 3 THREAD_LOAD_OPEN_COVERS, //OPEN DYEING HEAD COVER AND DRYER LID + 4 THREAD_LOAD_LIFT_DANCERS, + 5 THREAD_LOAD_LIFT_ROCKERS, //MACHINE IS READY. SEND MESSAGE, START TIMER TO CLOSE LIDS, WAIT FOR OPERATOR RESPONSE + 6 THREAD_LOAD_INITIAL_TENSION, //CHECK SPOOL PRESENCERUN WINDER UNTIL BREAK SENSOR IS IDENTIFIEING MOVEMENT FOR A SECOND + 7 THREAD_LOAD_CLOSE_ROCKERS, + 8 THREAD_LOAD_CLOSE_DANCERS, //SEND DANCER MOTORS TO PRESET LOCATION, CHECK THAT THE DANCERS ARE ON THE THREAD + 9 THREAD_LOAD_CLOSE_LIDS, + 10 THREAD_LOAD_JOG_FEEDER_TO_MIDDLE_POINT, //JOG THE FEEDER MOTOR UNTIL THE FEEDER DANCER IS AT MIDDLE POSITION + 11 THREAD_LOAD_DRYER_LOADING, //START FEEDER PID, ROTATE LOADING ARM COUNTER THREAD DIRECTION X CIRCLES ACCORDING TO RML. FEEDER SPEED IS 40 //KEEP NOTATION HOW MANY ROTATIONS IN THE DRYER - 13 THREAD_LOAD_RESUME_HEATING, - 14 THREAD_LOAD_JOG_THREAD, //JOG THREAD SHORTLY TO MAKE SURE SPOOL IS RUNNING. REPORT END OF LOADING - 15 THREAD_LOAD_END + 12 THREAD_LOAD_RESUME_HEATING, + 13 THREAD_LOAD_JOG_THREAD, //JOG THREAD SHORTLY TO MAKE SURE SPOOL IS RUNNING. REPORT END OF LOADING + 14 THREAD_LOAD_END }THREAD_LOAD_STAGES_ENUM;*/ StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest(); -stubHeatingTestRequest.DryerZone1Temp = 12; +stubHeatingTestRequest.DryerZone1Temp = 7; StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest(); -- cgit v1.3.1 From 87e24883ea2c5f1947943547cff29357bc8cbd2f Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 24 Oct 2019 17:08:31 +0300 Subject: small fix --- Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c | 2 +- Software/Stubs Collection/stubs/embeddedparametersbuild.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c index 88d62a495..8c42735cb 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c @@ -11,7 +11,7 @@ #include "PMR/Hardware/HardwareDancer.pb-c.h" #include "PMR/Hardware/HardwareWinder.pb-c.h" #include "PMR/Hardware/HardwareBreakSensor.pb-c.h" -#include +#include "PMR/Diagnostics/EventType.pb-c.h" #include "Modules/AlarmHandling/AlarmHandling.h" #include "PMR/Printing/JobSpool.pb-c.h" diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs index c3d5c9c75..bbf9f8280 100644 --- a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs +++ b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs @@ -35,7 +35,7 @@ configurationParameters.CloseValveTimeout = 50; configurationParameters.OpenValveTimeout = 50; //backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) -configurationParameters.InitialDispenserPressure = 1.05; +configurationParameters.InitialDispenserPressure = 0.25; configurationParameters.InitialDispenserTimeout = 60000; //20 seconds configurationParameters.InitialDispenserTimeLag = 100; @@ -62,7 +62,7 @@ configurationParameters.DispenserPresegmentWFCF = 40; configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000; //flag: start heaters according to saved process parameters upon init? -configurationParameters.StartHeatingOnInitSequence = false; +configurationParameters.StartHeatingOnInitSequence = true; // current test for the heaters - alarm thresholds configurationParameters.CurrentAlarmLowLimit = 0.80; -- cgit v1.3.1