aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-08-15 16:07:19 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-08-15 16:07:19 +0300
commit22f532c29fdcb2c8610dfd38ab461392f1d43648 (patch)
tree37820a03df306e59c09dc64c67ef6a03d6ff22f4 /Software/Embedded_SW/Embedded/Modules
parent723e2b8854db8c409268f31ab76f5252211ec494 (diff)
downloadTango-22f532c29fdcb2c8610dfd38ab461392f1d43648.tar.gz
Tango-22f532c29fdcb2c8610dfd38ab461392f1d43648.zip
fixes in waste/ink
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c15
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c22
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste.h8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c55
9 files changed, 49 insertions, 62 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 6f80fdffb..6688fb42d 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -260,13 +260,14 @@ AlarmHandlingItemStruc HardCodedAlarmItem[MAX_SYSTEM_ALARMS]={
{eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP1, 0,40,true,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MACHINE_INTERNAL_OVERTEMPERATURE },
{eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP2, 1,40,true,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MACHINE_INTERNAL_OVERTEMPERATURE },
-
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor1_EC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_1_OPEN},
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor2_PPC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_2_OPEN},
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor3_DH_DRYER ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_3_OPEN},
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTANKS ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN},
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,RearDoor ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__REAR_COVER_OPEN },
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,CartridgesDoor,1,false,true,DEBUG_LOG_CATEGORY__Warning,0xFF,5,EVENT_TYPE__CARTRIDGES_COVER_OPEN},
+/*
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor1_EC ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_1_OPEN},
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor2_PPC ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_2_OPEN},
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor3_DH_DRYER,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_3_OPEN},
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTANKS,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN},
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,RearDoor ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__REAR_COVER_OPEN },
+*/
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,CartridgesDoor ,1,true,true,DEBUG_LOG_CATEGORY__Warning,0xFF,5,EVENT_TYPE__CARTRIDGES_COVER_OPEN},
{eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,MIXER_PT100, HARDWARE_PID_CONTROL_TYPE__MixerHeater ,9,false,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MIXER_UNDERTEMPERATURE_A},
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index fa94614fd..cdb8950e4 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -536,7 +536,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
{
Speed_Data = Calculate_Speed_Sensor_Velocity();
Read_Buttons_Reg();
- Ink_Cart_Led();
+ //Ink_Cart_Led();
for (Sensor_i = 0;Sensor_i < MAX_TEMPERATURE_SENSOR_ID;Sensor_i++)
{
MillisecUpdateTemperatures (Sensor_i,TemperatureSensorRead(Sensor_i));
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index a88f67d5e..07214d240 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -158,7 +158,7 @@ uint32_t ControlActivityLed( uint32_t Parameter1)
{
static bool flag = false;
static uint8_t counter;
- const uint8_t Blink_Freq = 3;//odd number
+ const uint8_t Blink_Freq = 7;//odd number
if (flag==true)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.h b/Software/Embedded_SW/Embedded/Modules/Control/control.h
index ca76ec8e1..450646a68 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.h
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.h
@@ -47,7 +47,6 @@ int SafeRemoveHighControlCallback(uint32_t deviceId , ControlCBFunction
uint32_t TemplateDataReadCBFunction (uint32_t deviceId, uint32_t Parameter1);
uint32_t GetControlDevice_i(void);
uint32_t GetControlLowDevice_i(void);
-ControlCBFunction GetControlCallbackFuncPtr(uint32_t ControlId);
ControlCBFunction GetControlCallbackFuncPtr(uint32_t ControlId);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 8e185750f..4789db31f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -272,7 +272,7 @@ void HeatersControlStart(void)
ReportWithPackageFilter(HeatersFilter,"HeatersControlStart ", __FILE__,__LINE__,0, RpMessage, 0, 0);
HeatersRestart = true;
HeatersStartControlTimer();
- for (i = 0; i< MAX_INTERNAL_ALARMS;i++)
+ for (i = 0; i< (MAX_INTERNAL_ALARMS-1);i++)
{
if (ControlIdtoInternalId [i] == 0xFF)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index d18833ca6..e307eb3c5 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -110,6 +110,10 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
{
PowerOffInit();
}
+ else if(request->amount == 0xCC)
+ {
+ ResponseDemo(request->delay);
+ }
else
{
response.has_progress = true;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 0ac23baf5..0ed0f5318 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -90,6 +90,8 @@ uint32_t InternalWinderConfigMessage(HardwareWinder* request)
return status;
}
+char ScrewStr[150];
+
uint32_t InternalWindingConfigMessage(JobSpool* request)
{
uint32_t status = PASSED;
@@ -100,6 +102,9 @@ uint32_t InternalWindingConfigMessage(JobSpool* request)
InternalWinderCfg.SpoolBottomBackingRate = request->bottombackingrate;
InternalWinderCfg.NumberOfRotationPerPassage = 3.1415926*2;//request->rotationsperpassage;
InternalWinderCfg.diameter = request->diameter;
+ usnprintf(ScrewStr, 150, "WindingConfig start,offset,head,tail {, %d, %d, %d, %d, %d}",InternalWinderCfg.startoffsetpulses,(int)InternalWinderCfg.segmentoffsetpulses,
+ (int)InternalWinderCfg.spoolbackingrate,(int)InternalWinderCfg.SpoolBottomBackingRate);
+ Report(ScrewStr,__FILE__,__LINE__,(int)InternalWinderCfg.diameter,RpWarning,(int)(InternalWinderCfg.NumberOfRotationPerPassage*1000), 0);
return status;
}
@@ -257,7 +262,7 @@ InternalWinderCfg.segmentoffsetpulses
numOfSteps = InternalWinderCfg.startoffsetpulses*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep;
*/
-char ScrewStr[150];
+
//char TempScrewStr[100];
double WinderReferenceSpeed=0;
double TotalWinderSpeed=0;
@@ -267,6 +272,8 @@ int flipflop = 0;
uint32_t motspeed;
float speedf;
int WinderCalculation = 0;
+float WinderRunAverage = 0.0,WinderRunSum = 0.0;
+int WinderRunSamples = 0;
uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
{
//uint32_t Steps;
@@ -274,6 +281,8 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
double screw_horizontal_speed = 0;
double RotationsPerSecond;
double Averagewinderspeed = 0;
+ int WinderRun;
+
// {
// TotalWinderSpeed-=WinderMotorSpeed[WinderMotorSpeedCounter];
@@ -312,14 +321,15 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
//double calcsteps = (ScrewRunningTime/SYS_CLK_FREQ)*ScrewSpeed;
#ifdef READ_SCREW_ENCODER
WinderRun = abs(ScrewLocationRun[1] - ScrewLocationRun[0]);
- if (WinderRun < 50000)
+ if ((WinderRun < 50000)&&(Add100 == false))
{
WinderRunSum+=WinderRun;
WinderRunSamples++;
WinderRunAverage = WinderRunSum/WinderRunSamples;
- if ((fabs(WinderRun-WinderRunAverage)>=50)||(WinderRunSamples%50 == 0))
+ if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0))
{
- usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d }",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples);
+ 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);
}
}
@@ -343,7 +353,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
{
ScrewNumberOfSteps--;
WindingConeLocation--;
- // ReportWithPackageFilter(ThreadFilter,"Head Backing",__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewNumberOfSteps, 0);
+ ReportWithPackageFilter(ThreadFilter,"Head Backing",__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewNumberOfSteps, 0);
}
}
else //next time going back
@@ -351,7 +361,7 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag)
if ((CalculationDirectionChangeCounter/2)%InternalWinderCfg.SpoolBottomBackingRate == 0)
{
ScrewNumberOfSteps++;
- // Report("Bottom Backing ",__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewNumberOfSteps, 0);
+ Report("Bottom Backing ",__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewNumberOfSteps, 0);
}
}
/* if (WinderMotorSpeedRollOver)
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h
index 5242aa3b1..39894ce2d 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h
@@ -27,10 +27,14 @@ typedef unsigned char U8;
typedef enum
{
- CYAN = 1,
+ BLACK,
+ CYAN,
MAGENTA,
YELLOW,
- BLACK
+ TRANSPARENT,
+ SP_1,
+ CLEANER,
+ LUBRICANT
} CMYK_color;
typedef enum
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index c7054e3bb..5dedfda85 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -188,44 +188,10 @@ bool IFS_TimeOutAlarm()
bool MidTankValvesAction(bool action) //Cartridge_MidTank_ON of Cartridge_MidTank_OFF
{
bool ret = false;
- switch (WHS_info.Ink.cart_color) //todo enter the correct color from RFID
- {
- case CYAN :
- Valve_Set( VALVE_2W_CART_MID_1, action); //Cartridge_MidTank_ON Cartridge_MidTank_OFF
- Valve_Set( VALVE_2W_MID_AIR_1 , action);
- break;
- case MAGENTA :
- Valve_Set( VALVE_2W_CART_MID_5, action);
- Valve_Set( VALVE_2W_MID_AIR_5 , action);
- break;
- case YELLOW :
- Valve_Set( VALVE_2W_CART_MID_2, action);
- Valve_Set( VALVE_2W_MID_AIR_2 , action);
- break;
- case BLACK :
- Valve_Set( VALVE_2W_CART_MID_6, action);
- Valve_Set( VALVE_2W_MID_AIR_6 , action);
- break;
- case 5 :
- Valve_Set( VALVE_2W_CART_MID_3, action);
- Valve_Set( VALVE_2W_MID_AIR_3 , action);
- break;
- case 6 :
- Valve_Set( VALVE_2W_CART_MID_7, action);
- Valve_Set( VALVE_2W_MID_AIR_7 , action);
- break;
- case 7 :
- Valve_Set( VALVE_2W_CART_MID_4, action);
- Valve_Set( VALVE_2W_MID_AIR_4 , action);
- break;
- case 8 :
- Valve_Set( VALVE_2W_CART_MID_8, action);
- Valve_Set( VALVE_2W_MID_AIR_8 , action);
- break;
- default: //wrong color
- break;
- }
+ Valve_Set(IDS_Id_to_AirValve[WHS_info.Ink.cart_color], action ); //Atm_MidTank_OFF/ON
+ Valve_Set(IDS_Id_to_CartrideValve[WHS_info.Ink.cart_color], action ); //Atm_MidTank_OFF/ON
+
ret = true;
return ret;
}
@@ -279,7 +245,7 @@ uint32_t ReadCartridgeData(cartridge_name cart_name)
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
my_free(responseContainer.data.data);
- SendChars((char*)container_buffer, container_size);
+ //SendChars((char*)container_buffer, container_size);
return OK;
}
@@ -870,8 +836,8 @@ bool WasteTankCBFunction()
// is power down in process?? //todo
if ( !PowerOffInProcessGetState() ) // not in power down proccess
{
- //Pannel_Leds(CART_1, MODE_ON);
- cart1.color = BLINK;
+ Pannel_Leds(CART_1, MODE_ON);
+ //cart1.color = BLINK;
//Pannel_Leds(CART_2, MODE_ON);
// cart2.color = fastBILNK;
RdCartridgeParam(INK_cartridge); //todo
@@ -1068,8 +1034,11 @@ bool WasteTankCBFunction()
Disable_MidTank_Pressure_Reading(WHS_info.Ink.cart_color);
WHS_info.Cartridge_Ink_TimeOut_device_Id = RemoveControlCallback(WHS_info.Cartridge_Ink_TimeOut_device_Id, WasteTankCBFunction );
REPORT_MSG(WHS_full," ------------ Change cartridge status to Fail ----------------- ");
- REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling fail ----------------- ");
+
MidTankValvesAction(Cartridge_MidTank_OFF);
+ cart1.color = fastBILNK;
+ REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling fail ----------------- ");
+ REPORT_MSG(WHS_full," ------------ call customer support ----------------- ");
IFS_TimeOutAlarm();
break;
@@ -1149,7 +1118,7 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction()
if (WHS_info.Ink.time_out) WHS_info.Ink.time_out += 1;
Read_MidTank_Pressure_Sensor(WHS_info.Ink.cart_color);
- if (Get_MidTank_Pressure_Sensor(WHS_info.Ink.time_out) >= WHS_info.MidTank_capacity + CARTRIDGE_CAPATICY)
+ if (Get_MidTank_Pressure_Sensor(WHS_info.Ink.cart_color) >= WHS_info.MidTank_capacity + CARTRIDGE_CAPATICY)
{
WHS_info.Ink.time_out = 0;
WHS_info.event = IFS_MidTankFull;
@@ -1168,7 +1137,7 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction()
MidTankValvesAction(Cartridge_MidTank_OFF);
}
- if (WHS_info.Ink.time_out == (CARTRIDGE_INK_TIMEOUT+1))
+ if (WHS_info.Ink.time_out == (CARTRIDGE_INK_TIMEOUT+1)) //need to open the valve for second chance
{
MidTankValvesAction(Cartridge_MidTank_ON);
}