Commit | Line | Data |
---|---|---|
2a06c415 JM |
1 | #ifndef LINEARDELTASOLUTION_H |
2 | #define LINEARDELTASOLUTION_H | |
2c7ab192 | 3 | #include "libs/Module.h" |
2c7ab192 | 4 | #include "BaseSolution.h" |
2c7ab192 | 5 | |
681a62d7 | 6 | class Config; |
2c7ab192 | 7 | |
2a06c415 | 8 | class LinearDeltaSolution : public BaseSolution { |
2c7ab192 | 9 | public: |
2a06c415 | 10 | LinearDeltaSolution(Config*); |
807b9b57 JM |
11 | void cartesian_to_actuator(const float[], ActuatorCoordinates &) override; |
12 | void actuator_to_cartesian(const ActuatorCoordinates &, float[] ) override; | |
2c7ab192 | 13 | |
807b9b57 JM |
14 | bool set_optional(const arm_options_t& options) override; |
15 | bool get_optional(arm_options_t& options, bool force_all) override; | |
2c7ab192 | 16 | |
10e66797 | 17 | private: |
ec4773e5 JM |
18 | void init(); |
19 | ||
2c7ab192 JM |
20 | float arm_length; |
21 | float arm_radius; | |
22 | float arm_length_squared; | |
23 | ||
f7f4a2f5 JM |
24 | float delta_tower1_x; |
25 | float delta_tower1_y; | |
26 | float delta_tower2_x; | |
27 | float delta_tower2_y; | |
28 | float delta_tower3_x; | |
29 | float delta_tower3_y; | |
30 | float tower1_offset; | |
31 | float tower2_offset; | |
32 | float tower3_offset; | |
33 | float tower1_angle; | |
34 | float tower2_angle; | |
35 | float tower3_angle; | |
2c7ab192 | 36 | }; |
2a06c415 | 37 | #endif // LINEARDELTASOLUTION_H |