-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMLSMapKalmanExporter.hpp
97 lines (82 loc) · 4.05 KB
/
MLSMapKalmanExporter.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
#ifndef ENVIRE_EXPORTERS_MLSMAPKALMANEXPORTER_TASK_HPP
#define ENVIRE_EXPORTERS_MLSMAPKALMANEXPORTER_TASK_HPP
#include "envire_exporters/MLSMapKalmanExporterBase.hpp"
namespace envire_exporters{
/*! \class MLSMapKalmanExporter
* \brief The task context provides and requires services. It uses an ExecutionEngine to perform its functions.
* Essential interfaces are operations, data flow ports and properties. These interfaces have been defined using the oroGen specification.
* In order to modify the interfaces you should (re)use oroGen and rely on the associated workflow.
*
* \details
* The name of a TaskContext is primarily defined via:
\verbatim
deployment 'deployment_name'
task('custom_task_name','envire_exporters::MLSMapKalmanExporter')
end
\endverbatim
* It can be dynamically adapted when the deployment is called with a prefix argument.
*/
class MLSMapKalmanExporter : public MLSMapKalmanExporterBase
{
friend class MLSMapKalmanExporterBase;
protected:
bool written;
maps::grid::MLSMapKalman map;
/* Handler for the writeMap operation
*/
virtual void writeMap();
public:
/** TaskContext constructor for MLSMapKalmanExporter
* \param name Name of the task. This name needs to be unique to make it identifiable via nameservices.
* \param initial_state The initial TaskState of the TaskContext. Default is Stopped state.
*/
MLSMapKalmanExporter(std::string const& name = "envire_exporters::MLSMapKalmanExporter", TaskCore::TaskState initial_state = Stopped);
/** TaskContext constructor for MLSMapKalmanExporter
* \param name Name of the task. This name needs to be unique to make it identifiable for nameservices.
* \param engine The RTT Execution engine to be used for this task, which serialises the execution of all commands, programs, state machines and incoming events for a task.
* \param initial_state The initial TaskState of the TaskContext. Default is Stopped state.
*/
MLSMapKalmanExporter(std::string const& name, RTT::ExecutionEngine* engine, TaskCore::TaskState initial_state = Stopped);
/** Default deconstructor of MLSMapKalmanExporter
*/
~MLSMapKalmanExporter();
/** 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):
\verbatim
task_context "TaskName" do
needs_configuration
...
end
\endverbatim
*/
bool configureHook();
/** 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.
*/
bool startHook();
/** 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.
*
* The error(), exception() and fatal() calls, when called in this hook,
* allow to get into the associated RunTimeError, Exception and
* FatalError states.
*
* In the first case, updateHook() is still called, and recover() allows
* you to go back into the Running state. In the second case, the
* errorHook() will be called instead of updateHook(). In Exception, the
* component is stopped and recover() needs to be called before starting
* it again. Finally, FatalError cannot be recovered.
*/
void updateHook();
};
}
#endif