EEROS  1.0.0.0
API for the EEROS Real-Time Robotics Framework
XBoxInput.hpp
Go to the documentation of this file.
1 #ifndef ORG_EEROS_CONTROL_XBOXINPUT_HPP_
2 #define ORG_EEROS_CONTROL_XBOXINPUT_HPP_
3 
4 #include <string>
5 #include <thread>
7 #include <eeros/core/System.hpp>
8 #include <eeros/hal/XBox.hpp>
9 #include <eeros/math/Matrix.hpp>
10 
11 using namespace eeros::math;
12 using namespace eeros::hal;
13 
14 namespace eeros {
15  namespace control {
16 
17  class XBoxInput: public Block1o<Matrix<XBOX_AXIS_COUNT>> {
18  public:
19  XBoxInput(std::string dev);
20  virtual ~XBoxInput();
21 
22  virtual void run();
23  virtual void setInitPos(Matrix<XBOX_AXIS_COUNT> initPos);
24  virtual void setSpeedScaleFactor(double speedScale);
26 
27  inline void on_button(std::function<void(int, bool)> &&action) {
28  x.on_button(std::move(action));
29  }
30 
31  double speedScaleFactor = 1.0;
32 
33  double xScale = 0.0001;
34  double yScale = 0.0001;
35  double zScale = 0.0001;
36  double rScale = 0.002;
37  double min_x = -0.03;
38  double max_x = 0.045;
39  double min_y = -0.03;
40  double max_y = 0.03;
41  double min_z = -0.053;
42  double max_z = -0.015;
43  double min_r = -2.8;
44  double max_r = 2.8;
45 
46  protected:
50  };
51 
52  };
53 };
54 
55 #endif /* ORG_EEROS_CONTROL_XBOXINPUT_HPP_ */
void on_button(std::function< void(int, bool)> &&action)
Definition: XBoxInput.hpp:27
Definition: Block1o.hpp:12
Definition: Config.hpp:14
Matrix< 4, 4, double > axisScale
Definition: XBoxInput.hpp:48
Definition: Output.hpp:11
Definition: XBoxInput.hpp:17
Definition: HAL.hpp:16
Definition: Matrix.hpp:16
Output< Matrix< XBOX_BUTTON_COUNT, 1, bool > > buttonOut
Definition: XBoxInput.hpp:47
Definition: CoordinateSystem.hpp:9
XBox x
Definition: XBoxInput.hpp:49
Definition: XBox.hpp:47