aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-01-26 16:28:56 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-01-26 16:28:56 +0200
commit6d0d04a9f1d3ebbc679190ff49df69406eabe24a (patch)
tree697ec870789091d0b26075696915120713270388 /Software/Embedded_SW/Embedded/Common
parent494d0f61b0800d96b1694930388397d9d9318d58 (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c4
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/distributor.c5
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/report.h3
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/reportInit.c53
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();
}