diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
7 files changed, 59 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index 0b2b56c5b..685542722 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -39,11 +39,21 @@ char HomingToken[NUM_OF_MOTORS][36+1]={0}; /******************************************************************************** * Motor Homing ********************************************************************************/ +int32_t keepkvalright,keepkvalleft; + uint32_t MotorHomingRequestCallback(uint32_t deviceID, uint32_t ReadValue) { MessageContainer responseContainer; MotorHomingResponse response = MOTOR_HOMING_RESPONSE__INIT; + if(deviceID == HARDWARE_MOTOR_TYPE__MOTO_RLOADING) + { + MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, keepkvalright); + } + if(deviceID == HARDWARE_MOTOR_TYPE__MOTO_LLOADING) + { + MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, keepkvalleft); + } responseContainer = createContainer(MESSAGE_TYPE__MotorHomingResponse, HomingToken[deviceID], true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size); responseContainer.has_continuous = true; responseContainer.continuous = true; @@ -107,6 +117,16 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer) } if ( Motor_Id_to_LS_IdDown[MotorId] != MAX_GPI) { + if(MotorId == HARDWARE_MOTOR_TYPE__MOTO_RLOADING) + { + keepkvalright = MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].kvalrun; + MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, 70); + } + if(MotorId == HARDWARE_MOTOR_TYPE__MOTO_LLOADING) + { + keepkvalleft = MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].kvalrun; + MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, 70); + } MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed, Motor_Id_to_LS_IdUp[MotorId], MotorHomingRequestCallback,30000); return OK; } @@ -153,6 +173,7 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer) } } } + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__INVALID_PROCESS_ID; responseContainer.errormessage = "Job Active or incorrect motor ID"; responseContainer = createContainer(MESSAGE_TYPE__MotorHomingResponse, requestContainer->token, true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c index e2eb264a7..a1a0c96c1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c @@ -90,6 +90,7 @@ uint32_t MotorJoggingRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__MotorJoggingResponse, requestContainer->token, false, &response, &motor_jogging_response__pack, &motor_jogging_response__get_packed_size); if (status!= OK) { + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__INVALID_PROCESS_ID; responseContainer.errormessage = "JOb Active or incorrect parameters"; } @@ -191,6 +192,7 @@ uint32_t DispenserJoggingRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__DispenserJoggingResponse, requestContainer->token, false, &response, &dispenser_jogging_response__pack, &dispenser_jogging_response__get_packed_size); if (status!= OK) { + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__INVALID_PROCESS_ID; responseContainer.errormessage = "JOb Active or incorrect parameters"; } diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 6297299de..618d4569c 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -649,6 +649,7 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__UploadHardwareConfigurationResponse, requestContainer->token, true, &response, &upload_hardware_configuration_response__pack, &upload_hardware_configuration_response__get_packed_size); if (status!= OK) { + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__INVALID_PARAMETER; responseContainer.errormessage = "JOb Active or incorrect parameters"; } diff --git a/Software/Embedded_SW/Embedded/Modules/General/Safety.c b/Software/Embedded_SW/Embedded/Modules/General/Safety.c index 139763c75..9680e11d0 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/Safety.c +++ b/Software/Embedded_SW/Embedded/Modules/General/Safety.c @@ -47,6 +47,11 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) bool mAirFlowAlarmState = false; bool mAirFilterAlarmState = false; bool mWasteOverflowAlarmState = false; +#ifdef CONTROL_DEBUG + uint32_t tempp,tempq,delta; + uint32_t sys_ticks_start = msec_millisecondCounter,sys_ticks_end,max = 0,dev = 0; + tempp = HibernateRTCSSGet(); +#endif for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++) { if (isMotorConfigured(Disp_i + HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1)==true) @@ -194,6 +199,19 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) AlarmHandlingSetAlarm(EVENT_TYPE__WASTE_CONTAINER_OVERFLOW, false); WasteOverflowAlarmState = mWasteOverflowAlarmState; } +#ifdef CONTROL_DEBUG + tempq = HibernateRTCSSGet(); + if (tempq < tempp) + { + delta = (32768 - tempp) + tempq + 1; + } + else + delta = tempq - tempp; + if (delta>1000) + { + ReportWithPackageFilter(GeneralFilter,"------ Safety Delta ------------", __FILE__,delta,tempq, RpMessage,tempp, 0); + } +#endif return OK; } diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 9b628a160..ca4255a95 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -908,6 +908,7 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) } else { + ReportWithPackageFilter(HeatersFilter,"restoring read Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,HeaterSpikeRead[index], index); HeaterPreviousRead[index] = HeaterSpikeRead[index]; HeaterSpikeRead[index] = 0; } @@ -1088,7 +1089,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) ReportWithPackageFilter(HeatersFilter,"AC Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,readValue, index); if (readValue > HeaterCmd[index].targettemperatue) { - if (HeaterSpikeRead[index] == 0) + /*if (HeaterSpikeRead[index] == 0) { HeaterSpikeRead[index] = readValue; } @@ -1096,7 +1097,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) { HeaterPreviousRead[index] = HeaterSpikeRead[index]; HeaterSpikeRead[index] = 0; - } + }*/ DeActivateHeater(HEATER_TYPE__DryerSecondaryHeater); DeActivateHeater(HEATER_TYPE__DryerMainHeater); HeaterRecalculateSharedHeatersParams(HEATER_TYPE__DryerMainHeater,0); @@ -1302,6 +1303,7 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) } else { + ReportWithPackageFilter(HeatersFilter,"restoring read Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,HeaterSpikeRead[index], index); HeaterPreviousRead[index] = HeaterSpikeRead[index]; HeaterSpikeRead[index] = 0; } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index 57b596931..76a92bd89 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -44,6 +44,10 @@ #include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h> +#include "Drivers/I2C_Communication/Dispenser_Card/EEPROM/Dispenser_EEPROM.h" + + + extern float NumberOfRotationPerPassage; // how many rotations per spool passage //#include "graphics_adapter.h" @@ -563,6 +567,13 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) response.has_progress = true; } else + if((request->amount == 0x0D) && (request->delay == 0xEE)) //Dispenser EEprom + { + test_disp_eeprom(0x01,0xA0); + response.progress = OK; + response.has_progress = true; + } + else if((request->amount == 0xCF) && (request->delay == 0xCF)) //Create File System on the Drive { #ifdef WATCHDOG diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 91f655171..26d7ea854 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -458,8 +458,8 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) //extern int MotorSamplePointer[MAX_THREAD_MOTORS_NUM]; //read value is the dancer angle - int i,index=MAX_THREAD_MOTORS_NUM,len; - //int len; + int i,index=MAX_THREAD_MOTORS_NUM; + int len; int DancerId; int32_t TranslatedReadValue, avreageSampleValue = 0;//,avreageMotorSampleValue = 0; //double tempcalcspeed = 0; |
