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.