aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/General
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 39e87ed6a..d62d117a0 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -258,14 +258,22 @@ uint32_t LoadProcessParamsFromFile(void)
UploadProcessParametersRequest* request = upload_process_parameters_request__unpack(NULL, Bytes, buffer);
ProcessParameters* ProcessParams = request->processparameters;
- if ((ProcessParams->dryerzone1temp > 0.1)&&(ProcessParams->headzone2temp > 0.1)&&(ProcessParams->headzone3temp > 0.1)&&(ProcessParams->headzone4temp > 0.1))//NOT turning off heaters
+ if ((request!= NULL)&&(ProcessParams!=NULL))
{
- Bytes = sizeof(ProcessParameters);
- EraseFlashSection(PROCESS_PARAMETERS_MAP_IN_FLASH,Bytes+4);
- 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");
- free (buffer);
+ 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);
+ 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");
+ free (buffer);
+ }
+ }
+ else
+ {
+ Report("process parameters not loaded",__FILE__,__LINE__,(int)request,RpWarning,(int)request,0);
+ return ERROR;
}
}