Define connectivity implementation that comprises builder, launcher, and communicator components
The rtw.connectivity.Config
class specifies the actions
required for running a processor-in-the-loop (PIL) simulation.
rtw.connectivity.Config(componentArgs, builder, launcher,
communicator)
creates an rtw.connectivity.Config
object with these
arguments:
componentArgs
–
rtw.connectivity.ComponentArgs
object
builder
–
rtw.connectivity.Builder
object, for example,
rtw.connectivity.MakefileBuilder
object.
launcher
–
rtw.connectivity.Launcher
object
communicator
–
rtw.connectivity.Communicator
, for example,
rtw.connectivity
.RtIOStreamHostCommunicator
object.
To define a connectivity implementation:
Create a subclass of rtw.connectivity.Config
that creates instances of your connectivity component classes:
rtw.connectivity.MakefileBuilder
rtw.connectivity.Launcher
rtw.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 the rtw.connectivity.ComponentArgs
class as the only constructor argument. If you want to test your
subclass of rtw.connectivity.Config
manually, you
can create an rtw.connectivity.ComponentArgs
object 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.Config
to define your
complete target connectivity configuration. For example:
this@rtw.connectivity.Config(componentArgs,... builder, launcher, communicator);
Optionally, for execution-time profiling, use the
setTimer
method to register your hardware
timer. For example, if you specified the timer in a code replacement table, insert the following
line:
this.setTimer('myCrlTable')
myCrlTable
is 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);
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.
rtw.connectivity.Config
in PIL ConnectivityFor an example that shows how to use this object in setting up PIL connectivity, see:
rtw.connectivity.ComponentArgs
| rtw.connectivity.Launcher
| rtw.connectivity.MakefileBuilder
| rtw.connectivity.RtIOStreamHostCommunicator