aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Control
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-05-12 18:24:22 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-05-12 18:24:22 +0300
commitce0fe045c8dc0f005c4e70da5e71729d0c986165 (patch)
tree4b16aa41b0ad3d555780b6d4b3283b46c7ac9276 /Software/Embedded_SW/Embedded/Modules/Control
parent524bc43f07339979eda1c812354a9a2e8e0f7e09 (diff)
downloadTango-ce0fe045c8dc0f005c4e70da5e71729d0c986165.tar.gz
Tango-ce0fe045c8dc0f005c4e70da5e71729d0c986165.zip
fix double report issue. improve IDS pressure build
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Control')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c32
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h1
2 files changed, 27 insertions, 6 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 916d33772..4cd56df56 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -477,6 +477,11 @@ int MillisecGetTemperatures (TEMPERATURE_SENSOR_ID_ENUM SensorId)
{
return TemperatureCalc[SensorId];
}
+bool RapidPressureRead = false;
+void setRapidPressureRead(bool value)
+{
+ RapidPressureRead = value;
+}
uint32_t MillisecLowLoop(uint32_t tick)
{
uint8_t Motor_i,Disp_i,Heater_i,temp;
@@ -528,18 +533,30 @@ uint32_t MillisecLowLoop(uint32_t tick)
//LOG_ERROR (1111, "Control_WD");
}
}
+ if (RapidPressureRead == true)
+ {
+ for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++)
+ {
+ CalculateDispenserPressure(Disp_i);
+ //Read_MidTank_Pressure_Sensor(Disp_i);
+ }
+ ADC_TriggerCollection();
+ }
}
- if (O900Millisecond_Tick)
+ if ((O900Millisecond_Tick)&&(RapidPressureRead == false))
{
ADC_TriggerCollection();
}
if (Onesecond_Tick)
{
- for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++)
+ if (RapidPressureRead == false)
{
- CalculateDispenserPressure(Disp_i);
- //Read_MidTank_Pressure_Sensor(Disp_i);
+ for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++)
+ {
+ CalculateDispenserPressure(Disp_i);
+ //Read_MidTank_Pressure_Sensor(Disp_i);
+ }
}
FPGA_GetAllDispensersValveBusyOCD();
temp = Read_Fans_Tacho();
@@ -553,9 +570,12 @@ uint32_t MillisecLowLoop(uint32_t tick)
if (isMotorConfigured(Motor_i))
MotorGetStatusFromFPGA(Motor_i);
}
- for (Heater_i = 0;Heater_i < NUM_OF_CURRENT_HEATERS;Heater_i++)
+ if (!(OneMinute_Tick))
{
- Read_Heaters_Current(Heater_i);
+ for (Heater_i = 0;Heater_i < NUM_OF_CURRENT_HEATERS;Heater_i++)
+ {
+ Read_Heaters_Current(Heater_i);
+ }
}
Gas_PPM = Calculate_Gas_Power_Consumption();
for (Sensor_i = 0;Sensor_i < MAX_TEMPERATURE_SENSOR_ID;Sensor_i++)
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h
index be82d9e98..4edc1a8ed 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h
@@ -34,6 +34,7 @@ uint32_t getDrawerFansStatus(void);
uint32_t getSystemFansStatus(void);
uint8_t getGasReading(void);
int MillisecGetTemperatures (TEMPERATURE_SENSOR_ID_ENUM SensorId);
+void setRapidPressureRead(bool value);
void MillisecInit(void);