remove unsupported touchprobe module, has been archived in branch archive/touchprobe
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / LinearDeltaSolution.h
CommitLineData
2a06c415
JM
1#ifndef LINEARDELTASOLUTION_H
2#define LINEARDELTASOLUTION_H
2c7ab192 3#include "libs/Module.h"
2c7ab192 4#include "BaseSolution.h"
2c7ab192 5
681a62d7 6class Config;
2c7ab192 7
2a06c415 8class 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