From db525669f8bcc4e1f911274dc53b6bf646eedff6 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 10 Mar 2019 12:13:12 +0200 Subject: suspend FAN checking pending tests. initial fix for dispensers storage --- .../Embedded_SW/Embedded/Modules/Control/MillisecTask.c | 4 ++-- Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 8e4a36e62..5fe242436 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -499,9 +499,9 @@ uint32_t MillisecLowLoop(uint32_t tick) //Read_MidTank_Pressure_Sensor(Disp_i); } FPGA_GetAllDispensersValveBusyOCD(); - temp = Read_Fans_Tacho(); + /*temp = Read_Fans_Tacho(); DrawerFansStatus = temp & 0x1F; - SystemFansStatus = temp & 0xE0; + SystemFansStatus = temp & 0xE0;*/ KeepAliveOneSecondCall(); for (Motor_i = 0;Motor_i < NUM_OF_MOTORS;Motor_i++) { diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index 1e33b99ca..7978e77bb 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -223,6 +223,12 @@ void IDS_Dispenser_Content_Init (void) for(i=0;idispenserinfo[i],sizeof(DispenserRunningData)); + IDS_Dispenser_Data[i].has_consumedinnanolitter = true; + IDS_Dispenser_Data[i].has_totalconsumedinnanolitter = true; + IDS_Dispenser_Data[i].has_direction = true; + IDS_Dispenser_Data[i].has_microsteps = true; + IDS_Dispenser_Data[i].has_numberofrefills = true; + IDS_Dispenser_Data[i].has_nanolitterperpulse = true; } free (buffer); dispenser_data__free_unpacked(NULL,StoredDispenserData); @@ -239,12 +245,17 @@ void IDS_Dispenser_Content_Calculation (char DispenserId) TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[DispenserId]; double consumedintimeframe = MotorDriverRequest[HW_Motor_Id].Speed*IDS_Dispenser_Data[DispenserId].microsteps* IDS_Dispenser_Data[DispenserId].nanolitterperpulse * dir; + //consumedintimeframe = 10+DispenserId; IDS_Dispenser_Data[DispenserId].consumedinnanolitter += consumedintimeframe; IDS_Dispenser_Data[DispenserId].totalconsumedinnanolitter += consumedintimeframe; if (DispenserId == 0) { - if (seconds_counter++>=3600) + if (seconds_counter++>=600)//3600) { + if (IDS_Dispenser_Data[DispenserId].consumedinnanolitter) + { + REPORT_MSG(IDS_Dispenser_Data[DispenserId].consumedinnanolitter,"Saving Dispenser Data" ); + } seconds_counter = 0; IDSDispenserData.n_dispenserinfo = MAX_SYSTEM_DISPENSERS; IDSDispenserData.dispenserinfo = dispenserdata; -- cgit v1.3.1 From 719d6a683c0f7bfdef232003385e5da14c4522e7 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 10 Mar 2019 12:28:26 +0200 Subject: dispenser info logs --- .../Embedded/Modules/IDS/IDS_dispenser.c | 3 + .../Stubs Collection/stubs/get dispenser data.cs | 73 ++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 Software/Stubs Collection/stubs/get dispenser data.cs (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index 7978e77bb..2c50f8647 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -279,6 +279,7 @@ void IDS_Dispenser_Set_Flow_Params (char DispenserId,double nanolitterperpulse,c IDS_Dispenser_Data[DispenserId].nanolitterperpulse = nanolitterperpulse; IDS_Dispenser_Data[DispenserId].microsteps = microsteps; IDS_Dispenser_Data[DispenserId].direction = 1; + Report("IDS_Dispenser_Set_Flow_Params",__FILE__,DispenserId,(int)nanolitterperpulse,RpWarning,microsteps,0); } void IDS_Dispenser_RefillStarted (char DispenserId) { @@ -287,6 +288,7 @@ void IDS_Dispenser_RefillStarted (char DispenserId) IDS_Dispenser_Data[DispenserId].nanolitterperpulse = assumedFlow; IDS_Dispenser_Data[DispenserId].microsteps = 1; IDS_Dispenser_Data[DispenserId].direction = 0; + Report("IDS_Dispenser_RefillStarted",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)(assumedFlow*100),0); } void IDS_Dispenser_RefillEnded (char DispenserId) { @@ -294,6 +296,7 @@ void IDS_Dispenser_RefillEnded (char DispenserId) IDS_Dispenser_Data[DispenserId].numberofrefills++; IDS_Dispenser_Data[DispenserId].direction = 1; IDS_Dispenser_Data[DispenserId].consumedinnanolitter = 0; + Report("IDS_Dispenser_RefillEnded",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)IDS_Dispenser_Data[DispenserId].numberofrefills,0); } void IDS_Dispenser_MovingDirection (char DispenserId, bool direction) { diff --git a/Software/Stubs Collection/stubs/get dispenser data.cs b/Software/Stubs Collection/stubs/get dispenser data.cs new file mode 100644 index 000000000..126cc5ee2 --- /dev/null +++ b/Software/Stubs Collection/stubs/get dispenser data.cs @@ -0,0 +1,73 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.IO; +using Tango.Stubs; +using Google.Protobuf; +using System.IO; + +public void OnExecute(StubManager stubManager) +{ + +GetStorageInfoRequest getStorageInfoRequest = new GetStorageInfoRequest(); + var response = stubManager.Run(getStorageInfoRequest); + + +CreateRequest createRequest = new CreateRequest(); +createRequest.Attribute = Tango.PMR.IO.FileAttribute.Directory; +createRequest.Path = "0://Shlomo"; + var response1 = stubManager.Run(createRequest); + +DeleteRequest deleteRequest = new DeleteRequest(); +deleteRequest.Path = "0://Shlomo//Shlomo1.txt"; + var response5 = stubManager.Run(deleteRequest); +deleteRequest.Path = "0://Shlomo//Shlomo2.txt"; + response5 = stubManager.Run(deleteRequest); + + createRequest.Attribute = 0; +createRequest.Path = "0://Shlomo//Shlomo1.txt"; + response1 = stubManager.Run(createRequest); +createRequest.Attribute = 0; +createRequest.Path = "0://Shlomo//Shlomo2.txt"; + response1 = stubManager.Run(createRequest); + + +byte[] fileBytes = File.ReadAllBytes("C:\\FileSystemTests\\test.txt"); + +FileUploadRequest fileUploadRequest = new FileUploadRequest(); +fileUploadRequest.Path = "0://Shlomo//Shlomo1.txt"; +fileUploadRequest.Length = (int)fileBytes.Length; +FileUploadResponse response2 = stubManager.Run(fileUploadRequest); + +long chunk_size = response2.MaxChunkLength; + +FileStream fs = new FileStream("C:\\FileSystemTests\\test.txt",FileMode.Open); + +while (fs.Position < fs.Length) +{ + stubManager.Write("Position "+ fs.Position+ " Length "+ fs.Length +"\n\n"); + FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest(); + fileChunkUploadRequest.UploadID = response2.UploadID; + byte[] chunk = new byte[Math.Min(chunk_size,fs.Length - fs.Position)]; + fs.Read(chunk,0,chunk.Length); + fileChunkUploadRequest.Path = "0://Shlomo//Shlomo1.txt"; + fileChunkUploadRequest.Buffer = ByteString.CopyFrom(chunk); + var response3 = stubManager.Run(fileChunkUploadRequest); + //Thread.Sleep(2000); + +} + + +GetFilesRequest getFilesRequest = new GetFilesRequest(); +getFilesRequest.Path = "0://Shlomo"; + + var response4 = stubManager.Run(getFilesRequest); + + +} \ No newline at end of file -- cgit v1.3.1