Fawkes API  Fawkes Development Version
sensor_thread.cpp
1 
2 /***************************************************************************
3  * sensor_thread.cpp - Katana plugin sensor thread
4  *
5  * Created: Fri Jun 12 15:00:33 2009
6  * Copyright 2006-2009 Tim Niemueller [www.niemueller.de]
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Library General Public License for more details.
19  *
20  * Read the full text in the LICENSE.GPL file in the doc directory.
21  */
22 
23 #include "sensor_thread.h"
24 
25 using namespace fawkes;
26 
27 /** @class KatanaSensorThread "sensor_thread.h"
28  * Katana sensor thread.
29  * This thread integrates into the Fawkes main loop at the SENSOR hook and
30  * triggers the act thread to retrieve and write new sensor data.
31  * @author Tim Niemueller
32  */
33 
34 /** Constructor.
35  * @param act_thread Katana act thread instance to trigger for the sensor
36  * update.
37  */
39  : Thread("KatanaSensorThread", Thread::OPMODE_WAITFORWAKEUP),
40  BlockedTimingAspect(BlockedTimingAspect::WAKEUP_HOOK_SENSOR_ACQUIRE)
41 {
42  __act_thread = act_thread;
43 }
44 
45 void
47 {
48  __act_thread->update_sensor_values();
49 }
Fawkes library namespace.
Thread class encapsulation of pthreads.
Definition: thread.h:42
Thread aspect to use blocked timing.
Katana act thread.
Definition: act_thread.h:61
virtual void loop()
Code to execute in the thread.
KatanaSensorThread(KatanaActThread *act_thread)
Constructor.
void update_sensor_values()
Update sensor values as necessary.
Definition: act_thread.cpp:367