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:59] grafeeros_architecture:hal:config_ros [2018/01/18 15:54] – external edit 127.0.0.1
Line 18: Line 18:
 | msgType | string | message type | | msgType | string | message type |
 | dataField | string | data member of message | | dataField | string | data member of message |
-| callOne | boolean | ???? |+| callOne | boolean | newest availabe message is fetched (false), oldest not yet read message is fetched (true) |
 | queueSize | int | size of buffer, default = 1000 | | queueSize | int | size of buffer, default = 1000 |
 | useEerosSystemTime | boolean | use system time or timestamp of message | | useEerosSystemTime | boolean | use system time or timestamp of message |
Line 47: Line 47:
 | ::: | ::: | range_min | | ::: | ::: | range_min |
 | ::: | ::: | range_max | | ::: | ::: | range_max |
 +| DigIn | std_msgs::BatteryState | present |
 +| DigOut | std_msgs::BatteryState | present |
  
 +You can find a complete example, including a *.json file, in the [[getting_started:tutorials:start|]].
  
-DigIn     & sensor\_msgs::BatteryState & present          \\ 
  
-DigOut    & sensor\_msgs::BatteryState & present          \\ \cline{2-3}  
- 
-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} 
- 
- 
- 
-You can now declare \textit{PeripheralInputs} and \textit{PeripheralOutputs}: 
- 
-\lstset{language=c} 
- 
-\begin{lstlisting} 
- 
- PeripheralInput<double> analogIn0; 
- 
- PeripheralInput<bool> digitalIn0; 
- 
- PeripheralOutput<double> analogOut0; 
- 
- PeripheralOutput<bool> digitalOut0; 
- 
-\end{lstlisting} 
- 
- 
- 
-Call the constructor of the peripheral IOs with the \textit{signalID} used in the *.json file 
- 
-\begin{lstlisting} 
- 
-class MyControlSystem { 
- 
-public: 
- 
- MyControlSystem(double ts, ros::NodeHandle& rosNodeHandler): 
- 
- dt(ts), 
- 
- ... 
- 
- analogIn0("scanTimeIn0"), // argument has to match signalId of json 
- 
- digitalIn0("batteryPresent0"), 
- 
- analogOut0("scanTimeEchoOut0"), 
- 
- digitalOut0("batteryPresentEchoOut0"), 
- 
- ... 
- 
-} 
eeros_architecture/hal/config_ros.txt · Last modified: 2023/02/27 14:44 by ursgraf