/*
 * Created on Jan 24, 2005
 */
package javax.realtime.test.airplane;

import javax.realtime.AbsoluteTime;
import javax.realtime.PriorityParameters;
import javax.realtime.RealtimeThread;
import javax.realtime.RelativeTime;

import javax.realtime.DSS.DSS;

/**
 * @author gary
 */
public class TestAltitude extends RealtimeThread {
	
	public TestAltitude( String name ) {
		super( name, new PriorityParameters( 0 ) );
	}

	public void body() throws InterruptedException {
		airplane = new Airplane( 0 );
		
		printAltitude();
		airplane.setAltitude( 35 );
		printAltitude();
		// 2 minutes to get to 1800 ft
		airplane.setAltitudePlan( 1800, new AbsoluteTime( 1000*120, 0 ) );
		for ( int seconds = 0; seconds <= 120; seconds++ ) {
			DSS.hold( new RelativeTime( 1000, 0 ) );
			
			printAltitude();			
		}
	}
	
	private void printAltitude() {
		AbsoluteTime time = DSS.currentTime();
		DSS.printTime();
		int altitude = airplane.readAltitude();
		System.out.println( "altitude " + altitude );
	}
	
	private Airplane airplane;
}

