23 #include "act_thread.h"
24 #include "sensor_thread.h"
25 #include "acquisition_thread.h"
27 #include <interfaces/JoystickInterface.h>
29 #include "force_feedback.h"
31 using namespace fawkes;
47 :
Thread(
"JoystickActThread",
Thread::OPMODE_WAITFORWAKEUP),
91 __joystick_if = joystick_if;
92 __joystick_connected =
false;
105 if (dynamic_cast<JoystickInterface::StartRumbleMessage *>(msg) != NULL) {
113 uint8_t e = __joystick_if->
ff_effects() | JoystickInterface::JFF_RUMBLE;
115 __joystick_if->
write();
118 else if (dynamic_cast<JoystickInterface::StopRumbleMessage *>(msg) != NULL)
123 __joystick_if->
write();
126 else if (dynamic_cast<JoystickInterface::StopAllMessage *>(msg) != NULL)
130 __joystick_if->
write();
143 if (__joystick_connected) {
145 __joystick_if->
write();
146 __joystick_connected =
false;
148 }
else if (! __joystick_connected) {
151 effects |= JoystickInterface::JFF_RUMBLE;
154 effects |= JoystickInterface::JFF_PERIODIC;
157 effects |= JoystickInterface::JFF_RAMP;
160 effects |= JoystickInterface::JFF_SPRING;
163 effects |= JoystickInterface::JFF_FRICTION;
166 effects |= JoystickInterface::JFF_DAMPER;
169 effects |= JoystickInterface::JFF_INERTIA;
172 effects |= JoystickInterface::JFF_CONSTANT;
175 __joystick_if->
write();
176 __joystick_connected =
true;
181 if (! __joystick_connected) {