aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-12-10 12:20:55 +0200
committerAvi Levkovich <avi@twine-s.com>2020-12-10 12:20:55 +0200
commitafaee9a1cc07c5578aa9630963d895380d64f51b (patch)
tree1c69fd2188f53ca3d0266ab68f3d79f83d0987d5 /Software/Embedded_SW/Embedded/Modules
parent322073a52f4afc5c09903a92dd1c12bd111cd040 (diff)
downloadTango-afaee9a1cc07c5578aa9630963d895380d64f51b.tar.gz
Tango-afaee9a1cc07c5578aa9630963d895380d64f51b.zip
fix idle and timing in control. remove error file for release
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/Safety.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index e02bd8191..e6da43178 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -83,6 +83,7 @@ typedef struct
DataReadCBFunction ControlDataReadPtr;
ControlCBFunction ControlCallbackPtr;
uint32_t ControlTiming;
+ uint32_t LastCalled;
char *Name;
}ControlDeviceStruc;
@@ -613,10 +614,13 @@ uint32_t ControlLowLoop(uint32_t tick)
{
if (tick - ControlArray[ControlLowDevice_i].StartTick<=skipped_ticks)
continue;
+ if (tick - ControlArray[ControlLowDevice_i].LastCalled<=skipped_ticks)
+ continue;
if (ControlArray[ControlLowDevice_i].ControlTiming == eOneMillisecond)
continue;
if (ControlArray[ControlLowDevice_i].StartTick == tick)
continue;
+ ControlArray[ControlLowDevice_i].LastCalled = tick;
if (((tick - ControlArray[ControlLowDevice_i].StartTick)%ControlArray[ControlLowDevice_i].ControlTiming)<=skipped_ticks) // run the control on exact intervals
{
diff --git a/Software/Embedded_SW/Embedded/Modules/General/Safety.c b/Software/Embedded_SW/Embedded/Modules/General/Safety.c
index ebbc3d326..a70866fd6 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/Safety.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/Safety.c
@@ -205,10 +205,10 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag)
{
if (Check_Disp_Safety_Stop_Indication(Disp_i) == false)
{
- AlarmHandlingSetAlarm(DispenserAlarm[Disp_i], false);
if (DispenserAlarm[Disp_i] == true)
{
IDS_Dispenser_Alarm_Off(Disp_i);
+ AlarmHandlingSetAlarm(DispenserAlarm[Disp_i], false);
}
DispenserAlarm[Disp_i] = 0;
DispenserOverPressure[Disp_i] = false;