From e033f489d7e0e5b258c04425835ef9c484e0417d Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 16 Jul 2018 10:49:07 +0300 Subject: send job response during prepare state, with heaters temp. send progress with total processed meters --- .../Embedded/Modules/Thread/Thread_print.c | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index fd86f0973..a64ac6cef 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -62,8 +62,9 @@ uint32_t PreviousPosition = 0, CurrentPosition = 0; double totalLength = 0.0; double CurrentRequestedLength = 0.0; double CurrentProcessedLength = 0.0; +double TotalProcessedLength = 0.0; double LengthCalculationMultiplier; - +bool PrepareState = false; int CurrentSegmentId = 0; typedef void (* ProcessedLengthFunc)(void); ProcessedLengthFunc ProcessedLengthFuncPtr = NULL; @@ -136,6 +137,7 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) { uint32_t positionDiff = 0; double length = 0.0; + char str[150]; int index = MAX_THREAD_MOTORS_NUM; if (IfIndex>>8 != IfTypeThread) { @@ -184,15 +186,19 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) pooler_counter++; if (pooler_counter%10 == 0) { - SendJobProgress(CurrentProcessedLength/100,CurrentSegmentId,false, "Progress"); + if (PrepareState == true) + { + //later - add temperatures + TemperatureListString(str); - } - if (pooler_counter>=100) - { - //HeatingTestSendResonse(0, false,true,true, MotorDriverRequest[22].Speed,MotorDriverRequest[18].Speed,MotorDriverRequest[15].Speed,MotorDriverRequest[3].Speed, "MotorSpeed"); + SendJobProgress(0.0,0,false, str); + } + else + { + TotalProcessedLength+= (CurrentProcessedLength/100); + SendJobProgress(CurrentProcessedLength,0,false, "Progress"); + } - //HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/length,positionDiff/*(int)error_integered*/,CurrentProcessedLength,CurrentRequestedLength, "FeederLength"); - // pooler_counter = 0; } if (CurrentProcessedLength>=CurrentRequestedLength ) { @@ -438,6 +444,8 @@ bool InitialProcess = false; CurrentSegmentId = 0; JobCounter = 0; + TotalProcessedLength = 0.0; + PrepareState = true; //start thread control for all motors for (Motor_i = 0;Motor_i < MAX_THREAD_MOTORS_NUM;Motor_i++) { @@ -541,7 +549,7 @@ void SetOriginMotorSpeed(float process_speed) //******************************************************************************************************************** uint32_t ThreadPreSegmentState(void *JobDetails) { -//set the speed only before the first segment, speed is constant accros job +//set the speed only before the first segment, speed is constant across all job segments and intersegments JobTicket* JobTicket = JobDetails; float process_speed = dyeingspeed; @@ -553,6 +561,7 @@ uint32_t ThreadPreSegmentState(void *JobDetails) SetOriginMotorSpeed(process_speed); ThreadControlActive = true; + PrepareState = false; // set the new speed in the dryer motor to the speed of the new segment MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING, OriginalMotorSpd_2PPS[DRYER_MOTOR]); //only for testing - when control works, these motors will take their speed from the dryer -- cgit v1.3.1 From 1c8ed5078d97519d22db9a3c3ab4d9e1d70bdf1b Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 17 Jul 2018 09:21:13 +0300 Subject: Some first printing bugs. stack sizes, token saving, starting with heaters ready (still bugged), total length fixed, dye flow. --- Software/Embedded_SW/Embedded/Common/report/reportInit.c | 4 ++-- .../Embedded/Drivers/Heater/TemperatureSensor.c | 4 ++-- Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c | 2 ++ Software/Embedded_SW/Embedded/Embedded.cfg | 6 ++++-- .../Embedded/Modules/AlarmHandling/Diagnostics.c | 4 ++-- .../Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c | 4 ++-- .../Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 2 +- Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 1 + .../Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 4 ++-- .../Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 12 ++++++------ .../Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c | 14 +++++++------- 11 files changed, 31 insertions(+), 26 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c index 1f955e23f..4187032a0 100644 --- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c +++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c @@ -39,7 +39,7 @@ #include "PMR/debugging/StopDebugLogResponse.pb-c.h" //#include "graphics_adapter.h" -char protobufToken[36] = {0}; +char protobufToken[36+1] = {0}; /*void SendStatusResponse (uint32_t Code, char *Token) { MessageContainer responseContainer; @@ -126,7 +126,7 @@ uint32_t ReportInitMessage(MessageContainer* requestContainer) // ReportInitParams InitParams; StartDebugLogRequest* request = start_debug_log_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - strcpy (protobufToken, requestContainer->token); + ustrncpy (protobufToken, requestContainer->token,36); /* InitParams.DistributorQueueMaxMsgs = 20; InitParams.DistributorTaskPriority = 6; InitParams.MaxNumOfFilterNames = 1; diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c index 8bdd73714..952b8c247 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c +++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c @@ -181,8 +181,8 @@ int TemperatureListString(char* str) int len; len = usnprintf(str, 150, "Prepare H1: %d H2: %d H3: %d H4: %d H5: %d H6: %d D1: %d D2: %d D3: %d ",TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP1].Temperature_C_mult_by_100/100, TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP3].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP4].Temperature_C_mult_by_100/100, - TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP5].Temperature_C_mult_by_100/100,TempSensorResponse[ANALOG_MIXCHIP_TEMP].Temperature_C_mult_by_100/100,TempSensorResponse[ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100, - TempSensorResponse[ANALOG_DRYER_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[ANALOG_DRYER_TEMP3].Temperature_C_mult_by_100/100); + TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP5].Temperature_C_mult_by_100/100,TempSensorResponse[ANALOG_MIXCHIP_TEMP].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100, + TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP3].Temperature_C_mult_by_100/100); return len; } diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c index 6cd17e5ef..5112edb6d 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c +++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c @@ -119,6 +119,7 @@ uint32_t Uart_rx_Counter = 0; //***************************************************************************** //void UART0IntHandler(void) uint32_t uDataLength[50] = {0}; +void * DataPointer[50]= {0}; byte uindex = 0; void UARTIntHandler(UArg arg0) { @@ -206,6 +207,7 @@ uint32_t Uart_Tx(char *buffer,size_t length) } uDataLength[uindex] = length+4; + DataPointer[uindex] = buffer; if (uindex++>=50) uindex = 0; diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg index 20fd9e688..5b3e31a2d 100644 --- a/Software/Embedded_SW/Embedded/Embedded.cfg +++ b/Software/Embedded_SW/Embedded/Embedded.cfg @@ -14,7 +14,7 @@ var HeapStd = xdc.useModule('xdc.runtime.HeapStd'); var GIO = xdc.useModule('ti.sysbios.io.GIO'); var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore'); var Task = xdc.useModule('ti.sysbios.knl.Task'); -BIOS.heapSize = 32767; +BIOS.heapSize = 48767; Program.heap = 24000; @@ -122,6 +122,7 @@ Program.global.Reconnect = Task.create("&ReconnectTask", task4Params); var task5Params = new Task.Params(); task5Params.instance.name = "process"; +task5Params.stackSize = 4096; task5Params.priority = 7; Program.global.process = Task.create("&jobTask", task5Params); @@ -132,6 +133,7 @@ Program.global.report = Task.create("&reportService", task6Params); var task7Params = new Task.Params(); task7Params.instance.name = "control"; +task7Params.stackSize = 2048; task7Params.priority = 11; Program.global.control = Task.create("&controlTask", task7Params); @@ -154,7 +156,7 @@ Program.global.communicationTx = Task.create("&communicationTxTask", task10Param var task11Params = new Task.Params(); task11Params.instance.name = "Diagnostics"; task11Params.priority = 3; -task11Params.stackSize = 4096; +task11Params.stackSize = 8192; Program.global.Diagnostics = Task.create("&DiagnosticsTask", task11Params); var task12Params = new Task.Params(); diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c index 6bfa351a7..19fe66611 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c @@ -33,7 +33,7 @@ #include "PMR/debugging/DebugLogCategory.pb-c.h" -char DiagnosticsToken[36] = {0}; +char DiagnosticsToken[36+1] = {0}; bool DiagnosticsActive = false; void SendDiagnostics(void); @@ -296,7 +296,7 @@ uint32_t StartDiagnosticsRequestFunc(MessageContainer* requestContainer) DiagnosticsStart(); StartDiagnosticsRequest* request = start_diagnostics_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - strcpy (DiagnosticsToken, requestContainer->token); + ustrncpy (DiagnosticsToken, requestContainer->token,36); start_diagnostics_request__free_unpacked(request,NULL); return status; } diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c index 1388c72f9..047500c19 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c @@ -65,7 +65,7 @@ uint32_t Heaters_Init(void) FPGA_SensorInitConfig(); return OK; } -char stubToken[36] = {0}; +char stubToken[37] = {0}; void HeatingTestRequest(MessageContainer* requestContainer) { @@ -134,7 +134,7 @@ void HeatingTestPollRequest(MessageContainer* requestContainer) //uint8_t* container_buffer; StubHeatingTestPollRequest* request = stub_heating_test_poll_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - strcpy (stubToken, requestContainer->token); + ustrncpy (stubToken, requestContainer->token,36); /* StubHeatingTestPollResponse response = STUB_HEATING_TEST_POLL_RESPONSE__INIT; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 351fc3035..4d0ebd5f3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -320,7 +320,7 @@ bool HeaterCheckReady(void) void HeaterPrepareReady(void) { int i; - if (GetHeatersPrepareWaiting == false) + if (GetHeatersPrepareWaiting() == false) { return; } diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index bd3fe5aea..f24e72979 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -264,6 +264,7 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) //(Speed*uStep*PPR)/((2*PI*Dispenser_Radius) segmentfirst_speed = JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanolitterpersecond/ JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanoliterperpulse; + segmentfirst_speed/=MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep // double Dispenser_speed = (segmentfirst_speed * MotorsCfg[HW_Motor_Id].pulseperround)/(2*PI* MotorsCfg[HW_Motor_Id].pulleyradius); //DispenserControlConfig[Dispenser_i].m_SetParam = Dispenser_speed; // OriginalDispenserSpd_2PPS[Dispenser_i] = (int)Dispenser_speed; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index e40be86a0..a8ca46574 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -166,13 +166,13 @@ uint32_t CalculateNumberOfSteps (uint32_t Counter, bool direction) if (Counter) { - if (Counter%InternalWinderCfg.spoolbackingrate == 0) + if (Counter%InternalWinderCfg.spoolbackingrate == 1) { NumberOfSteps -= (Counter/InternalWinderCfg.spoolbackingrate); REPORT_MSG(ScrewNumberOfSteps, "Head Backing"); ScrewNumberOfSteps--; } - if ((Counter%InternalWinderCfg.SpoolBottomBackingRate == 0)||(Counter%InternalWinderCfg.SpoolBottomBackingRate == 0)) + if ((Counter%InternalWinderCfg.SpoolBottomBackingRate == 0)||(Counter%InternalWinderCfg.SpoolBottomBackingRate == 1)) { if (direction != MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize) { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index a64ac6cef..8bf43282d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -145,16 +145,16 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) return 0xFFFFFFFF; } index = IfIndex&0xFF; - if (CurrentRequestedLength == 0.0) - return OK; +// if (CurrentRequestedLength == 0.0) +// return OK; if (index != FEEDER_MOTOR) { LOG_ERROR (IfIndex, "Wrong Motor"); return 0xFFFFFFFF; } CurrentPosition = MotorGetPosition(ThreadMotorIdToMotorId[index]); - if (CurrentPosition == 0) - return OK; //unusable data +// if (CurrentPosition == 0) +// return OK; //unusable data if (initialpos == 0xFFFF) { PreviousPosition = CurrentPosition; @@ -195,8 +195,8 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) } else { - TotalProcessedLength+= (CurrentProcessedLength/100); - SendJobProgress(CurrentProcessedLength,0,false, "Progress"); + TotalProcessedLength+= (length/100); + SendJobProgress(TotalProcessedLength,0,false, "Progress"); } } diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index f135cec56..bd8f57b12 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -104,7 +104,7 @@ typedef struct ////////////////////////Slow Motor State//////////////////////////////////// -char JobToken[36]={0}; +char JobToken[36+1]={0}; bool JobAbortedByUser = false; //////////////////////////////////////////////////////////////////////////// @@ -152,11 +152,6 @@ static ReturnCode PrepareState(void *JobDetails) { PrepareWaiting[Module_IDS] = ModuleWaiting; } - if (Configured[Module_Heaters]) - { - if (HeaterCheckReady() == false) // if heaters are in heating / cooling state we must wait for them - PrepareWaiting[Module_Heaters] = ModuleWaiting; - } if (Configured[Module_Thread]) { PrepareWaiting[Module_Thread] = ModuleWaiting; @@ -165,6 +160,11 @@ static ReturnCode PrepareState(void *JobDetails) { PrepareWaiting[Module_Winder] = ModuleWaiting; } + if (Configured[Module_Heaters]) + { + if (HeaterCheckReady() == false) // if heaters are in heating / cooling state we must wait for them + PrepareWaiting[Module_Heaters] = ModuleWaiting; + } //wait for fast heating to end //start other peripheral systems: chiller, waist handling //check thread type @@ -319,7 +319,7 @@ void JobRequestFunc(MessageContainer* requestContainer) JobRequest* request = job_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - strcpy (JobToken, requestContainer->token); + ustrncpy (JobToken, requestContainer->token,36); previousJobLength = 0.0; JobTicket *Ticket = request->jobticket; int TicketSize = job_ticket__get_packed_size(Ticket); -- cgit v1.3.1 From 722e58ecf23a9d08ff645741fb9644e443639a03 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 17 Jul 2018 11:01:43 +0300 Subject: some cleaning --- .../Embedded/Modules/Heaters/Heaters_print.c | 84 +--------------------- .../Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 9 ++- .../Embedded/Modules/Thread/Thread_print.c | 25 ------- .../Embedded/StateMachines/Printing/JobSTM.c | 3 +- 4 files changed, 7 insertions(+), 114 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 4d0ebd5f3..fd828ddb2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -151,31 +151,6 @@ uint32_t HeatersEnd(void) for (i=0;i HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //DC Heaters - { - if (ControlIdtoHeaterId [i]!=0xFF) - { - status |= RemoveControlCallback(ControlIdtoHeaterId [i], DCHeaterControlCBFunction); - ControlIdtoHeaterId [i]=0xFF; - } - } - else if (i < HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //AC Heaters - { - if (ControlIdtoHeaterId [i]!=0xFF) - { - status |=RemoveControlCallback(ControlIdtoHeaterId [i] ,HeaterControlCBFunction); - ControlIdtoHeaterId [i]=0xFF; - } - } - if (i == HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w) //DC Heaters - if (DryerHeaterMaxTempControl) - { - status |=RemoveControlCallback(DryerHeaterMaxTempControl ,HeaterMaxTempCBFunction); - DryerHeaterMaxTempControl=0xFF; - } - DeActivateHeater(i); - */ } return status; @@ -359,14 +334,6 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) LOG_ERROR (IfIndex, "Wrong Interface "); return 0xFFFFFFFF; } - static int ttt=0; - ttt++; - if (ttt >=21) - { - HeatingTestSendResonse(0,false,GetHeaterState(index), InitialHeating,index, readValue,HeaterControl[index].sensormaxvalue*100, - HeaterControl[index].sensorminvalue*100,"AC MaxTemp"); - ttt=0; - } if ((readValue/100) >= HeaterControl[index].sensormaxvalue) { LOG_ERROR (readValue, "Heater Over the max temperature, turned off"); @@ -409,21 +376,6 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) LOG_ERROR (0, "unconfigured"); return ERROR; } - static uint32_t Temperature[2] = {0}; - if (index<2) - Temperature[index] = readValue; - /*HeatingTestSendResonse(0, false,GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w),GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1), - Temperature[0],Temperature[1], - HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w].m_calculatedError, HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1].m_calculatedError,"Standard"); -*/ - static int tt=0; - tt++; - if (tt >=21) - { - HeatingTestSendResonse(0,false,GetHeaterState(index), InitialHeating,index, readValue,correction, - HeaterPIDConfig[index].m_calculatedError,"Standard AC"); - tt=0; - } // check if the read value is within the proportional band if (InitialHeating) { @@ -432,21 +384,10 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) HeaterControlFlag[index] = false; DeActivateHeater(index); //Heaters OFF until coming into the proportional band - /* - len = usnprintf(str, 100, "\r\n HeaterControlCBFunction devId %d temp %d over proportional band 1.0%d of set temp %d " - ,index, readValue,HeaterControl[index].outputproportionalband,HeaterCmd[index].targettemperatue); - Report(str, __FILE__,__LINE__,0, RpMessage, index, deviceID); - */ return OK; } if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) { - /* - len = usnprintf(str, 100, "\r\n HeaterControlCBFunction devId %d temp %d below proportional band %d of set temp %d " - ,index, readValue,HeaterControl[index].outputproportionalband,HeaterCmd[index].targettemperatue); - Report(str, __FILE__,__LINE__,0, RpMessage, index, deviceID); - //Heaters ON until coming into the proportional band - */ return OK; } else @@ -455,10 +396,6 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) HeatersControlStart(); HeaterReady[index] = true; HeaterPrepareReady(); - HeatingTestSendResonse(0, false,GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w),GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1), - Temperature[0],Temperature[1], - HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w].m_calculatedError, HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1].m_calculatedError,"End Initial Heating"); - } } if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0)) @@ -508,22 +445,9 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) } if (HeaterCmd[index].targettemperatue == 0) { - LOG_ERROR (0, "unconfigured"); + LOG_ERROR (index, "unconfigured"); return ERROR; } -/* - HeatingTestSendResonse(0, false,GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w),GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1), - Temperature[0],Temperature[1], - HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w].m_calculatedError, HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1].m_calculatedError,"Standard"); -*/ - static int t=0; - t++; - if (t >=23) - { - HeatingTestSendResonse(0,false,GetHeaterState(index), DCInitialHeating[index],index, readValue,DCTimeSliceAllocation[index], - HeaterPIDConfig[index].m_calculatedError,"Standard DC"); - t=0; - } // check if the read value is within the proportional band if (DCInitialHeating[index]==true) { @@ -545,9 +469,6 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) HeatersControlStart(); HeaterReady[index] = true; HeaterPrepareReady(); - HeatingTestSendResonse(0,false,GetHeaterState(index),DCInitialHeating[index],HeaterCmd[index].targettemperatue, readValue,DCTimeSliceAllocation[index], - HeaterPIDConfig[index].m_calculatedError,"End Initial Heating"); - } } if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0)) @@ -623,9 +544,6 @@ uint32_t HeatersControlLoop(uint32_t tick) if (first == true) { first = false; - HeatingTestSendResonse(0, false,GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w),GetHeaterState(HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1), - 0,0, HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w].m_calculatedError, HeaterPIDConfig[HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1].m_calculatedError,"First Control"); - } if (InitialHeating == false) { diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index f24e72979..e3c5a5c6f 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -202,10 +202,11 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) DispenserPreSegmentReady[DispenserId] = false; Control3WayValvesWithCallback ((Valves_t)DispenserId, MidTank_Dispenser, IDS_Valve_PresegmentReady); //direction: MidTank_Dispenser or Dispenser_Mixer - MotorStop(HW_Motor_Id,Hard_Stop); - if (JobTicket->segments[SegmentId]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->has_dispenserstepdivision) + MotorStop(HW_Motor_Id,Hard_Hiz); + + /*if (JobTicket->segments[SegmentId]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->has_dispenserstepdivision) MotorSetMicroStep(HW_Motor_Id,JobTicket->segments[SegmentId]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->dispenserstepdivision); - else + else*/ MotorSetMicroStep(HW_Motor_Id,MotorsCfg[HW_Motor_Id].microstep); } @@ -264,7 +265,6 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) //(Speed*uStep*PPR)/((2*PI*Dispenser_Radius) segmentfirst_speed = JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanolitterpersecond/ JobTicket->segments[CurrentSegment]->brushstops[JobBrushStopId]->dispensers[Dispenser_i]->nanoliterperpulse; - segmentfirst_speed/=MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep // double Dispenser_speed = (segmentfirst_speed * MotorsCfg[HW_Motor_Id].pulseperround)/(2*PI* MotorsCfg[HW_Motor_Id].pulleyradius); //DispenserControlConfig[Dispenser_i].m_SetParam = Dispenser_speed; // OriginalDispenserSpd_2PPS[Dispenser_i] = (int)Dispenser_speed; @@ -273,7 +273,6 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) DispenserSegmentReady[DispenserId] = false; Control3WayValvesWithCallback (DispenserId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer MotorSetSpeed(HW_Motor_Id, segmentfirst_speed); - HeatingTestSendResonse(0,false,0, Dispenser_Mixer,DispenserId, segmentfirst_speed,SegmentId,JobBrushStopId,"Dispenser !!!!!!!!!!!"); } } } diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 8bf43282d..5bf666383 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -297,7 +297,6 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) //read value is the dancer angle int i,index=MAX_THREAD_MOTORS_NUM; int DancerId; - static int pooler_counter = 0; int32_t TranslatedReadValue, avreageSampleValue = 0; //double tempcalcspeed = 0; uint32_t calculated_speed; @@ -396,30 +395,6 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) MotorSetSpeed(ThreadMotorIdToMotorId[index], calculated_speed); } } - if (index == FEEDER_MOTOR) - { - pooler_counter++; - if (pooler_counter>=1000) - { - //float error_integered = MotorControlConfig[index].m_calculatedError*1000; - /*{ - "HeaterGroupId": 0, - "Zone1Temp": 80, - "Zone2Temp": 2641, - "Heater1Active": false, - "Heater2Active": false, - "Heater1Percentage": 3, - "Heater2Percentage": 4000, - "InfoMessage": "Standard DC" -} void HeatingTestSendResonse(uint32_t status, bool last,bool heater1Active,bool heater2Active, int temperature1, int temperature2,int Heater1Percentage,int Heater2Percentage, char* Message) - -}*/ - //HeatingTestSendResonse(0, false,true,true, MotorDriverRequest[22].Speed,MotorDriverRequest[18].Speed,MotorDriverRequest[15].Speed,MotorDriverRequest[3].Speed, "MotorSpeed"); - - //HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/_speed,OriginalMotorSpd_2PPS[index]/*(int)error_integered*/,MotorControlConfig[index].m_calculatedError,ReadValue, "FeederSpeed"); - // pooler_counter = 0; - } - } return OK; } diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index bd8f57b12..fc327fd75 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -286,8 +286,9 @@ void JobAbortFunc(MessageContainer* requestContainer) AbortJobRequest* request = abort_job_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - EndState(CurrentJob, "Job Aborted by user"); + JobAbortedByUser = true; + EndState(CurrentJob, "Job Aborted by user"); //AbortJob(); AbortJobResponse response = ABORT_JOB_RESPONSE__INIT; responseContainer = createContainer(MESSAGE_TYPE__AbortJobResponse, JobToken, false, &response, &abort_job_response__pack, &abort_job_response__get_packed_size); -- cgit v1.3.1