Take control of the FEP System

FEP extension for ADTF Control

In FEP the 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.


This includes 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 FEP Systems. The default implementation of FEP makes use of a TCP broadcast address 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 FEP Participants. So instead of using adtf> runlevel running we can use fep::systemrunlevel running to bring the entire FEP System into state running.


With the ability to use the ADTF Control in scripting mode we can write scripts to start and control multiple ADTF instances:

Want to learn more about the ADTF Control and its Scripting Mode? See ADTF Control

Control a single ADTF instance as FEP Participant

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 fep://<fep_system_name>/<fep_participant_name>. 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:

Want to learn more about all available ADTF Control commands and how to use them? See ADTF Control

FEP and ADTF state machine (Selfmanaged)

Since the 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:

Where to go next?

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.