deprecate usage of M665 Fxxx in favor of M665 Hxxx
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / RotatableDeltaSolution.h
CommitLineData
ae640576
DP
1#ifndef RotatableDeltaSolution_H
2#define RotatableDeltaSolution_H
3#include "libs/Module.h"
4#include "BaseSolution.h"
5
6class Config;
7
8class RotatableDeltaSolution : public BaseSolution {
9 public:
10 RotatableDeltaSolution(Config*);
3cc3f421
OL
11 void cartesian_to_actuator(const float[], float[] );
12 void actuator_to_cartesian(const float[], float[] );
ae640576
DP
13
14 bool set_optional(const arm_options_t& options);
15 bool get_optional(arm_options_t& options);
16
17 private:
18 void init();
19 int delta_calcAngleYZ(float x0, float y0, float z0, float &theta);
20 int delta_calcForward(float theta1, float theta2, float theta3, float &x0, float &y0, float &z0);
21
17c8300c
DP
22 float delta_e; // End effector length
23 float delta_f; // Base length
24 float delta_re; // Carbon rod length
25 float delta_rf; // Servo horn length
26 float delta_z_offset ; // Distance from delta 8mm rod/pulley to table/bed
27 // NOTE: For OpenPnP, set the zero to be about 25mm above the bed
28
29 float delta_ee_offs; // Ball joint plane to bottom of end effector surface
30 float tool_offset; // Distance between end effector ball joint plane and tip of tool
ae640576 31 float z_calc_offset;
ae640576
DP
32};
33#endif // RotatableDeltaSolution_H