diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-12-23 07:39:31 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-12-23 07:39:31 +0200 |
| commit | e57103400158c3cdff4983e6cdb41b194c9eee5e (patch) | |
| tree | fd40977f60cda9bfeb63b547f9beffb70ac40e07 /Software/Embedded_SW | |
| parent | 953cb38772543e941c9b115a787bc2bec2187ee1 (diff) | |
| download | Tango-e57103400158c3cdff4983e6cdb41b194c9eee5e.tar.gz Tango-e57103400158c3cdff4983e6cdb41b194c9eee5e.zip | |
some logs on dispensers' 50% and 25% points
Diffstat (limited to 'Software/Embedded_SW')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c | 37 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Software Release Notes.txt | 10 |
2 files changed, 47 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index 4ee94dae4..4d103395c 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -33,6 +33,29 @@ uint32_t OpenValveTimeout = 10; #define DISPENSER_BUILD_PRESSURE_TIMEOUT 120000 #define DISPENSER_BUILD_PRESSURE_LAG 50 #define DEFAULT_NANOLITER_PER_PULSE 2.34 + +FPGA_GPI_ENUM Dispenser_Id_to_LS_50_Id[MAX_SYSTEM_DISPENSERS] = { + GPI_LS_DISPENSER_50_1, //MOTO_DISPENSER_1 = 6, + GPI_LS_DISPENSER_50_2, //MOTO_DISPENSER_2 = 7, + GPI_LS_DISPENSER_50_3, //MOTO_DISPENSER_3 = 8, + GPI_LS_DISPENSER_50_4, //MOTO_DISPENSER_4 = 9, + GPI_LS_DISPENSER_50_5, //MOTO_DISPENSER_5 = 10, + GPI_LS_DISPENSER_50_6, //MOTO_DISPENSER_6 = 11, + GPI_LS_DISPENSER_50_7, //MOTO_DISPENSER_7 = 12, + GPI_LS_DISPENSER_50_8, //MOTO_DISPENSER_8 = 13, +}; +FPGA_GPI_ENUM Dispenser_Id_to_LS_25_Id[MAX_SYSTEM_DISPENSERS] = { + GPI_LS_DISPENSER_25_1, //MOTO_DISPENSER_1 = 6, + GPI_LS_DISPENSER_25_2, //MOTO_DISPENSER_2 = 7, + GPI_LS_DISPENSER_25_3, //MOTO_DISPENSER_3 = 8, + GPI_LS_DISPENSER_25_4, //MOTO_DISPENSER_4 = 9, + GPI_LS_DISPENSER_25_5, //MOTO_DISPENSER_5 = 10, + GPI_LS_DISPENSER_25_6, //MOTO_DISPENSER_6 = 11, + GPI_LS_DISPENSER_25_7, //MOTO_DISPENSER_7 = 12, + GPI_LS_DISPENSER_25_8, //MOTO_DISPENSER_8 = 13, +}; +bool DispenserDirectionFlag_50[MAX_SYSTEM_DISPENSERS] = {0,0,0,0,0,0,0,0}; +bool DispenserDirectionFlag_25[MAX_SYSTEM_DISPENSERS] = {0,0,0,0,0,0,0,0}; uint32_t DispenserPrepareSpeed = DISPENSER_BUILD_PRESSURE_SPEED; double DispenserPreparePressure = DISPENSER_BUILD_PRESSURE_LIMIT; uint32_t DispenserPrepareTimeout = DISPENSER_BUILD_PRESSURE_TIMEOUT; @@ -380,6 +403,16 @@ void IDS_Dispenser_Content_Calculation (char DispenserId) { ReportWithPackageFilter(IDSFilter,"IDS_Dispenser_Data ",__FILE__,DispenserId,(int)IDS_Dispenser_Data[DispenserId].consumedinnanolitter,RpWarning,(int)CurrentDispenserSpeed[DispenserId],0); } + if ((Dispenser_Id_to_LS_50_Id[DispenserId])&&(DispenserDirectionFlag_50[DispenserId]==false)) + { + DispenserDirectionFlag_50[DispenserId]= true; + ReportWithPackageFilter(IDSFilter,"Dispenser at 50% ",__FILE__,DispenserId,(int)IDS_Dispenser_Data[DispenserId].consumedinnanolitter,RpWarning,(int)65000000,0); + } + if ((Dispenser_Id_to_LS_25_Id[DispenserId])&&(DispenserDirectionFlag_25[DispenserId]==false)) + { + DispenserDirectionFlag_25[DispenserId]= true; + ReportWithPackageFilter(IDSFilter,"Dispenser at 25% ",__FILE__,DispenserId,(int)IDS_Dispenser_Data[DispenserId].consumedinnanolitter,RpWarning,(int)32500000,0); + } } if (DispenserId == 0) { @@ -410,6 +443,8 @@ void IDS_Dispenser_RefillStarted (char DispenserId,char MicroSteps) IDS_Dispenser_Data[DispenserId].nanolitterperpulse = assumedFlow; IDS_Dispenser_Data[DispenserId].microsteps = 1; IDS_Dispenser_Data[DispenserId].direction = 0;*/ + DispenserDirectionFlag_50[DispenserId] = false; + DispenserDirectionFlag_25[DispenserId] = false; ReportWithPackageFilter(IDSFilter,"IDS_Dispenser_RefillStarted",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)(CurrentDispenserSpeed[DispenserId]),0); } void IDS_Dispenser_RefillEnded (char DispenserId,char MicroSteps) @@ -419,6 +454,8 @@ void IDS_Dispenser_RefillEnded (char DispenserId,char MicroSteps) IDS_Dispenser_Data[DispenserId].numberofrefills++; //IDS_Dispenser_Data[DispenserId].direction = 1; IDS_Dispenser_Data[DispenserId].consumedinnanolitter = 0; + DispenserDirectionFlag_50[DispenserId] = false; + DispenserDirectionFlag_25[DispenserId] = false; ReportWithPackageFilter(IDSFilter,"IDS_Dispenser_RefillEnded",__FILE__,__LINE__,(int)DispenserId,RpWarning,(int)IDS_Dispenser_Data[DispenserId].numberofrefills,0); } void DispenserDataRequestFunc(MessageContainer* requestContainer) diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt index 402a40e2e..9f7e375b1 100644 --- a/Software/Embedded_SW/Embedded/Software Release Notes.txt +++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt @@ -1,3 +1,13 @@ +Embedded SW Release note - Version 1.6.0(1) - Pack 4 - Gen #2 +============================================================= +Flash RAM handling: flash reduced to 0x4000 bytes only (16K) - used for semi-permanent data only - embedded parameters and alarm file. +hw configuration stored only in flash file system (uploaded from PPC/MS on every connection anyway) +dispensers data and process parameters stored in internal EEPROM - Addresses 0x200, 0x400. +homing tokens - dynamic allocation +Dispensers filling timeout alarm (after one hour) + + + Embedded SW Release note - Version 1.5.3(4) - Pack 3 ============================================================= remove ErrFile.txt handling (storing logs while report is disconnected) - from release version |
