aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
committerMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
commit00a491d93733d4625ad329b2ba8237f445364b3f (patch)
tree4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Embedded_SW/Embedded/Common
parent124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff)
downloadTango-00a491d93733d4625ad329b2ba8237f445364b3f.tar.gz
Tango-00a491d93733d4625ad329b2ba8237f445364b3f.zip
merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c52
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/Utils.c12
-rw-r--r--Software/Embedded_SW/Embedded/Common/Utilities/Utils.h1
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/filter.c6
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/report.h2
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/reportInit.c16
7 files changed, 58 insertions, 33 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
index 17c1f164b..efc156da3 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
@@ -646,11 +646,11 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
GetFilesResponse response = GET_FILES_RESPONSE__INIT;
//struct tm RTC_time;
- #define MAX_NUM_OF_FILES 20
+ #define MAX_NUM_OF_FILES 40
DIR dir;
FILINFO* fno[MAX_NUM_OF_FILES];
char FullPath[MAX_NUM_OF_FILES][60];
- int i,NumOfFiles = 0;
+ int i,NumOfFiles = 0, ListedFiles = 0;
FRESULT Fresult = FR_OK;
FileInfo **FilesInfo = (FileInfo**)my_malloc(sizeof(FileInfo *)*(MAX_NUM_OF_FILES));
FileInfo Data[MAX_NUM_OF_FILES];
@@ -699,26 +699,34 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
{
for (i = 0;i < NumOfFiles;i++)
{
- file_info__init(&Data[i]);
- FilesInfo[i] = &Data[i];
- Data[i].has_attribute = true;
- Data[i].attribute = fno[i]->fattrib;
- Data[i].name = fno[i]->fname;
- Data[i].has_length = true;
- Data[i].length = fno[i]->fsize;
- Data[i].has_lastmodifieddate = true;
- Data[i].lastmodifieddate = fno[i]->fdate;
- Data[i].has_lastmodifiedtime = true;
- Data[i].lastmodifiedtime = fno[i]->ftime;
-
- if (i==0)
- usnprintf(&FullPath[i], 50, "%s", request->path);
+ if (i==0)
+ usnprintf(&FullPath[ListedFiles], 50, "%s", request->path);
+ else
+ if (strlen(request->path)==1) //info under the root
+ usnprintf(&FullPath[ListedFiles], 50, "%s%s", request->path, fno[i]->fname);
+ else
+ usnprintf(&FullPath[ListedFiles], 50, "%s%s%s", request->path,"/", fno[i]->fname);
+ if (fno[i]->fattrib != 0xFF) //garbage
+ {
+ file_info__init(&Data[ListedFiles]);
+ FilesInfo[ListedFiles] = &Data[ListedFiles];
+ Data[ListedFiles].has_attribute = true;
+ Data[ListedFiles].attribute = fno[i]->fattrib;
+ Data[ListedFiles].name = fno[i]->fname;
+ Data[ListedFiles].has_length = true;
+ Data[ListedFiles].length = fno[i]->fsize;
+ Data[ListedFiles].has_lastmodifieddate = true;
+ Data[ListedFiles].lastmodifieddate = fno[i]->fdate;
+ Data[ListedFiles].has_lastmodifiedtime = true;
+ Data[ListedFiles].lastmodifiedtime = fno[i]->ftime;
+ Data[ListedFiles].fullpath = &FullPath[i][0];
+ ListedFiles++;
+ }
else
- if (strlen(request->path)==1) //info under the root
- usnprintf(&FullPath[i], 50, "%s%s", request->path, fno[i]->fname);
- else
- usnprintf(&FullPath[i], 50, "%s%s%s", request->path,"/", fno[i]->fname);
- Data[i].fullpath = &FullPath[i][0];
+ {
+ // f_unlink(Data[ListedFiles].fullpath);
+ Report("file system error - format FFS", __FILE__, __LINE__, 255, RpWarning, (int)0, 0);
+ }
/*RTC_time.tm_year=(fno[i]->fdate>>9)+1980;//populate the time struct (FAT start==1980, RTC.year==0)
RTC_time.tm_mon=(fno[i]->fdate>>5)&0x000F;
RTC_time.tm_mday=fno[i]->fdate&0x001F;
@@ -728,7 +736,7 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
}
- response.n_items = NumOfFiles;
+ response.n_items = ListedFiles;
response.items = FilesInfo;
}
else
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 5392a415e..a2a74b2e6 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,5,3,4};
+TangoVersion_t _gTangoVersion = {1,6,0,0};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c
index d1143ada2..822294092 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c
@@ -13,6 +13,7 @@
#include "driverlib/hibernate.h"
#include <driverlib/Watchdog.h>
#include <ti/sysbios/hal/Seconds.h>
+#include "drivers/Flash_ram/MCU_E2Prom.h"
//*****************************************************************************
@@ -137,16 +138,21 @@ void utilsInit(uint32_t ui32SysClock)
//
// HibernateCounterMode(HIBERNATE_COUNTER_24HR);
// Configure the hibernate module counter to RTC counter mode.
- HibernateCounterMode(HIBERNATE_COUNTER_RTC);
+ HibernateCounterMode(HIBERNATE_COUNTER_24HR);
-#define STARTTIME 1564403262
- Seconds_set(STARTTIME);
+//#define STARTTIME 1564403262
+// Seconds_set(STARTTIME);
}
void utilsUpdateDateTime(uint32_t StartTime)
{
Seconds_set(StartTime);
}
+void utilsStoreLocalTime()
+{
+ time_t time_store = umktime(&LocalTime);
+ MCU_E2PromProgram(EEPROM_LOCAL_TIME,time_store);
+}
uint32_t UsersysTickGet (void) {
uint32_t tick = 0;
diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.h b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.h
index b54453e2c..779534182 100644
--- a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.h
+++ b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.h
@@ -23,6 +23,7 @@ typedef enum
void utilsInit(uint32_t ui32SysClock);
void utilsUpdateDateTime(uint32_t StartTime);
+void utilsStoreLocalTime(void);
uint32_t UsersysTickGet (void);
bool DanserCheckPosition(uint16_t position , Danser_t danser, bool test);
void InitWatchdog(uint32_t clock);
diff --git a/Software/Embedded_SW/Embedded/Common/report/filter.c b/Software/Embedded_SW/Embedded/Common/report/filter.c
index 753123ee7..78e0ef7eb 100644
--- a/Software/Embedded_SW/Embedded/Common/report/filter.c
+++ b/Software/Embedded_SW/Embedded/Common/report/filter.c
@@ -333,7 +333,13 @@ void ReportSeveritySet(ErrorSeverity level)
SeverityLevel = level;
}
+uint32_t safeReport(char *message, char *FileName, int LineNumber,int errorCode,int Severity,int parameter1,int parameter2)
+{
+ if (isReportActive() == false)
+ return OK;
+ return (Report(message, FileName, LineNumber, errorCode, Severity, parameter1, parameter2));
+}
/***************************************************************************
*
* Name : Report
diff --git a/Software/Embedded_SW/Embedded/Common/report/report.h b/Software/Embedded_SW/Embedded/Common/report/report.h
index 84063fb0f..94017ff20 100644
--- a/Software/Embedded_SW/Embedded/Common/report/report.h
+++ b/Software/Embedded_SW/Embedded/Common/report/report.h
@@ -131,6 +131,8 @@ uint32_t OpenLogFile(void);
uint32_t CloseLogFile(void);
bool isReportActive(void);
uint32_t LogToFile(char *message, char *FileName, int LineNumber,int errorCode,int Severity,int parameter);
+uint32_t safeReport(char *message, char *FileName, int LineNumber,int errorCode,int Severity,int parameter1,int parameter2);
+
/***************************************************************************
diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
index 8292cdeda..4b056b0d8 100644
--- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c
+++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
@@ -101,7 +101,7 @@ uint32_t OpenLogFile(void)
f_lseek(LogFileHandle, 0);
f_truncate (LogFileHandle);
}
- len = usnprintf(RepMessage, 80, "\r\n*******\r\nLog File start %s %s",__DATE__, __TIME__);
+ len = usnprintf(RepMessage, 80, "\r\n*******\r\nLog File start %d/%d/%d %d:%d:%d",LocalTime.tm_mday,LocalTime.tm_mon+1,LocalTime.tm_year,LocalTime.tm_hour,LocalTime.tm_min,LocalTime.tm_sec);
LogFresult = f_write(LogFileHandle,RepMessage,len,&Bytes );
ReportResetReason();
}
@@ -110,8 +110,9 @@ uint32_t OpenLogFile(void)
LogFresult = FR_INT_ERR;
return LogFresult;
-#endif
+#else
return OK;
+#endif
}
uint32_t CloseLogFile(void)
{
@@ -119,13 +120,14 @@ uint32_t CloseLogFile(void)
#ifdef STORE_DEBUG_LOGS
int len;
uint32_t Bytes = 0;
- len = usnprintf(RepMessage, 80, "Closing Log File %s %s",__DATE__, __TIME__);
+ len = usnprintf(RepMessage, 80, "\r\n*******\r\nClosing Log File %d/%d/%d %d:%d:%d",LocalTime.tm_mday,LocalTime.tm_mon+1,LocalTime.tm_year,LocalTime.tm_hour,LocalTime.tm_min,LocalTime.tm_sec);
LogFresult = f_write(LogFileHandle,RepMessage,len,&Bytes );
LogFresult = f_close(LogFileHandle);
LogFileHandle = NULL;
return LogFresult;
-#endif
+#else
return OK;
+#endif
}
uint32_t LogToFile(char *message, /* The formatted message */
@@ -143,13 +145,13 @@ uint32_t LogToFile(char *message, /* The formatted message
if (LogFileHandle == NULL)
return OK;
- len = usnprintf(RepMessage, 300, "\r\nfile %s\t line %d\t code %d\t sev %d,\tparam %d,\t %s",FileName, LineNumber,errorCode, Severity, parameter,message);
+ len = usnprintf(RepMessage, 300, "\r\n %d:%d:%d %s ,file %s\t line %d\t code %d\t sev %d,\tparam %d",LocalTime.tm_hour,LocalTime.tm_min,LocalTime.tm_sec,message,FileName, LineNumber,errorCode, Severity, parameter);
LogFresult = f_write(LogFileHandle,RepMessage,len,&Bytes );
return LogFresult;
-#endif
+#else
return OK;
-
+#endif
}
int ReportResponseFunc(char *message, /* The formatted message */
char *FileName,