aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/General/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General/process.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c75
1 files changed, 36 insertions, 39 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index aafc1c5a9..6ee11105f 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -195,7 +195,7 @@ void ProcessRequestFunc(MessageContainer* requestContainer)
Bytes = sizeof(ProcessParameters);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH, 4,&Bytes);
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH+4, Bytes, ProcessParams);
- REPORT_MSG(Bytes,"Bytes wrtie to flash");
+ REPORT_MSG(Bytes,"Bytes write to flash");
}
////////////////////////////////////////////////////////////////////////
@@ -237,51 +237,34 @@ void ProcessRequestFunc(MessageContainer* requestContainer)
upload_process_parameters_request__free_unpacked(request,NULL);
}
-uint32_t ProcessParamsInit(void)
+uint32_t LoadProcessParamsFromFile(void)
{
FRESULT Fresult = FR_OK;
- //FIL *FileHandle = 0; //the system supports a single active file
- //uint8_t* buffer = NULL;
- uint32_t Bytes;// = 0,i,j,k=0;
- //UploadProcessParametersRequest* request;
-/*
- FileHandle = my_malloc(sizeof(FIL));
- if (FileHandle)
+ uint8_t* buffer = NULL;
+ uint32_t Bytes = 0;
+
+ Fresult = FileRead(ProcessParamsConfigPath, &Bytes, &buffer);
+ if (Fresult == FR_OK)
{
- Fresult = FileOpen(ProcessParamsConfigPath, &Bytes, FileHandle);
- if (Fresult == FR_OK)
- {
- buffer = my_malloc (Bytes);
- if (buffer)
- {
- for (i=0;i<=(Bytes/100);i++)
- {
- Fresult = f_read(FileHandle,&buffer[i*100],100,&j );
- k+=j;
- }
- if (k!=Bytes)
- LOG_ERROR(k,"File read error");
+ UploadProcessParametersRequest* request = upload_process_parameters_request__unpack(NULL, Bytes, buffer);
+ ProcessParameters* ProcessParams = request->processparameters;
- request = upload_process_parameters_request__unpack(NULL, Bytes, buffer);
- // ProcessParameters* ProcessParams = process_parameters__unpack(NULL, Bytes, buffer);
- if (request)
- {
- ProcessParameters* ProcessParams = request->processparameters;
- Fresult = HandleProcessParameters(ProcessParams);
- //memcpy (&ProcessParametersKeep,ProcessParams,sizeof(ProcessParameters));
- upload_process_parameters_request__free_unpacked(request,NULL);
- }
- my_free (buffer);
- }
- f_close(FileHandle);
- }
- else
+ if ((ProcessParams->dryerzone1temp > 0.1)&&(ProcessParams->headzone2temp > 0.1)&&(ProcessParams->headzone3temp > 0.1)&&(ProcessParams->headzone4temp > 0.1))//NOT turning off heaters
{
- LOG_ERROR(Fresult,"File open error");
+ Bytes = sizeof(ProcessParameters);
+ 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);
}
- my_free (FileHandle);
}
-*/
+
+ return Fresult;
+}
+uint32_t ProcessParamsInit(void)
+{
+ FRESULT Fresult = FR_OK;
+ uint32_t Bytes;
memcpy(&Bytes,(void *)PROCESS_PARAMETERS_MAP_IN_FLASH,sizeof(Bytes));
REPORT_MSG(Bytes,"Bytes read from flash");
@@ -291,6 +274,20 @@ uint32_t ProcessParamsInit(void)
ProcessParameters* ProcessParams = (ProcessParameters *)(PROCESS_PARAMETERS_MAP_IN_FLASH+4);
Fresult = HandleProcessParameters(ProcessParams);
}
+ else
+ {
+ if (LoadProcessParamsFromFile()==OK)
+ {
+ memcpy(&Bytes,(void *)PROCESS_PARAMETERS_MAP_IN_FLASH,sizeof(Bytes));
+ REPORT_MSG(Bytes,"ProcessParams Bytes read from flash");
+
+ if ((Bytes)&&(Bytes < 1000))
+ {
+ ProcessParameters* ProcessParams = (ProcessParameters *)(PROCESS_PARAMETERS_MAP_IN_FLASH+4);
+ Fresult = HandleProcessParameters(ProcessParams);
+ }
+ }
+ }
return Fresult;
}