aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-07-28 11:31:25 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-07-28 11:31:25 +0300
commit6bb733f95cbcabc67115674f5cc91ec67196eeed (patch)
treead9f1d819623831d294f3b5737c6d4344ae10079 /Software
parent6a4480880efce0cd9a7fa166c059d1c4493ca718 (diff)
parent293cca91ee3737b47424d1f7febd9dca8b0a9c03 (diff)
downloadTango-6bb733f95cbcabc67115674f5cc91ec67196eeed.tar.gz
Tango-6bb733f95cbcabc67115674f5cc91ec67196eeed.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c20
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h2
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c3
8 files changed, 34 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
index 1e02283e0..f4c52f000 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
@@ -62,6 +62,7 @@ uint32_t WrittenBytes = 0;
uint32_t ReadBytes = 0;
Task_Handle CommRxTaskHandle;
+extern Semaphore_Handle FFS_Sem;
ErrorCode getErrorCode(FRESULT Fresult)
{
@@ -97,6 +98,7 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer)
Fresult = FR_DENIED;
else
{
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_open(UploadFileHandle,request->path,FA_READ | FA_WRITE | FA_OPEN_ALWAYS | FA_CREATE_ALWAYS);
if (Fresult == FR_OK)
{
@@ -113,6 +115,7 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer)
{
my_free (UploadFileHandle);
UploadFileHandle = 0;
+ Semaphore_post(FFS_Sem);
}
}
@@ -219,6 +222,7 @@ uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer)
{
Task_setPri(CommRxTaskHandle, 9);
GeneralHwReady = true;
+ Semaphore_post(FFS_Sem);
//Report("Task_setPri", __FILE__, __LINE__, 9, RpWarning, (int)CommRxTaskHandle, 0);
}
return OK;
@@ -252,6 +256,7 @@ uint32_t FileDownloadRequestFunc(MessageContainer* requestContainer)
Fresult = FR_DENIED;
else
{
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_open(DownloadFileHandle,request->filename,FA_READ );
if (Fresult == FR_OK)
{
@@ -309,6 +314,7 @@ uint32_t FileChunkDownloadRequestFunc(MessageContainer* requestContainer)
{
REPORT_MSG (FileSentLength,"file download ended successfully");
f_close(SentFileHandle);
+ Semaphore_post(FFS_Sem);
my_free (DownloadFileHandle);
FileSentLength = 0;
}
@@ -318,6 +324,7 @@ uint32_t FileChunkDownloadRequestFunc(MessageContainer* requestContainer)
{
REPORT_MSG (FileSentLength,"file download too much data!");
f_close(SentFileHandle);
+ Semaphore_post(FFS_Sem);
my_free (DownloadFileHandle);
FileSentLength = 0;
}
@@ -414,6 +421,7 @@ uint32_t CreateRequestFunc(MessageContainer* requestContainer)
Fresult = FR_DENIED;
else
{
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_open(UploadFileHandle,request->path,FA_CREATE_NEW);
if (Fresult == FR_OK)
{
@@ -422,6 +430,7 @@ uint32_t CreateRequestFunc(MessageContainer* requestContainer)
Fresult = FR_LOCKED;
}
}
+ Semaphore_post(FFS_Sem);
}
}
if (Fresult != FR_OK)
@@ -461,7 +470,9 @@ uint32_t DeleteRequestFunc(MessageContainer* requestContainer)
//int NumOfFiles = 0;
FRESULT Fresult = FR_OK;
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_unlink(request->path);
+ Semaphore_post(FFS_Sem);
REPORT_MSG(Fresult, "File Delete");
responseContainer = createContainer(MESSAGE_TYPE__DeleteResponse, requestContainer->token, false, &response, &delete_response__pack, &delete_response__get_packed_size);
@@ -543,9 +554,11 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
int i,NumOfFiles = 0;
FRESULT Fresult = FR_OK;
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult |= f_opendir(&dir, g_cCwdBuf);
if(Fresult != FR_OK)
{
+ Semaphore_post(FFS_Sem);
return(Fresult);
}
@@ -574,6 +587,7 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
}
}
}
+ Semaphore_post(FFS_Sem);
if ((Fresult == FR_OK)&&(NumOfFiles))
{
@@ -643,6 +657,8 @@ FRESULT FileWrite(void * buffer, uint16_t size,char *path)
Fresult = FR_DENIED;
else
{
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
+
Fresult = f_open(FileHandle,path,FA_WRITE | FA_OPEN_ALWAYS);
if (Fresult == FR_OK)
{
@@ -657,6 +673,7 @@ FRESULT FileWrite(void * buffer, uint16_t size,char *path)
{
LOG_ERROR (Fresult,"fopen error");
}
+ Semaphore_post(FFS_Sem);
my_free(FileHandle);
}
}
@@ -686,6 +703,7 @@ FRESULT FileRead(char *path, uint32_t *Size, void **Buffer)
Fresult = FR_DENIED;
else
{
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_open(FileHandle,path,FA_READ);
if (Fresult == FR_OK)
{
@@ -701,6 +719,7 @@ FRESULT FileRead(char *path, uint32_t *Size, void **Buffer)
my_free (buffer);
}
f_close(FileHandle);
+ Semaphore_post(FFS_Sem);
}
else
{
@@ -739,6 +758,7 @@ FRESULT FileOpen(char *path, uint32_t *Size, FIL *FileHandle)
if (FileHandle == 0)
Fresult = FR_DENIED;
else
+ Semaphore_pend(FFS_Sem, BIOS_WAIT_FOREVER);
Fresult = f_open(FileHandle,path,FA_READ);
}
else
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
index 139b452dc..7c6b4d4ef 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
@@ -30,6 +30,8 @@
#include "Modules/Control/Control.h"
#include "Modules/AlarmHandling/AlarmHandling.h"
+extern Semaphore_Handle FFS_Sem;
+
int NumberOfFiles = 0,CurrentRunningFile;
int CurrentFileSize = 0;
uint32_t ActivateVersionControlId = 0xFF;
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
index a38b0a06c..a8bdaf95c 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
@@ -691,7 +691,7 @@ bool Get_COVER_1_State(COVERS_ENUM CoverId)
case FrontDoor3_DH_DRYER:
return F3_GPI_01_Reg.bits.F3_GPI_PANSW3;
//break;
- case FrontDoor4_MIDTHANK:
+ case FrontDoor4_MIDTANKS:
return F3_GPI_01_Reg.bits.F3_GPI_PANSW4;
//break;
case CartridgesDoor:
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
index d77e9931c..9767837f1 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
@@ -221,7 +221,7 @@ typedef enum
FrontDoor1_EC,
FrontDoor2_PPC,
FrontDoor3_DH_DRYER,
- FrontDoor4_MIDTHANK,
+ FrontDoor4_MIDTANKS,
CartridgesDoor,
RearDoor,
DryerDoor,
diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg
index a0b853ec8..8dc53256b 100644
--- a/Software/Embedded_SW/Embedded/Embedded.cfg
+++ b/Software/Embedded_SW/Embedded/Embedded.cfg
@@ -72,6 +72,11 @@ semaphore3Params.instance.name = "updateSem";
semaphore3Params.mode = Semaphore.Mode_BINARY;
Program.global.updateSem = Semaphore.create(null, semaphore3Params);
+var semaphore4Params = new Semaphore.Params();
+semaphore4Params.instance.name = "FFS_Sem";
+semaphore4Params.mode = Semaphore.Mode_BINARY;
+Program.global.FFS_Sem = Semaphore.create(null, semaphore4Params);
+
var semaphore7Params = new Semaphore.Params();
semaphore7Params.instance.name = "ReconnectSem";
semaphore7Params.mode = Semaphore.Mode_BINARY;
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 4504c74f5..c4fcfaf8e 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -252,7 +252,7 @@ const AlarmHandlingItemStruc HardCodedAlarmItem[MAX_SYSTEM_ALARMS]={
{eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor1_EC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_1_OPEN},
{eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor2_PPC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_2_OPEN},
{eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor3_DH_DRYER ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_3_OPEN},
- {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTHANK ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN},
+ {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTANKS ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN},
{eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,RearDoor ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__REAR_COVER_OPEN },
{eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,CartridgesDoor,1,false,true,DEBUG_LOG_CATEGORY__Warning,0xFF,5,EVENT_TYPE__CARTRIDGES_COVER_OPEN},
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index b33bf09c1..4288d786b 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -634,6 +634,7 @@ void JobRequestFunc(MessageContainer* requestContainer)
status = PASSED;
JobEndReason = JOB_OK;
TotalProcessedLength = 0.0;
+ PoolerTotalProcessedLength = 0.0;
job_length = CurrentJob->length + CurrentJob->processparameters->dryerbufferlength;
Report("job length ",__FILE__,job_length,CurrentJob->length,RpWarning,CurrentJob->processparameters->dryerbufferlength, 0);
JobAlarmReason = AlarmHandlingPrepareJob(CurrentJob);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
index 729e3ab8e..2959a688b 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
@@ -128,9 +128,12 @@ FRESULT RewindJobFile()
}
return Fresult;
}
+extern Semaphore_Handle FFS_Sem;
FRESULT CloseJobFile()
{
Fresult = f_close(JobRequestFileHandle);
+ Semaphore_post(FFS_Sem);
+
readbBytes = 0;
ImmediateRead = 0;
SegmentSize = 0;