rtw.connectivity.Config
Define connectivity implementation that comprises builder, launcher, and communicator components
Description
The rtw.connectivity.Config class specifies the actions
required for running a processor-in-the-loop (PIL) simulation.
Creation
Description
rtw.connectivity.Config(componentArgs, builder, launcher,
communicator)
creates an rtw.connectivity.Config object with these
arguments:
componentArgs–rtw.connectivity.ComponentArgsobjectbuilder–rtw.connectivity.Builderobject, for example,rtw.connectivity.MakefileBuilderobject.launcher–rtw.connectivity.Launcherobjectcommunicator–rtw.connectivity.Communicator, for example,rtw.connectivity.RtIOStreamHostCommunicatorobject.
To define a connectivity implementation:
Create a subclass of
rtw.connectivity.Configthat creates instances of your connectivity component classes:rtw.connectivity.MakefileBuilderrtw.connectivity.Launcherrtw.connectivity.RtIOStreamHostCommunicator
Define the constructor for your subclass:
function this = myConfig(componentArgs)
When the software creates an instance of your subclass of
rtw.connectivity.Config, it provides an instance of thertw.connectivity.ComponentArgsclass as the only constructor argument. If you want to test your subclass ofrtw.connectivity.Configmanually, you can create anrtw.connectivity.ComponentArgsobject to pass as a constructor argument.After instantiating the builder, launcher and communicator objects in your subclass, call the constructor of the superclass
rtw.connectivity.Configto define your complete target connectivity configuration. For example:this@rtw.connectivity.Config(componentArgs,... builder, launcher, communicator);
Optionally, for execution-time profiling, use the
setTimermethod to register your hardware timer. For example, if you specified the timer in a code replacement table, insert the following line:this.setTimer('myCrlTable')myCrlTableis the name of the code replacement table, which must be in a location on the MATLAB® search path.You can also estimate and remove instrumentation overheads from execution-time measurements. For example:
this.activateOverheadFiltering(true); this.runOverheadBenchmark(true); this.setOverheadBenchmarkSteps(50);
Optionally, for stack usage profiling, use the
setStackDrivermethod to specify a driver implementation that obtains stack usage data from the target hardware. For example, if you usecoder.profile.StackDriverto create the objectstackUsageDriver, insert the following line:this.setStackDriver(stackUsageDriver)
Register your subclass name, for example,
myPIL.ConnectivityConfig by using the class
rtw.connectivity.ConfigRegistry. The PIL infrastructure
instantiates your subclass as required. The rtwTargetInfo.m
file (for MATLAB) or sl_customization.m mechanism (for
Simulink®) specifies a suitable connectivity configuration for use with a
particular PIL component (and its configuration set). The subclass can also
perform additional validation on construction. For example, you can use the
component path returned by the getComponentPath method of the
componentArgs constructor argument to query and validate
parameters associated with the PIL component under test.
Examples
Using rtw.connectivity.Config in PIL Connectivity
For an example that shows how to use this object in setting up PIL connectivity, see:
Version History
Introduced in R2008b
See Also
rtw.connectivity.MakefileBuilder | rtw.connectivity.Launcher | rtw.connectivity.RtIOStreamHostCommunicator | rtw.connectivity.ComponentArgs
Topics
- Create PIL Target Connectivity Configuration for MATLAB
- Create PIL Target Connectivity Configuration for Simulink
- Specify Hardware Timer for MATLAB
- Specify Hardware Timer for Simulink
- Remove Instrumentation Overheads from Execution Time Measurements
- Implement Driver to Obtain Stack Usage Data During PIL Simulation
- Implement Driver to Obtain Stack Usage Data During PIL Execution
- SIL and PIL Limitations