aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-01 19:28:18 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-01 19:28:18 +0200
commit5420708eee0e2a15bfb96338ac2026d108b14a3a (patch)
tree6498fc10c928667b60ab501f012acb02f2e45bcb /Software/Embedded_SW/Embedded/Modules
parent68ec47fb04c19139f8e39343689201a9f089ad8c (diff)
parentbeec9e4961b89d0146ca6cf8d4c42b5b7a94fed0 (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c15
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_Blowers.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c9
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c30
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c13
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);
+ }
}
}