diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-12-01 19:28:18 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-12-01 19:28:18 +0200 |
| commit | 5420708eee0e2a15bfb96338ac2026d108b14a3a (patch) | |
| tree | 6498fc10c928667b60ab501f012acb02f2e45bcb /Software/Embedded_SW/Embedded/Modules | |
| parent | 68ec47fb04c19139f8e39343689201a9f089ad8c (diff) | |
| parent | beec9e4961b89d0146ca6cf8d4c42b5b7a94fed0 (diff) | |
| download | Tango-5420708eee0e2a15bfb96338ac2026d108b14a3a.tar.gz Tango-5420708eee0e2a15bfb96338ac2026d108b14a3a.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
9 files changed, 67 insertions, 23 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 11a48b587..9f7994629 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -135,7 +135,7 @@ DoubleArray DiagnosticsDispenserPressure[MAX_SYSTEM_DISPENSERS]; HeaterState **heatersstates; HeaterState HeaterInfo[HEATER_TYPE_MAX_HEATERS]; -#define NUM_OF_INTERFACE_IOS 26 +#define NUM_OF_INTERFACE_IOS 27 DigitalInterfaceState **digitalinterfacestates; DigitalInterfaceState DigitalOutputState[NUM_OF_INTERFACE_IOS]; /*double dispenser1motorfrequency[DIAGNOSTICS_LIMIT+1]; @@ -320,15 +320,12 @@ uint32_t DiagnosticsLoadDigitalValues(void) DigitalOutputState[index].interfaceio = INTERFACE_IOS__GPO_SPARE_SSR13_CTRL; DigitalOutputState[index++].value = ReadHeadMagnetBit(); - // indication of movement cause the switch in the tech board to change, also doesn't go through the task - /*if (Head_Type == HEAD_TYPE_SYLKO) //rapid/pp machines - { - DigitalOutputState[index].interfaceio = INTERFACE_IOS__GPO_LED3; - DigitalOutputState[index++].value = HeadCard_Actuators_Status(ACTIN); - DigitalOutputState[index].interfaceio = INTERFACE_IOS__GPO_LED4; - DigitalOutputState[index++].value = HeadCard_Actuators_Status(ACTOT); - }*/ + DigitalOutputState[index].interfaceio = INTERFACE_IOS__LS_DH_LID_OPEN; + if(Head_Type == HEAD_TYPE_ARC) + DigitalOutputState[index++].value = FPGA_Read_limit_Switches(I2C_HEADCARD_COVER_LS_ARC); + else + DigitalOutputState[index++].value = FPGA_Read_limit_Switches(GPI_LS_DH_LID_OPEN); #ifdef USE_VOC_BUZZER_ALARM if (WHS_Type == WHS_TYPE_NEW) diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index 086525bc1..7e1424b8a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -51,7 +51,7 @@ void HomingStopReporting(void) int i; for (i = 0; i< NUM_OF_MOTORS;i++) { - HomingToken[i][0] == 0; + HomingToken[i][0] = 0; } LOG_ERROR(0,"HomingStopReporting"); } @@ -624,7 +624,7 @@ uint32_t Diagnostics_Dryer_Loading_Callback(uint32_t MotorId, uint32_t ReadValue if ((abs(angle)>14000 )&&(ReadValue == NOTBUSY)) // OK - take another round { D_DrierPrevLocation = temp; - //ReportWithPackageFilter(DiagnosticsFilter,"Diagnostics_Dryer_Loading_Callback",__FILE__,__LINE__,LoadStages,RpMessage,NumberOfDrierLoaderCycles,0); + ReportWithPackageFilter(DiagnosticsFilter,"Diagnostics_Dryer_Loading_Callback",__FILE__,ReadValue,temp,RpMessage,angle,0); //ReportWithPackageFilter(DiagnosticsFilter,"Diagnostics_Dryer_Loading_Callback details",__FILE__,(int)(TotalLoadedLen),numberOfCycles,RpMessage,CallbackCounter,0); if (D_numberOfCycles<LoadArmRounds) { diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 0726225df..20efd6e8e 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -446,10 +446,10 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) LOG_ERROR (0, "Wrong Data Allocation"); return ERROR; } - if (InitFailures > REPEATED_INIT_FAILURE_LIMIT) + /*if (InitFailures > REPEATED_INIT_FAILURE_LIMIT) { Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0); - AlarmHandlingSetAlarm (EVENT_TYPE__POWER_UP_BIT_FAILURE,ON); + //AlarmHandlingSetAlarm (EVENT_TYPE__POWER_UP_BIT_FAILURE,ON); //return ERROR; } else @@ -458,7 +458,7 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) { Report("HWConfigurationInit repeated failure going up",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0); } - } + }*/ HardwareConfiguration *request = UploadRequest->hardwareconfiguration; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c index d98af2097..63118221b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c @@ -510,8 +510,10 @@ uint32_t HeadBlowersInitCallbak(uint32_t IfIndex, uint32_t ReadValue) uint32_t HeadBlowersV0Init(void) { if (Head_Type != HEAD_TYPE_ARC) + { + Waste_Check_Flows(); return OK; - + } if (HeadBlowersInitControlId != 0xFF) RemoveControlCallback(HeadBlowersInitControlId,HeadBlowersInitCallbak); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 2f72c9cb0..f396d78d9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1006,6 +1006,7 @@ uint32_t HeaterPrepareFailureCheckTemperatures[HEATER_TYPE_MAX_HEATERS] = {0,0,0 void HeaterPrepareFailureCheck(void) { int i; + int band = 200; if (GetHeatersPrepareWaiting() == false) { HeaterPrepareFailureCheckCounter = 0; @@ -1017,7 +1018,11 @@ void HeaterPrepareFailureCheck(void) { if(HeaterReady[i] == false) { - if (abs (HeaterPrepareFailureCheckTemperatures[i] - HeaterPreviousRead[i])<200) // no temperature move in the last 5 minutes + if ((i == HEATER_TYPE__DryerAirHeater)||(i == HEATER_TYPE__HeadCoverHeater1)||(i == HEATER_TYPE__HeadCoverHeater2)) + band = 50; + else + band = 200; + if (abs (HeaterPrepareFailureCheckTemperatures[i] - HeaterPreviousRead[i])<band) // no temperature move in the last 5 minutes { ReportWithPackageFilter(HeatersFilter,"HeaterPrepareFailureCheck",__FILE__,i,HeaterPrepareFailureCheckTemperatures[i],RpWarning,HeaterPreviousRead[i], 0); JobEndReason = JOB_TEMPERATURE_ALARM; diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index 95f6420c1..d567f8ad9 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -78,6 +78,7 @@ int lInterSegmentLength = 0; int InterSegmentStepsLimit = 0,InterSegmentStepsCount = 0; bool PreSegmentWCFStarted = false; bool PreSegmentPrepareStarted = false; + char* LiquidTypes[10] = {"Cy","Ma","Ye","Bl","TI","Lu","Cl","LC","LM","LY"}; uint32_t InterSegmentStartSprayCleaner = 0; uint32_t InterSegmentStartRocking = 0; @@ -984,7 +985,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl //******************************************************************************************************************** uint32_t IDS_PreSegmentPrepare_Callback(uint32_t DispenserId, uint32_t ReadValue) { - bool pressureReady = false; + bool PSpressureReady = false; int i; int NumofReadyDispensers = 0; TimerMotors_t HW_Motor_Id; @@ -1035,9 +1036,9 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl ReportWithPackageFilter(IDSFilter,"IDS_PreSegmentPrepare_Callback",__FILE__,DispenserBuildTimeCounter,InterSegmentStepsCount,RpWarning,(int)NumOfActiveDispensers,0); if (NumofReadyDispensers>=NumOfActiveDispensers) - pressureReady = true; + PSpressureReady = true; - if ((DispenserBuildTimeCounter >= DispenserPrepareTimeout)||(pressureReady == true)) + if ((DispenserBuildTimeCounter >= DispenserPrepareTimeout)||(PSpressureReady == true)) { ReportWithPackageFilter(IDSFilter,"IDS_PreSegmentPrepare_Callback SafeRemoveControlCallback",__FILE__,DispenserPrepareControlId,InterSegmentStepsCount,RpWarning,(int)NumOfActiveDispensers,0); SafeRemoveControlCallback(DispenserPrepareControlId, IDS_Prepare_Callback ); @@ -1919,6 +1920,8 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId) FreeBrushStopFileData(FileBrushStop); FileBrushStop = NULL; FirstBrushStop = NULL; + pressureReady = false; + endOfPrepareWCF = false; if (DispenserPrepareControlId != 0xFF) { RemoveControlCallback(DispenserPrepareControlId, IDS_Prepare_Callback ); diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index 284a43e41..3fef1f48b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -55,6 +55,7 @@ extern HeadBoardTempSensConfigStruc HeadTempSensConfig[MAX_HEAD_CARD_TEMP_SENS_ID]; extern float NumberOfRotationPerPassage; // how many rotations per spool passage extern void HeaterSafetyTestSetLimits(int limit); +extern uint32_t InitSequenceWHSAirFlowCalibration(void); //#include "graphics_adapter.h" extern uint8_t Input_Voltage; @@ -1327,6 +1328,35 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) response.has_progress = true; } #endif + else + if(request->amount == 0xD11) + { + REPORT_MSG(request->delay, "stop/start blower control and blower"); + if (request->delay == 0) + { + WHS_enable_control_loop(false); + Turn_the_Blower_On();//Turn on with the Default_Voltage + Control_Voltage_To_Blower(1); //stop the blower + } + else + { + Turn_the_Blower_On();//Turn on with the Default_Voltage + Control_Voltage_To_Blower(2400); //stop the blower + WHS_enable_control_loop(true); + } + + response.progress = request->delay; + response.has_progress = true; + } + else + if(request->amount == 0xD12) + { + REPORT_MSG(request->delay, "stop/start blower control and blower"); + InitSequenceWHSAirFlowCalibration(); + + response.progress = request->delay; + response.has_progress = true; + } else if((request->amount == 0xDF) && (request->delay == 0xDF)) //Power off { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index 8a3b20e57..f2ca4e8d7 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -1132,10 +1132,10 @@ uint32_t ThreadLoadButton(THREAD_LOAD_STAGES_ENUM ReadValue) SecondTry = false; Report("Calling State machine 2nd try",__FILE__,LoadStages,LoadStatus,RpMessage,SecondTry,0); load.color = BLINK; + LoadStatus = OK; if (LoadStages == THREAD_LOAD_LIFT_DANCERS) { LoadStages++; - LoadStatus = OK; } else ThreadLoadStateMachine(LoadStages+1); diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c index 665e8f83c..b8f7024fb 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c @@ -383,9 +383,16 @@ void Waste_StateMachine_OneSecond_Call(void) //update ppc for (cart = WasteCartridge_middle; cart <= WasteCartridge_lower; cart++) { - if ((insertUpdate[cart]) && (WasteEmptyingToken[0])) { - CartridgeStateUpdate(cart, cart-1, CARTRIDGE_STATE__Inserted, 0); - insertUpdate[cart] = 0; + if (WasteEmptyingToken[0]) { + if (insertUpdate[cart]) { + CartridgeStateUpdate(cart, cart-1, CARTRIDGE_STATE__Inserted, 0); + insertUpdate[cart] = 0; + } + if (Is_Cartridge_Present(cart+1)) { + CartridgeStateUpdate(cart, cart-1, CARTRIDGE_STATE__Present, 0); + } else { + CartridgeStateUpdate(cart, cart-1, CARTRIDGE_STATE__Absent, 0); + } } } |
