Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

BasicTypes.h File Reference


Detailed Description

This file defines the typedef types that are used in the OBS Framework.

Definition in file BasicTypes.h.

Go to the source code of this file.

Typedefs

typedef unsigned short TD_InstanceId
 Type for instance identifiers.

typedef unsigned short TD_ClassId
 Type for class identifiers.

typedef int TD_ObsTime
 Type for on-board time.

typedef int TD_ObsCycle
 Type for on-board cycle.

typedef unsigned short TD_TraceItem
 Type for elemetary trace items.

typedef enum ActionOutcome TD_ActionOutcome
 Type for the outcome code of a punctual action.

typedef int TD_FsmStateIndex
 Type for the index representing a state of an FSM.

typedef int TD_Mode
 Type for the index representing the operational mode of a mode manager.

typedef unsigned short TD_Config
 Type for the index representing the configuration of a reconfiguration manager.

typedef unsigned short TD_TelecommandId
 Type for the telecommand identifier.

typedef unsigned char TD_TelecommandType
 Type for the telecommand type.

typedef unsigned char TD_TelecommandSubType
 Type for the telecommand sub type.

typedef unsigned short TD_TelecommandSource
 Type for the telecommand source.

typedef unsigned char TD_TelecommandAck
 Type for the telecommand acknowledge level attribute.

typedef unsigned int TD_CheckCode
 Type for the check code that some components can return to give information about the reasons for the failure of one of their checks.

typedef short TD_DatabaseId
 Type for the identifier of a database parameter.

typedef int TD_DataPoolId
 Type for a data pool identifier.

typedef float TD_Float
 Generic float type that, depending on application needs, can be re-defined to be either a float or a double.

typedef short TD_Integer
 Generic integer type that, depending on application needs, can be re-defined to be a long int, an int, or a short.

typedef enum DataItemType TD_DataItemType
 Type for the identifier of a data item variable type.

typedef unsigned short TD_PUSPacketId
 Type for the PUS packet identifier.

typedef unsigned int TD_SID
 Type for the PUS structure identifier (SID).

typedef TD_PUSPacketId TD_APID
 Type for the PUS application identifier.

typedef unsigned short TD_PUSCollectionInterval
 Type for the collection interval of a PUS data reporting packet.

typedef unsigned char TD_PUSNumberOfParameters
 Type for the number of parameters of a PUS data reporting packet.

typedef unsigned short TD_PUSMemLength
 Type for an integer expressing the length of a memory block in the PUS memory management service.

typedef unsigned char TD_PUSMemData
 Type for a single memory load data as used by the memory load service.

typedef unsigned int TD_PUSMemId
 Type for the memory ID field of the memory load and memory dump telecommand packets.

typedef unsigned char TD_PUSNumberMemBlocks
 Type for the number of blocks in a memory load and memory dump telecommand packet.

typedef unsigned short TD_PUSMemOffset
 Type for the offset field in a memory load and memory dump telecommand packet.

typedef unsigned char TD_TelemetryType
 Type for the telemetry packet type.

typedef unsigned char TD_TelemetrySubType
 Type for the telemetry packet sub type.

typedef unsigned short TD_TelemetryDestination
 Type for the telemetry packet destination.

typedef enum EventType TD_EventType
 Type for event type identifiers.


Enumerations

enum  ActionOutcome {
  ACTION_DISABLED = 1, ACTION_SUCCESS, ACTION_FAILURE, ACTION_CANNOT_EXECUTE,
  ACTION_RESET, MEM_LOAD_PRE_CHECKSUM_FAILED, MEM_LOAD_POST_CHECKSUM_FAILED, PACKET_NOT_FOUND,
  PUS_MODE_MAN_FULL, APP_DATA_INCONSISTENT, TM_MAN_QUEUE_FULL, LAST_ACTION_OUTCOME = TM_MAN_QUEUE_FULL
}
 Type for the outcome code of a punctual action. More...

enum  DataItemType {
  DI_CHAR, DI_UNSIGNED_CHAR, DI_SHORT, DI_UNSIGNED_SHORT,
  DI_INT, DI_UNSIGNED_INT, DI_FLOAT, DI_DOUBLE
}
 Type for the identifier of a data item variable type. More...

enum  EventType {
  EVT_NULL = 0, EVT_PUNCTUAL_ACTION_EXEC, EVT_PUNCTUAL_ACTION_DIS, EVT_FSM_TRANSITION,
  EVT_FSM_TRANSITION_DISABLED, EVT_FSM_ENTRY_FAILED, EVT_FSM_EXIT_FAILED, EVT_FSM_ALL_TRANSITION_DISABLED,
  EVT_TC_NOT_VALID, EVT_TC_LOADED, EVT_TC_EXEC_SUCC, EVT_TC_ABORTED,
  EVT_TC_LIST_FULL, EVT_TC_EXEC_CHECK_FAIL, EVT_TC_EXEC_FAIL, EVT_MON_PROFILE_VIOLATION,
  EVT_MOD_TRANS_INHIBITED, EVT_MOD_TRANS_PERFORMED, EVT_TOO_MANY_TM_BYTES, EVT_TM_QUEUE_FULL,
  EVT_TM_ITEM_NOT_VALID, EVT_TMW_WRONG_BYTE_INDEX, EVT_PUS_DATA_REP_PACKET_TOO_LARGE, EVT_PUS_TOO_MANY_DUMP_BLOCKS,
  EVT_PUS_ILLEGAL_BLOCK_INDEX, EVT_PUS_TOO_MANY_MEM_DATA, EVT_MAN_STARTED, EVT_MAN_ABORTED,
  EVT_MAN_TERMINATED, EVT_MAN_PROGRESS, EVT_MAN_LOADED, EVT_MAN_UNLOADED,
  EVT_MAN_RESUMED, EVT_MAN_SUSPENDED, EVT_MAN_LIST_FULL, EVT_ILLEGAL_CB,
  EVT_ILLEGAL_FS, EVT_ILLEGAL_MM, EVT_RECONFIG, EVT_RECONFIG_NO_HEALTHY,
  EVT_RECONFIG_DISABLED, EVT_ILLEGAL_CONFIG, EVT_CRIT_TC_TIMEOUT, EVT_CRIT_TC_IMG_INV,
  EVT_CRIT_TC_ARMED, EVT_STACK_FULL, EVT_STACK_EMPTY, EVT_PUS_REP_POOL_FULL,
  EVT_ILLEGAL_MP, EVT_ILLEGAL_CL, EVT_ILLEGAL_PUS_REP_PACKET, EVT_ILLEGAL_DB_ACCESS,
  EVT_ILLEGAL_DP_ACCESS, EVT_TM_PCK_ALLOC_FAILURE, EVT_MAN_ALLOC_FAILURE, EVT_TC_ALLOC_FAILURE,
  EVT_NO_TC_AVAIL, EVT_UNKNOWN_TC_TYPE, EVT_TC_TOO_LONG, EVT_TOO_MANY_TC_PCKT,
  EVT_TM_STREAM_END, EVT_SID_NOT_FOUND, LAST_EVENT_TYPE = EVT_SID_NOT_FOUND
}
 Type for event type identifiers. More...


Typedef Documentation

typedef enum ActionOutcome TD_ActionOutcome
 

Type for the outcome code of a punctual action.

Some outcome codes are generic and are used by several classes. Others are specific to a particular class and are used to convey information about specific error conditions that arise within that class. From a syntactical point of view, the outcome codes are enumeration whose values have the following meaning:<ol> ACTION_DISABLED: outcome returned by an action that received an "execute" request but was disabled. ACTION_SUCCESS: outcome returned by an action that received an "execute" request and executed successfully. ACTION_FAILURE: outcome returned by an action that received an "execute" request and executed unsuccessfully. ACTION_CANNOT_EXECUTE: outcome returned by an action that received an "execute" request but could not be executed because the execution check returned "action cannot execute". ACTION_RESET: default value used for the last outcome of a punctual action after the punctual action has been reset or initialized. MEM_LOAD_PRE_CHECKSUM_FAILED: action outcome that is specific to class PUSMemoryLoad. PACKET_NOT_FOUND: action outcome that is returned when a telemetry packet is requested from the telemetry packet factory but the factory does not have the requested packet. PUS_MODE_MAN_FULL: action outcome that is returned when an attempt is made to load a telemetry packet in the PUS telemetry mode manager but this fails because the mode manager is full. TM_MAN_QUEUE_FULL: action outcome that is returned when an attempt is made to load a telemetry packet in the immediate dispatch queue of the telemetry manager but the operation cannot be performed because the queue is full. APP_DATA_INCONSISTENT: action outcome that is returned when a telecommand finds that its application data are inconsistent.

See also:
PunctualAction::execute

PunctualAction::getLastOutcome

ConditionalPunctualAction::doAction

DC_FdirCheck::doAction

typedef TD_PUSPacketId TD_APID
 

Type for the PUS application identifier.

See also:
PUSTelecommand#setAPID

PUSTelemetryPacket#setAPID

Definition at line 240 of file BasicTypes.h.

typedef unsigned int TD_CheckCode
 

Type for the check code that some components can return to give information about the reasons for the failure of one of their checks.

See also:
Telecommand

Definition at line 178 of file BasicTypes.h.

typedef unsigned short TD_ClassId
 

Type for class identifiers.

Each framework class derived from the root class CC_RootObject is characterized by a class identifier.

See also:
CC_RootObject

Definition at line 33 of file BasicTypes.h.

typedef unsigned short TD_Config
 

Type for the index representing the configuration of a reconfiguration manager.

The configuration is represented as an index that must lie in the range [0,N-1] where N is the total number of configurations.

See also:
DC_BasicReconfigurer

Definition at line 140 of file BasicTypes.h.

typedef short TD_DatabaseId
 

Type for the identifier of a database parameter.

Only non negative values represent valid identifiers.

See also:
ParameterDatabase

Definition at line 185 of file BasicTypes.h.

typedef enum DataItemType TD_DataItemType
 

Type for the identifier of a data item variable type.

See also:
DC_DataItem

typedef int TD_DataPoolId
 

Type for a data pool identifier.

Only non negative values represent valid identifiers.

See also:
DataPool

Definition at line 192 of file BasicTypes.h.

typedef enum EventType TD_EventType
 

Type for event type identifiers.

Only values greater than 0 denote real events. Events can be filtered when they are stored in an event repository. Filtering is done by matching the event type identifiers with an event mask (see method create in class DC_EventRepository). For this reason, most users will want to map the enumeration values to integers in order to tune the masking mechanism.

The following event type identifiers are defined:<ol> EVT_NULL: this value is reserved for event objects that have not yet been initialized by the application. EVT_PUNCTUAL_ACTION_EXEC: type identifier for events created when a punctual action is executed. EVT_PUNCTUAL_ACTION_DIS: type identifier for events created when a punctual action is not executed because it is disabled. EVT_FSM_TRANSITION: type identifier for events created when an FSM performs a state transition. EVT_FSM_TRANSITION_DISABLED: type identifier for events created when an FSM fails to performs a state transition because the transition into the target state is disabled. EVT_FSM_ENTRY_FAILED: type identifier for events created when an FSM fails to performs a state transition because the entry check in the target state failed. EVT_FSM_EXIT_FAILED: type identifier for events created when an FSM fails to performs a state transition because the exit check from the current state failed. EVT_FSM_ALL_TRANSITION_DISABLED: type identifier for events created when an FSM fails to performs a state transition because the state transitions is disabled. EVT_TC_NOT_VALID: type identifier for events created when a telecommand is loaded in the telecommand manager but must immediately be aborted because a validity check failure. EVT_TC_LOADED: type identifier for events created when a telecommand is loaded in the telecommand manager and its validity check is successful. EVT_TC_EXEC_SUCC: type identifier for events created when a telecommand is successfully executed. EVT_TC_ABORTED: type identifier for events created when a telecommand is unloaded further to an abort request. EVT_TC_LIST_FULL: type identifier for events created when a telecommand load is attempted but cannot be executed because the list of pending telecommands in the telecommand manager is full. EVT_TC_EXEC_CHECK_FAIL: type identifier for events created when execution of a telecommand is attempted by the telecommand manager but cannot be performed because the telecommand execution check fails. EVT_TC_EXEC_FAIL: type identifier for events created when a telecommand is executed and returns with a action outcome other than ACTION_SUCCESS. EVT_MON_PROFILE_VIOLATION: type identifier for events created when a monitoring profile has detected a profile violation. EVT_MOD_TRANS_INHIBITED: type identifier for events created when a mode manager attempts a mode transition but cannot perform it because the transition is inhibited. EVT_MOD_TRANS_PERFORMED: type identifier for events created when a mode manager performs a mode transition. EVT_TOO_MANY_TM_BYTES: type identifier for events created when a telemetry manager finds that the number of telemetry bytes to be written to the telemetry stream exceeds the stream's capacity. EVT_TM_QUEUE_FULL: type identifier for events created when an attempt is made to load a telemetry packet for immediate dispatch in the telemetry manager and the internal queue for the packets is already full. EVT_PUS_DATA_REP_PACKET_TOO_LARGE: type identifier for events created when a PUS data reporting packet (see class DC_PUSDataReportingPacket) does not have sufficient space to store the parameter samples. EVT_PUS_TOO_MANY_DUMP_BLOCKS: type identifier for events created when a request is made to dump more memory blocks than can be accommodated by the implementation of the memory dump service PUS (see class DC_PUSMemoryDump) EVT_PUS_ILLEGAL_BLOCK_INDEX: type identifier for events created when an attempt is made to define an illegal memory dump block (see class DC_PUSMemoryDump) EVT_PUS_TOO_MANY_MEM_DATA: type identifier for events created when an attempt is made to dump or load too many memory locations. EVT_TM_ITEM_NOT_VALID: type identifier for events created when a telemetry item is found to be "not valid". EVT_TM_WRONG_BYTE_INDEX: type identifier for events created when a request is made to retrieve a a non-existent telemetry byte from a telemetry packet. EVT_MAN_STARTED: type identifier for events created when a manoeuvre starts execution. EVT_MAN_ABORTED: type identifier for events created when a manoeuvre is aborted. EVT_MAN_TERMINATED: type identifier for events created when a manoeuvre is terminated. EVT_MAN_LOADED: type identifier for events created when a manoeuvre is loaded in the manoeuvre manager. EVT_MAN_UNLOADED: type identifier for events created when a manoeuvre is unloaded from the manoeuvre manager. EVT_MAN_PROGRESS: type identifier for events created when the execution of a PUS telecommand manoeuvre has advanced. EVT_MAN_RESUMED: type identifier for events created when a manoeuvre is resumed (ie when its isSuspended flag changes from "manoeuvre is suspended" to "manoeuvre is not suspended"). EVT_MAN_SUSPENDED: type identifier for events created when a manoeuvre is resumed (ie when its isSuspended flag changes from "manoeuvre is not suspended" to "manoeuvre is suspended"). EVT_MAN_LIST_FULL: type identifier for events created when an attempt is made to load a manoeuvre in the manoeuvre manager but its list of pending manoeuvres is already full. EVT_ILLEGAL_CB: type identifier for events created when an attempt is made to access a non-existent element of a control block. EVT_ILLEGAL_FS: type identifier for events created when an attempt is made to access a non-existent FsmState. EVT_ILLEGAL_MM: type identifier for events created when an attempt is made to access a non-existent mode in a mode manager. EVT_RECONFIG: type identifier for events created when a reconfiguration is performed. EVT_RECONFIG_NO_HEALTHY: type identifier for events created when a reconfiguration is attempted but cannot be performed because there are no spare healthy configurations. EVT_RECONFIG_DISABLED: type identifier for events created when a reconfiguration is attempted but cannot be performed because reconfigurations are disabled. EVT_ILLEGAL_CONFIG: type identifier for events created when an operation is performed on a reconfiguration manager with an illegal configuration index (either negative or equal or greater than N where N is the total number of configurations). EVT_CRIT_TC_TIMEOUT: type identifier for events created when the "fire" command for a critical telecommand is rejected because it is too far in time from its "arm" command. EVT_CRIT_TC_IMG_INV: type identifier for events created when the "fire" command for a critical telecommand is rejected because the image check has failed. EVT_CRIT_TC_ARMED: type identifier for events created when a critical telecommand is armed. EVT_STACK_FULL: type identifier for events created when a push operation is performed on a stack container that is already full. EVT_STACK_EMPTY: type identifier for events created when a pop operation is performed on a stack container that is empty. EVT_PUS_REP_POOL_FULL: type identifier for events created when an attempt is made to allocate a PUS data reporting packet from a data reporting packet pool (see class DC_PUSDataReportingPacketFactory) that is already full. EVT_ILLEGAL_MP: type identifier for events created when an attempt is made to load a monitoring profile in a monitoring profile list (instance of class DC_ProfileList) at an illegal list address. EVT_ILLEGAL_CL: type identifier for events created when an attempt is made to load a control block in a control block list (instance of class DC_ControlList) at an illegal list address. EVT_ILLEGAL_PUS_REP_PACKET: type identifier for events created when an attempt is made to access a parameter in a PUS data reporting packet with an illegal index. EVT_ILLEGAL_DB_ACCESS: type identifier for events created when an attempt is made to access a parameter in a parameter database with an illegal identifier orwith the wrong type (e.g. when a parameter of type float is accessed with a method that is intended for parameters of type double). EVT_ILLEGAL_DP_ACCESS: type identifier for events created when an attempt is made to access a data pool item with an illegal identifier or with the wrong type (e.g. when a parameter of type float is accessed with a method that is intended for parameters of type double). EVT_TM_PCK_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a telemetry packet from the telemetry packet factory (class CC_TelemetryPacketFactory) and the request fails. EVT_MAN_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a manoeuvre from the manoeuvre factory (class CC_ManoeuvreFactory) and the request fails. EVT_TC_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a telecommand from the telecommand factory (class CC_TelecommandFactory) and the request fails. EVT_NO_TC_AVAIL: type identifier for events created when a request for a telecommand is made to a telecommand factory but the factory was unable to return a free telecommand component (see class DC_BasicPUSTcLoader). EVT_UNKNOWN_TC_TYPE: type identifier for events created when a telecommand loader finds a telecommand with a type that it does know how to handle (see class DC_BasicPUSTcLoader). EVT_TC_TOO_LONG: type identifier for events created when a telecommand loader finds a telecommand packet that is too long (see class DC_BasicPUSTcLoader). EVT_TOO_MANY_TC_PCKT: type identifier for events created when a telecommand loader is asked to process too many telecommand packets (see class DC_BasicPUSTcLoader). EVT_SID_NOT_FOUND: type identifier for events created when a request is made to unload a data reporting packet with a certain SID and that packet is not found (see class DC_PUSTelemetryModeManager). EVT_TM_STREAM_END: type identifier for events created when a telemetry stream cannot complete a write request because the "end" of the stream has been reached (see class DC_BasicPUSTmStream).

See also:
DC_Event

DC_EventRepository

typedef int TD_FsmStateIndex
 

Type for the index representing a state of an FSM.

The FSM state is represented as an index that must lie in the range [0,N-1] where N is the total number of states in the target FSM. Negative values are allowed but represent non-legal state indices.

See also:
DC_FsmEvent

CC_FSM

Definition at line 122 of file BasicTypes.h.

typedef unsigned short TD_InstanceId
 

Type for instance identifiers.

The constructor of the root class CC_RootObject assigns a unique instance identifier to each newly created object. This identifier is fixed and serves to identify the object instance.

See also:
CC_RootObject

Definition at line 25 of file BasicTypes.h.

typedef int TD_Mode
 

Type for the index representing the operational mode of a mode manager.

The mode is represented as an index that must lie in the range [0,N-1] where N is the total number of modes. Negative values are allowed but represent non-legal mode values.

See also:
ModeManager

Definition at line 131 of file BasicTypes.h.

typedef int TD_ObsCycle
 

Type for on-board cycle.

Only values greater than zero are legal. Negative values (typically -1) are allowed but should be used only to designate a non-valid time.

See also:
ObsClock

Definition at line 49 of file BasicTypes.h.

typedef int TD_ObsTime
 

Type for on-board time.

Only values greater than zero are legal. Negative values (typically -1) are allowed but should be used only to designate a non-valid time.

See also:
ObsClock

Definition at line 41 of file BasicTypes.h.

typedef unsigned short TD_PUSCollectionInterval
 

Type for the collection interval of a PUS data reporting packet.

See also:
DC_PUSDataReportingPacket

Definition at line 246 of file BasicTypes.h.

typedef unsigned char TD_PUSMemData
 

Type for a single memory load data as used by the memory load service.

This type also defines the single addressable unit (or SAU) for the memory management service.

See also:
DC_PUSMemoryLoad

DC_PUSMemoryDump

Definition at line 269 of file BasicTypes.h.

typedef unsigned int TD_PUSMemId
 

Type for the memory ID field of the memory load and memory dump telecommand packets.

See also:
DC_PUSMemoryLoadOffset

DC_PUSMemoryLoadAbsolute

DC_PUSMemoryDumpOffset

DC_PUSMemoryDumpAsbolute

Definition at line 279 of file BasicTypes.h.

typedef unsigned short TD_PUSMemLength
 

Type for an integer expressing the length of a memory block in the PUS memory management service.

See also:
DC_PUSMemoryLoad

DC_PUSMemoryDump

Definition at line 260 of file BasicTypes.h.

typedef unsigned short TD_PUSMemOffset
 

Type for the offset field in a memory load and memory dump telecommand packet.

See also:
DC_PUSMemoryLoadOffset

DC_PUSMemoryLoadAbsolute

DC_PUSMemoryDumpOffset

DC_PUSMemoryDumpAsbolute

Definition at line 299 of file BasicTypes.h.

typedef unsigned char TD_PUSNumberMemBlocks
 

Type for the number of blocks in a memory load and memory dump telecommand packet.

See also:
DC_PUSMemoryLoadOffset

DC_PUSMemoryLoadAbsolute

DC_PUSMemoryDumpOffset

DC_PUSMemoryDumpAsbolute

Definition at line 289 of file BasicTypes.h.

typedef unsigned char TD_PUSNumberOfParameters
 

Type for the number of parameters of a PUS data reporting packet.

See also:
DC_PUSDataReportingPacket

Definition at line 252 of file BasicTypes.h.

typedef unsigned short TD_PUSPacketId
 

Type for the PUS packet identifier.

See also:
PUSTelecommand::getPacketId

PUSTelemetryPacket::getPacketId

Definition at line 227 of file BasicTypes.h.

typedef unsigned int TD_SID
 

Type for the PUS structure identifier (SID).

See also:
DC_PUSDataReportingPacket

Definition at line 233 of file BasicTypes.h.

typedef unsigned char TD_TelecommandAck
 

Type for the telecommand acknowledge level attribute.

See also:
Telecommand

Definition at line 170 of file BasicTypes.h.

typedef unsigned short TD_TelecommandId
 

Type for the telecommand identifier.

See also:
Telecommand

Definition at line 146 of file BasicTypes.h.

typedef unsigned short TD_TelecommandSource
 

Type for the telecommand source.

See also:
Telecommand

Definition at line 164 of file BasicTypes.h.

typedef unsigned char TD_TelecommandSubType
 

Type for the telecommand sub type.

See also:
Telecommand

Definition at line 158 of file BasicTypes.h.

typedef unsigned char TD_TelecommandType
 

Type for the telecommand type.

See also:
Telecommand

Definition at line 152 of file BasicTypes.h.

typedef unsigned short TD_TelemetryDestination
 

Type for the telemetry packet destination.

See also:
TelemetryPacket

Definition at line 318 of file BasicTypes.h.

typedef unsigned char TD_TelemetrySubType
 

Type for the telemetry packet sub type.

See also:
TelemetryPacket

Definition at line 312 of file BasicTypes.h.

typedef unsigned char TD_TelemetryType
 

Type for the telemetry packet type.

See also:
TelemetryPacket

Definition at line 306 of file BasicTypes.h.

typedef unsigned short TD_TraceItem
 

Type for elemetary trace items.

Trace signals are broken up into items that are sent to the external set-up in one single operation.

See also:
Tracer

Definition at line 56 of file BasicTypes.h.


Enumeration Type Documentation

enum ActionOutcome
 

Type for the outcome code of a punctual action.

Some outcome codes are generic and are used by several classes. Others are specific to a particular class and are used to convey information about specific error conditions that arise within that class. From a syntactical point of view, the outcome codes are enumeration whose values have the following meaning:<ol> ACTION_DISABLED: outcome returned by an action that received an "execute" request but was disabled. ACTION_SUCCESS: outcome returned by an action that received an "execute" request and executed successfully. ACTION_FAILURE: outcome returned by an action that received an "execute" request and executed unsuccessfully. ACTION_CANNOT_EXECUTE: outcome returned by an action that received an "execute" request but could not be executed because the execution check returned "action cannot execute". ACTION_RESET: default value used for the last outcome of a punctual action after the punctual action has been reset or initialized. MEM_LOAD_PRE_CHECKSUM_FAILED: action outcome that is specific to class PUSMemoryLoad. PACKET_NOT_FOUND: action outcome that is returned when a telemetry packet is requested from the telemetry packet factory but the factory does not have the requested packet. PUS_MODE_MAN_FULL: action outcome that is returned when an attempt is made to load a telemetry packet in the PUS telemetry mode manager but this fails because the mode manager is full. TM_MAN_QUEUE_FULL: action outcome that is returned when an attempt is made to load a telemetry packet in the immediate dispatch queue of the telemetry manager but the operation cannot be performed because the queue is full. APP_DATA_INCONSISTENT: action outcome that is returned when a telecommand finds that its application data are inconsistent.

See also:
PunctualAction::execute

PunctualAction::getLastOutcome

ConditionalPunctualAction::doAction

DC_FdirCheck::doAction

Definition at line 96 of file BasicTypes.h.

enum DataItemType
 

Type for the identifier of a data item variable type.

See also:
DC_DataItem

Definition at line 210 of file BasicTypes.h.

enum EventType
 

Type for event type identifiers.

Only values greater than 0 denote real events. Events can be filtered when they are stored in an event repository. Filtering is done by matching the event type identifiers with an event mask (see method create in class DC_EventRepository). For this reason, most users will want to map the enumeration values to integers in order to tune the masking mechanism.

The following event type identifiers are defined:<ol> EVT_NULL: this value is reserved for event objects that have not yet been initialized by the application. EVT_PUNCTUAL_ACTION_EXEC: type identifier for events created when a punctual action is executed. EVT_PUNCTUAL_ACTION_DIS: type identifier for events created when a punctual action is not executed because it is disabled. EVT_FSM_TRANSITION: type identifier for events created when an FSM performs a state transition. EVT_FSM_TRANSITION_DISABLED: type identifier for events created when an FSM fails to performs a state transition because the transition into the target state is disabled. EVT_FSM_ENTRY_FAILED: type identifier for events created when an FSM fails to performs a state transition because the entry check in the target state failed. EVT_FSM_EXIT_FAILED: type identifier for events created when an FSM fails to performs a state transition because the exit check from the current state failed. EVT_FSM_ALL_TRANSITION_DISABLED: type identifier for events created when an FSM fails to performs a state transition because the state transitions is disabled. EVT_TC_NOT_VALID: type identifier for events created when a telecommand is loaded in the telecommand manager but must immediately be aborted because a validity check failure. EVT_TC_LOADED: type identifier for events created when a telecommand is loaded in the telecommand manager and its validity check is successful. EVT_TC_EXEC_SUCC: type identifier for events created when a telecommand is successfully executed. EVT_TC_ABORTED: type identifier for events created when a telecommand is unloaded further to an abort request. EVT_TC_LIST_FULL: type identifier for events created when a telecommand load is attempted but cannot be executed because the list of pending telecommands in the telecommand manager is full. EVT_TC_EXEC_CHECK_FAIL: type identifier for events created when execution of a telecommand is attempted by the telecommand manager but cannot be performed because the telecommand execution check fails. EVT_TC_EXEC_FAIL: type identifier for events created when a telecommand is executed and returns with a action outcome other than ACTION_SUCCESS. EVT_MON_PROFILE_VIOLATION: type identifier for events created when a monitoring profile has detected a profile violation. EVT_MOD_TRANS_INHIBITED: type identifier for events created when a mode manager attempts a mode transition but cannot perform it because the transition is inhibited. EVT_MOD_TRANS_PERFORMED: type identifier for events created when a mode manager performs a mode transition. EVT_TOO_MANY_TM_BYTES: type identifier for events created when a telemetry manager finds that the number of telemetry bytes to be written to the telemetry stream exceeds the stream's capacity. EVT_TM_QUEUE_FULL: type identifier for events created when an attempt is made to load a telemetry packet for immediate dispatch in the telemetry manager and the internal queue for the packets is already full. EVT_PUS_DATA_REP_PACKET_TOO_LARGE: type identifier for events created when a PUS data reporting packet (see class DC_PUSDataReportingPacket) does not have sufficient space to store the parameter samples. EVT_PUS_TOO_MANY_DUMP_BLOCKS: type identifier for events created when a request is made to dump more memory blocks than can be accommodated by the implementation of the memory dump service PUS (see class DC_PUSMemoryDump) EVT_PUS_ILLEGAL_BLOCK_INDEX: type identifier for events created when an attempt is made to define an illegal memory dump block (see class DC_PUSMemoryDump) EVT_PUS_TOO_MANY_MEM_DATA: type identifier for events created when an attempt is made to dump or load too many memory locations. EVT_TM_ITEM_NOT_VALID: type identifier for events created when a telemetry item is found to be "not valid". EVT_TM_WRONG_BYTE_INDEX: type identifier for events created when a request is made to retrieve a a non-existent telemetry byte from a telemetry packet. EVT_MAN_STARTED: type identifier for events created when a manoeuvre starts execution. EVT_MAN_ABORTED: type identifier for events created when a manoeuvre is aborted. EVT_MAN_TERMINATED: type identifier for events created when a manoeuvre is terminated. EVT_MAN_LOADED: type identifier for events created when a manoeuvre is loaded in the manoeuvre manager. EVT_MAN_UNLOADED: type identifier for events created when a manoeuvre is unloaded from the manoeuvre manager. EVT_MAN_PROGRESS: type identifier for events created when the execution of a PUS telecommand manoeuvre has advanced. EVT_MAN_RESUMED: type identifier for events created when a manoeuvre is resumed (ie when its isSuspended flag changes from "manoeuvre is suspended" to "manoeuvre is not suspended"). EVT_MAN_SUSPENDED: type identifier for events created when a manoeuvre is resumed (ie when its isSuspended flag changes from "manoeuvre is not suspended" to "manoeuvre is suspended"). EVT_MAN_LIST_FULL: type identifier for events created when an attempt is made to load a manoeuvre in the manoeuvre manager but its list of pending manoeuvres is already full. EVT_ILLEGAL_CB: type identifier for events created when an attempt is made to access a non-existent element of a control block. EVT_ILLEGAL_FS: type identifier for events created when an attempt is made to access a non-existent FsmState. EVT_ILLEGAL_MM: type identifier for events created when an attempt is made to access a non-existent mode in a mode manager. EVT_RECONFIG: type identifier for events created when a reconfiguration is performed. EVT_RECONFIG_NO_HEALTHY: type identifier for events created when a reconfiguration is attempted but cannot be performed because there are no spare healthy configurations. EVT_RECONFIG_DISABLED: type identifier for events created when a reconfiguration is attempted but cannot be performed because reconfigurations are disabled. EVT_ILLEGAL_CONFIG: type identifier for events created when an operation is performed on a reconfiguration manager with an illegal configuration index (either negative or equal or greater than N where N is the total number of configurations). EVT_CRIT_TC_TIMEOUT: type identifier for events created when the "fire" command for a critical telecommand is rejected because it is too far in time from its "arm" command. EVT_CRIT_TC_IMG_INV: type identifier for events created when the "fire" command for a critical telecommand is rejected because the image check has failed. EVT_CRIT_TC_ARMED: type identifier for events created when a critical telecommand is armed. EVT_STACK_FULL: type identifier for events created when a push operation is performed on a stack container that is already full. EVT_STACK_EMPTY: type identifier for events created when a pop operation is performed on a stack container that is empty. EVT_PUS_REP_POOL_FULL: type identifier for events created when an attempt is made to allocate a PUS data reporting packet from a data reporting packet pool (see class DC_PUSDataReportingPacketFactory) that is already full. EVT_ILLEGAL_MP: type identifier for events created when an attempt is made to load a monitoring profile in a monitoring profile list (instance of class DC_ProfileList) at an illegal list address. EVT_ILLEGAL_CL: type identifier for events created when an attempt is made to load a control block in a control block list (instance of class DC_ControlList) at an illegal list address. EVT_ILLEGAL_PUS_REP_PACKET: type identifier for events created when an attempt is made to access a parameter in a PUS data reporting packet with an illegal index. EVT_ILLEGAL_DB_ACCESS: type identifier for events created when an attempt is made to access a parameter in a parameter database with an illegal identifier orwith the wrong type (e.g. when a parameter of type float is accessed with a method that is intended for parameters of type double). EVT_ILLEGAL_DP_ACCESS: type identifier for events created when an attempt is made to access a data pool item with an illegal identifier or with the wrong type (e.g. when a parameter of type float is accessed with a method that is intended for parameters of type double). EVT_TM_PCK_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a telemetry packet from the telemetry packet factory (class CC_TelemetryPacketFactory) and the request fails. EVT_MAN_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a manoeuvre from the manoeuvre factory (class CC_ManoeuvreFactory) and the request fails. EVT_TC_ALLOC_FAILURE: type identifier for events created when a request is made to allocate a telecommand from the telecommand factory (class CC_TelecommandFactory) and the request fails. EVT_NO_TC_AVAIL: type identifier for events created when a request for a telecommand is made to a telecommand factory but the factory was unable to return a free telecommand component (see class DC_BasicPUSTcLoader). EVT_UNKNOWN_TC_TYPE: type identifier for events created when a telecommand loader finds a telecommand with a type that it does know how to handle (see class DC_BasicPUSTcLoader). EVT_TC_TOO_LONG: type identifier for events created when a telecommand loader finds a telecommand packet that is too long (see class DC_BasicPUSTcLoader). EVT_TOO_MANY_TC_PCKT: type identifier for events created when a telecommand loader is asked to process too many telecommand packets (see class DC_BasicPUSTcLoader). EVT_SID_NOT_FOUND: type identifier for events created when a request is made to unload a data reporting packet with a certain SID and that packet is not found (see class DC_PUSTelemetryModeManager). EVT_TM_STREAM_END: type identifier for events created when a telemetry stream cannot complete a write request because the "end" of the stream has been reached (see class DC_BasicPUSTmStream).

See also:
DC_Event

DC_EventRepository

Definition at line 550 of file BasicTypes.h.

Copyright 2003 P&P Software GmbH - All Rights Reserved