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