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
Last revisionBoth sides next revision
getting_started:tutorials:hal0 [2019/08/14 13:49] grafgetting_started:tutorials:hal0 [2021/03/31 15:46] – [Accessing Output Signals Directly] 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 ''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.txt · Last modified: 2021/03/31 15:46 by ursgraf