FEP Control is used to control a
FEP System. In ADTF we have the ADTF Control for that purpose. To make your life easier we adopted some of the commands from
FEP Control into ADTF Control (It will be more in the future).
Please have a look at ADTF Control and its
FEP group within help call for an overview of available commands.
discoverallfepsystems to collect information regarding all available
FEP Systems in your network topology and
discoverfepsystem to discover all
FEP Participants which are part of one of those
The default implementation of
FEP makes use of a TCP broadcast address
188.8.131.52:9990. So you can only discover
FEP Participants that are part of this network segment.
In the future it is planned to make use of RTI Connext DDS (same technology use for the data transfer) which provides a routing service and more detailed configuration options
to overcome those limits.
Normally you use
adtf> connect tcp://localhost:8000 to connect to an ADTF Launcher. With
connectfepsystem you can connect to a
FEP System with multiple instances of ADTF Launcher and other
So instead of using
adtf> runlevel running we can use
fepsystemrunlevel running to bring the entire
FEP System into state running.
Please ignore warnings like the following in ADTF Control:
sendto 127.0.0.1:9990 for multicast address 184.108.40.206:9990 failed, errno = Ein Socketvorgang bezog sich auf ein nicht verf³gbares Netzwerk. (10051)
This is a known issue in the
FEP Service Bus.
With the ability to use the ADTF Control in scripting mode we can write scripts to start and control multiple ADTF instances:
adtf_launcher --control-url fep://<fep_system_name>/<fep_participant_name_1> adtf_launcher --control-url fep://<fep_system_name>/<fep_participant_name_2> adtf_control --url fep://<fep_system_name> -e fepsystemrunlevel running
Typically you use
http://localhost:8000 in the ADTF Control to connect to a single instance of ADTF Launcher. Using
FEP you can connect to a single ADTF Launcher with the address
All commands from ADTF Control will than be routed over the
FEP Bus to the corresponding ADTF as
FEP Participants. Then all commands can be used as usual. For Example you can create a report of an ADTF instance:
adtf_control --url fep://<fep_system_name>/<fep_participant_name> -e createreport
FEP SDK is totally independent of ADTF it comes with its own state machine. If you use ADTF as a
FEP Participant, there are two state machines in the same process that must be synchronized.
In a normal scenario, ADTF hands over complete control to the
FEP System and is controlled by it. But there are corner usecases where you are not part of a
FEP System and ADTF has to control its own state machine by itself.
For example if you want to use
FEP as a data bus only to transmit samples from one ADTF instance to another.
That's why we provide two different ways to use the ADTF url:
adtf_launcher --control-urlyour ADTF Session will be a fully qualified
FEP Participantsof the
FEP System. That means you are no longer in control of the ADTF state machine. At this point ADTF is part of the distributed state machine and will be started and stopped together with the other
FEP Participants. That means for example
adtf_control -e rl 5are no longer available to change the runlevel of ADTF.
FEP Participantstate machine. ADTF will automatically startup and shutdown the
FEP State Machine. This is necessary if you don't want to create and handle a whole
That's all you have to know about controlling the
FEP System and its
FEP Participants. The next guide will tell you more about
FEP integration and its components available for GUI Tools within ADTF.