package test.cyclic; import javax.realtime.PeriodicParameters; import javax.realtime.PriorityParameters; import javax.safetycritical.Mission; import javax.safetycritical.PeriodicEventHandler; import javax.safetycritical.StorageParameters; import javax.safetycritical.Terminal; import javax.safetycritical.annotate.Level; import javax.safetycritical.annotate.Phase; import javax.safetycritical.annotate.SCJAllowed; import javax.safetycritical.annotate.SCJRestricted; public class EventHandler extends PeriodicEventHandler{ int count = 0; public EventHandler(PriorityParameters priority, PeriodicParameters release, StorageParameters scp, long scopeSize, String name) { super(priority, release, scp, scopeSize, name); } @Override public void handleAsyncEvent() { ImmortalEntry.term.writeln(getName()); // System.out.println(this.getName()); count++; if(count == 1){ Mission.getCurrentMission().requestSequenceTermination(); } } @Override @SCJAllowed(Level.SUPPORT) @SCJRestricted(phase = Phase.CLEANUP) public void cleanUp() { Terminal.getTerminal().writeln("Handler " +getName()+ " cleanup..." ); } }