23 #include "act_thread.h"
25 #include "acquisition_thread.h"
26 #include "force_feedback.h"
27 #include "sensor_thread.h"
29 #include <interfaces/JoystickInterface.h>
45 :
Thread(
"JoystickActThread",
Thread::OPMODE_WAITFORWAKEUP),
85 joystick_if_ = joystick_if;
86 joystick_connected_ =
false;
100 if (dynamic_cast<JoystickInterface::StartRumbleMessage *>(msg) != NULL) {
102 dynamic_cast<JoystickInterface::StartRumbleMessage *>(msg);
110 uint8_t e = joystick_if_->
ff_effects() | JoystickInterface::JFF_RUMBLE;
112 joystick_if_->
write();
114 }
else if (dynamic_cast<JoystickInterface::StopRumbleMessage *>(msg) != NULL) {
118 joystick_if_->
write();
120 }
else if (dynamic_cast<JoystickInterface::StopAllMessage *>(msg) != NULL) {
123 joystick_if_->
write();
135 if (joystick_connected_) {
137 joystick_if_->
write();
138 joystick_connected_ =
false;
140 }
else if (!joystick_connected_) {
143 effects |= JoystickInterface::JFF_RUMBLE;
146 effects |= JoystickInterface::JFF_PERIODIC;
149 effects |= JoystickInterface::JFF_RAMP;
152 effects |= JoystickInterface::JFF_SPRING;
155 effects |= JoystickInterface::JFF_FRICTION;
158 effects |= JoystickInterface::JFF_DAMPER;
161 effects |= JoystickInterface::JFF_INERTIA;
164 effects |= JoystickInterface::JFF_CONSTANT;
167 joystick_if_->
write();
168 joystick_connected_ =
true;
172 if (!joystick_connected_) {