<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.eeros.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.eeros.org/feed.php">
        <title>Real-Time Robotics Framework - eeros_architecture:control_system:available_blocks</title>
        <description></description>
        <link>https://wiki.eeros.org/</link>
        <image rdf:resource="https://wiki.eeros.org/_media/logo.png" />
       <dc:date>2026-05-06T11:41:08+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/baumerom70?rev=1636530635&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopenreceive?rev=1717083422&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopensend?rev=1717082033&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canreceive?rev=1716822257&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/cansend?rev=1716822222&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/checker?rev=1625834164&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/const?rev=1593169353&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/d?rev=1620210405&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/delay?rev=1593170318&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/demux?rev=1617876859&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el1008?rev=1633598682&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el2008?rev=1633594661&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el3004?rev=1633599330&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el4004?rev=1633600564&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_in?rev=1638533047&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_out?rev=1638533008&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/gain?rev=1773918061&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/generic?rev=1776687037&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/int?rev=1625681207&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kalmanfilter?rev=1635707750&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kewboardinput?rev=1619081295&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/lp_filter?rev=1635581420&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ma_filter?rev=1635576372&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/median_filter?rev=1635577280&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mouseinput?rev=1606993802&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mul?rev=1621168080&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mux?rev=1736845298&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/odrive?rev=1636558316&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstacc?rev=1599127908&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstjerk?rev=1621168120&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannercubic?rev=1599116296&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheralinput?rev=1622202027&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheraloutput?rev=1622202089&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pixycam2?rev=1636554736&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ratelimiter?rev=1635704793&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/realsenset256?rev=1636554967&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubanalogsignal?rev=1742289266&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubdigitalsignal?rev=1742289412&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubodometry?rev=1742302865&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubsafetylevel?rev=1742289583&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subanalogsignal?rev=1742302734&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subdigitalsignal?rev=1742302760&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subtwist?rev=1742302963&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdouble?rev=1742301533&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdoublearray?rev=1742301548&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospublaserscan?rev=1742301572&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubsafetylevel?rev=1742301590&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdouble?rev=1742301663&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdoublearray?rev=1742301694&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossublaserscan?rev=1742301729&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rplidar?rev=1636557984&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/saturation?rev=1635758731&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sbgellipsea?rev=1636555383&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/socket?rev=1619086831&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/spacenavigator?rev=1619081348&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/step?rev=1621168145&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sum?rev=1621168161&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/switch?rev=1625681389&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/trace?rev=1534931672&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/transition?rev=1612968044&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/watchdog?rev=1718032147&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/wraparound?rev=1635703092&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/xboxinput?rev=1540279302&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.eeros.org/_media/logo.png">
        <title>Real-Time Robotics Framework</title>
        <link>https://wiki.eeros.org/</link>
        <url>https://wiki.eeros.org/_media/logo.png</url>
    </image>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/baumerom70?rev=1636530635&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T07:50:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Baumer OM7 Distance Sensor</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/baumerom70?rev=1636530635&amp;do=diff</link>
        <description>Baumer OM7 Distance Sensor

The Baumer OM70 is a laser distance sensor, Baumer OM70. They come for various measurement ranges. They are connected through Ethernet and use a MODBUS protocol. You will have to build and install MODBUS first, see MODBUS.

The block has a single output delivering the distance measurement.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopenreceive?rev=1717083422&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-30T15:37:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CANopen Receive</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopenreceive?rev=1717083422&amp;do=diff</link>
        <description>CANopen Receive

This block receives PDO packets over a CAN bus from a drive. The drives itself must be initialized by SDO transfers and brought into operational state where PDO transfer is possible. The control system must incorporate a block for sending and another one for receiving CAN messages, see</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopensend?rev=1717082033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-30T15:13:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CANopen Send</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canopensend?rev=1717082033&amp;do=diff</link>
        <description>CANopen Send

This block sends PDO packets over a CAN bus to one or several drives. The drives itself must be initialized by SDO transfers and brought into operational state where PDO transfer is possible. The control system must incorporate a block for sending and another one for receiving CAN messages.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canreceive?rev=1716822257&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-27T15:04:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CAN Receive</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/canreceive?rev=1716822257&amp;do=diff</link>
        <description>CAN Receive

This block receives raw CAN messages from one or several MYACTUATOR RMD-X series drives. The block outputs the position information of the drives on its output signal. 

The control system must incorporate a block for sending and another one for receiving CAN messages.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/cansend?rev=1716822222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-27T15:03:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CAN Send</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/cansend?rev=1716822222&amp;do=diff</link>
        <description>CAN Send

This block sends raw CAN messages to one or several MYACTUATOR RMD-X series drives. The block gets the position information for the drives from its input signal. The speed information for the drives can be set with


void setSpeed(Matrix&lt;N,1,double&gt;&amp; speed);</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/checker?rev=1625834164&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-09T12:36:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Signal Checker</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/checker?rev=1625834164&amp;do=diff</link>
        <description>Signal Checker

A signal checker block serves to check a signal of the control system to be within a given range. As soon as this is longer the case the block will trigger a safety event which can cause the safety system to change its level and handle the situation appropriately. See</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/const?rev=1593169353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-26T11:02:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Constant</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/const?rev=1593169353&amp;do=diff</link>
        <description>Constant

A constant block delivers a constant value at its output. Please remember that only after its run-method is executed for the first time that its output value changes from NaN to its constant value. The value of the constant block can set and get from external components such as the safety system or the sequencer.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/d?rev=1620210405&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-05T10:26:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Differentiator</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/d?rev=1620210405&amp;do=diff</link>
        <description>Differentiator

The differentiator block calculates the differences in values and timestamps of two consecutive input signals. If the timestamps of two consecutive input signals are equal, the output signal is set to the previous output signal.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/delay?rev=1593170318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-26T11:18:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Delay</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/delay?rev=1593170318&amp;do=diff</link>
        <description>Delay

A delay block is used to delay an input signal for a certain amount of time. The delay blocks consists of a buffer with a lenght depending on the delay time and the sampling rate.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/demux?rev=1617876859&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-08T10:14:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Demultiplexer</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/demux?rev=1617876859&amp;do=diff</link>
        <description>Demultiplexer

This blocks allows to split an input vector into its distinctive components.
Demultiplexer block
The type of the outputs could be of any type such as the default type double


DeMux&lt;2&gt; dm1; 


The input of this demultiplexer will be of type</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el1008?rev=1633598682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-07T09:24:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Beckhoff EL1008 Digital Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el1008?rev=1633598682&amp;do=diff</link>
        <description>Beckhoff EL1008 Digital Input

This block reads a Beckhoff EL1008 digital input device over EtherCAT and outputs up to 8 digital signals.

For the first two of the eight signals, the block automatically creates an instance of hal::BeckhoffEL1008DigIn</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el2008?rev=1633594661&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-07T08:17:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Beckhoff EL2008 Digital Output</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el2008?rev=1633594661&amp;do=diff</link>
        <description>Beckhoff EL2008 Digital Output

This block samples up to 8 digital input signals and sends their state over EtherCAT to a Beckhoff EL2008 digital output device.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el3004?rev=1633599330&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-07T09:35:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Beckhoff EL3004 Analog Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el3004?rev=1633599330&amp;do=diff</link>
        <description>Beckhoff EL3004 Analog Input

This block reads a Beckhoff EL3004 analog input device over EtherCAT and outputs up to 8 analog signals.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el4004?rev=1633600564&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-07T09:56:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Beckhoff EL4004 Analog Output</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/el4004?rev=1633600564&amp;do=diff</link>
        <description>Beckhoff EL4004 Analog Output

This block samples up to 4 analog input signals and sends their state over EtherCAT to a Beckhoff EL4004 analog output device.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_in?rev=1638533047&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-03T12:04:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Elmo Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_in?rev=1638533047&amp;do=diff</link>
        <description>Elmo Input

This block reads a Elmo drive over EtherCAT and outputs the position, velocity and torque values onto three output signals. All values must be scaled in order to get meaningful physical entities.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_out?rev=1638533008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-03T12:03:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Elmo Output</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/elmo_out?rev=1638533008&amp;do=diff</link>
        <description>Elmo Output

This block reads input signals for position, velocity and torque and sends them over EtherCAT to an Elmo drive. All values must be scaled from physical entities to fit into the transmit frame of EtherCAT.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/gain?rev=1773918061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-19T11:01:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gain</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/gain?rev=1773918061&amp;do=diff</link>
        <description>Gain

The gain block allows to amplify an input signal. In general, the input signal is of type matrix and hence, the gain will have to be a matrix as well. However, the type of the input signal and the output signal must be the same. When the gain block is disabled the output is equal to the input. When declaring a gain block you have to make sure that the gain matrix multiplied with the input type produces a result with the same type as the input type.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/generic?rev=1776687037&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-20T12:10:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Basic Block</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/generic?rev=1776687037&amp;do=diff</link>
        <description>Basic Block

Blockio is the basic block from which all other blocks inherit. See Custom Blocks to learn how to use this basic blocks for your custom made blocks. 

However, you can use this block directly and set its specific algorithm that will run whenever the block runs within a timedomain. Use the template parameters to choose any number of input and output signals together with their associated types. The algorithm can be passed to the constructor of the block with a lambda function.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/int?rev=1625681207&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-07T18:06:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Integrator</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/int?rev=1625681207&amp;do=diff</link>
        <description>Integrator

The integrator block allows to integrate an input signal. Before using it set its initial state with


setInitCondition(T val);


Without setting the initial state to a meaningful value, the output will be nan even after enabling the block.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kalmanfilter?rev=1635707750&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-31T19:15:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Kalman Filter</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kalmanfilter?rev=1635707750&amp;do=diff</link>
        <description>Kalman Filter

A kalman filter block is used to estimate the state of a system. 
The system must be described in a state space representation:

 
u -----------------------&gt; physical system ------------------------------&gt; y
    |                                                              |
    |                                                              |
    |   ---------------------&gt; D ---------------------             |
    |  |                                              |            |
 …</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kewboardinput?rev=1619081295&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-22T08:48:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Keyboard Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/kewboardinput?rev=1619081295&amp;do=diff</link>
        <description>Keyboard Input

A keyboard input block allows to read a registered set of keys from the keyboard. This set of registered keys are available on the output of this block. To give an example


KeyboardInput&lt;3&gt; keyboard{{&#039;a&#039;,&#039;b&#039;,&#039;c&#039;}, {&quot;start&quot;, &quot;stop&quot;, &quot;home&quot;}};</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/lp_filter?rev=1635581420&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-30T08:10:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Low Pass Filter</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/lp_filter?rev=1635581420&amp;do=diff</link>
        <description>Low Pass Filter

A low pass filter block is used to filter an input signal. The output signal value depends on the current and the past input signal value, according to the equation


valOut = valin * alpha + valprev * (1 - alpha) 


The filter can be disabled. In this case the current input will be
directed to the output.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ma_filter?rev=1635576372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-30T06:46:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Moving Average Filter</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ma_filter?rev=1635576372&amp;do=diff</link>
        <description>Moving Average Filter

A moving average filter block is used to filter an input signal. The output signal value depends linearly on the current and past input signal values. This is achieved by multiplying the current and the past values with coefficients. The output signal is the accumulated result.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/median_filter?rev=1635577280&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-30T07:01:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Median Filter</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/median_filter?rev=1635577280&amp;do=diff</link>
        <description>Median Filter

A median filter block is used to filter an input signal. The current input value together with a given number of past input values are sorted. The median of of these values is used as a new output value.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mouseinput?rev=1606993802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-03T11:10:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mouse Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mouseinput?rev=1606993802&amp;do=diff</link>
        <description>Mouse Input

This block allows to read the position and buttons of a mouse. It delivers position and button information on its output vectors. Positions can be scaled.

If the device cannot be opened due to a non existing device file or due to access restrictions a error message appears on the log.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mul?rev=1621168080&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-16T12:28:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Multiplier</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mul?rev=1621168080&amp;do=diff</link>
        <description>Multiplier

A multiplier takes its two input signals and multiplies them. If the inputs are of type matrix it will calculate the matrix products. When declaring this block you have to indicate the two types of the two input signals as well as the type of the output signal, e.g.:</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mux?rev=1736845298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-14T09:01:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Multiplexer</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/mux?rev=1736845298&amp;do=diff</link>
        <description>Multiplexer

This blocks allows to merge several distinctive signals into a vector.
Multiplexer block
The type of the inputs could be of any type such as


Mux&lt;2&gt; m1; 


The output of this multiplexer will be of type Matrix&lt;2,1,double&gt; or Vector2 while each input is simply of type</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/odrive?rev=1636558316&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T15:31:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ODrive</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/odrive?rev=1636558316&amp;do=diff</link>
        <description>ODrive

This block is used to control an ODrive, &lt;https://odriverobotics.com/&gt;. Such a drive can control up to two motors. It is connected through a USB or UART connection. The block has an input for speed control setting and offers three outputs, being the actual speed, actual current and the current setpoint. There are separate blocks for connecting over USB or UART.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstacc?rev=1599127908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-03T10:11:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Path Planner Constant Acceleration</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstacc?rev=1599127908&amp;do=diff</link>
        <description>Path Planner Constant Acceleration

This path planner with constant acceleration generates a trajectory where the acceleration is always constant. The trajectory leads from the start position to its end position. Both positions can be specified in several dimensions. The acceleration is set to a positive constant value. The velocity starts from 0 and goes up to its maximum value which can be chosen for each dimension. After this maximum velocity is reached the acceleration is set to 0 and the tr…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstjerk?rev=1621168120&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-16T12:28:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Path Planner Constant Jerk</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannerconstjerk?rev=1621168120&amp;do=diff</link>
        <description>Path Planner Constant Jerk

This path planner with constant acceleration generates a trajectory where the acceleration is always constant. The trajectory leads from the start position to its end position. Both positions can be specified in several dimensions. The acceleration is set to a positive constant value. The velocity starts from 0 and goes up to its maximum value which can be chosen for each dimension. After this maximum velocity is reached the acceleration is set to 0 and the trajectory…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannercubic?rev=1599116296&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-03T06:58:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Path Planner Cubic</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pathplannercubic?rev=1599116296&amp;do=diff</link>
        <description>Path Planner Cubic

This path planner takes precalculated cubic splines from a file and outputs the resulting values for jerk, acceleration, velocity and position onto its outputs. All these values are given for one dimension. The file must contain piecewise information about the jerk within a given interval together with the start conditions for acceleration, velocity and position at the beginning of the interval. You must make sure, that these initial values are the results from the last inter…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheralinput?rev=1622202027&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-28T11:40:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Peripheral Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheralinput?rev=1622202027&amp;do=diff</link>
        <description>Peripheral Input

This block allows to read a signal from some hardware source. This could be a simple digital input or an analog input. Such a block will always read from an input defined in the Hardware Abstraction Layer.
The constructor of this block looks like 


PeripheralInput(std::string id, bool exclusive = true);</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheraloutput?rev=1622202089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-28T11:41:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Peripheral Output</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/peripheraloutput?rev=1622202089&amp;do=diff</link>
        <description>Peripheral Output

This block allows to write to a hardware output. This could be a digital output or an analog output. Such a block will always write to an output defined in the Hardware Abstraction Layer.
The constructor of this block looks like 


PeripheralOutput(std::string id, bool exclusive = true);</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pixycam2?rev=1636554736&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T14:32:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PixyCam 2</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/pixycam2?rev=1636554736&amp;do=diff</link>
        <description>PixyCam 2

Pixy2 is a small camera able to detect and follow objects which have been teached before, &lt;https://pixycam.com/&gt;. It is connected over USB2. You have to fetch and install a suitable library first, see PixyCam.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ratelimiter?rev=1635704793&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-31T18:26:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Rate Limiter</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ratelimiter?rev=1635704793&amp;do=diff</link>
        <description>Rate Limiter

The RateLimiter block limits the first derivative of the signal passing through it. To give an example:

	*  if the signal is a position, a rate limiter will limit the velocity with which the signal can change at its output.
	*  if the signal is a velocity, a rate limiter will limit the acceleration with which the signal can change at its output.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/realsenset256?rev=1636554967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T14:36:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RealSense T256</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/realsenset256?rev=1636554967&amp;do=diff</link>
        <description>RealSense T256

The RealSense T256 is a camera for localization and mapping, Realsense T256. It is connected over USB3. It outputs signals for translation, velocity, acceleration, angular velocity and angular acceleration. Another output delivers quaternions.

Fetch and install the accompanying library, see</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubanalogsignal?rev=1742289266&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T09:14:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Publisher Analog Signal</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubanalogsignal?rev=1742289266&amp;do=diff</link>
        <description>ROS2 Publisher Analog Signal

This block samples the signal at its input and packs it into a ROS2 message of type eeros_msgs::msg::AnalogSignal. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherAnalogSignal&lt;&gt; pubAS(node, &quot;myTopic&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubdigitalsignal?rev=1742289412&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T09:16:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Publisher Digital Signal</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubdigitalsignal?rev=1742289412&amp;do=diff</link>
        <description>ROS2 Publisher Digital Signal

This block samples the signal at its input and packs it into a ROS2 message of type eeros_msgs::msg::DigitalSignal. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherDigitalSignal&lt;&gt; pubDS(node, &quot;myTopic&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubodometry?rev=1742302865&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T13:01:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Publisher Odometry Message</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubodometry?rev=1742302865&amp;do=diff</link>
        <description>ROS2 Publisher Odometry Message

This block creates a odometry message of type nav_msgs::msg::odometry from the input signals
pose and twist and publishes it as a nav_msgs::msg::odometry message.


  RosPublisherOdometry pubOdom(node, &quot;/test/odom&quot;, &quot;rbf&quot;, &quot;of&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubsafetylevel?rev=1742289583&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T09:19:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Publisher Safety Level</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2pubsafetylevel?rev=1742289583&amp;do=diff</link>
        <description>ROS2 Publisher Safety Level

This block reads the safety level id and packs it into a ROS message of type std_msgs::msg::String. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherSafetyLevel pubSL(node, &quot;myTopic&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subanalogsignal?rev=1742302734&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:58:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Subscriber Analog Signal</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subanalogsignal?rev=1742302734&amp;do=diff</link>
        <description>ROS2 Subscriber Analog Signal

This block receives ROS messages of type eeros_msgs::msg::AnalogSignal. Each time the block is run by its time domain, the content of the last message is written to the signal output of the block.


  RosSubscriberAnalogSignal&lt;&gt; sub(node, &quot;myNode/myTopic&quot;); // create subscriber block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subdigitalsignal?rev=1742302760&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:59:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Subscriber Digital Signal</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subdigitalsignal?rev=1742302760&amp;do=diff</link>
        <description>ROS2 Subscriber Digital Signal

This block receives ROS messages of type eeros_msgs::msg::DigitalSignal. Each time the block is run by its time domain, the content of the last message is written to the signal output of the block.


  RosSubscriberDigitalSignal&lt;&gt; sub(node, &quot;myNode/myTopic&quot;); // create subscriber block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subtwist?rev=1742302963&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T13:02:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS2 Subscriber Twist Message</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/ros2subtwist?rev=1742302963&amp;do=diff</link>
        <description>ROS2 Subscriber Twist Message

This block receives a twist message of type geometry_msgs::msg::twist from the input signals
pose and twist and publishes it as a geometry_msgs::msg::twist message.


  RosSubscriberTwist subTwist(node, &quot;/test/twist&quot;); // create subscriber block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdouble?rev=1742301533&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:38:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Publisher Double</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdouble?rev=1742301533&amp;do=diff</link>
        <description>ROS Publisher Double

This block samples the signal at its input and packs it into a ROS message of type std_msgs::Float64. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherDouble pubDouble(&quot;myTopic&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdoublearray?rev=1742301548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:39:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Publisher Double Array</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubdoublearray?rev=1742301548&amp;do=diff</link>
        <description>ROS Publisher Double Array

This block samples the vector signal at its input and packs it into a ROS message of type std_msgs::Float64MultiArray. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherDoubleArray pubArray(&quot;myTopic&quot;, 100); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospublaserscan?rev=1742301572&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:39:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Publisher Laser Scan</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospublaserscan?rev=1742301572&amp;do=diff</link>
        <description>ROS Publisher Laser Scan

This block samples the sensor signal of a laser scanner at its inputs and packs it into a ROS message of type sensor_msgs::LaserScan. Each time the block is run by its time domain, this message is published under a given topic name.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubsafetylevel?rev=1742301590&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:39:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Publisher Safety Level</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rospubsafetylevel?rev=1742301590&amp;do=diff</link>
        <description>ROS Publisher Safety Level

This block reads the safety level id and packs it into a ROS message of type std_msgs::UInt32. Each time the block is run by its time domain, this message is published under a given topic name.


  RosPublisherSafetyLevel pubSL(&quot;myTopic&quot;); // create publisher block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdouble?rev=1742301663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:41:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Subscriber Double</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdouble?rev=1742301663&amp;do=diff</link>
        <description>ROS Subscriber Double

This block receives ROS messages of type std_msgs::Float64. Each time the block is run by its time domain, the message content is written to the output of the block.


  RosSubscriberDouble subDouble(&quot;myNode/myTopic&quot;); // create subscriber block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdoublearray?rev=1742301694&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:41:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Subscriber Double Array</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossubdoublearray?rev=1742301694&amp;do=diff</link>
        <description>ROS Subscriber Double Array

This block receives ROS messages of type std_msgs::Float64MultiArray. Each time the block is run by its time domain, the message content is written to the output of the block.


  RosSubscriberDoubleArray subArray(&quot;myNode/myTopic&quot;); // create subscriber block</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossublaserscan?rev=1742301729&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-18T12:42:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ROS Subscriber Laser Scan</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rossublaserscan?rev=1742301729&amp;do=diff</link>
        <description>ROS Subscriber Laser Scan

This block receives a ROS message of type sensor_msgs::LaserScan. Each time the block is run by its time domain, the last message received is driven on its output signals.


  // create subscriber block, laserscanner range has a size of 150 values
  RosSubscriberLaserScan&lt;Matrix&lt;150, 1, double&gt;, Matrix&lt;150, 1, double &gt;&gt; laserScan(&quot;myNode/myTopic&quot;, 100, false);</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rplidar?rev=1636557984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T15:26:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RP Lidar</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/rplidar?rev=1636557984&amp;do=diff</link>
        <description>RP Lidar

This block is used to gather data from a RP lidar laser range sensor, &lt;https://www.slamtec.com/en/Lidar/A2&gt;. It is connected through a serial port and offers two outputs, being the distance and the angles.

You have to fetch and install a suitable library first, see RPLidar.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/saturation?rev=1635758731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-01T09:25:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Saturation</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/saturation?rev=1635758731&amp;do=diff</link>
        <description>Saturation

A Saturation block limits an input value between two limit values. The output value will always vary between lower and upper limit.

If the block is disabled, the output value will simply follow the input.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sbgellipsea?rev=1636555383&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-10T14:43:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SBG Ellipse-A</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sbgellipsea?rev=1636555383&amp;do=diff</link>
        <description>SBG Ellipse-A

This block reads a SBG Ellipse-A IMU sensor over USB and outputs the distance, Ellipse-A. It outputs euler angles, acceleration, gyro and quaternions.

You have to fetch and install a suitable library first, see SBG Ellipse-A.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/socket?rev=1619086831&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-22T10:20:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Socket Data</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/socket?rev=1619086831&amp;do=diff</link>
        <description>Socket Data

A socket data block allows for sending or receiving signal values to or from a remote station over a socket connection. This can be used to gather signals from a sensor or send signals to an remote control unit. Upon instantiation the block will create a socket server (or socket client) which runs in its own thread. Any socket client can now connect to this server. After a connection is established the two can send or receive any type of signal.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/spacenavigator?rev=1619081348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-22T08:49:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Space Navigator Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/spacenavigator?rev=1619081348&amp;do=diff</link>
        <description>Space Navigator Input

A space navigator input block allows to read the control inputs of such a device.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/step?rev=1621168145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-16T12:29:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Step</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/step?rev=1621168145&amp;do=diff</link>
        <description>Step

The step block delivers a step function on its output. The following lines show various 
examples.


Step&lt;Vector2&gt; s1({0.2, 2.5, 3.5});


The first parameter is the initial value, that is, the output value before the step happens. The second parameter denotes the step height while the third gives the time delay after which the step function happens. In our example, the output value will switch to 2.7 after 3.5s.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sum?rev=1621168161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-16T12:29:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sum</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/sum?rev=1621168161&amp;do=diff</link>
        <description>Sum

A sum block allows to add N input signals together to produce a single output signal. Each of the input signals can be negated if necessary with 


void negateInput(uint8_t index);


Situations can arise that a sum blocks draws one of its inputs from signals which are produced further down in the chain, e.g. feedback signals.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/switch?rev=1625681389&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-07T18:09:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Switch</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/switch?rev=1625681389&amp;do=diff</link>
        <description>Switch

A switch block allows to select one of several input signals to write to its output. The code below shows a switch with 3 inputs where the second input is selected.


Switch&lt;3&gt; sw;
sw.switchToInput(1);


You can also query the index of the selected input with</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/trace?rev=1534931672&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-22T09:54:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Trace</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/trace?rev=1534931672&amp;do=diff</link>
        <description>Trace

The trace block allows to sample the signal of its input into a ring buffer. This buffer captures the last n data points. A user application can log the content of the buffer into an external file. This can be useful for debugging purposes. For more information see</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/transition?rev=1612968044&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-10T14:40:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Transition</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/transition?rev=1612968044&amp;do=diff</link>
        <description>Transition

A transition block allows to connect two different time domains. It is basically a container holding two blocks. Each of the two time domains runs one of those two blocks.
A transition blocks connects two time domains. The function of this transition block depends on the ratio of the periods of the time domains.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/watchdog?rev=1718032147&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-10T15:09:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Watchdog</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/watchdog?rev=1718032147&amp;do=diff</link>
        <description>Watchdog

A watchdog device can greatly improve the overall safety of a system. We recommend to periodically reset such a watchdog from within the main time domain of the control system, e.g. the time domain which runs your actuators. Set the watchdog time to a reasonable multiple of the period of the time domain. Now, if your system gets stuck and your time domain does not run within its desired limit, the watchdog will timeout and switch off your drives. For further information about the use o…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/wraparound?rev=1635703092&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-31T17:58:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WrapAround</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/wraparound?rev=1635703092&amp;do=diff</link>
        <description>WrapAround

A wrap around block tailors a signal so that its value stays within a given range. It is especially useful for angular values such as an angle which accumulates but has to stay within for instance the range -π / +π. As soon as it reaches the upper limit its value will wrap around to the lower limit. Naturally the wrapping occurs when going in both directions.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/xboxinput?rev=1540279302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-23T07:21:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>XBox Input</title>
        <link>https://wiki.eeros.org/eeros_architecture/control_system/available_blocks/xboxinput?rev=1540279302&amp;do=diff</link>
        <description>XBox Input

This block allows to read the position and buttons of a XBox controller. It delivers axis and button information on its output vectors. 

If the device cannot be opened due to a non existing device file or due to access restrictions a error message appears on the log.</description>
    </item>
</rdf:RDF>
