Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.TelecommandManagement
Class Telecommand

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.TelecommandManagement.Telecommand
Direct Known Subclasses:
ManoeuvreTelecommand, ModeChangeTelecommand, ReconfigureTelecommand, ResetTelecommand, TelemetryFormatTelecommand, TransactionTelecommand

public class Telecommand
extends RootObject

Base class for all telecommands. Class telecommand is a concrete class with overridable methods and should conceptually be seen as an interface class. The implementations of its methods are trivial default that are intended to be overridden by concrete telecommand classes.

The telecommand class is derived from class RootObject and from a single inheritance tree. Concrete telecommand classes therefore have a single virtual table pointer associated to them which simplifies the implementation of the telecommand loading mechanism and keeps the telecommand size small.

Since telecommand objects are to be constructed dynamically by the application, they are not designed as Java beans.

Copyright: see the Copyright Notice.

Version:
1.0
Author:
Alessandro Pasetti (University of Konstanz)
See Also:
The Telecommand Framelet Document.

Constructor Summary
Telecommand(int timeTag)
          Create a telecommand with the given time tag.
 
Method Summary
 boolean canExecute()
          Performs a check that the operational conditions are appropriate to the execution of the telecommand.
 short execute()
          A call to this method causes the actions associated to the telecommand to be executed.
 short getTelecommandId()
          Returns the identifier associated to the telecommand.
 short getTelecommandTypeId()
          Returns the identifier associated to the telecommand type.
 int getTimeTag()
          Return the time tag associated to the telecommand.
 boolean isEnabled()
           
 void setEnable(boolean enableStatus)
          Telecommands can be enabled and disabled.
 
Methods inherited from class RtjAocsFramework.BasicObjects.RootObject
getClassId, getInstanceId, setClassId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Telecommand

public Telecommand(int timeTag)
Create a telecommand with the given time tag. Telecommands are enabled by default. Note that there is no default constructor because, unlike most other framework components, telecommands are not Java beans.

Method Detail

execute

public short execute()
A call to this method causes the actions associated to the telecommand to be executed. The method returns a code indicating the completion status of the telecommand.

Telecommands are intended to be light-weight objects since they may have to be uplinked with their code. For this reason, they are derived from class RootObject rather than from class AocsObject and hence they do not have access to a default handler for failures. Concrete telecommand classes will therefore have to take care of their own error reporting but in general telecommands report their execution status through the return code of method execute().

The default implementation of this method reports a successful execution code.


canExecute

public boolean canExecute()
Performs a check that the operational conditions are appropriate to the execution of the telecommand. Returns true by default.


getTelecommandId

public short getTelecommandId()
Returns the identifier associated to the telecommand. In this implementation, the TC identifier is the same as the instance identifier defined by class RootObject.

The telecommand identifier allows a telecommand to be identified independently of its address in memory.

Note that telecommand transactions have a single identifier associated to them.


getTelecommandTypeId

public short getTelecommandTypeId()
Returns the identifier associated to the telecommand type. In this implementation, the TC identifier is the same as the class identifier defined by class RootObject.

The telecommand type identifier allows the type of a telecommand to be identified independently of its address in memory.

Note that telecommand transactions have a single type identifier associated to them.


getTimeTag

public int getTimeTag()
Return the time tag associated to the telecommand. Note that telecommand transactions have a single time tag associated to them: ie all telecommands in a transaction have the same time tag.


setEnable

public void setEnable(boolean enableStatus)
Telecommands can be enabled and disabled. They are enabled by default. A disabled telecommand will be unloaded without being executed.


isEnabled

public boolean isEnabled()

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