Added G32 to autocalibrate delta endstops
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / JohannKosselSolution.h
dissimilarity index 64%
index e258d91..07b24ed 100644 (file)
@@ -1,47 +1,31 @@
-#ifndef JOHANNKOSSELSOLUTION_H
-#define ROSTOCKSOLUTION_H
-#include "libs/Module.h"
-#include "libs/Kernel.h"
-#include "BaseSolution.h"
-#include "libs/nuts_bolts.h"
-
-#include "libs/Config.h"
-
-#define alpha_steps_per_mm_checksum CHECKSUM("alpha_steps_per_mm")
-#define beta_steps_per_mm_checksum  CHECKSUM("beta_steps_per_mm")
-#define gamma_steps_per_mm_checksum CHECKSUM("gamma_steps_per_mm")
-
-#define arm_length_checksum         CHECKSUM("arm_length")
-#define arm_radius_checksum         CHECKSUM("arm_radius")
-
-class JohannKosselSolution : public BaseSolution {
-    public:
-        JohannKosselSolution(Config* passed_config);
-        void millimeters_to_steps( double millimeters[], int steps[] );
-        void steps_to_millimeters( int steps[], double millimeters[] );
-
-        void set_steps_per_millimeter( double steps[] );
-        void get_steps_per_millimeter( double steps[] );
-        bool set_optional(char parameter, double value);
-        bool get_optional(char parameter, double *value);
-
-    private:
-        void init();
-
-        Config* config;
-        float alpha_steps_per_mm;
-        float beta_steps_per_mm;
-        float gamma_steps_per_mm;
-
-        float arm_length;
-        float arm_radius;
-        float arm_length_squared;
-
-        float DELTA_TOWER1_X;
-        float DELTA_TOWER1_Y;
-        float DELTA_TOWER2_X;
-        float DELTA_TOWER2_Y;
-        float DELTA_TOWER3_X;
-        float DELTA_TOWER3_Y;
-};
-#endif // JOHANNKOSSELSOLUTION_H
+#ifndef JOHANNKOSSELSOLUTION_H
+#define ROSTOCKSOLUTION_H
+#include "libs/Module.h"
+#include "BaseSolution.h"
+
+class Config;
+
+class JohannKosselSolution : public BaseSolution {
+    public:
+        JohannKosselSolution(Config*);
+        void cartesian_to_actuator( float[], float[] );
+        void actuator_to_cartesian( float[], float[] );
+
+        bool set_optional(const arm_options_t& options);
+        bool get_optional(arm_options_t& options);
+
+    private:
+        void init();
+
+        float arm_length;
+        float arm_radius;
+        float arm_length_squared;
+
+        float DELTA_TOWER1_X;
+        float DELTA_TOWER1_Y;
+        float DELTA_TOWER2_X;
+        float DELTA_TOWER2_Y;
+        float DELTA_TOWER3_X;
+        float DELTA_TOWER3_Y;
+};
+#endif // JOHANNKOSSELSOLUTION_H