diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-03-08 14:23:47 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-03-08 14:23:47 +0200 |
| commit | 1af84e3da709be4690ef561e4865097d4e9332a7 (patch) | |
| tree | 07511123854b0481ddc8ee912a8273aef66a8ee0 /Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | |
| parent | 0bafe1c34cb056a80b64d6a03c0dcf0fc921adca (diff) | |
| download | Tango-1af84e3da709be4690ef561e4865097d4e9332a7.tar.gz Tango-1af84e3da709be4690ef561e4865097d4e9332a7.zip | |
fix error reporting in powerbuff
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c index e14727f4b..6715e8e42 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c @@ -89,7 +89,10 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer) WrittenBytes=0; if (JobIsActive()) + { Fresult = FR_DENIED; + Report("file uplad rejected - job is running", __FILE__, __LINE__, 4, RpWarning, (int)0, 0); + } else { UploadFileHandle = my_malloc(sizeof(FIL)); @@ -132,9 +135,10 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer) } } - responseContainer = createContainer(MESSAGE_TYPE__FileUploadResponse, requestContainer->token, false, &response, &file_upload_response__pack, &file_upload_response__get_packed_size); + responseContainer = createContainer(MESSAGE_TYPE__FileUploadResponse, requestContainer->token, true, &response, &file_upload_response__pack, &file_upload_response__get_packed_size); if (Fresult!= FR_OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -170,9 +174,17 @@ uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer) //{ //Control_WD(ENABLE,55); //activate heaters/dispenser watchdog, 0.5 seconds //GeneralHwReady = false; - KeepAliveOneSecondCounter = 0; - save_milisec = msec_millisecondCounter; - Fresult = f_write(ReceivedFileHandle,request->buffer.data,request->buffer.len,&WrittenBytes ); + if (ReceivedFileHandle==NULL) + { + Fresult = FR_DENIED; + Report("file chunk uplad rejected - file not created", __FILE__, __LINE__, 4, RpWarning, (int)0, 0); + FileDone = true; + } + else + { + KeepAliveOneSecondCounter = 0; + save_milisec = msec_millisecondCounter; + Fresult = f_write(ReceivedFileHandle,request->buffer.data,request->buffer.len,&WrittenBytes ); lFresult = Fresult; if(Fresult != FR_OK) { @@ -207,18 +219,12 @@ uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer) } } } - /*} - else - { - LOG_ERROR (ReceivedFileHandle,"file id error"); - f_close(FileHandle); - free (FileHandle); - status = ERROR_CODE__FILE_NOT_FOUND; - }*/ + } responseContainer = createContainer(MESSAGE_TYPE__FileChunkUploadResponse, requestContainer->token, FileDone, &response, &file_chunk_upload_response__pack, &file_chunk_upload_response__get_packed_size); if (Fresult!= OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -308,6 +314,7 @@ uint32_t FileDownloadRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__FileDownloadResponse, requestContainer->token, false, &response, &file_download_response__pack, &file_download_response__get_packed_size); if (Fresult!= FR_OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -372,6 +379,7 @@ uint32_t FileChunkDownloadRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__FileChunkDownloadResponse, requestContainer->token, false, &response, &file_chunk_download_response__pack, &file_chunk_download_response__get_packed_size); if (Fresult!= OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -399,6 +407,7 @@ uint32_t ExecuteProcessRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__ExecuteProcessResponse, requestContainer->token, false, &response, &execute_process_response__pack, &execute_process_response__get_packed_size); if (status!= OK) { + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__GENERAL_ERROR;//getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -425,6 +434,7 @@ uint32_t KillProcessRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__KillProcessResponse, requestContainer->token, false, &response, &kill_process_response__pack, &kill_process_response__get_packed_size); if (status!= OK) { + responseContainer.has_error = true; responseContainer.error = ERROR_CODE__GENERAL_ERROR;//getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -488,6 +498,7 @@ uint32_t CreateRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__CreateResponse, requestContainer->token, false, &response, &create_response__pack, &create_response__get_packed_size); if (Fresult!= OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -530,6 +541,7 @@ uint32_t DeleteRequestFunc(MessageContainer* requestContainer) if (Fresult!= OK) { usnprintf(ErrorMsg, 100, "File Operation failed error code %d",Fresult); + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = ErrorMsg; } @@ -576,6 +588,7 @@ uint32_t GetStorageInfoRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__GetStorageInfoResponse, requestContainer->token, false, &response, &get_storage_info_response__pack, &get_storage_info_response__get_packed_size); if (Fresult!= OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } @@ -704,6 +717,7 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer) if (Fresult!= OK) { + responseContainer.has_error = true; responseContainer.error = getErrorCode(Fresult); responseContainer.errormessage = "File operation error"; } |
