diff options
| author | Avi Levkovich <avi@twine-s.com> | 2020-05-13 13:27:01 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2020-05-13 13:27:01 +0300 |
| commit | 15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d (patch) | |
| tree | 4c0b49773706b85282e6f6b1ec3d2e949d3ca22e /Software/Embedded_SW/Embedded/Modules | |
| parent | 6a49e917c587dcbbfe8175b8dde73840b7d105fc (diff) | |
| parent | cd750d626d3780990797faf09446033bbaa4311c (diff) | |
| download | Tango-15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d.tar.gz Tango-15dfc2cdcbc2e518c09c1ee75f32ff149d4a337d.zip | |
commit merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
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; |
