-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModeChange.java
More file actions
43 lines (36 loc) · 1.33 KB
/
ModeChange.java
File metadata and controls
43 lines (36 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import javax.safetycritical.PriorityScheduler;
import javax.realtime.*;
import javax.safetycritical.*;
// Implementaion of a periodic event handler
public class ModeChange{
static int P_Count=0;
long interval;
public void funModeChange(AbsoluteTime oldTime, AbsoluteTime newTime){
interval = newTime.subtract(oldTime).getMilliseconds();
System.out.println("P Count :" + P_Count + "Interval: " + interval);
if ( interval < MainPMMissionSequence.MSR){
P_Count = P_Count + 1;
System.out.println("P Count :" + P_Count + "Interval: " + interval);
}
if ( interval > MainPMMissionSequence.MSR){
P_Count = 0;
System.out.println("P Count = 0");
}
// DDDR -> DDIR
if (P_Count==5 && MainPMMissionSequence.CMode=="DDDR") // x out of y algo x range (2 to7), we have considered 5
{
MainPMMissionSequence.CMode="DDIR";
Mission.getCurrentMission().requestTermination();
P_Count = 0;
System.out.println("Operating Mode: DDIR");
}
// DDIR -> DDDR
if (P_Count==8 && MainPMMissionSequence.CMode=="DDIR") // x out of y algo x range (2 to7), we have considered 8 (to return back to previous mode DDDR)
{
MainPMMissionSequence.CMode="DDDR";
Mission.getCurrentMission().requestTermination();
P_Count = 0;
System.out.println("Operating Mode: DDDR");
}
}
}//end class