<?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:hal</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:48+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/config_ros?rev=1677505466&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/configuration_file?rev=1718029485&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/feature_functions?rev=1621150416&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries_sim?rev=1551541146&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries?rev=1777355186&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/input_devices?rev=1618566776&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/scaling_multi?rev=1621489061&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/scaling?rev=1651864148&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/start?rev=1553596777&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.eeros.org/eeros_architecture/hal/using_hal?rev=1493541990&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/hal/config_ros?rev=1677505466&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-27T13:44:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuration File for ROS</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/config_ros?rev=1677505466&amp;do=diff</link>
        <description>Configuration File for ROS

As described in Using ROS through EEROS HAL you can directly map EEROS signal onto ROS messages through the EEROS HAL. The wrapper library EEROS-ROS is used to connect the EEROS HAL with ROS topics. 

The EEROS HAL digital and analog inputs and outputs can be defined as usual in a JSON file. In this file you specify into which message type these signals get packed. There are hundreds of different message types in ROS and it is possible to create custom types. For this…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/configuration_file?rev=1718029485&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-10T14:24:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuration File</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/configuration_file?rev=1718029485&amp;do=diff</link>
        <description>Configuration File

The external hardware is decribed by means of a configuration file in JSON format. Every available hardware must be grouped into device, subdevice and channel. A device could be a data acquisition card, an external FPGA, or a pointing device such as a mouse. The subdevice denotes a certain function such as a group of digital-to-analog outputs or a bank of digital inputs. Finally, a channel is one of such a group of inputs or outputs. The complete list of available keywords ca…</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/feature_functions?rev=1621150416&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-16T07:33:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Feature Functions</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/feature_functions?rev=1621150416&amp;do=diff</link>
        <description>Feature Functions

All inputs and outputs of the HAL have a common set of properties and functions for reading or writing them. Some hardware channels have specific properties not common to other channels, e.g. a pulse width modulated output needs to be assigned its base frequency. Another example would be a digital to analog converter which has a calibration function which needs to be called upon request.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries_sim?rev=1551541146&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-02T15:39:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Hardware Simulator</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries_sim?rev=1551541146&amp;do=diff</link>
        <description>Hardware Simulator

The simulator offers digital and analog inputs and outputs. It offers to run simple example and test programs without the need of external hardware, see Tutorials. The wrapper library can be found in &lt;https://github.com/eeros-project/sim-eeros&gt;. 

Currently the simulator encompasses a</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries?rev=1777355186&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-28T05:46:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Hardware Libraries</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/hardware_libraries?rev=1777355186&amp;do=diff</link>
        <description>Hardware Libraries

The eeros framework uses various hardware libraries to access the underlying hardware. Currently we support the libraries listed below. If you need further hardware not listed below go to Create new Wrapper Library. It is important to notice that for each of the specific hardware libraries you need a wrapper library for eeros.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/input_devices?rev=1618566776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-16T09:52:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Reading from Mouse and XBoxController</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/input_devices?rev=1618566776&amp;do=diff</link>
        <description>Reading from Mouse and XBoxController

Mouse Input

You can use a mouse for position information or its button states. In the control system you create an instance of type Mouse Input. 

It is also possible to check for mouse input in the safety system by means of critical inputs. Defining a</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/scaling_multi?rev=1621489061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-20T05:37:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Setting Multiple Scales and Ranges</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/scaling_multi?rev=1621489061&amp;do=diff</link>
        <description>Setting Multiple Scales and Ranges

The existing hardware is often comprised of several stages. The HAL can account for this in the following way. 

Output to Control a Motor

The control of EEROS sets the torque for a motor. This signal passes a digital to analog converter and an amplifier. The amplifier delivers a current which is trabsformed by the motor constant into a torque.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/scaling?rev=1651864148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-06T19:09:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scale and Range of Analog Signals</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/scaling?rev=1651864148&amp;do=diff</link>
        <description>Scale and Range of Analog Signals

Within EEROS we work with signals having physically meaningful units. However, when such signals are read from real-world hardware we use analog-to-digital converters or encoder which are basically counters. When outputting such signals we use digital-to-analog converters. These counters or converters all deliver or need an integer value. Its maximum and minimum value depend on the resolution of the underlying hardware. The</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/start?rev=1553596777&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-26T10:39:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Hardware Abstraction Layer</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/start?rev=1553596777&amp;do=diff</link>
        <description>Hardware Abstraction Layer

The HAL provides an interface between the robot control system (consisting of control system, safety system, and sequencer) and the hardware of the robot. Any signal from a hardware input or output must pass through the HAL.</description>
    </item>
    <item rdf:about="https://wiki.eeros.org/eeros_architecture/hal/using_hal?rev=1493541990&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-30T08:46:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Using HAL Objects</title>
        <link>https://wiki.eeros.org/eeros_architecture/hal/using_hal?rev=1493541990&amp;do=diff</link>
        <description>Using HAL Objects

Hal objects are all the input and output channels given in the configuration. You can use these objects either from the safety system, the control system or the sequencer. 

Inputs and Outputs of the Safety System

The safety system can check for each of its safety levels whether the level of certain channels meet given criterias. Such channels are called critical inputs and outputs and have to be defined as such, see</description>
    </item>
</rdf:RDF>
