Configuration
You typically configure the RXF at the component level of your model.
This applies a default behaviour for the entire model. Via the Features
of a component and the Properties tab, you see a dropdown list: All,
Overridden, Locally overridden, Common,
RXF and
Filter...
There are two configuration aspects which you typically apply at the
class level:
- task details for an active class.
You may want to overload a default value.
- how to handle an event not consumed or a triggered
operation not consumed, if you want an exception on the default
behaviour for your model. See section VTBL below.
Deployer
Tab
On this tab you configure if you want to deploy and if you want to
launch or activate the IDE project where the generated code and RXF
sources are deployed to. The
configuration
of the exact paths and optional IDE used, are described separately.
Configuration
Tab
The configuration tab shows features which all result in constants
defined in generated configuration files, which are included by a
number of RXF source files.
The configuration details result in RXF_Config.h which is generated
next to your model code.
The following constants can be configured, if you are using
the OORTX or any RTOS:
- MS_PER_TICK
This setting must match the desired behaviour
of timeouts
- REACTIVE_MAX_NULL_STEPS. Number of allowed NULL transitions before the error handler is called.
When an RTOS is configured on the Deployer tab, the following
constants are added to the configuration:
- MAIN_TASK_QUEUE_SIZE and MAIN_TASK_STACK_SIZE
Please refer to the description on Concurrency
- MAIN_TASK_PRIORITY
Priority of Main task. Possible priorities and their RTOS specific
counterparts can be found in RXF_Priority.h.
All constants which can be used by the C++ code are generated in
RXF_Config.h.
Memory
Pools Tab
The RXF statically allocates memory pools to dynamically allocate
events.
Note that there is no
RXF::Configuration::EVENT_DEFAULT_BLOCK_SIZE but only
RXF::Configuration::EVENT_DEFAULT_BLOCK_COUNT which is used to specify
the number of elements for a pool used for events without parameters.
You can finetune the size of each pool by specifying the size
of respective blocks and the number of blocks (when 0, that pool is not
allocated).
To finetune the memory pools used, you can inspect high
water marks mechanism to investigate how your pools are used.
The use of the memory pools and the heap (used by
malloc()), can be configured via Properties.
Model
Checker
The RXF comes with
additional model checks. Some of them just enhance the "default"
Rhapsody model checks, others have been added to identify model
constructs that are not supported by the RXF. The RXF model checks can
be configured via properties in the ModelChecks subject. They can be
activated or deactivated at code generation time using the
properies under ModelChecks::General. The property help shown in
Rhapsody explains what the individual checks do.
User
Hooks Tab
Here you can configure a command to be called at the start or at the
end of a Make command when pressing Generate/Make/Run.
The RXF properties are described in a XML property help file, see Properties.