User Tools

Site Tools


eeros_architecture:hal:config_ros

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
Next revisionBoth sides next revision
eeros_architecture:hal:config_ros [2017/12/14 17:51] grafeeros_architecture:hal:config_ros [2017/12/14 18:34] – [How to Use the] graf
Line 27: Line 27:
 </code> </code>
  
 +===== Implemented Message Types =====
 +The table below shows all currently implemented message types and associated data fields. If your desired message type is not implemented yet, you can easily implement it yourself, see below.
  
-In table \ref{tableImplementedMsgTypes} are all currently implemented message types and associated data fields.+^ type ^ msgType ^ dataField ^ 
 +| AnalogIn | std_msgs::Float64 | - | 
 +| ::: | sensor_msgs::LaserScan | angle_min | 
 +| ::: | ::: | angle_max | 
 +| ::: | ::: | angle_increment | 
 +| ::: | ::: | time_increment | 
 +| ::: | ::: | scan_time | 
 +| ::: | ::: | range_min | 
 +| ::: | ::: | range_max | 
 +| AnalogOut | std_msgs::Float64 | - | 
 +| ::: | sensor_msgs::LaserScan | angle_min | 
 +| ::: | ::: | angle_max | 
 +| ::: | ::: | angle_increment | 
 +| ::: | ::: | time_increment | 
 +| ::: | ::: | scan_time | 
 +| ::: | ::: | range_min | 
 +| ::: | ::: | range_max | 
 +| DigIn | std_msgs::BatteryState | present | 
 +| DigOut | std_msgs::BatteryState | present |
  
-If your desired message type is not implemented yet, you can easily implement it yourself. +You can find a complete example, including a *.json file, in the [[getting_started:tutorials:start|]].
- +
-See chapter \ref{sectionImplementMsgType} for a guide to implement additional message types and data fields in \textit{ros-eeros}. +
- +
- +
- +
-\begin{table}[] +
- +
-\centering +
- +
-\caption{Currently implemented message types in ros-eeros} +
- +
-\label{tableImplementedMsgTypes} +
- +
-\begin{tabular}{lll} +
- +
-\cline{2-3} +
- +
-HAL type  & msgType                    & dataField        \\ \cline{2-3}  +
- +
-AnalogIn  & std\_msgs::Float64         & -                \\ +
- +
-          & sensor\_msgs::LaserScan    & angle\_min       \\ +
- +
-          &                            & angle\_max       \\ +
- +
-          &                            & angle\_increment \\ +
- +
-          &                            & time\_increment  \\ +
- +
-          &                            & scan\_time       \\ +
- +
-          &                            & range\_min       \\ +
- +
-          &                            & range\_max       \\ +
- +
-AnalogOut & std\_msgs::Float64         & -                \\ +
- +
-          & sensor\_msgs::LaserScan    & angle\_min       \\ +
- +
-          &                            & angle\_max       \\ +
- +
-          &                            & angle\_increment \\ +
- +
-          &                            & time\_increment  \\ +
- +
-          &                            & scan\_time       \\ +
- +
-          &                            & range\_min       \\ +
- +
-          &                            & range\_max       \\ +
- +
-DigIn     & sensor\_msgs::BatteryState & present          \\ +
- +
-DigOut    & sensor\_msgs::BatteryState & present          \\ \cline{2-3}  +
- +
-\end{tabular} +
- +
-\end{table} +
- +
- +
- +
-You can find a complete example, including a *.json file, in the eeros framework (/examples/hal/Ros*). +
- +
- +
- +
- +
- +
-\subsection{How to use} +
- +
-Refere to the documentation of the EEROS HAL\footnote{http://wiki.eeros.org/eeros\_architecture/hal/start?s[]=hal} and check the example in the eeros framework (/examples/ros). +
- +
- +
- +
-First initialize the HAL in your main function: +
- +
-\lstset{language=c} +
- +
-\begin{lstlisting} +
- +
-... +
- +
-int main(int argc, char **argv) { +
- +
- ... +
- +
- // HAL +
- +
- // //////////////////////////////////////////////////////////////////////// +
- +
- HAL& hal = HAL::instance(); +
- +
- hal.readConfigFromFile(&argc, argv); +
- +
- ... +
- +
-\end{lstlisting} +
- +
- +
- +
-Add the header file to your control system: +
- +
-\lstset{language=c} +
- +
-\begin{lstlisting} +
- +
-#include <eeros/hal/HAL.hpp> +
- +
-\end{lstlisting}+
  
 +===== How to Use the  =====
  
  
 You can now declare \textit{PeripheralInputs} and \textit{PeripheralOutputs}: You can now declare \textit{PeripheralInputs} and \textit{PeripheralOutputs}:
  
-\lstset{language=c} +<code cpp>
- +
-\begin{lstlisting} +
  PeripheralInput<double> analogIn0;  PeripheralInput<double> analogIn0;
  
Line 155: Line 65:
  
  PeripheralOutput<bool> digitalOut0;  PeripheralOutput<bool> digitalOut0;
- +</code>
-\end{lstlisting}+
  
  
Line 162: Line 71:
 Call the constructor of the peripheral IOs with the \textit{signalID} used in the *.json file Call the constructor of the peripheral IOs with the \textit{signalID} used in the *.json file
  
-\begin{lstlisting}+<code cpp>
  
 class MyControlSystem { class MyControlSystem {
Line 185: Line 94:
  
 } }
 +</code>
eeros_architecture/hal/config_ros.txt · Last modified: 2023/02/27 14:44 by ursgraf