diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 16:28:56 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 16:28:56 +0200 |
| commit | 6d0d04a9f1d3ebbc679190ff49df69406eabe24a (patch) | |
| tree | 697ec870789091d0b26075696915120713270388 /Software/Embedded_SW/Embedded/Common | |
| parent | 494d0f61b0800d96b1694930388397d9d9318d58 (diff) | |
| download | Tango-6d0d04a9f1d3ebbc679190ff49df69406eabe24a.tar.gz Tango-6d0d04a9f1d3ebbc679190ff49df69406eabe24a.zip | |
updating : special dispensers handling (for Moti), new process parameters, bugs and features. merged with Shai
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common')
5 files changed, 63 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c index 12f336749..067466f74 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c @@ -168,8 +168,8 @@ uint32_t ActivateVersionRequestFunc(MessageContainer* requestContainer) break; case VERSION_FILE_DESTINATION__AlarmParams: usnprintf(FullPath, 50, "%s%s%s", request->path,"/", VersionPackage->filedescriptors[File_i]->filename); - Fresult = f_unlink("//SYSINFO//ALARMPRM.CFG"); - Fresult |= f_rename (FullPath, "//SYSINFO//ALARMPRM.CFG"); + Fresult = f_unlink("//SYSINFO//ALARM.CFG"); + Fresult |= f_rename (FullPath, "//SYSINFO//ALARM.CFG"); AlarmHandlingLoadFile(); CurrentRunningFile++; break; diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 379975093..99fd6392a 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,4,6,4}; +TangoVersion_t _gTangoVersion = {1,4,6,5}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Common/report/distributor.c b/Software/Embedded_SW/Embedded/Common/report/distributor.c index 71d30f998..26b2f392c 100644 --- a/Software/Embedded_SW/Embedded/Common/report/distributor.c +++ b/Software/Embedded_SW/Embedded/Common/report/distributor.c @@ -198,6 +198,11 @@ STATUS reportDistribute(FormatType format, INPUT_MESSAGE msg; int Distributor = GET_PRIVATE_SEVERITY(severity); + if (isReportActive() == false) + { + LogToFile(message,FileName, LineNumber,errorCode, severity, parameter1); + } + if (Distributor > 0) { if (Dist_Table[Distributor].IsAlive == false) diff --git a/Software/Embedded_SW/Embedded/Common/report/report.h b/Software/Embedded_SW/Embedded/Common/report/report.h index eb0b64fab..35253ce80 100644 --- a/Software/Embedded_SW/Embedded/Common/report/report.h +++ b/Software/Embedded_SW/Embedded/Common/report/report.h @@ -127,6 +127,9 @@ uint32_t SetDebugLogCategoryFunc(MessageContainer* requestContainer); void SetupDebugDisributorsRequestFunc(MessageContainer* requestContainer); void ReportResetReason(void); +uint32_t OpenLogFile(void); +uint32_t CloseLogFile(void); +bool isReportActive(void); /*************************************************************************** diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c index 7417ab033..4fbae36bf 100644 --- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c +++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c @@ -63,8 +63,56 @@ PackageHandle LoadFilter; PackageHandle InitFilter; PackageHandle MaintFilter; +char LogPath[50] = "0://ErrFile.txt"; char protobufToken[36+1] = {0}; +char message[300]; +FRESULT LogFresult = FR_OK; +FIL *LogFileHandle = 0; //the system supports a single active file +bool isReportActive(void) +{ + if (protobufToken[0] == 0) + { + return false; + } + return true; +} +uint32_t OpenLogFile(void) +{ + uint32_t Bytes = 0; + int len; + /*LogFresult = f_open(LogFileHandle,LogPath,FA_OPEN_ALWAYS | FA_WRITE | FA_READ); + if (LogFresult == FR_OK) + { + if (LogFileHandle->fsize < 100000) + f_lseek(LogFileHandle, LogFileHandle->fsize); + len = usnprintf(message, 80, "\r\n Log File %s %s",__DATE__, __TIME__); + LogFresult = f_write(LogFileHandle,message,len,&Bytes ); + }*/ + return LogFresult; +} +uint32_t CloseLogFile(void) +{ + /* perform default error output */ + //f_close(LogFileHandle); + +} +uint32_t LogToFile(char *message, /* The formatted message */ + char *FileName, + int LineNumber, + int errorCode, /* error code that caused the report */ + int Severity, /* user parameter no. 1 */ + int parameter) +{ + uint32_t Bytes = 0; + int len; + + /* print user supplied error code */ + /* len = usnprintf(message, 300, "\r\n %s, file %s line %d code %d sev %d,param %d",message,FileName, LineNumber,errorCode, Severity, parameter); + LogFresult = f_write(LogFileHandle,message,len,&Bytes );*/ + + return LogFresult; +} int ReportResponseFunc(char *message, /* The formatted message */ char *FileName, int LineNumber, @@ -74,8 +122,9 @@ int ReportResponseFunc(char *message, /* The formatted message { MessageContainer responseContainer; if (protobufToken[0] == 0) + { return OK; - + } StartDebugLogResponse response = START_DEBUG_LOG_RESPONSE__INIT; response.filename = FileName; response.has_linenumber = true; @@ -221,6 +270,7 @@ uint32_t ReportInitMessage(MessageContainer* requestContainer) StartDebugLogRequest* request = start_debug_log_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); ustrncpy (protobufToken, requestContainer->token,36); DistributorHandle ReportHandle = ReportAddDistributor("ProtoBuf"); + CloseLogFile(); if (ReportHandle == NULL) status |= 0x8; status |= ReportFunc(ReportResponseFunc , REPORT_ADD, ReportHandle); start_debug_log_request__free_unpacked(request,NULL); @@ -330,6 +380,7 @@ return OK; void ReportStopReporting(void) { protobufToken[0] = 0; + OpenLogFile(); } |
