User Tools

Site Tools


getting_started:tutorials:hal0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
getting_started:tutorials:hal0 [2019/08/14 13:49] grafgetting_started:tutorials:hal0 [2021/03/31 15:46] (current) ursgraf
Line 1: Line 1:
 ====== Using the HAL with the Simulator ====== ====== Using the HAL with the Simulator ======
-In the EEROS library you will find a directory with examples. Open a shell in the build directory of your EEROS library and run ''examples/hal/halTest1''. The system uses inputs and output. For this reason you will need to install a simple simulator, see [[getting_started:install_wrapper#simulator|]]. The following command will run the example +The [[eeros_architecture:hal:start|]] provides an interface between the robot control system and the hardware of the robot. As we do not have any real output we will use a simulator, see [[getting_started:install_wrapper#simulator|Simulator]]. The system in this example uses inputs and outputs.  
 + 
 +In the EEROS library you will find a directory with examples. For this example see [[https://github.com/eeros-project/eeros-framework/blob/master/examples/hal/HalTest1.cpp|HalTest1.cpp]].  
 + 
 +Open a shell in the build directory of your EEROS library and run 
 <code> <code>
 $ ./halTest1 -c HalTest1Config.json $ ./halTest1 -c HalTest1Config.json
Line 11: Line 15:
   * A constant value is output to analog output 0 and 2. These values change every 10 seconds. Both are reflected onto analog inputs 0 and 2, respectively.   * A constant value is output to analog output 0 and 2. These values change every 10 seconds. Both are reflected onto analog inputs 0 and 2, respectively.
  
 +===== Accessing Output Signals Directly =====
 +A peripheral output block delivers a signal to external hardware. Its signal value can be accessed with a get method, see line 46 in the comment in the example code in [[https://github.com/eeros-project/eeros-framework/blob/master/examples/hal/HalTest1.cpp|HalTest1.cpp]].
 +
 +Alternatively the signal in the HAL could be accessed by getting an reference to the corresponding output block with
 +<code cpp>
 +auto digOut = hal.getLogicOutput("dOut0", false);  // line 42
 +</code>
 +The signal value can then be logged with
 +block with
 +<code cpp>
 +log.info() << digOut->get(); // line 47
 +</code>
 +You have to make sure to access the output with non-exclusive rights, because the control system already has a handle to it, see line 28 in ''halTest1.hpp''. Likewise, the control system must access the same output in the same fashion.
getting_started/tutorials/hal0.1565783359.txt.gz · Last modified: 2019/08/14 13:49 by graf