getting_started:tutorials:hal0
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| getting_started:tutorials:hal0 [2019/08/15 10:42] – ditaranto | getting_started:tutorials:hal0 [2024/12/01 12:01] (current) – [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 '' | + | The [[eeros_architecture: | 
| + | |||
| + | In the EEROS library you will find a directory with examples. | ||
| + | |||
| + | Open a shell in the build directory of your EEROS library and run | ||
| < | < | ||
| $ ./halTest1 -c HalTest1Config.json | $ ./halTest1 -c HalTest1Config.json | ||
| </ | </ | ||
| This examples creates a small control system with a couple of peripheral input and output blocks as shown below. | This examples creates a small control system with a couple of peripheral input and output blocks as shown below. | ||
| - | {{ : | + | [{{ : | 
| The dashed lines denote the feedback of the signals by the simulator. \\ | The dashed lines denote the feedback of the signals by the simulator. \\ | ||
| The main sequence alters the values on digital and analog outputs periodically. A separate periodic task logs the digital and analog inputs. | The main sequence alters the values on digital and analog outputs periodically. A separate periodic task logs the digital and analog inputs. | ||
| 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 41 in the comment in the example code in [[https:// | ||
| + | |||
| + | 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(" | ||
| + | </ | ||
| + | The signal value can then be logged with | ||
| + | block with | ||
| + | <code cpp> | ||
| + | log.info() << digOut-> | ||
| + | </ | ||
| + | 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 25 in '' | ||
getting_started/tutorials/hal0.1565858547.txt.gz · Last modified: 2019/08/15 10:42 by ditaranto
                
                