This abstract template needs to be specialized in a ROS Publisher, for a specific ROS mesagge/sensor type.
More...
|
| | GenericSensorRosPublisher () |
| |
| virtual | ~GenericSensorRosPublisher () |
| |
| bool | open (yarp::os::Searchable ¶ms) override |
| | Open the DeviceDriver. More...
|
| |
| bool | close () override |
| | Close the DeviceDriver. More...
|
| |
| bool | attachAll (const yarp::dev::PolyDriverList &p) override |
| | Attach to a list of objects. More...
|
| |
| bool | detachAll () override |
| | Detach the object (you must have first called attach). More...
|
| |
| void | threadRelease () override |
| | Release method. More...
|
| |
| void | run () override |
| | Loop function. More...
|
| |
| | PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No) |
| | Constructor. More...
|
| |
| virtual | ~PeriodicThread () |
| |
| bool | start () |
| | Call this to start the thread. More...
|
| |
| void | step () |
| | Call this to "step" the thread rather than starting it. More...
|
| |
| void | stop () |
| | Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() called). More...
|
| |
| void | askToStop () |
| | Stop the thread. More...
|
| |
| bool | isRunning () const |
| | Returns true when the thread is started, false otherwise. More...
|
| |
| bool | isSuspended () const |
| | Returns true when the thread is suspended, false otherwise. More...
|
| |
| bool | setPeriod (double period) |
| | Set the (new) period of the thread. More...
|
| |
| double | getPeriod () const |
| | Return the current period of the thread. More...
|
| |
| void | suspend () |
| | Suspend the thread, the thread keeps running by doLoop is never executed. More...
|
| |
| void | resume () |
| | Resume the thread if previously suspended. More...
|
| |
| void | resetStat () |
| | Reset thread statistics. More...
|
| |
| double | getEstimatedPeriod () const |
| | Return estimated period since last reset. More...
|
| |
| void | getEstimatedPeriod (double &av, double &std) const |
| | Return estimated period since last reset. More...
|
| |
| unsigned int | getIterations () const |
| | Return the number of iterations performed since last reset. More...
|
| |
| double | getEstimatedUsed () const |
| | Return the estimated duration of the run() function since last reset. More...
|
| |
| void | getEstimatedUsed (double &av, double &std) const |
| | Return estimated duration of the run() function since last reset. More...
|
| |
| int | setPriority (int priority, int policy=-1) |
| | Set the priority and scheduling policy of the thread, if the OS supports that. More...
|
| |
| int | getPriority () const |
| | Query the current priority of the thread, if the OS supports that. More...
|
| |
| int | getPolicy () const |
| | Query the current scheduling policy of the thread, if the OS supports that. More...
|
| |
| | ~DeviceDriver () override=default |
| | Destructor. More...
|
| |
| template<class T > |
| bool | view (T *&x) |
| | Get an interface to the device driver. More...
|
| |
| virtual DeviceDriver * | getImplementation () |
| | Some drivers are bureaucrats, pointing at others. More...
|
| |
| virtual | ~IConfig () |
| | Destructor. More...
|
| |
| virtual bool | configure (Searchable &config) |
| | Change online parameters. More...
|
| |
| virtual | ~IMultipleWrapper () |
| | Destructor. More...
|
| |
template<class ROS_MSG>
class GenericSensorRosPublisher< ROS_MSG >
This abstract template needs to be specialized in a ROS Publisher, for a specific ROS mesagge/sensor type.
The parameters accepted by this device are:
| Parameter name | SubParameter | Type | Units | Default Value | Required | Description | Notes |
| topic | - | string | - | - | Yes | The name of the ROS topic opened by this device. | MUST start with a '/' character |
| node_name | - | string | - | $topic + "_node" | No | The name of the ROS node opened by this device | Autogenerated by default |
| period | - | double | s | - | Yes | Refresh period of the broadcasted values in seconds | |
Definition at line 46 of file GenericSensorRosPublisher.h.
Loop function.
This is the thread itself. The thread calls the run() function every <period> ms. At the end of each run, the thread will sleep the amounth of time required, taking into account the time spent inside the loop function. Example: requested period is 10ms, the run() function take 3ms to be executed, the thread will sleep for 7ms.
Note: after each run is completed, the thread will call a yield() in order to facilitate other threads to run.
Implements yarp::os::PeriodicThread.
Definition at line 239 of file GenericSensorRosPublisher.h.