kinect
Task.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 #ifndef KINECT_TASK_TASK_HPP
4 #define KINECT_TASK_TASK_HPP
5 
6 #include <libfreenect.h>
7 
8 #include "kinect/TaskBase.hpp"
9 #include <stdio.h>
10 #include <pthread.h>
11 
12 namespace kinect {
13 
32  void video_capturing_callback(freenect_device* device, void* video, uint32_t timestamp);
33 
37  void depth_capturing_callback(freenect_device* device, void* depth, uint32_t timestamp);
38 
42  void* processing_loop(void* self);
43 
44 
45 
46  class Task : public TaskBase
47  {
48  friend class TaskBase;
49  friend void video_capturing_callback(freenect_device* device, void* video, uint32_t timestamp);
50  friend void depth_capturing_callback(freenect_device* device, void* depth, uint32_t timestamp);
51  friend void* processing_loop(void* self);
52 
53  protected:
54  freenect_context* context;
55  freenect_device* device;
56 
57  freenect_frame_mode video_mode;
58  freenect_frame_mode depth_mode;
59 
62 
63  RTT::extras::ReadOnlyPointer<base::samples::frame::Frame> video_frame;
64  RTT::extras::ReadOnlyPointer<base::samples::DistanceImage> depth_frame;
65 
66  pthread_t freenect_thread;
67 
71  static void log_freenect_driver_informations(void);
72 
76  static void redirect_freenect_logs_to_rock(freenect_context* context, freenect_loglevel level, const char* msg);
77 
78 
82  bool initialize_freenect(void);
83 
84 
88  bool initialize_frames(void);
89 
90 
91  public:
96  Task(std::string const& name = "kinect::Task", RTT::base::TaskCore::TaskState state = Stopped);
97 
103  Task(std::string const& name, RTT::ExecutionEngine* engine, RTT::base::TaskCore::TaskState state = Stopped);
104 
107  ~Task();
108 
109 
124  //bool configureHook();
125 
131  bool startHook();
132 
147  void updateHook();
148 
155  void errorHook();
156 
160  void stopHook();
161 
166  //void cleanupHook();
167  };
168 }
169 
170 #endif
171 
friend class TaskBase
Definition: Task.hpp:48
uint8_t * internal_video_buffer
Definition: Task.hpp:60
void errorHook()
Definition: Task.cpp:431
freenect_frame_mode video_mode
Definition: Task.hpp:57
void depth_capturing_callback(freenect_device *device, void *depth, uint32_t timestamp)
Definition: Task.cpp:290
RTT::extras::ReadOnlyPointer< base::samples::frame::Frame > video_frame
Definition: Task.hpp:63
freenect_context * context
Definition: Task.hpp:54
void video_capturing_callback(freenect_device *device, void *video, uint32_t timestamp)
Definition: Task.cpp:270
Definition: Task.hpp:12
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: Task.hpp:46
uint8_t * internal_depth_buffer
Definition: Task.hpp:61
friend void * processing_loop(void *self)
void * processing_loop(void *self)
Definition: Task.cpp:312
static void redirect_freenect_logs_to_rock(freenect_context *context, freenect_loglevel level, const char *msg)
Definition: Task.cpp:112
void updateHook()
Definition: Task.cpp:382
freenect_device * device
Definition: Task.hpp:55
friend void video_capturing_callback(freenect_device *device, void *video, uint32_t timestamp)
~Task()
Definition: Task.cpp:66
bool initialize_freenect(void)
Definition: Task.cpp:148
bool startHook()
The following lines are template definitions for the various state machine.
Definition: Task.cpp:360
void stopHook()
Definition: Task.cpp:439
RTT::extras::ReadOnlyPointer< base::samples::DistanceImage > depth_frame
Definition: Task.hpp:64
Task(std::string const &name="kinect::Task", RTT::base::TaskCore::TaskState state=Stopped)
Definition: Task.cpp:44
freenect_frame_mode depth_mode
Definition: Task.hpp:58
static void log_freenect_driver_informations(void)
Definition: Task.cpp:71
friend void depth_capturing_callback(freenect_device *device, void *depth, uint32_t timestamp)
bool initialize_frames(void)
Definition: Task.cpp:181
pthread_t freenect_thread
Definition: Task.hpp:66