aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-05-13 13:27:01 +0300
committerAvi Levkovich <avi@twine-s.com>2020-05-13 13:27:01 +0300
commit15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d (patch)
tree4c0b49773706b85282e6f6b1ec3d2e949d3ca22e /Software/Embedded_SW/Embedded/Modules
parent6a49e917c587dcbbfe8175b8dde73840b7d105fc (diff)
parentcd750d626d3780990797faf09446033bbaa4311c (diff)
downloadTango-15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d.tar.gz
Tango-15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d.zip
commit merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c28
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c17
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c56
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c44
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c16
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c2
11 files changed, 118 insertions, 67 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 72da194e0..a8e0c3138 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -472,7 +472,7 @@ uint32_t AlarmHandlingLoadFile(void)
maxAlarms = AlarmParametersTable->n_alarmitem;
p_size = AlarmParametersTable->n_alarmitem*sizeof(AlarmHandlingItemStruc);
ReportWithPackageFilter(AlarmFilter,"Writing alarm size", __FILE__,pAlarmItemSize,AlarmParametersTable->n_alarmitem, RpMessage, p_size, 0);
- EraseFlashSection(pAlarmItemSize,p_size+4);
+ EraseFlashSection(ALARM_SECTION_FLASH);
ReadAppAndProgram(pAlarmItemSize, 4,&p_size);
AlarmPtr = (int)pAlarmItemSize+4;
p_size = 0;
@@ -810,7 +810,16 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
// DispenserInUse[Dispenser_i] = false;
//}
JobEndReasonEnum status = JOB_OK;
+ Task_Handle TaskHandle1 = Task_self();
+ int pri = Task_getPri(TaskHandle1);
+
+ ACTIVITY_GREEN_LED_ON;
+ Task_setPri(TaskHandle1, 3);
+ Report("Task_setPri", __FILE__, pri, 3, RpWarning, (int)TaskHandle1, 0);
IDS_MapDispenserUsedinJob(CurrentJob);
+ Task_setPri(TaskHandle1, pri);
+ Report("Task_setPri", __FILE__, __LINE__, pri, RpWarning, (int)Task_self(), 0);
+ ACTIVITY_GREEN_LED_OFF;
if (n_segments == 0)
return JOB_OK;
if (AlarmItem == NULL)
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 1e597e453..e0d1e38de 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -773,6 +773,8 @@ uint32_t MillisecLowLoop(uint32_t tick)
midtankDisplay = 1-midtankDisplay;
/*if (WHS_Type == WHS_TYPE_UNKNOWN)
Gas_PPM_Info = Calculate_Gas_Power_Consumption();*/
+ if (WHS_Type == WHS_TYPE_NEW)
+ ReportWithPackageFilter(ThreadFilter,"waste tank calculate level",__FILE__,__LINE__,(int)(GetWHSWasteTankLevelMiliLiter()*1000),RpWarning,(int) msec_millisecondCounter,0);
//Trigger_WHS_MAX11614_Read_allADC();
#ifdef CONTROL_DEBUG
ResetControlTime();
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index dee07827f..7758ebd8b 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -115,6 +115,7 @@ double HeadFlowMeter;
double tempFlow = 0.0;
double DrierFlowMeter;
double AcVoltage;
+double WasteLevel = 0.0;
double HeatersCurrent[NUM_OF_CURRENT_HEATERS][1];
double HeadCurrent[MAX_FLAT_HEAD_HEATERS][1];
double VOC_Sensor;
@@ -668,6 +669,8 @@ void DiagnosticOneMinuteCollection(void)
VOC_Sensor = (double) getGasReading();
DiagnosticsMonitor.n_filterdeltapressure = 1;
DiagnosticsMonitor.filterdeltapressure = &VOC_Sensor;
+ DiagnosticsMonitor.n_gassensor = 1;
+ DiagnosticsMonitor.gassensor = &VOC_Sensor;
DiagnosticsMonitor.n_blowervoltage = 1;
diagvoltage = getBlowerState();
@@ -680,22 +683,12 @@ void DiagnosticOneMinuteCollection(void)
HeadFlowMeter = GetWHSAirFlow(HEAD_FLOW_METER);
if (fabs(tempFlow - HeadFlowMeter)>0.05)
{
- Report("Head flow change 1s",__FILE__,(int)diagvoltage,(int)tempFlow,RpWarning,(int)HeadFlowMeter,0);
+ Report("Head flow change 1m",__FILE__,(int)diagvoltage,(int)(tempFlow*1000),RpWarning,(int)(HeadFlowMeter*1000),0);
tempFlow = HeadFlowMeter;
}
DiagnosticsMonitor.n_headairflow = 1;
DiagnosticsMonitor.headairflow = &HeadFlowMeter;
-/* if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
- {
- AcVoltage = ReadVAC();
- DiagnosticsMonitor.whsblower2voltage = &AcVoltage;
- DiagnosticsMonitor.n_whsblower2voltage = 1;
- }
-*/
-
-
-
}
void DiaglosticChangeBlowerData()
{
@@ -713,6 +706,8 @@ void DiagnosticOneSecCollection(void)
AcVoltage = ReadVAC();
DiagnosticsMonitor.whsblower2voltage = &AcVoltage;
DiagnosticsMonitor.n_whsblower2voltage = 1;
+ DiagnosticsMonitor.incomingvoltage = &AcVoltage;
+ DiagnosticsMonitor.n_incomingvoltage = 1;
}
if (WHS_Type == WHS_TYPE_NEW) //rapid/pp machines
{
@@ -725,10 +720,15 @@ void DiagnosticOneSecCollection(void)
DiagnosticsMonitor.headairflow = &HeadFlowMeter;
if (fabs(tempFlow - HeadFlowMeter)>0.25)
{
- Report("Head flow change 1m",__FILE__,(int)diagvoltage,(int)tempFlow,RpWarning,(int)HeadFlowMeter,0);
+ Report("Head flow change 1s",__FILE__,(int)diagvoltage,(int)(tempFlow*1000),RpWarning,(int)(HeadFlowMeter*1000),0);
tempFlow = HeadFlowMeter;
}
- }
+ WasteLevel = GetWHSWasteTankLevelMiliLiter();
+ DiagnosticsMonitor.n_chillertemperature = 1;
+ DiagnosticsMonitor.chillertemperature = &WasteLevel;
+ DiagnosticsMonitor.n_wastelevel = 1;
+ DiagnosticsMonitor.wastelevel = &WasteLevel;
+ }
HeatersCurrent[HEATER_DRYER_CURRENT_1][0] = Get_Heaters_Current(HEATER_DRYER_CURRENT_1);
HeatersCurrent[HEATER_DRYER_CURRENT_2][0] = Get_Heaters_Current(HEATER_DRYER_CURRENT_2);
DiagnosticsMonitor.n_drierzone1heatercurrent = 1;
@@ -1071,6 +1071,8 @@ void SendDiagnostics(void)
VOC_Sensor = (double) getGasReading();
DiagnosticsMonitor.n_filterdeltapressure = 1;
DiagnosticsMonitor.filterdeltapressure = &VOC_Sensor;
+ DiagnosticsMonitor.n_gassensor = 1;
+ DiagnosticsMonitor.gassensor = &VOC_Sensor;
response.monitors = &DiagnosticsMonitor;
//response.digitalpins = DigitalPinArray;
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index b86f602af..e2ee53645 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -116,7 +116,7 @@ uint32_t HWConfigurationInit(void)
buffer = HWConfigurationLoadFromFile(&Bytes); //load hardware config
if (buffer)
{
- EraseFlashSection(GENHWCFG_MAP_IN_FLASH,Bytes+4);
+ EraseFlashSection(GENHWCFG_SECTION_FLASH);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH+4, Bytes, buffer);
UploadRequest = upload_hardware_configuration_request__unpack(NULL, Bytes, buffer);
@@ -263,11 +263,11 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
size_t response_size = 0;
if (response_buffer)
{
- response_size = configuration_parameters__pack(EmbeddedParameters, response_buffer);
+ /*response_size = configuration_parameters__pack(EmbeddedParameters, response_buffer);
//FileWrite(response_buffer,response_size,EmbeddedParametersPath);
- EraseFlashSection(EMBEDDED_PARAMETERS_MAP_IN_FLASH,response_size+4);
+ EraseFlashSection(EMBEDDED_PARAMETERS_SECTION_FLASH);
ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH, 4,&response_size);
- ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4, response_size, response_buffer);
+ ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4, response_size, response_buffer);*/
my_free(response_buffer);
}
}
@@ -632,8 +632,8 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer)
MessageContainer responseContainer;
UploadHardwareConfigurationResponse response = UPLOAD_HARDWARE_CONFIGURATION_RESPONSE__INIT;
- EraseFlashSection(GENHWCFG_MAP_IN_FLASH,requestContainer->data.len+4);
DataLen = requestContainer->data.len;
+ EraseFlashSection(GENHWCFG_SECTION_FLASH);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, 4,&DataLen);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH+4, DataLen, requestContainer->data.data);
@@ -720,7 +720,7 @@ uint32_t LoadConfigurationParamsFromFile(bool Initialize)
//configuration_parameters__free_unpacked(Params,NULL);
FlashInitResults[1] = true;
Report("Parameters Initialized from file", __FILE__,__LINE__,Bytes, RpMessage, EMBEDDED_PARAMETERS_MAP_IN_FLASH, 0);
- EraseFlashSection(EMBEDDED_PARAMETERS_MAP_IN_FLASH,Bytes+4);
+ EraseFlashSection(EMBEDDED_PARAMETERS_SECTION_FLASH);
ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4, Bytes, buffer);
if (Initialize)
@@ -735,6 +735,7 @@ void HWConfigurationLoadFile(void)
buffer = HWConfigurationLoadFromFile(&Bytes); //load hardware config
if (buffer)
{
+ EraseFlashSection(GENHWCFG_SECTION_FLASH);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH+4, Bytes, buffer);
free (buffer);
@@ -765,7 +766,8 @@ void FlashInitAndLoad(void)
buffer = HWConfigurationLoadFromFile(&Bytes); //load hardware config
if (buffer)
{
- ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, 4,&Bytes);
+ EraseFlashSection(GENHWCFG_SECTION_FLASH);
+ ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH+4, Bytes, buffer);
free (buffer);
FlashInitResults[0] = true;
@@ -779,6 +781,7 @@ void FlashInitAndLoad(void)
{
Report("Alarm Initialized from file", __FILE__,__LINE__,Bytes, RpMessage, ALARM_MAP_IN_FLASH, 0);
}
+ EraseFlashSection(EMBEDDED_PARAMETERS_SECTION_FLASH);
Fresult = FileRead(EmbeddedParametersPath, &Bytes, &buffer);
if (Fresult == FR_OK)
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 6d04f2f59..ab4c6daac 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -120,7 +120,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
{
Bytes = sizeof(ProcessParameters);
FileWrite(ProcessParams,Bytes,ProcessParamsConfigPath,BIOS_WAIT_FOREVER);
- EraseFlashSection(PROCESS_PARAMETERS_MAP_IN_FLASH,Bytes+4);
+ EraseFlashSection(EMBEDDED_PARAMETERS_SECTION_FLASH);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH+4, Bytes, ProcessParams);
REPORT_MSG(Bytes,"Bytes write to flash");
@@ -358,7 +358,7 @@ uint32_t LoadProcessParamsFromFile(void)
if ((ProcessParams->dryerzone1temp > 0.1)&&(ProcessParams->headzone2temp > 0.1)&&(ProcessParams->headzone3temp > 0.1)&&(ProcessParams->headzone4temp > 0.1))//NOT turning off heaters
{
Bytes = sizeof(ProcessParameters);
- EraseFlashSection(PROCESS_PARAMETERS_MAP_IN_FLASH,Bytes+4);
+ EraseFlashSection(EMBEDDED_PARAMETERS_SECTION_FLASH);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH+4, Bytes, ProcessParams);
REPORT_MSG(Bytes,"ProcessParameters Bytes write to flash");
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index c44043a12..89bdcc66b 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -611,7 +611,7 @@ uint32_t HeaterCommandRequestMessage(int HeaterNum, bool OnOff, int Temperature
else
{
//HeaterPreviousRead[HeaterId] = MillisecGetTemperatures(HeaterId);//
- ReportWithPackageFilter(HeatersFilter,"Restarting same temperature Heater Temp",__FILE__,HeaterId,ControlIdtoHeaterId [HeaterId],RpWarning,HeaterPreviousRead[HeaterId], 0);
+ ReportWithPackageFilter(HeatersFilter,"Restarting same temperature Heater Temp",__FILE__,HeaterId,HeaterPIDConfig[HeaterId].m_calculatedError,RpWarning,HeaterPreviousRead[HeaterId], 0);
HeaterRestarted[HeaterId] = true;
}
//PrepareHeater(HeaterId,Temperature); //prepare the heaters control info
@@ -704,12 +704,18 @@ void PrepareACHeater(int HeaterId,uint32_t Frequency, uint32_t SetTemperatue)
HeaterAtTemp[HeaterId] = false;
if (BlowerCfg.enabled == true)
{
- Turn_the_Blower_On();//Turn on with the Default_Voltage
- if (BlowerCfg.heatingvoltage)
- Control_Voltage_To_Blower(BlowerCfg.heatingvoltage);
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ WHS_Set_SetPoint_Q_value(headairflow/2);
+ }
else
- Control_Voltage_To_Blower(BlowerCfg.voltage-500);
- WHS_Set_SetPoint_Q_value(headairflow/2);
+ {
+ Turn_the_Blower_On();//Turn on with the Default_Voltage
+ if (BlowerCfg.heatingvoltage)
+ Control_Voltage_To_Blower(BlowerCfg.heatingvoltage);
+ else
+ Control_Voltage_To_Blower(BlowerCfg.voltage-500);
+ }
}
if (SetTemperatue)
{
@@ -939,7 +945,7 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
if (HeaterMaxTempFlag[index] == false)
{
//LOG_ERROR (MaxreadValue/100, "Heater Over the max temperature, turned off");
- //ReportWithPackageFilter(HeatersFilter," AC Heater Over the max temperature, turned off",__FILE__,index,HeaterReady[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
+ ReportWithPackageFilter(HeatersFilter," AC Heater Over the max temperature, turned off",__FILE__,index,HeaterReady[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
}
DeActivateHeater(HEATER_TYPE__DryerMainHeater);
HeaterMaxTempFlag[index] = true;
@@ -983,7 +989,6 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
return OK;
if ((HeaterPreviousRead[index]) >= HeaterControl[index].sensormaxvalue)
{
- ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
if(OverHeatCounter[index]++ >=Overheat_Count_Limit)
{
OverHeatCounter[index] = Overheat_Count_Limit;
@@ -1002,9 +1007,12 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterRecalculateHeaterParams(index, 0);
HeaterMaxTempFlag[index] = true;
//ReportWithPackageFilter(HeatersFilter,(MinreadValue/100), "Heater Over the max temperature, turned off");
- ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
if (getIdleState() == false)
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
+ ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
AlarmHandlingSetAlarm(HeaterEventType[index], true);
+ }
return OK;
}
else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue))
@@ -1120,7 +1128,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterPreviousRead[index] = readValue;
//ReportWithPackageFilter(HeatersFilter, "AC Heating in progress",__FILE__,readValue,HeaterReady[index],RpError, HeaterAtTemp[index],0);
- if (readValue>(HeaterCmd[index].targettemperatue+800))
+ if ((readValue>(HeaterCmd[index].targettemperatue+800))&&(getIdleState() == false))
{
ReportWithPackageFilter(HeatersFilter, "AC OverHeating in progress",__FILE__,readValue,HeaterReady[index],RpError, HeaterAtTemp[index],0);
}
@@ -1183,11 +1191,16 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
AlarmHandlingSetAlarm(HeaterUnderEventType[index], false);
if (BlowerCfg.enabled == true)
{
- Turn_the_Blower_On();//Turn on with the Default_Voltage
- if (BlowerCfg.voltage)
- //Gradual_Increase_Blower(BlowerCfg.heatingvoltage,BlowerCfg.voltage);
- Control_Voltage_To_Blower(BlowerCfg.voltage);
- WHS_Set_SetPoint_Q_value(headairflow);
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ WHS_Set_SetPoint_Q_value(headairflow);
+ }
+ else
+ {
+ Turn_the_Blower_On();//Turn on with the Default_Voltage
+ if (BlowerCfg.voltage)
+ Control_Voltage_To_Blower(BlowerCfg.voltage);
+ }
}
HeaterReady[index] = true;
//Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater]);
@@ -1321,10 +1334,14 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterRecalculateHeaterParams(index, 0);
return ERROR;
}
- if (readValue>(HeaterCmd[index].targettemperatue+500))
+ if ((readValue>(HeaterCmd[index].targettemperatue+300))&&(getIdleState() == false))
{
- ReportWithPackageFilter(HeatersFilter, "DC OverHeating in progress",__FILE__,index,readValue,RpError, HeaterReady[index],0);
+ ReportWithPackageFilter(HeatersFilter, "DC OverHeating in progress",__FILE__,index,readValue,RpError, HeaterPIDConfig[index].m_calculatedError,0);
}
+ /*if (index == 4)
+ {
+ ReportWithPackageFilter(HeatersFilter, "DC Heating info head 2",__FILE__,GetControlLowDevice_i(),readValue,RpError, HeaterPIDConfig[index].m_calculatedError,0);
+ }*/
// check if the read value is within the proportional band
if (HeaterReady[index]==false)
@@ -1335,7 +1352,8 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
DeActivateHeater(index);
HeaterRecalculateHeaterParams(index, 0);
//Heaters OFF until coming into the proportional band
- ReportWithPackageFilter(HeatersFilter,"HEATER Over temperature ", __FILE__,index,HeaterCmd[index].targettemperatue, RpMessage, readValue, 0);
+ if (getIdleState() == false)
+ ReportWithPackageFilter(HeatersFilter,"HEATER Over temperature ", __FILE__,index,HeaterCmd[index].targettemperatue, RpMessage, readValue, 0);
return OK;
}
if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100))
@@ -1423,7 +1441,7 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
// #warning PID is now only proportional (above)
if (HeaterRestarted[index] == true)
{
- ReportWithPackageFilter(HeatersFilter,"Restarting same temperature Heater Temp",__FILE__,index,HeaterPIDConfig[index].m_calculatedError,RpWarning,readValue, 0);
+ ReportWithPackageFilter(HeatersFilter,"Restarted same temperature Heater ",__FILE__,index,HeaterPIDConfig[index].m_calculatedError,RpWarning,readValue, 0);
HeaterRestarted[index] = false;
}
HeaterRecalculateHeaterParams(index, (int)(HeaterPIDConfig[index].m_calculatedError/100));
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
index 98b3704ce..bb9f0616e 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c
@@ -323,7 +323,7 @@ uint32_t IDS_Dispenser_Store_Data (void)
if (JobIsActive()==false)
{
response_size = dispenser_data__pack(&StoreDispenserData, dispensers_container_buffer);
- EraseFlashSection(DISPENSERS_MAP_IN_FLASH,response_size+4);
+ EraseFlashSection(DISPENSERS_SECTION_FLASH);
ReadAppAndProgram(DISPENSERS_MAP_IN_FLASH, 4,&response_size);
ReadAppAndProgram(DISPENSERS_MAP_IN_FLASH+4, response_size, dispensers_container_buffer);
//Report("IDS_Dispenser_Store ",__FILE__,__LINE__,(int)response_size,RpWarning,(int)StoreDispenserData.dispenserinfo[4]->nanolitterperpulse *100,0);
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 5ca59a434..ae6751693 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -1491,6 +1491,7 @@ uint32_t IDSBrushStopRestartCallback(uint32_t IfIndex, uint32_t readValue)
Report("JobEndSequence",__FILE__,__LINE__,(int)JobBrushStopId,RpWarning,(int)SegmentNumOfBrushStops,0);
SafeRemoveControlCallback(BrushStopControlId,IDSBrushStopRestartCallback);
BrushStopControlId = 0Xff;
+ return OK;
}
if (uploadstrategy == JOB_UPLOAD_STRATEGY__Default)
{
@@ -1506,7 +1507,7 @@ uint32_t IDSBrushStopRestartCallback(uint32_t IfIndex, uint32_t readValue)
{
Task_stat(Control_Task_Handle,&statbuf);
//REPORT_MSG(FileBrushStop->index,"BrushStopRead Index");
- Report("BrushStopRead Index",__FILE__,__LINE__,(int)FileBrushStop->index,RpWarning,(int)statbuf.used,0);
+ Report("BrushStopRead Index",__FILE__,BrushStopTime,(int)FileBrushStop->index,RpWarning,(int)BrushStopStartTime,0);
Dispensers = FileBrushStop->dispensers;
n_dispensers = FileBrushStop->n_dispensers;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index a98cc173e..572d16bb4 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -67,25 +67,28 @@ void IFS_Init(void)
* the INK cartridge is empty
* @return bool ret OK = 0 , CartridgeFinished = 1
*/
+#define CARTRIDGE_EMPTY_QUANTITY_LIMIT 10
+#define CARTRIDGE_EMPTY_CALCULATION_TIME 6
bool DetectIfCartridgeFinished(int int_MidTank_Pressure_1000)
{
#define CartridgeFinished 1
bool ret = OK;
- static int measure_midtank[5] ;
+ static int measure_midtank[CARTRIDGE_EMPTY_CALCULATION_TIME] ;
static int count_measure_midtank = 0;
int i=0;
int sum = 0;
int average = 0;
- if ( count_measure_midtank == 5) count_measure_midtank = 0;
+ if ( count_measure_midtank == CARTRIDGE_EMPTY_CALCULATION_TIME)
+ count_measure_midtank = 0;
measure_midtank[count_measure_midtank] = int_MidTank_Pressure_1000;
count_measure_midtank += 1;
- for (i=0;i<5;i++)
+ for (i=0;i<CARTRIDGE_EMPTY_CALCULATION_TIME;i++)
sum += measure_midtank[i];
- average = sum/5;
- if (abs(average - int_MidTank_Pressure_1000)<10) ret = CartridgeFinished;
+ average = sum/CARTRIDGE_EMPTY_CALCULATION_TIME;
+ if (abs(average - int_MidTank_Pressure_1000)<CARTRIDGE_EMPTY_QUANTITY_LIMIT) ret = CartridgeFinished;
//if (average > (int_MidTank_Pressure_1000 * 0.98) ) ret = CartridgeFinished;
return ret;
@@ -110,7 +113,7 @@ WHS_sensor CartridgeInkCallBackFunction()
{
WHS_info.event = IFS_INK_presence_sensor;
IFS_info.IFS_Ink_precense_sensor = !IFS_info.IFS_Ink_precense_sensor;
- ReportWithPackageFilter(WasteFilter,"------------ find : IFS_Ink_presence_sensor event -----------------", __FILE__,__LINE__, IFS_info.IFS_Ink_precense_sensor, RpMessage, 0, 0);
+ Report("------------ find : IFS_Ink_presence_sensor event -----------------", __FILE__,__LINE__, IFS_info.IFS_Ink_precense_sensor, RpMessage, 0, 0);
ret = IFS_INK_presence_sensor;
}
return ret;
@@ -143,7 +146,7 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction()
MidTank_Pressure = Read_MidTank_Pressure_Sensor(IFS_info.Ink.cart_color);// Get_MidTank_Pressure_Sensor(IFS_info.Ink.cart_color);
//Disable_MidTank_Pressure_Reading(IFS_info.Ink.cart_color);
int_MidTank_Pressure_1000 = ((int)(MidTank_Pressure*1000));
- ReportWithPackageFilter(WasteFilter,"------------ IFS_info.Ink.time_out and Pressure -----------------", __FILE__,__LINE__,(IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
+ Report("------------ IFS_info.Ink.time_out and Pressure -----------------", __FILE__,__LINE__,(IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
if (IFS_info.Ink.time_out) IFS_info.Ink.time_out += 1; /*** counter ***/
@@ -160,18 +163,24 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction()
/**** detect if the MidTank_Pressure is the same, 5 times ****/
if (DetectIfCartridgeFinished(int_MidTank_Pressure_1000))
{
- ReportWithPackageFilter(WasteFilter,"------------ INK Cartrigde is empty (by average) -----------------", __FILE__,__LINE__,(IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
+ Report("------------ INK Cartrigde is empty (by average) -----------------", __FILE__,__LINE__,(IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
IFS_info.Ink.time_out = 0;
WHS_info.event = IFS_MidTankFull;
return IFS_MidTankFull;
}
-
+ int timeout = CARTRIDGE_INK_TIMEOUT;
+ int secondtimeout = CARTRIDGE_INK_TIMEOUTx2;
+ if (IFS_info.Ink.cart_color == MIDTANK_8)//lubricant
+ {
+ timeout = CARTRIDGE_INK_TIMEOUT*3;
+ secondtimeout = CARTRIDGE_INK_TIMEOUTx2 * 3;
+ }
/*** first TimeOut ***/
- if (IFS_info.Ink.time_out == CARTRIDGE_INK_TIMEOUT)
+ if (IFS_info.Ink.time_out == timeout)
{
- ReportWithPackageFilter(WasteFilter,"------------ first IFS_info.Ink.time_out, close valves -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
+ Report("------------ first IFS_info.Ink.time_out, close valves -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
//IFS_info.Ink.time_out = 0;
//return IFS_info.event = IFS_Timeout;
@@ -179,20 +188,21 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction()
// start timeout
// close and open the correct valves
- IFS_info.Ink.time_out = 0;
+ IFS_info.Ink.time_out = 0;
MidTankValvesAction(Cartridge_MidTank_OFF);
- IFS_info.Ink.time_out = CARTRIDGE_INK_TIMEOUT;
+ IFS_info.Ink.time_out = timeout;
}
- if (IFS_info.Ink.time_out == (CARTRIDGE_INK_TIMEOUT + 1)) //need to open the valve for second chance
+ if (IFS_info.Ink.time_out == (timeout + 1)) //need to open the valve for second chance
{
- ReportWithPackageFilter(WasteFilter,"------------ IFS_Timeout open valves for second timeout -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
+ Report("------------ IFS_Timeout open valves for second timeout -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
MidTankValvesAction(Cartridge_MidTank_ON);
+ IFS_info.Ink.time_out = timeout;
}
- if (IFS_info.Ink.time_out >= (CARTRIDGE_INK_TIMEOUTx2 + 1))
+ if (IFS_info.Ink.time_out >= (secondtimeout + 1))
{
- ReportWithPackageFilter(WasteFilter,"------------ IFS_Timeout_Second_Time -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
+ Report("------------ IFS_Timeout_Second_Time -----------------", __FILE__, __LINE__, (IFS_info.Ink.time_out * SECONDS_5), RpMessage, (int_MidTank_Pressure_1000), 0);
IFS_info.Ink.time_out = 0;
MidTankValvesAction(Cartridge_MidTank_OFF);
WHS_info.event = IFS_Timeout_Second;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index cdcecaa2a..19392c754 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -197,12 +197,18 @@
}
else
{
- WHS_Set_SetPoint_Q_value(headairflow/2);
- Turn_the_Blower_On();//Turn on with the Default_Voltage
- if (BlowerCfg.heatingvoltage)
- Control_Voltage_To_Blower(BlowerCfg.heatingvoltage);
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ WHS_Set_SetPoint_Q_value(headairflow/2);
+ }
else
- Control_Voltage_To_Blower(BlowerCfg.voltage-500);
+ {
+ Turn_the_Blower_On();//Turn on with the Default_Voltage
+ if (BlowerCfg.heatingvoltage)
+ Control_Voltage_To_Blower(BlowerCfg.heatingvoltage);
+ else
+ Control_Voltage_To_Blower(BlowerCfg.voltage-500);
+ }
Control_Dryer_Fan(STOP,75);//use START or STOP, 0 - 100%
LoadStages++;
ThreadLoadStateMachine(LoadStages);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 9698f1ea3..41ef9e480 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -657,7 +657,7 @@ void ScrewTimerInterrupt(int ARG0)
TimerDisable(Screw_timerBase, TIMER_A);
}
ROM_IntMasterEnable();
- //Report("ScrewsStartControlTimer direction,speed ", __FILE__,__LINE__,ScrewCurrentDirection, RpMessage, ScrewSpeed, 0);
+ //Report("ScrewsStartControlTimer time direction,speed ", __FILE__,msec_millisecondCounter,ScrewCurrentDirection, RpMessage, ScrewSpeed, 0);
//MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed);
//Rotations+=0.03;