23 #ifndef __PLUGINS_JOYSTICK_ACQUISITION_THREAD_H_ 24 #define __PLUGINS_JOYSTICK_ACQUISITION_THREAD_H_ 26 #include "bb_handler.h" 28 #include <core/threading/thread.h> 29 #include <aspect/logging.h> 30 #include <aspect/configurable.h> 32 #include <utils/math/types.h> 72 protected:
virtual void run() { Thread::run(); }
75 void init(std::string device_file);
77 void open_forcefeedback();
80 std::string cfg_device_file_;
81 float cfg_safety_lockout_timeout_;
82 unsigned int cfg_safety_button_mask_;
83 unsigned int cfg_safety_bypass_button_mask_;
85 bool safety_combo_[5];
91 unsigned int axis_array_size_;
94 char joystick_name_[128];
99 unsigned int pressed_buttons_;
unsigned int pressed_buttons() const
Pressed buttons.
JoystickAcquisitionThread()
Constructor.
virtual void loop()
Code to execute in the thread.
float * axis_values()
Get values for the axes.
Fawkes library namespace.
Handler class for joystick data.
Thread class encapsulation of pthreads.
bool lock_if_new_data()
Lock data if fresh.
Joystick acqusition thread for Linux joystick API.
Logger * logger
This is the Logger member used to access the logger.
const char * joystick_name() const
Get joystick name.
JoystickForceFeedback * ff() const
Access force feedback of joystick.
Cause force feedback on a joystick.
char num_buttons() const
Get number of buttons.
virtual void finalize()
Finalize the thread.
Thread aspect to log output.
Thread aspect to access configuration data.
virtual void run()
Stub to see name in backtrace for easier debugging.
void unlock()
Unlock data.
Mutex mutual exclusion lock.
virtual void init()
Initialize the thread.
char num_axes() const
Get number of axes.