From 096bd938ce5a1c3643695bc8f6818e8e1fd3c064 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 19 Feb 2020 11:30:46 +0200 Subject: bug fixes before version 1.4.6.12 --- Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c') diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c index e8d7f6f58..15e845527 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c @@ -49,7 +49,7 @@ FIL *UploadFileHandle = 0; //the system supports a single active file FIL *DownloadFileHandle = 0; //the system supports a single active file char FileHandleChar[5]; char ErrorMsg[100]; -#define MAX_CHUNK_LENGTH 5500 +#define MAX_CHUNK_LENGTH 4000 int32_t FileLength = 0; int32_t FileReceivedLength = 0; int32_t FileSentLength = 0; @@ -100,7 +100,7 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer) if (Semaphore_pend(FFS_Sem, BIOS_NO_WAIT)) { CommRxTaskHandle = Task_self(); - Task_setPri(CommRxTaskHandle, 3); + Task_setPri(CommRxTaskHandle, 2); // Report("Task_setPri", __FILE__, __LINE__, 4, RpWarning, (int)CommRxTaskHandle, 0); //Report("FileUploadRequestFunc 2", __FILE__, __LINE__, msec_millisecondCounter, RpWarning, (int)0, 0); Fresult = f_open(UploadFileHandle,request->path,FA_READ | FA_WRITE | FA_OPEN_ALWAYS | FA_CREATE_ALWAYS); -- cgit v1.3.1 From 91fbd106c73ab40c76ad0e9d58b32e42c5325060 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 19 Feb 2020 12:35:02 +0200 Subject: voltage control handling, feature #1316, #1565 resolved --- .../Embedded/Common/SWUpdate/FileSystem.c | 2 +- .../Embedded/Modules/Heaters/Heaters_print.c | 64 ++++++++++++++++++++-- 2 files changed, 61 insertions(+), 5 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c') diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c index 15e845527..1ba656657 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c @@ -49,7 +49,7 @@ FIL *UploadFileHandle = 0; //the system supports a single active file FIL *DownloadFileHandle = 0; //the system supports a single active file char FileHandleChar[5]; char ErrorMsg[100]; -#define MAX_CHUNK_LENGTH 4000 +#define MAX_CHUNK_LENGTH 5500 int32_t FileLength = 0; int32_t FileReceivedLength = 0; int32_t FileSentLength = 0; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 290e65fa9..d8cc94273 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1485,19 +1485,75 @@ uint32_t HeatersDisasterControl(uint32_t x,uint32_t y) return OK; } bool UseSecondaryDrierHeater = true; -uint32_t DrierHeaterVlotageSetup(double voltage) +double TotalCurrentLimit(double VAC) +{ + if (VAC<=210) + { + return 5.8; + } + else if (VAC>222) + { + return 5.15; + } + else + { + return 5.5; + } + +} +uint32_t DrierHeaterVoltageSetup(double voltage) { - uint32_t status = OK; double DrierAcVoltage = 0.0; + char str[100]; + bool tempDrier2 = UseSecondaryDrierHeater; + if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines { DrierAcVoltage = ReadVAC(); - + if (DrierAcVoltage<=180) + { + AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE, true); + ReportWithPackageFilter(HeatersFilter,"Power too low!!!!!", __FILE__,__LINE__,DrierAcVoltage, RpMessage, 0, 0); + } + else if (DrierAcVoltage>264) + { + AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE, true); + ReportWithPackageFilter(HeatersFilter,"Power too high!!!!!", __FILE__,__LINE__,DrierAcVoltage, RpMessage, 0, 0); + ReportWithPackageFilter(HeatersFilter,"Power too high!!!!!", __FILE__,__LINE__,DrierAcVoltage, RpMessage, 0, 0); + ReportWithPackageFilter(HeatersFilter,"Power too high!!!!!", __FILE__,__LINE__,DrierAcVoltage, RpMessage, 0, 0); + HeatersEnd(); + //PowerOffPowerOff(); + } + else if (DrierAcVoltage<205) + { + UseSecondaryDrierHeater = true; + } + else if (DrierAcVoltage>224) + { + UseSecondaryDrierHeater = false; + } + else + { + if ((GetZone2RMSCurrent(DrierAcVoltage)+Get_Heaters_Current(HEATER_DRYER_CURRENT_1))>TotalCurrentLimit(DrierAcVoltage)) + { + UseSecondaryDrierHeater = false; + } + else + { + UseSecondaryDrierHeater = true; + } + } } else { UseSecondaryDrierHeater = true; } + if (tempDrier2 != UseSecondaryDrierHeater) + { + usnprintf(str, 100, "\r\n Changing Drier 2 setting VAC %d D1 Current %d D2 assumed current %d limit %d" + ,DrierAcVoltage,(int)(GetZone2RMSCurrent(DrierAcVoltage)*100),(int)(Get_Heaters_Current(HEATER_DRYER_CURRENT_1)*100),(int)(TotalCurrentLimit(DrierAcVoltage)*100)); + ReportWithPackageFilter(HeatersFilter,str, __FILE__,__LINE__,DrierAcVoltage, RpMessage, UseSecondaryDrierHeater, 0); + } return OK; } uint32_t HeatersControlLoop(uint32_t tick) @@ -1541,7 +1597,7 @@ uint32_t HeatersControlLoop(uint32_t tick) } if ((HeaterMaxTempFlag[HEATER_TYPE__DryerSecondaryHeater] == false)&&(UseSecondaryDrierHeater == true)) { -#warning trial use both heaters in drier +//#warning trial use both heaters in drier ActivateHeater (HEATER_TYPE__DryerSecondaryHeater); //DeActivate HEATER_TYPE__DryerSecondaryHeater //DeActivateHeater (HEATER_TYPE__DryerSecondaryHeater); -- cgit v1.3.1 From 95aae68e89693fb394d59d19b383571099b6d3d4 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 1 Mar 2020 09:15:06 +0200 Subject: fix file handling. set the machine state to error while waiting to the cooler --- Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | 2 +- Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c | 2 +- .../Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c') diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c index 1ba656657..3b5ba176d 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c @@ -717,7 +717,7 @@ FRESULT FileWrite(void * buffer, uint16_t size,char *path, uint32_t timeout) return FR_TIMEOUT; } - Fresult = f_open(FileHandle,path,FA_WRITE | FA_OPEN_ALWAYS); + Fresult = f_open(FileHandle,path,FA_WRITE | FA_OPEN_ALWAYS|FA_CREATE_ALWAYS); if (Fresult == FR_OK) { Fresult = f_write(FileHandle,buffer,size,&Bytes ); diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 5170b7cef..da4f04f3b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -978,7 +978,7 @@ void MillisecLogInit(void) if (FileHandle == 0) Fresult = FR_DENIED; else - Fresult = f_open(FileHandle,MillisecPath,FA_WRITE | FA_OPEN_ALWAYS); + Fresult = f_open(FileHandle,MillisecPath,FA_WRITE | FA_OPEN_ALWAYS|FA_CREATE_ALWAYS); ROM_IntMasterEnable(); return ; diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c index 9f864c2dc..05559ffae 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c @@ -453,6 +453,7 @@ uint32_t InitSequenceDispenserPressureBuildUpTest(void) uint32_t InitSequenceWaitForCoolerCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) { MachineStateDetail = INIT_SEQUENCE_WAIT_FOR_COOLER; + SetMachineStatus(MACHINE_STATE__Ready); //prevent job while waiting for the cooler if (SafeRemoveControlCallback(HWControlId, InitSequenceWaitForCoolerCallBackFunction )==OK) HWControlId = 0xFF; @@ -477,6 +478,8 @@ uint32_t InitSequenceWaitForCooler(void) } else { + SetMachineStatus(MACHINE_STATE__Error); //prevent job while waiting for the cooler + //cold reset, wait 2 minutes for cooler start // HWControlId = AddControlCallback("Init Cooler", InitSequenceWaitForCoolerCallBackFunction, 2*eOneMinute, TemplateDataReadCBFunction,0,0, 0 ); HWControlId = AddControlCallback("Init Cooler", InitSequenceWaitForCoolerCallBackFunction, 2*eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); -- cgit v1.3.1