Real-Time Java AOCS Framework v1.0 API Specification

JbedSmmApplication.ManoeuvreManagement
Class JbedSmmRamp

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ManoeuvreManagement.Manoeuvre
                    |
                    +--JbedSmmApplication.ManoeuvreManagement.JbedSmmRamp
All Implemented Interfaces:
Configurable, Monitorable, Resettable, Telemeterable

public class JbedSmmRamp
extends Manoeuvre

The JbedSmmRamp is a concrete manoeuvre component generating a ramp trajectory.

Copyright: see the Copyright Notice.

Version:
1.0
Author:
V. Cechticky/A. Pasetti (ETH-Zurich)

Field Summary
 
Fields inherited from class RtjAocsFramework.ManoeuvreManagement.Manoeuvre
aborted, beenReset, currentState, execTime, finished, inProcess, onHold, ready
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
JbedSmmRamp()
          Default constructor, the methods setStartTime(int startTime), setEndTime(int endTime), setEndValue(endValue), setTarget(target) have to be called in order to properly set the ramp manoeuvre.
JbedSmmRamp(int startTime, int endTime, double endValue, AocsData target)
          Constructor with the configuration parameters.
 
Method Summary
 boolean canStart()
          Reaching the time tag is not necessarily enough to trigger execution of a manoeuvre.
 void doContinue()
          Manoeuvres execute over a prolonged period of time.
 int getTelemetryImageLength()
          Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.
 void initialize()
          Manoeuvres may have to perform some special initialization action when their execution begins.
 boolean isConfigured()
          Checks the configuration of the super class, and configuration of the AocsData object where the ramp trajectory is stored.
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void setEndTime(int endTime)
          Initialization method to set the ramp manoeuvre end time.
 void setEndValue(double endValue)
          Initialization method to set the ramp manoeuvre end value.
 void setStartTime(int startTime)
          Initialization method to set the ramp manoeuvre start time.
 void setTarget(AocsData target)
          Initialization method to set the target where the ramp trajectory is saved.
 void writeToTelemetry(TelemetryStream stream)
          Causes the object to write its own state to the telemetry stream.
 
Methods inherited from class RtjAocsFramework.ManoeuvreManagement.Manoeuvre
abort, addChangeListener, addManoeuvreListener, addMonitor, canContinue, canHold, canResume, fireChangeEvent, fireManoeuvreEvent, getAocsObject, getMonitorablePropertyValue, getNumberOfMonitorableProperties, getState, getTimeTag, getType, hold, isFinished, isHolding, isInUse, notifyMonitors, removeChangeListener, removeManoeuvreListener, removeMonitor, reset, resume, setInUse, setMaxNumberOfChangeListeners, setMaxNumberOfManoeuvreListeners, setPropertyMonitorListSize, setTimeTag, terminate, wasAborted
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, resetStaticConfiguration, setAocsClock, setDestructionRecoveryAction, setMaxNumberOfConfigurationListeners, setMaxNumberOfFailureListeners, setSystemManager, setTelemetryFormat
 
Methods inherited from class RtjAocsFramework.BasicObjects.RootObject
getClassId, getInstanceId, setClassId
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JbedSmmRamp

public JbedSmmRamp()
Default constructor, the methods setStartTime(int startTime), setEndTime(int endTime), setEndValue(endValue), setTarget(target) have to be called in order to properly set the ramp manoeuvre.


JbedSmmRamp

public JbedSmmRamp(int startTime,
                   int endTime,
                   double endValue,
                   AocsData target)
Constructor with the configuration parameters.

Parameters:
startTime - the start time of the ramp
endTime - the end time of the ramp
endValue - the end value of the ramp
target - the target AocsData that is made to follow the ramp wave profile
Method Detail

isConfigured

public boolean isConfigured()
Checks the configuration of the super class, and configuration of the AocsData object where the ramp trajectory is stored.

Specified by:
isConfigured in interface Configurable
Overrides:
isConfigured in class Manoeuvre
Returns:
the true value if the object is configured, otherwise returns false

resetConfiguration

public void resetConfiguration()
Resets configuration of the super object and performs the local reset of the configuration.

Specified by:
resetConfiguration in interface Configurable
Overrides:
resetConfiguration in class Manoeuvre

setStartTime

public void setStartTime(int startTime)
Initialization method to set the ramp manoeuvre start time.

Parameters:
startTime - the start time of the ramp

setEndTime

public void setEndTime(int endTime)
Initialization method to set the ramp manoeuvre end time.

Parameters:
endTime - the end time of the ramp

setEndValue

public void setEndValue(double endValue)
Initialization method to set the ramp manoeuvre end value.

Parameters:
endValue - the end value of the ramp

setTarget

public void setTarget(AocsData target)
Initialization method to set the target where the ramp trajectory is saved.

Parameters:
target - the target AocsData that is made to follow the ramp wave profile. Only the first item in the AocsData object is made to follow the profile.

initialize

public void initialize()
Manoeuvres may have to perform some special initialization action when their execution begins. This method encapsulates this type of action. It is called by the manoeuvre manager the first time the manoeuvre is executed.

The method retrieves the initial value of the ramp trajectory that will be used for calculation of other ramp trajectory points.

Overrides:
initialize in class Manoeuvre

canStart

public boolean canStart()
Reaching the time tag is not necessarily enough to trigger execution of a manoeuvre. Sometimes, other conditions have to be satisfied to ensure that the manoeuvre can execute safely. An attitude slew should only start if the spacecraft angular rates are below a pre-defined threshold.

Overrides:
canStart in class Manoeuvre
Returns:
the true value if the Aocs context in such as to make execution of the manoeuvre safe. The manoeuvre manager will only start manoeuvre execution if the method canStart() returns true.

doContinue

public void doContinue()
Manoeuvres execute over a prolonged period of time. This method is called by the manoeuvre manager to advance the execution of the manoeuvre. When a manoeuvre object receives this command, it retrieves the current aocs time and performs any actions that are due for execution at that time.

Overrides:
doContinue in class Manoeuvre

getTelemetryImageLength

public int getTelemetryImageLength()
Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.

Specified by:
getTelemetryImageLength in interface Telemeterable
Overrides:
getTelemetryImageLength in class Manoeuvre
Returns:
the length in bits of the telemetry image

writeToTelemetry

public void writeToTelemetry(TelemetryStream stream)
Causes the object to write its own state to the telemetry stream.

Specified by:
writeToTelemetry in interface Telemeterable
Overrides:
writeToTelemetry in class Manoeuvre
Parameters:
stream - the telemetry stream

Real-Time Java AOCS Framework v1.0 API Specification

Real-Time Java AOCS Framework project home page

Automatic Control Laboratory, ETH Zuerich
Physikstrasse 3
CH-8092 Zuerich, Switzerland