#include <Producer.hpp>
Public Member Functions | |
Producer (std::string const &name="cross_producer::Producer", TaskCore::TaskState initial_state=Stopped) | |
void | updateHook () |
The following lines are template definitions for the various state machine. | |
Friends | |
class | ProducerBase |
Definition at line 7 of file cross_producer/tasks/Producer.hpp.
Producer::Producer | ( | std::string const & | name = "cross_producer::Producer" , |
TaskCore::TaskState | initial_state = Stopped |
||
) |
Definition at line 5 of file cross_producer/tasks/Producer.cpp.
void Producer::updateHook | ( | ) |
The following lines are template definitions for the various state machine.
This hook is called by Orocos when the state machine transitions from PreOperational to Stopped. If it returns false, then the component will stay in PreOperational. Otherwise, it goes into Stopped.
It is meaningful only if the #needs_configuration has been specified in the task context definition with (for example):
task_context "TaskName" do needs_configuration ... end This hook is called by Orocos when the state machine transitions from Stopped to Running. If it returns false, then the component will stay in Stopped. Otherwise, it goes into Running and updateHook() will be called. This hook is called by Orocos when the component is in the Running state, at each activity step. Here, the activity gives the "ticks" when the hook should be called. See README.txt for different triggering options.
The warning(), error() and fatal() calls, when called in this hook, allow to get into the associated RunTimeWarning, RunTimeError and FatalError states.
In the first case, updateHook() is still called, and recovered() allows you to go back into the Running state. In the second case, the errorHook() will be called instead of updateHook() and in the third case the component is stopped and resetError() needs to be called before starting it again.
Definition at line 21 of file cross_producer/tasks/Producer.cpp.
friend class ProducerBase [friend] |
Definition at line 9 of file cross_producer/tasks/Producer.hpp.