aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.c131
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.h15
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c68
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c13
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c2
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt6
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c1
11 files changed, 217 insertions, 31 deletions
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 a2a74b2e6..871b97cac 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,6,0,0};
+TangoVersion_t _gTangoVersion = {1,6,1,0};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
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 e72895d9b..a6ac9898a 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
@@ -894,6 +894,8 @@ bool Get_COVER_1_State(COVERS_ENUM CoverId)
default:
return false;
}
+#else
+ return OK;
#endif
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c
index ad7e91b88..5edb039bd 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c
@@ -260,10 +260,12 @@ float MotorGetSpeedFromFPGA_Res(TimerMotors_t _motorId)
uint32_t MotorGetADCFromFPGA(TimerMotors_t _motorId)
{
- #ifndef EVALUATION_BOARD
+#ifndef EVALUATION_BOARD
FPGA_Get_ADC_OUT_Cmd(_motorId);
return OK;
- #endif
+#else
+ return 0;
+#endif
}
bool MotorParseStatus(TimerMotors_t _motorId)
diff --git a/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.c b/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.c
new file mode 100644
index 000000000..646f189e7
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.c
@@ -0,0 +1,131 @@
+/*
+ * BuiltInTest.c
+ *
+ * Created on: jAN 5 2021
+ * Author: shlomo
+ * This file includes the BuiltInTest indication handling functions:
+ * Motors, heaters, temperature sensors,pressure sensors,dancers
+ */
+
+#include "drivers/Motors/Motor.h"
+#include "drivers/Heater/TemperatureSensor.h"
+#include "drivers/FPGA/FPGA_SPI_Comm.h"
+#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"
+#include "drivers/FPGA/FPGA.h"
+#include "drivers/I2C_Communication/Dispenser_Card/IO_Ports/Dispenser_IO.h"
+
+#include <PMR/Diagnostics/EventType.pb-c.h>
+
+#include "Modules/General/GeneralHardware.h"
+#include "modules/control/control.h"
+#include "modules/AlarmHandling/AlarmHandling.h"
+#include "modules/thread/thread_ex.h"
+#include "modules/heaters/heaters_ex.h"
+#include "modules/ids/ids_ex.h"
+
+uint32_t BuiltInTestControlId;
+uint32_t BuiltInTest_VoltageMeter(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_I2C_Comm(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_UART_Comm(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Blower(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Fan(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Encoders(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Heater(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Dispenser(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_PressureSensor(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_PT_Sensor(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Motor(uint32_t IfIndex)
+{
+ return OK;
+}
+uint32_t BuiltInTest_Main_State(uint32_t IfIndex, uint32_t BusyFlag)
+{
+ uint8_t Motor_i,Heater_i,PT_Sensor_i,Dispenser_i;
+ uint32_t Status = OK;
+ /*
+ *
+ *Test motors (configured, used(4x,arc,flat, btsr)),
+ *Test heaters (if cold, current)
+ *Test pt100,
+ *Test pressure sensors (dispensers, head, whs)
+ *Test ???
+ One report on init, define a way to report multiple failures.
+ */
+ BuiltInTest_VoltageMeter(0);
+ BuiltInTest_I2C_Comm(I2C2_BASE);
+ BuiltInTest_I2C_Comm(I2C3_BASE);
+ BuiltInTest_I2C_Comm(I2C4_BASE);
+ BuiltInTest_UART_Comm(0);
+ for (Motor_i = 0; Motor_i<NUM_OF_MOTORS;Motor_i++)
+ {
+ if (isMotorConfigured(Motor_i))
+ {
+ Status |= BuiltInTest_Motor(Motor_i);
+ }
+ }
+ for (Heater_i = 0; Heater_i<HEATER_TYPE_MAX_HEATERS;Heater_i++)
+ {
+ //if (isHeaterConfigured(Heater_i))
+ {
+ Status |= BuiltInTest_Heater(Heater_i);
+ }
+ }
+ for (PT_Sensor_i = 0; PT_Sensor_i<MAX_HEAD_CARD_TEMP_SENS_ID_1;PT_Sensor_i++)
+ {
+ //if (isHeaterConfigured(PT_Sensor_i))
+ {
+ Status |= BuiltInTest_PT_Sensor(PT_Sensor_i);
+ }
+ }
+ for (Dispenser_i = 0; Dispenser_i<MAX_SYSTEM_DISPENSERS;Dispenser_i++)
+ {
+ //if (isDispenserConfigured(Dispenser_i))
+ {
+ Status |= BuiltInTest_Dispenser(Dispenser_i);
+ }
+ }
+ //Status |= BuiltInTest_PressureSensor(HEAD_FLOW_METER);
+ //Status |= BuiltInTest_PressureSensor(NU_FLOW_METER);
+ //Status |= BuiltInTest_PressureSensor(DRIER_FLOW_METER);
+ //Status |= BuiltInTest_PressureSensor(TUNNEL_SENSOR_IN);
+ //Status |= BuiltInTest_PressureSensor(TUNNEL_SENSOR_OUT);
+
+ //Test motors
+ return OK;
+}
+void BuiltInTest_Start(void)
+{
+ BuiltInTestControlId = AddControlCallback("BuiltInTest", BuiltInTest_Main_State, eOneSecond, TemplateDataReadCBFunction,0,0, 0 );
+ //return;
+}
+
diff --git a/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.h b/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.h
new file mode 100644
index 000000000..02c427c67
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Modules/General/BuiltInTest.h
@@ -0,0 +1,15 @@
+/*
+ * BuiltInTest.h
+ *
+ * Created on: Jan 4 2021
+ * Author: shlomo
+ */
+
+#ifndef MODULES_GENERAL_BUILT_IN_TEST_H_
+#define MODULES_GENERAL_BUILT_IN_TEST_H_
+
+
+void BuiltInTest_Start(void);
+
+
+#endif /* MODULES_GENERAL_SAFETY_H_ */
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h
index ceb504099..f750e9445 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_ex.h
@@ -46,6 +46,8 @@ extern DispenserRunningData IDS_Dispenser_Data[MAX_SYSTEM_DISPENSERS];
extern DispenserRunningData **dispenserdata;
extern bool ActuatorsCleaningSequence;
+extern bool short_cycle;
+
extern bool DispenserUsedInJob[MAX_SYSTEM_DISPENSERS];
extern int32_t CurrentDispenserSpeed[MAX_SYSTEM_DISPENSERS];
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 97c37cc4f..9832bf773 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -88,6 +88,9 @@ int lInterSegmentLength = 0;
uint32_t InterSegmentStartWFCFDispensers;
uint32_t WFCF = 80;
bool EnableCleaning = true;
+
+ bool short_cycle = false;
+ // in short cycle mode: no dispenser autohoming after job, no prerun.
bool JobEndSequence = false;
double Get_WFCF(void)
{
@@ -489,14 +492,17 @@ uint32_t InactiveDispenserHome(uint32_t DispenserId, uint32_t ReadValue)
{
if (AutoHoming_Config >= AutoHoming_JobEnd_PowerOn_off)
{
- if ((HomingActive[DispenserId] == false)&&(PrimingActive[DispenserId] == false))
+ if (short_cycle==false)
{
- ReportWithPackageFilter(IDSFilter,"Homing Inactive dispenser",__FILE__,DispenserId,HomingActive[DispenserId],RpWarning,PrimingActive[DispenserId],0);
- IDS_HomeDispenser (DispenserId, 1000 , NULL);
- }
- else
- {
- ReportWithPackageFilter(IDSFilter,"Inactive dispenser already homing",__FILE__,DispenserId,HomingActive[DispenserId],RpWarning,PrimingActive[DispenserId],0);
+ if ((HomingActive[DispenserId] == false)&&(PrimingActive[DispenserId] == false))
+ {
+ ReportWithPackageFilter(IDSFilter,"Homing Inactive dispenser",__FILE__,DispenserId,HomingActive[DispenserId],RpWarning,PrimingActive[DispenserId],0);
+ IDS_HomeDispenser (DispenserId, 1000 , NULL);
+ }
+ else
+ {
+ ReportWithPackageFilter(IDSFilter,"Inactive dispenser already homing",__FILE__,DispenserId,HomingActive[DispenserId],RpWarning,PrimingActive[DispenserId],0);
+ }
}
}
return OK;
@@ -605,6 +611,11 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
DispenserBuildTimeCounter+=PRESSURE_READ_TIME_GAP;
+ if (short_cycle==true)
+ {
+ ReportWithPackageFilter(IDSFilter,"IDS prepare short cycle - skip pre-run",__FILE__,i,(int)DispenserTotalPrepareSteps[i],RpWarning,(int)(pressure*100),0);
+ pressureReady = true;
+ }
if (pressureReady == false)
{
if (DispenserBuildTimeCounter<(2*eOneSecond))
@@ -972,15 +983,18 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
DispenserTotalPrepareSteps[i] = 0;
if (AutoHoming_Config >= AutoHoming_JobEnd_PowerOn_off)
{
- if ((HomingActive[i] == false)&&(PrimingActive[i] == false))
+ if (short_cycle==false)
{
- ReportWithPackageFilter(IDSFilter,"Homing Inactive dispenser",__FILE__,i,HomingActive[i],RpWarning,PrimingActive[i],0);
- if (IDS_HomeDispenser (i, 1000 , NULL) == ERROR)
- Control3WayValvesWithCallback (i, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer;
- }
- else
- {
- ReportWithPackageFilter(IDSFilter,"Inactive dispenser already homing",__FILE__,i,HomingActive[i],RpWarning,PrimingActive[i],0);
+ if ((HomingActive[i] == false)&&(PrimingActive[i] == false))
+ {
+ ReportWithPackageFilter(IDSFilter,"Homing Inactive dispenser",__FILE__,i,HomingActive[i],RpWarning,PrimingActive[i],0);
+ if (IDS_HomeDispenser (i, 1000 , NULL) == ERROR)
+ Control3WayValvesWithCallback (i, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer;
+ }
+ else
+ {
+ ReportWithPackageFilter(IDSFilter,"Inactive dispenser already homing",__FILE__,i,HomingActive[i],RpWarning,PrimingActive[i],0);
+ }
}
}
#ifdef DISPENSER_VALVES_OPEN
@@ -1006,7 +1020,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
{
ReportWithPackageFilter(IDSFilter,"Prepare Speed",__FILE__,HomingActive[i],i,RpWarning,(int)dispenserspeed,0);
MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize); //set the dispenser to the
- MotorSetSpeed((TimerMotors_t)HW_Motor_Id,dispenserspeed); //set the dispenser to the
+ IDS_Dispenser_Start_Motor_and_Open_Valve(i,dispenserspeed, NULL);
}
/*else
{
@@ -1162,7 +1176,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
{
if (DispenserUsedInJob[DispenserId] == true)
{
- IDS_Dispenser_Close_Valve_And_Stop_Motor(DispenserId,NULL);
+ MotorStop(HW_Motor_Id, Hard_Hiz);
CurrentDispenserSpeed[DispenserId] = 0;
//usnprintf(IdsMessage, 80,"Presegment Prepare Dispenser %d stopped",DispenserId,(int) segmentfirst_speed);
//ReportWithPackageFilter(IDSFilter,IdsMessage, __FILE__, __LINE__, Dispenser_i, RpWarning, segmentfirst_speed, 0);
@@ -1549,7 +1563,7 @@ uint32_t IDSPreSegmentState(void *SegmentDetails, int SegmentId)
{
if (DispenserUsedInJob[DispenserId] == true)
{
- IDS_Dispenser_Close_Valve_And_Stop_Motor(DispenserId,NULL);
+ MotorStop(HW_Motor_Id,Soft_Hiz); //26/03/19 test without valves
CurrentDispenserSpeed[DispenserId] = 0;
DispenserPreSegmentReady[DispenserId] = true; //27/03/19 check if job should be stopped
REPORT_MSG(DispenserId,"Dispenser stopped pre Segment");
@@ -1622,7 +1636,7 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers)
/*IDS_Dispenser_Start_Motor_and_Open_Valve(DispenserId,
segmentfirst_speed,
NULL);*/
- IDS_Dispenser_Start_Motor_and_Open_Valve(DispenserId,segmentfirst_speed, NULL);
+ MotorSetSpeed(HW_Motor_Id, segmentfirst_speed);
CurrentDispenserSpeed[DispenserId] = segmentfirst_speed;
/*usnprintf(IdsMessage, 80,
"Dispenser %d nl/sec %d nl/pulse %d Pulse/sec %d speed %d steps %d/%d",
@@ -1641,7 +1655,7 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers)
//IDS_Dispenser_Close_Valve_And_Stop_Motor(DispenserId,NULL);*/
if (DispenserUsedInJob[DispenserId] == true)
{
- IDS_Dispenser_Close_Valve_And_Stop_Motor(DispenserId,NULL);
+ MotorStop(HW_Motor_Id, Hard_Hiz);
CurrentDispenserSpeed[DispenserId] = 0;
}
//ReportWithPackageFilter(IDSFilter,"inActive dispenser stopped", __FILE__, __LINE__, DispenserId, RpWarning, segmentfirst_speed, 0);
@@ -1851,7 +1865,7 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
{
DispenserDistanceToSpoolReady[Dispenser_i] = false;
dispenserCount++;
- IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,NULL);
+ MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz);
Control3WayValvesWithCallback ((Valves_t)Dispenser_i, MidTank_Dispenser, IDS_Valve_DistanceToSpoolValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
CurrentDispenserSpeed[Dispenser_i] = 0;
//IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_DistanceToSpoolValveReady);
@@ -1895,10 +1909,13 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
//MotorStop(HW_Motor_Id,Hard_Hiz);
if (AutoHoming_Config >= AutoHoming_JobEnd_PowerOn_off)
{
- if (deviceID!=LUBRICANT_DISPENSER)
+ if (short_cycle==false)
{
- ReportWithPackageFilter(IDSFilter,"IDS_Valve_EndValveReady start homing",__FILE__,deviceID,(int)AutoHoming_Config,RpWarning,(int)AutoHoming_JobEnd_PowerOn_off,0);
- IDS_HomeDispenser (deviceID, 1000 , NULL);
+ if (deviceID!=LUBRICANT_DISPENSER)
+ {
+ ReportWithPackageFilter(IDSFilter,"IDS_Valve_EndValveReady start homing",__FILE__,deviceID,(int)AutoHoming_Config,RpWarning,(int)AutoHoming_JobEnd_PowerOn_off,0);
+ IDS_HomeDispenser (deviceID, 1000 , NULL);
+ }
}
}
return OK;
@@ -1939,8 +1956,7 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
if (DispenserUsedInJob[Dispenser_i] == true)
{
AlarmHandlingSetAlarm (EVENT_TYPE__DISPENSER_1_UNDERPRESSURE+Dispenser_i,OFF); //handle alarm detection and operation
- TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[Dispenser_i];
- MotorStop(HW_Motor_Id,Hard_Hiz);
+ MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz);
#ifdef DISPENSER_VALVES_OPEN
Control3WayValvesWithCallback (Dispenser_i, Dispenser_Mixer, IDS_Valve_EndValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
#else
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index 6a3c2074f..e22cff720 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -1010,15 +1010,24 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.has_progress = true;
}
else
- if(request->amount == 0xE4) //fast refresh for pressure
+ if(request->amount == 0xE4) //Set WFCF build to waste Time Value
{
Report("Set WFCF build to waste Time Value ",__FILE__,__LINE__,request->delay,RpWarning,(int)Get_WFCF(),0);
IDS_Dispenser_SetPreSegmentWFCFValues(Get_WFCF(),(double) request->delay);
response.progress = (double)OK;
response.has_progress = true;
}
+
+ else
+ if(request->amount == 0xE5) //short_cycle
+ {
+ Report("short_cycle ",__FILE__,__LINE__,request->delay,RpWarning,0,0);
+ short_cycle = request->delay;
+ response.progress = (double)short_cycle;
+ response.has_progress = true;
+ }
else
- if(request->amount == 0xE6) //fast refresh for pressure
+ if(request->amount == 0xE6) //HeaterSafetyTestSetLimits
{
Report("HeaterSafetyTestSetLimits ",__FILE__,__LINE__,request->delay,RpWarning,0,0);
HeaterSafetyTestSetLimits(request->delay);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
index 9ece0efe6..fbbf1ec58 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
@@ -607,6 +607,8 @@ uint32_t Waste_PrepareCallbak(uint32_t IfIndex, uint32_t ReadValue)
double HeadFlow = GetWHSAirFlow(HEAD_FLOW_METER);
double HeadIn_Flow = PressureSensorGetPressure(HEAD_FAN_RIGHT);
double HeadOut_Flow = PressureSensorGetPressure(HEAD_FAN_LEFT);
+ if(WHS_Type == WHS_TYPE_UNKNOWN)
+ WHS_FlowReady = true; //LP machine
if ((HeadFlow<(headairflow*(1+AllowedRangeForWasteBlowerDeviation)))
&&(HeadFlow>(headairflow*(1-AllowedRangeForWasteBlowerDeviation))))
{
diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt
index d5db2f317..c4f9c9eca 100644
--- a/Software/Embedded_SW/Embedded/Software Release Notes.txt
+++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt
@@ -1,3 +1,9 @@
+Embedded SW Release note - Version 1.6.1(1) - Pack 4 - Gen #2
+=============================================================
+PBU at the beggining of pre-run
+"special dispensers" feature removed
+WHS prepare ready for old WHS
+
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.
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
index 4ab177244..6e2585d8f 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
@@ -131,6 +131,7 @@ void PowerIdleSetIdle(void)
{
IdleToPowerDownControlId = AddControlCallback("IdleToPowerDown",PowerIdleToPowerDownCallBackFunction, eOneHour*2, TemplateDataReadCBFunction,0,0, 0 );
}
+ short_cycle = false;
if (AutoHoming_Config >= AutoHoming_PowerOn_off )
{
for (i=0;i<MAX_SYSTEM_DISPENSERS;i++)