@@ -10,7 +10,8 @@ This node is structured into two parts:
## Driver
This part is intended for the implementation of the driver itself. The use of an external library to implement the driver is strongly recommended to separate the driver functionality from the ROS middleware. However it is also possible to implement the driver here. The main features of this part are listed next, and a detailed description can be found below.
* State machine to control the open, close, start and stop action of he driver.
* State machine to control the open, close, start and stop action of the driver.
* Mutex
<details><summary>Detailed features description</summary>
<p>
...
...
@@ -26,6 +27,9 @@ Some of the parameters of the driver may not be changed on the RUNNING state. Th
In addition to the driver transition action functions, a set of callback functions are also provided so that the driver node can perform some action (if necessary) after the driver has been opened (postOpenHook) or started (postStartHook), and before it is stopped (preStopHook) or closed (preCloseHook). These functions do nothing by default, but may be implemented by the inherited class to perform any required action.
### Mutex
The driver part provides a mutex to protect the access to critical information. This mutex can be used internally by the driver functions and also by the driver node through a set of public functions of the driver class (lock(), unlock() and try_enter()). Make sure the mutex is left unlocked after use to avoid blocking the normal operation of the node.