Action

All RAMs have a standard set of actions defined within the RAM API. You can use the CAF to modify these standard actions to use additional input parameters, to use additional return values, or to be hidden from CARMA (essentially disabling the actions).

Note: Although it is not possible to specify to the CAF that a default parameter in a standard action be removed, such a parameter can simply be ignored in the implementation of that action if passed to the action by a CARMA client.

You can also declare new ("custom") actions. Each declared custom action must have an assigned ID (called its action ID). When a CARMA client attempts to invoke a custom action in a RAM, CARMA will first call the RAM's performAction function, passing the action ID (provided by the CARMA client) of the custom action as a parameter. The performAction function should then attempt to call the function for the custom action with the specified action ID.

Note: It is the responsibility of the RAM developer to handle the case where an invalid action ID is provided to the RAM's performAction function. A reasonable way of handling this case would be to return an error to the client along with a detailed error message.

CAF information for your RAM will include the following information about each action. (For disabled actions, only the RAM and action IDs are required.)

Name
The action's name.
Description
A short description of the action.
Action ID
A numeric identifier for the action between 0 and 999. Action IDs between 0 and 79 override standard actions (see Action IDs for a full listing of the IDs for the standard actions). Action IDs between 80 and 99 are reserved for use by CARMA. Use an ID between 100 and 999 to define a custom action.
RAM ID
The ID of the RAM the action belongs to.
Parameter list
A list of the IDs for the parameters the action uses. If you are overriding a standard action, you only need a list of those parameters that are being added to the list of standard parameters. If you are defining a custom action, you must list the IDs of all the parameters required by the action except the instance and member IDs, which are passed by default to every custom action.
Return value list
A list of the IDs for the return values the action returns. If you are overriding a standard action, you only need a list of those return values that are being added to the list of standard return values. If you are defining a custom action, you must list the IDs of all the return values being returned by the action except for the action's return code, which must always be returned by every custom action.