Real-Time Java AOCS Framework v1.0 API Specification

JbedSmmApplication.TelecommandManagement
Class JbedSmmTelecommandLoader

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--JbedSmmApplication.TelecommandManagement.JbedSmmTelecommandLoader
All Implemented Interfaces:
ActiveObject, Configurable, Resettable, TelecommandLoader, Telemeterable

public class JbedSmmTelecommandLoader
extends AocsObject
implements TelecommandLoader

Telecommand loader for the Jbed SMM application. Four types of telecommands are recognized. 1) A telecommand to change the mode of the Mission Mode Manager; 2) A telecommand to force a software reset; 3) A telecommand to load a manoeuvre to execute a triangular wave profile on the actuator set point; 4) A telecommand to load a manoeuvre to execute a ramp profile on the actuator set point.

Copyright: see the Copyright Notice.

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

Field Summary
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
JbedSmmTelecommandLoader()
          Default constructor
 
Method Summary
 TelecommandManager getTelecommandManager()
          Return the telecommand manager.
 boolean initialize()
          Initialize an active object before it is scheduled.
 boolean isConfigured()
          Check that the component is configured.
 void release(int TelecommandId)
          This method is not implemented.
 void release(Telecommand telecommand)
          Release resources allocated to argument telecommand.
 void releaseAll()
          Release all resources allocated to the currently loaded telecommands.
 void resetConfiguration()
          Unload all plug-in components.
 void runOneCycle(int deadline)
          Check if any telecommands have been received and, if so, construct the telecommand object and load it into the TC Manager.
 void setActuatorSetPoint(AocsData actSetPoint)
          Initialization method to set the actutor setpoint.
 void setConnection(JbedSmmConnectionInstaller connection)
          Sets a component that is resposible for establishment of a connection between the client and server.
 void setManoeuvreManager(ManoeuvreManager manManager)
          Initialization method to set the manoeuvre manager where the triangular wave profile manoeuvre is loaded.
 void setMissionModeManager(AocsMissionModeManager manManager)
          Initialization method to set the mission mode manager.
 void setRampManoeuvre(JbedSmmRamp manoeuvre)
          Initialization method to set the manoeuvre that executes the ramp profile.
 void setTelecommandManager(TelecommandManager tm)
          Set the telecommand manager.
 void setTriangularWaveManoeuvre(JbedSmmTriangularWave manoeuvre)
          Initialization method to set the manoeuvre that executes the triangular wave profile.
 boolean terminate()
          Perfrom any shutdown actions before an active is de-scheduled.
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTelemetryImageLength, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, reset, resetStaticConfiguration, setAocsClock, setDestructionRecoveryAction, setMaxNumberOfConfigurationListeners, setMaxNumberOfFailureListeners, setSystemManager, setTelemetryFormat, writeToTelemetry
 
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

JbedSmmTelecommandLoader

public JbedSmmTelecommandLoader()
Default constructor

Method Detail

isConfigured

public boolean isConfigured()
Check that the component is configured. Check that the following plug-in components have been loaded: the TC manager, the manoeuvre manager, the actuator set-point, the mission mode manager, the concrete manoeuvre components.

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

resetConfiguration

public void resetConfiguration()
Unload all plug-in components.

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

setMissionModeManager

public void setMissionModeManager(AocsMissionModeManager manManager)
Initialization method to set the mission mode manager.


setTriangularWaveManoeuvre

public void setTriangularWaveManoeuvre(JbedSmmTriangularWave manoeuvre)
Initialization method to set the manoeuvre that executes the triangular wave profile.


setRampManoeuvre

public void setRampManoeuvre(JbedSmmRamp manoeuvre)
Initialization method to set the manoeuvre that executes the ramp profile.


setManoeuvreManager

public void setManoeuvreManager(ManoeuvreManager manManager)
Initialization method to set the manoeuvre manager where the triangular wave profile manoeuvre is loaded.


setActuatorSetPoint

public void setActuatorSetPoint(AocsData actSetPoint)
Initialization method to set the actutor setpoint.


release

public void release(int TelecommandId)
This method is not implemented. No release operations need to be performed because the telecommand object, once it is unloaded by the TC manager, is automatically collected by the garbage collector.

Specified by:
release in interface TelecommandLoader
See Also:
TelecommandLoader.release(int), release(Telecommand)

release

public void release(Telecommand telecommand)
Description copied from interface: TelecommandLoader
Release resources allocated to argument telecommand.

Specified by:
release in interface TelecommandLoader
See Also:
release(int)

releaseAll

public void releaseAll()
Description copied from interface: TelecommandLoader
Release all resources allocated to the currently loaded telecommands.

Specified by:
releaseAll in interface TelecommandLoader
See Also:
release(int)

setTelecommandManager

public void setTelecommandManager(TelecommandManager tm)
Set the telecommand manager.

Specified by:
setTelecommandManager in interface TelecommandLoader

getTelecommandManager

public TelecommandManager getTelecommandManager()
Return the telecommand manager.

Specified by:
getTelecommandManager in interface TelecommandLoader
See Also:
TelecommandLoader.setTelecommandManager(TelecommandManager)

runOneCycle

public void runOneCycle(int deadline)
Check if any telecommands have been received and, if so, construct the telecommand object and load it into the TC Manager. The raw telecommand is collected form the TC socket as an array of integers. The format of the array of integers is as follows: integer 0 = telecommand type identifier; integer 1 = time tag; integers 2 to n = telecommand specific data.

The mode change telecommand has a TC ID equal to 1. It carries one single telecommand-specific data that identifies the target mode.

The software reset telecommand has a TC ID equal to 2. It carries no telecommand-specific data.

The triangular wave telecommand has a TC ID equal to 3. It carries four telecommand-specific data: 1) the start time for the triangular wave profile, 2) the period of the wave profile, 3) amplitude of the profile, 4) the number of cycles of the triangular wave.

The ramp profile telecommand has a TC ID equal to 4. It carries three telecommand-specific data: 1) the start time for the triangular wave profile, 2) the end time of the manoeuvre, 3) the end value of the ramp profile.

Specified by:
runOneCycle in interface ActiveObject
Parameters:
deadline - deadline by which the object must have returned. This parameter allows implementation of cooperative scheduling.

initialize

public boolean initialize()
Description copied from interface: ActiveObject
Initialize an active object before it is scheduled.

Specified by:
initialize in interface ActiveObject
Returns:
true if initialization was successful.

terminate

public boolean terminate()
Description copied from interface: ActiveObject
Perfrom any shutdown actions before an active is de-scheduled.

Specified by:
terminate in interface ActiveObject
Returns:
true if shutdown was successful.

setConnection

public void setConnection(JbedSmmConnectionInstaller connection)
Sets a component that is resposible for establishment of a connection between the client and server.

Parameters:
connection - the connection component

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