23 #ifndef _PLUGINS_NAO_BUTTON_THREAD_H_
24 #define _PLUGINS_NAO_BUTTON_THREAD_H_
26 #include <alcommon/alproxy.h>
27 #include <aspect/blackboard.h>
28 #include <aspect/blocked_timing.h>
29 #include <aspect/clock.h>
30 #include <aspect/configurable.h>
31 #include <aspect/logging.h>
32 #include <core/threading/thread.h>
33 #include <core/utils/lock_vector.h>
34 #include <interfaces/SwitchInterface.h>
35 #include <plugins/nao/aspect/naoqi.h>
40 class ALAudioPlayerProxy;
43 class NaoSensorInterface;
44 class SwitchInterface;
76 unsigned int activations,
77 unsigned int short_act,
78 unsigned int long_act);
82 void pattern_button_logic(
float value,
86 unsigned int &activations,
87 unsigned int &short_act,
88 unsigned int &long_act,
92 void bumpers_logic(
float value,
96 unsigned int &activations,
102 bool & remote_enabled,
103 int sound_short = -1,
104 int sound_long = -1);
109 bool & remote_enabled,
113 AL::ALPtr<AL::ALAudioPlayerProxy> auplayer_;
115 AL::ALProcessSignals::ProcessSignalConnection dcm_sigconn_;
128 int sound_longpling_;
130 int sound_bumper_left_;
131 int sound_bumper_right_;
133 bool chestbut_remote_enabled_;
134 bool lfoot_bumper_remote_enabled_;
135 bool rfoot_bumper_remote_enabled_;
136 bool head_front_remote_enabled_;
137 bool head_middle_remote_enabled_;
138 bool head_rear_remote_enabled_;
140 unsigned int last_shutdown_actcount;
141 bool cfg_chest_triple_long_click_shutdown_;